Merge branch 'master' of github.com:akaunting/akaunting
This commit is contained in:
@ -671,7 +671,7 @@ abstract class DocumentIndex extends Base
|
||||
return $class;
|
||||
}
|
||||
|
||||
return 'col-xs-4 col-sm-4 col-md-4 col-lg-2 col-xl-2 text-left';
|
||||
return 'col-xs-4 col-sm-4 col-md-4 col-lg-2 col-xl-2 text-left long-texts';
|
||||
}
|
||||
|
||||
protected function getClassAmount($type, $classAmount)
|
||||
|
@ -236,6 +236,12 @@ abstract class DocumentShow extends Base
|
||||
/** @var bool */
|
||||
public $hideTimelineCreate;
|
||||
|
||||
/** @var string */
|
||||
public $textDocumentTitle;
|
||||
|
||||
/** @var string */
|
||||
public $textDocumentSubheading;
|
||||
|
||||
/** @var string */
|
||||
public $textTimelineCreateTitle;
|
||||
|
||||
@ -377,6 +383,7 @@ abstract class DocumentShow extends Base
|
||||
string $textHeaderContact = '', string $textHeaderAmount = '', string $textHeaderDueAt = '',
|
||||
string $classHeaderStatus = '', string $classHeaderContact = '', string $classHeaderAmount = '', string $classHeaderDueAt = '', string $classFooterHistories = '', string $classFooterTransactions = '',
|
||||
bool $hideHeaderStatus = false, bool $hideHeaderContact = false, bool $hideHeaderAmount = false, bool $hideHeaderDueAt = false,
|
||||
string $textDocumentTitle = '', string $textDocumentSubheading = '',
|
||||
string $textTimelineCreateTitle = '', string $textTimelineCreateMessage = '', string $textTimelineSentTitle = '', string $textTimelineSentStatusDraft = '', string $textTimelineSentStatusMarkSent = '', string $textTimelineSentStatusReceived = '', string $textTimelineSendStatusMail = '',
|
||||
string $textTimelineGetPaidTitle = '', string $textTimelineGetPaidStatusAwait = '', string $textTimelineGetPaidStatusPartiallyPaid = '', string $textTimelineGetPaidMarkPaid = '', string $textTimelineGetPaidAddPayment = '',
|
||||
bool $hideTimelineCreate = false, bool $hideCompanyLogo = false, bool $hideCompanyDetails = false,
|
||||
@ -474,6 +481,8 @@ abstract class DocumentShow extends Base
|
||||
$this->hideButtonShare = $hideButtonShare;
|
||||
$this->hideButtonPaid = $hideButtonPaid;
|
||||
|
||||
$this->textDocumentTitle = $this->getTextDocumentTitle($type, $textDocumentTitle);
|
||||
$this->textDocumentSubheading = $this->gettextDocumentSubheading($type, $textDocumentSubheading);
|
||||
$this->textTimelineCreateTitle = $this->getTextTimelineCreateTitle($type, $textTimelineCreateTitle);
|
||||
$this->textTimelineCreateMessage = $this->getTextTimelineCreateMessage($type, $textTimelineCreateMessage);
|
||||
$this->textTimelineSentTitle = $this->getTextTimelineSentTitle($type, $textTimelineSentTitle);
|
||||
@ -1136,6 +1145,44 @@ abstract class DocumentShow extends Base
|
||||
return $hideTimelineStatuses;
|
||||
}
|
||||
|
||||
protected function getTextDocumentTitle($type, $textDocumentTitle)
|
||||
{
|
||||
if (!empty($textDocumentTitle)) {
|
||||
return $textDocumentTitle;
|
||||
}
|
||||
|
||||
$translation = $this->getTextFromConfig($type, 'document_title', 'title');
|
||||
|
||||
if (!empty($translation)) {
|
||||
return $translation;
|
||||
}
|
||||
|
||||
if (!empty(setting($type . '.title'))) {
|
||||
return setting($type . '.title');
|
||||
}
|
||||
|
||||
return setting('invoice.title');
|
||||
}
|
||||
|
||||
protected function getTextDocumentSubheading($type, $textDocumentSubheading)
|
||||
{
|
||||
if (!empty($textDocumentSubheading)) {
|
||||
return $textDocumentSubheading;
|
||||
}
|
||||
|
||||
$translation = $this->getTextFromConfig($type, 'document_subheading', 'subheading');
|
||||
|
||||
if (!empty($translation)) {
|
||||
return $translation;
|
||||
}
|
||||
|
||||
if (!empty(setting($type . '.subheading'))) {
|
||||
return setting($type . '.subheading');
|
||||
}
|
||||
|
||||
return setting('invoice.subheading');
|
||||
}
|
||||
|
||||
protected function getTextTimelineCreateTitle($type, $textTimelineCreateTitle)
|
||||
{
|
||||
if (!empty($textTimelineCreateTitle)) {
|
||||
|
@ -11,6 +11,7 @@ use Illuminate\Support\Facades\Log;
|
||||
use Image;
|
||||
use Intervention\Image\Exception\NotReadableException;
|
||||
use Storage;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
abstract class DocumentTemplate extends Base
|
||||
{
|
||||
@ -68,6 +69,12 @@ abstract class DocumentTemplate extends Base
|
||||
|
||||
public $hideDueAt;
|
||||
|
||||
/** @var string */
|
||||
public $textDocumentTitle;
|
||||
|
||||
/** @var string */
|
||||
public $textDocumentSubheading;
|
||||
|
||||
public $textContactInfo;
|
||||
|
||||
/** @var string */
|
||||
@ -121,6 +128,7 @@ abstract class DocumentTemplate extends Base
|
||||
bool $hideCompanyName = false, bool $hideCompanyAddress = false, bool $hideCompanyTaxNumber = false, bool $hideCompanyPhone = false, bool $hideCompanyEmail = false, bool $hideContactInfo = false,
|
||||
bool $hideContactName = false, bool $hideContactAddress = false, bool $hideContactTaxNumber = false, bool $hideContactPhone = false, bool $hideContactEmail = false,
|
||||
bool $hideOrderNumber = false, bool $hideDocumentNumber = false, bool $hideIssuedAt = false, bool $hideDueAt = false,
|
||||
string $textDocumentTitle = '', string $textDocumentSubheading = '',
|
||||
string $textContactInfo = '', string $textDocumentNumber = '', string $textOrderNumber = '', string $textIssuedAt = '', string $textDueAt = '',
|
||||
bool $hideItems = false, bool $hideName = false, bool $hideDescription = false, bool $hideQuantity = false, bool $hidePrice = false, bool $hideDiscount = false, bool $hideAmount = false, bool $hideNote = false,
|
||||
string $textItems = '', string $textQuantity = '', string $textPrice = '', string $textAmount = ''
|
||||
@ -151,6 +159,8 @@ abstract class DocumentTemplate extends Base
|
||||
$this->hideIssuedAt = $hideIssuedAt;
|
||||
$this->hideDueAt = $hideDueAt;
|
||||
|
||||
$this->textDocumentTitle = $this->getTextDocumentTitle($type, $textDocumentTitle);
|
||||
$this->textDocumentSubheading = $this->gettextDocumentSubheading($type, $textDocumentSubheading);
|
||||
$this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo);
|
||||
$this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt);
|
||||
$this->textDocumentNumber = $this->getTextDocumentNumber($type, $textDocumentNumber);
|
||||
@ -259,6 +269,44 @@ abstract class DocumentTemplate extends Base
|
||||
return $backgroundColor;
|
||||
}
|
||||
|
||||
protected function getTextDocumentTitle($type, $textDocumentTitle)
|
||||
{
|
||||
if (!empty($textDocumentTitle)) {
|
||||
return $textDocumentTitle;
|
||||
}
|
||||
|
||||
if (!empty(setting($type . '.title'))) {
|
||||
return setting($type . '.title');
|
||||
}
|
||||
|
||||
$translation = $this->getTextFromConfig($type, 'document_title', Str::plural($type));
|
||||
|
||||
if (!empty($translation)) {
|
||||
return trans_choice($translation, 1);
|
||||
}
|
||||
|
||||
return setting('invoice.title');
|
||||
}
|
||||
|
||||
protected function getTextDocumentSubheading($type, $textDocumentSubheading)
|
||||
{
|
||||
if (!empty($textDocumentSubheading)) {
|
||||
return $textDocumentSubheading;
|
||||
}
|
||||
|
||||
if (!empty(setting($type . '.subheading'))) {
|
||||
return setting($type . '.subheading');
|
||||
}
|
||||
|
||||
$translation = $this->getTextFromConfig($type, 'document_subheading', 'subheading');
|
||||
|
||||
if (!empty($translation)) {
|
||||
return trans($translation);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
protected function getTextDocumentNumber($type, $textDocumentNumber)
|
||||
{
|
||||
if (!empty($textDocumentNumber)) {
|
||||
|
@ -59,19 +59,25 @@ class ReportCache extends Command
|
||||
$reports = Report::orderBy('name')->get();
|
||||
|
||||
foreach ($reports as $report) {
|
||||
$class = Utility::getClassInstance($report, false);
|
||||
try {
|
||||
$class = Utility::getClassInstance($report, false);
|
||||
|
||||
if (empty($class)) {
|
||||
continue;
|
||||
if (empty($class)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$ttl = 3600 * 6; // 6 hours
|
||||
|
||||
Cache::forget('reports.totals.' . $report->id);
|
||||
|
||||
Cache::remember('reports.totals.' . $report->id, $ttl, function () use ($class) {
|
||||
return $class->getGrandTotal();
|
||||
});
|
||||
} catch (\Throwable $e) {
|
||||
$this->error($e->getMessage());
|
||||
|
||||
report($e);
|
||||
}
|
||||
|
||||
$ttl = 3600 * 6; // 6 hours
|
||||
|
||||
Cache::forget('reports.totals.' . $report->id);
|
||||
|
||||
Cache::remember('reports.totals.' . $report->id, $ttl, function () use ($class) {
|
||||
return $class->getGrandTotal();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ class User extends FormRequest
|
||||
$id = is_numeric($this->user) ? $this->user : $this->user->getAttribute('id');
|
||||
$password = '';
|
||||
$companies = $this->user->can('read-common-companies') ? 'required' : '';
|
||||
$roles = $this->user->can('read-auth-roles') ? 'required' : '';
|
||||
$roles = $this->user->can('read-auth-roles') ? 'required|array' : '';
|
||||
|
||||
if ($this->user->contact) {
|
||||
$email .= '|unique:contacts,NULL,'
|
||||
@ -51,7 +51,7 @@ class User extends FormRequest
|
||||
$id = null;
|
||||
$password = 'required|';
|
||||
$companies = 'required';
|
||||
$roles = 'required';
|
||||
$roles = 'required|array';
|
||||
}
|
||||
|
||||
$email .= '|unique:users,email,' . $id . ',id,deleted_at,NULL';
|
||||
|
@ -51,8 +51,12 @@ class Version2117 extends Listener
|
||||
|
||||
protected function cacheReports()
|
||||
{
|
||||
Report::all()->each(function ($report) {
|
||||
Cache::put('reports.totals.' . $report->id, Utility::getClassInstance($report)->getGrandTotal());
|
||||
});
|
||||
try {
|
||||
Report::all()->each(function ($report) {
|
||||
Cache::put('reports.totals.' . $report->id, Utility::getClassInstance($report)->getGrandTotal());
|
||||
});
|
||||
} catch (\Throwable $e) {
|
||||
report($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user