Make dynamic invoice settings for documents

This commit is contained in:
Burak Çakırel
2021-02-22 17:21:04 +03:00
parent 35fa63bf42
commit 8aac5fe433
12 changed files with 163 additions and 53 deletions

View File

@@ -5,6 +5,7 @@ namespace App\Abstracts\View\Components;
use App\Abstracts\View\Components\Document as Base;
use App\Models\Common\Media;
use App\Traits\DateTime;
use App\Traits\Documents;
use File;
use Illuminate\Support\Facades\Log;
use Image;
@@ -14,6 +15,7 @@ use Storage;
abstract class DocumentTemplate extends Base
{
use DateTime;
use Documents;
public $type;
@@ -180,7 +182,7 @@ abstract class DocumentTemplate extends Base
return $template;
}
$documentTemplate = setting($type . '.template', 'default');
$documentTemplate = setting($this->getSettingKey($type, 'template'), 'default');
return $documentTemplate;
}
@@ -248,7 +250,7 @@ abstract class DocumentTemplate extends Base
$type = $alias . '.' . str_replace('-', '_', $type);
}
$backgroundColor = setting($type . '.color', '#55588b');
$backgroundColor = setting($this->getSettingKey($type, 'color'), '#55588b');
return $backgroundColor;
}
@@ -368,8 +370,8 @@ abstract class DocumentTemplate extends Base
}
// if you use settting translation
if (setting($type . '.item_name', 'items') == 'custom') {
if (empty($textItems = setting($type . '.item_name_input'))) {
if (setting($this->getSettingKey($type, 'item_name'), 'items') == 'custom') {
if (empty($textItems = setting($this->getSettingKey($type, 'item_name_input')))) {
$textItems = 'general.items';
}
@@ -392,8 +394,8 @@ abstract class DocumentTemplate extends Base
}
// if you use settting translation
if (setting($type . '.quantity_name', 'quantity') == 'custom') {
if (empty($textQuantity = setting($type . '.quantity_name_input'))) {
if (setting($this->getSettingKey($type, 'quantity_name'), 'quantity') === 'custom') {
if (empty($textQuantity = setting($this->getSettingKey($type, 'quantity_name_input')))) {
$textQuantity = 'invoices.quantity';
}
@@ -416,8 +418,8 @@ abstract class DocumentTemplate extends Base
}
// if you use settting translation
if (setting($type . '.price_name', 'price') == 'custom') {
if (empty($textPrice = setting($type . '.price_name_input'))) {
if (setting($this->getSettingKey($type, 'price_name'), 'price') === 'custom') {
if (empty($textPrice = setting($this->getSettingKey($type, 'price_name_input')))) {
$textPrice = 'invoices.price';
}
@@ -472,7 +474,7 @@ abstract class DocumentTemplate extends Base
}
// if you use settting translation
if ($hideName = setting($type . '.hide_item_name', false)) {
if ($hideName = setting($this->getSettingKey($type, 'hide_item_name'), false)) {
return $hideName;
}
@@ -493,7 +495,7 @@ abstract class DocumentTemplate extends Base
}
// if you use settting translation
if ($hideDescription = setting($type . '.hide_item_description', false)) {
if ($hideDescription = setting($this->getSettingKey($type, 'hide_item_description'), false)) {
return $hideDescription;
}
@@ -514,7 +516,7 @@ abstract class DocumentTemplate extends Base
}
// if you use settting translation
if ($hideQuantity = setting($type . '.hide_quantity', false)) {
if ($hideQuantity = setting($this->getSettingKey($type, 'hide_quantity'), false)) {
return $hideQuantity;
}
@@ -535,7 +537,7 @@ abstract class DocumentTemplate extends Base
}
// if you use settting translation
if ($hidePrice = setting($type . '.hide_price', false)) {
if ($hidePrice = setting($this->getSettingKey($type, 'hide_price'), false)) {
return $hidePrice;
}
@@ -556,7 +558,7 @@ abstract class DocumentTemplate extends Base
}
// if you use settting translation
if ($hideDiscount = setting($type . '.hide_discount', false)) {
if ($hideDiscount = setting($this->getSettingKey($type, 'hide_discount'), false)) {
return $hideDiscount;
}
@@ -577,7 +579,7 @@ abstract class DocumentTemplate extends Base
}
// if you use settting translation
if ($hideAmount = setting($type . '.hide_amount', false)) {
if ($hideAmount = setting($this->getSettingKey($type, 'hide_amount'), false)) {
return $hideAmount;
}