invoiceninja/app/Models/InvoiceDesign.php

100 lines
2.1 KiB
PHP
Raw Permalink Normal View History

2017-01-30 21:40:43 +02:00
<?php
namespace App\Models;
2015-03-17 07:45:25 +10:00
2015-04-20 17:47:14 +03:00
use Auth;
2015-07-28 10:00:00 +03:00
use Cache;
2017-01-30 21:40:43 +02:00
use Eloquent;
2015-03-27 15:02:19 +10:00
/**
2017-01-30 21:40:43 +02:00
* Class InvoiceDesign.
*/
2015-03-17 07:45:25 +10:00
class InvoiceDesign extends Eloquent
{
/**
* @var bool
*/
2015-03-17 07:45:25 +10:00
public $timestamps = false;
2015-04-20 17:47:14 +03:00
2016-09-02 17:53:16 +03:00
public static $pageSizes = [
'A0',
'A1',
'A2',
'A3',
'A4',
'A5',
'A6',
'A7',
'A8',
'A9',
'A10',
'B0',
'B1',
'B2',
'B3',
'B4',
'B5',
'B6',
'B7',
'B8',
'B9',
'B10',
'C0',
'C1',
'C2',
'C3',
'C4',
'C5',
'C6',
'C7',
'C8',
'C9',
'C10',
'RA0',
'RA1',
'RA2',
'RA3',
'RA4',
'SRA0',
'SRA1',
'SRA2',
'SRA3',
'SRA4',
'Executive',
'Folio',
'Legal',
'Letter',
'Tabloid',
];
/**
* @return mixed
*/
public static function getDesigns()
2015-04-20 17:47:14 +03:00
{
2015-07-21 21:51:56 +03:00
$account = Auth::user()->account;
2015-07-28 10:00:00 +03:00
$designs = Cache::get('invoiceDesigns');
2015-04-20 17:47:14 +03:00
2018-01-23 16:06:33 +02:00
$data = collect();
2015-07-21 21:51:56 +03:00
foreach ($designs as $design) {
2018-01-23 16:06:33 +02:00
if ($design->id <= Auth::user()->maxInvoiceDesignId()) {
$data->push($design);
2015-04-20 17:47:14 +03:00
}
2016-09-02 17:53:16 +03:00
$design->javascript = $design->pdfmake;
2015-07-28 10:00:00 +03:00
$design->pdfmake = null;
2017-06-01 19:13:13 +03:00
if (in_array($design->id, [CUSTOM_DESIGN1, CUSTOM_DESIGN2, CUSTOM_DESIGN3])) {
if ($javascript = $account->getCustomDesign($design->id)) {
$design->javascript = $javascript;
2015-07-21 21:51:56 +03:00
} else {
2018-01-23 16:06:33 +02:00
$data->forget($design->id - 1);
2015-07-21 21:51:56 +03:00
}
}
2015-04-13 12:23:43 +03:00
}
2016-09-02 17:53:16 +03:00
2018-01-23 16:06:33 +02:00
return $data;
2015-04-13 12:23:43 +03:00
}
2016-09-02 17:53:16 +03:00
}