Merge branch 'master' of https://github.com/brkcvn/akaunting into code-clean
This commit is contained in:
commit
d452dc097a
@ -40,11 +40,32 @@ abstract class Report
|
||||
{
|
||||
$now = Date::now();
|
||||
|
||||
$financial_start = setting('localisation.financial_start');
|
||||
$setting = explode('-', $financial_start);
|
||||
$financial_start_day = ! empty($setting[0]) ? $setting[0] : '01';
|
||||
|
||||
$format = ($financial_start == '01-01')
|
||||
? $this->getYearlyDateFormat()
|
||||
: (($financial_start_day != '01') ? $this->getDailyDateFormat() : $this->getMonthlyDateFormat());
|
||||
|
||||
$years = [];
|
||||
|
||||
$y = $now->addYears(2);
|
||||
|
||||
for ($i = 0; $i < 10; $i++) {
|
||||
$years[$y->year] = $y->year;
|
||||
$financial_year = $this->getFinancialYear($y->year);
|
||||
|
||||
if ($financial_start == '01-01') {
|
||||
$title = $financial_year->getStartDate()->copy()->format($format);
|
||||
} else {
|
||||
$start = $financial_year->getStartDate()->copy()->format($format);
|
||||
$end = $financial_year->getEndDate()->copy()->format($format);
|
||||
|
||||
$title = $start . ' - ' . $end;
|
||||
}
|
||||
|
||||
$years[$y->year] = $title;
|
||||
|
||||
$y->subYear();
|
||||
}
|
||||
|
||||
|
@ -281,9 +281,10 @@ abstract class Index extends Component
|
||||
|
||||
foreach ($totals as $key => $total) {
|
||||
$items[] = [
|
||||
'title' => ($key == 'overdue') ? trans('general.overdue') : trans('documents.statuses.' . $key),
|
||||
'href' => route($route, ['search' => 'status:' . $key]),
|
||||
'amount' => money($total, setting('default.currency'), true),
|
||||
'title' => ($key == 'overdue') ? trans('general.overdue') : trans('documents.statuses.' . $key),
|
||||
'href' => route($route, ['search' => 'status:' . $key]),
|
||||
'amount' => money($total, setting('default.currency'), true)->formatForHumans(),
|
||||
'tooltip' => money($total, setting('default.currency'), true)->format(),
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -392,12 +392,14 @@ abstract class Index extends Component
|
||||
foreach ($totals as $key => $total) {
|
||||
$title = ($key == 'overdue') ? trans('general.overdue') : trans('documents.statuses.' . $key);
|
||||
$href = route($route, ['search' => 'status:' . $key]);
|
||||
$amount = money($total, setting('default.currency'), true);
|
||||
$amount = money($total, setting('default.currency'), true)->formatForHumans();
|
||||
$tooltip = money($total, setting('default.currency'), true)->format();
|
||||
|
||||
$items[] = [
|
||||
'title' => $title,
|
||||
'href' => $href,
|
||||
'amount' => $amount,
|
||||
'title' => $title,
|
||||
'href' => $href,
|
||||
'amount' => $amount,
|
||||
'tooltip' => $tooltip,
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,17 @@ class Reconciliations extends Controller
|
||||
{
|
||||
$reconciliations = Reconciliation::with('account')->collect();
|
||||
|
||||
return $this->response('banking.reconciliations.index', compact('reconciliations'));
|
||||
$reconciled_amount = money($reconciliations->where('reconciled', 1)->sum('closing_balance'), setting('default.currency'), true);
|
||||
$in_progress_amount = money($reconciliations->where('reconciled', 0)->sum('closing_balance'), setting('default.currency'), true);
|
||||
|
||||
$summary_amounts = [
|
||||
'amount_exact' => $reconciled_amount->format(),
|
||||
'amount_for_humans' => $reconciled_amount->formatForHumans(),
|
||||
'in_progress_exact' => $in_progress_amount->format(),
|
||||
'in_progress_for_humans' => $in_progress_amount->formatForHumans(),
|
||||
];
|
||||
|
||||
return $this->response('banking.reconciliations.index', compact('reconciliations', 'summary_amounts'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -56,12 +56,25 @@ class Transactions extends Controller
|
||||
|
||||
$totals['profit'] = $totals['income'] - $totals['expense'];
|
||||
|
||||
$incoming_amount = money($totals['income'], setting('default.currency'), true);
|
||||
$expense_amount = money($totals['expense'], setting('default.currency'), true);
|
||||
$profit_amount = money($totals['profit'], setting('default.currency'), true);
|
||||
|
||||
$summary_amounts = [
|
||||
'incoming_exact' => $incoming_amount->format(),
|
||||
'incoming_for_humans' => $incoming_amount->formatForHumans(),
|
||||
'expense_exact' => $expense_amount->format(),
|
||||
'expense_for_humans' => $expense_amount->formatForHumans(),
|
||||
'profit_exact' => $profit_amount->format(),
|
||||
'profit_for_humans' => $profit_amount->formatForHumans(),
|
||||
];
|
||||
|
||||
$translations = $this->getTranslationsForConnect('income');
|
||||
|
||||
return $this->response('banking.transactions.index', compact(
|
||||
'transactions',
|
||||
'translations',
|
||||
'totals'
|
||||
'summary_amounts'
|
||||
));
|
||||
}
|
||||
|
||||
|
@ -45,5 +45,9 @@ class UpdateTransaction extends Job implements ShouldUpdate
|
||||
|
||||
throw new \Exception($message);
|
||||
}
|
||||
|
||||
if ($this->model->isTransferTransaction()) {
|
||||
throw new \Exception('Unauthorized');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -189,6 +189,13 @@ trait DateTime
|
||||
return $date_picker_shortcuts;
|
||||
}
|
||||
|
||||
public function getDailyDateFormat($year = null)
|
||||
{
|
||||
$format = 'd M Y';
|
||||
|
||||
return $format;
|
||||
}
|
||||
|
||||
public function getMonthlyDateFormat($year = null)
|
||||
{
|
||||
$format = 'M Y';
|
||||
|
@ -12,7 +12,7 @@ class Content extends Component
|
||||
{
|
||||
public $counts;
|
||||
|
||||
public $totals;
|
||||
public $summary_amounts;
|
||||
|
||||
public $transactions;
|
||||
|
||||
@ -72,7 +72,20 @@ class Content extends Component
|
||||
$totals['paid'] += $item->getAmountConvertedToDefault();
|
||||
});
|
||||
|
||||
$this->totals = $totals;
|
||||
$open_amount = money($totals['open'], setting('default.currency'), true);
|
||||
$overdue_amount = money($totals['overdue'], setting('default.currency'), true);
|
||||
$paid_amount = money($totals['paid'], setting('default.currency'), true);
|
||||
|
||||
$summary_amounts = [
|
||||
'open_exact' => $open_amount->format(),
|
||||
'open_for_humans' => $open_amount->formatForHumans(),
|
||||
'overdue_exact' => $overdue_amount->format(),
|
||||
'overdue_for_humans' => $overdue_amount->formatForHumans(),
|
||||
'paid_exact' => $paid_amount->format(),
|
||||
'paid_for_humans' => $paid_amount->formatForHumans(),
|
||||
];
|
||||
|
||||
$this->summary_amounts = $summary_amounts;
|
||||
|
||||
$this->transactions = $this->paginate($this->transactions->sortByDesc('paid_at'));
|
||||
$this->documents = $this->paginate($this->documents->sortByDesc('issued_at'));
|
||||
|
@ -28,6 +28,18 @@ class Account extends Form
|
||||
|
||||
$this->accounts = $this->getAccounts();
|
||||
|
||||
$account_id = old('account.id', old('account_id', null));
|
||||
|
||||
if (! empty($account_id)) {
|
||||
$this->selected = $account_id;
|
||||
|
||||
if (! $this->accounts->has($account_id)) {
|
||||
$account = Model::find($account_id);
|
||||
|
||||
$this->accounts->put($account->id, $account->name);
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($this->selected) && empty($this->getParentData('model'))) {
|
||||
$this->selected = setting('default.account');
|
||||
}
|
||||
|
@ -33,6 +33,18 @@ class Category extends Form
|
||||
|
||||
$model = $this->getParentData('model');
|
||||
|
||||
$category_id = old('category.id', old('category_id', null));
|
||||
|
||||
if (! empty($category_id)) {
|
||||
$this->selected = $category_id;
|
||||
|
||||
if (! $this->categories->has($category_id)) {
|
||||
$category = Model::find($category_id);
|
||||
|
||||
$this->categories->put($category->id, $category->name);
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($model) && ! empty($model->category_id)) {
|
||||
$this->selected = $model->category_id;
|
||||
|
||||
|
@ -39,6 +39,18 @@ class Contact extends Form
|
||||
|
||||
$model = $this->getParentData('model');
|
||||
|
||||
$contact_id = old('contact.id', old('contact_id', null));
|
||||
|
||||
if (! empty($contact_id)) {
|
||||
$this->selected = $contact_id;
|
||||
|
||||
if (! $this->contacts->has($contact_id)) {
|
||||
$contact = Model::find($contact_id);
|
||||
|
||||
$this->contacts->put($contact->id, $contact->name);
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($model) && ! empty($model->contact_id)) {
|
||||
$this->selected = $model->contact_id;
|
||||
|
||||
|
@ -35,6 +35,18 @@ class Currency extends Form
|
||||
|
||||
$this->currencies = Model::enabled()->orderBy('name')->pluck('name', 'code');
|
||||
|
||||
$currency_id = old('currency.id', old('currency_id', null));
|
||||
|
||||
if (! empty($currency_id)) {
|
||||
$this->selected = $currency_id;
|
||||
|
||||
if (! $this->currencies->has($currency_id)) {
|
||||
$currency = Model::find($currency_id);
|
||||
|
||||
$this->currencies->put($currency->id, $currency->name);
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($this->selected) && empty($this->getParentData('model'))) {
|
||||
$this->selected = setting('default.currency');
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
namespace App\View\Components\Form\Group;
|
||||
|
||||
use App\Abstracts\View\Components\Form;
|
||||
use App\Models\Setting\Currency as Model;
|
||||
use App\Models\Setting\Tax as Model;
|
||||
|
||||
class Tax extends Form
|
||||
{
|
||||
@ -13,7 +13,7 @@ class Tax extends Form
|
||||
|
||||
public $field;
|
||||
|
||||
public $currencies;
|
||||
public $taxes;
|
||||
|
||||
/**
|
||||
* Get the view / contents that represent the component.
|
||||
@ -23,20 +23,32 @@ class Tax extends Form
|
||||
public function render()
|
||||
{
|
||||
if (empty($this->name)) {
|
||||
$this->name = 'currency_code';
|
||||
$this->name = 'tax_id';
|
||||
}
|
||||
|
||||
$this->path = route('modals.currencies.create');
|
||||
$this->path = route('modals.taxes.create');
|
||||
|
||||
$this->field = [
|
||||
'key' => 'code',
|
||||
'key' => 'id',
|
||||
'value' => 'name'
|
||||
];
|
||||
|
||||
$this->currencies = Model::enabled()->orderBy('name')->pluck('name', 'code');
|
||||
$this->taxes = Model::enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$tax_id = old('tax.id', old('tax_id', null));
|
||||
|
||||
if (! empty($tax_id)) {
|
||||
$this->selected = $tax_id;
|
||||
|
||||
if (! $this->taxes->has($tax_id)) {
|
||||
$tax = Model::find($tax_id);
|
||||
|
||||
$this->taxes->put($tax->id, $tax->name);
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($this->selected)) {
|
||||
$this->selected = setting('default.currency');
|
||||
$this->selected = setting('default.tax');
|
||||
}
|
||||
|
||||
return view('components.form.group.tax');
|
||||
|
43
composer.lock
generated
43
composer.lock
generated
@ -907,16 +907,16 @@
|
||||
},
|
||||
{
|
||||
"name": "aws/aws-sdk-php",
|
||||
"version": "3.231.18",
|
||||
"version": "3.232.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/aws/aws-sdk-php.git",
|
||||
"reference": "76db7b327e023c7bbce77a0bfc9fb4d559e765b3"
|
||||
"reference": "7e79325815640d21f3bcab9889f7002a8268d674"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/76db7b327e023c7bbce77a0bfc9fb4d559e765b3",
|
||||
"reference": "76db7b327e023c7bbce77a0bfc9fb4d559e765b3",
|
||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/7e79325815640d21f3bcab9889f7002a8268d674",
|
||||
"reference": "7e79325815640d21f3bcab9889f7002a8268d674",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -993,9 +993,9 @@
|
||||
"support": {
|
||||
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
|
||||
"issues": "https://github.com/aws/aws-sdk-php/issues",
|
||||
"source": "https://github.com/aws/aws-sdk-php/tree/3.231.18"
|
||||
"source": "https://github.com/aws/aws-sdk-php/tree/3.232.1"
|
||||
},
|
||||
"time": "2022-08-01T18:18:21+00:00"
|
||||
"time": "2022-08-03T18:16:18+00:00"
|
||||
},
|
||||
{
|
||||
"name": "balping/json-raw-encoder",
|
||||
@ -4472,16 +4472,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v9.22.1",
|
||||
"version": "v9.23.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "b3b3dd43b9899f23df6d1d3e5390bd4662947a46"
|
||||
"reference": "c4eea9060d847b5c93957b203caa8f57544a76ab"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/b3b3dd43b9899f23df6d1d3e5390bd4662947a46",
|
||||
"reference": "b3b3dd43b9899f23df6d1d3e5390bd4662947a46",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/c4eea9060d847b5c93957b203caa8f57544a76ab",
|
||||
"reference": "c4eea9060d847b5c93957b203caa8f57544a76ab",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -4502,7 +4502,7 @@
|
||||
"psr/log": "^1.0|^2.0|^3.0",
|
||||
"psr/simple-cache": "^1.0|^2.0|^3.0",
|
||||
"ramsey/uuid": "^4.2.2",
|
||||
"symfony/console": "^6.0",
|
||||
"symfony/console": "^6.0.3",
|
||||
"symfony/error-handler": "^6.0",
|
||||
"symfony/finder": "^6.0",
|
||||
"symfony/http-foundation": "^6.0",
|
||||
@ -4648,7 +4648,7 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2022-07-26T16:16:33+00:00"
|
||||
"time": "2022-08-02T14:24:44+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/sanctum",
|
||||
@ -6462,16 +6462,16 @@
|
||||
},
|
||||
{
|
||||
"name": "myclabs/php-enum",
|
||||
"version": "1.8.3",
|
||||
"version": "1.8.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/myclabs/php-enum.git",
|
||||
"reference": "b942d263c641ddb5190929ff840c68f78713e937"
|
||||
"reference": "a867478eae49c9f59ece437ae7f9506bfaa27483"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/myclabs/php-enum/zipball/b942d263c641ddb5190929ff840c68f78713e937",
|
||||
"reference": "b942d263c641ddb5190929ff840c68f78713e937",
|
||||
"url": "https://api.github.com/repos/myclabs/php-enum/zipball/a867478eae49c9f59ece437ae7f9506bfaa27483",
|
||||
"reference": "a867478eae49c9f59ece437ae7f9506bfaa27483",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6487,7 +6487,10 @@
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"MyCLabs\\Enum\\": "src/"
|
||||
}
|
||||
},
|
||||
"classmap": [
|
||||
"stubs/Stringable.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
@ -6506,7 +6509,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/myclabs/php-enum/issues",
|
||||
"source": "https://github.com/myclabs/php-enum/tree/1.8.3"
|
||||
"source": "https://github.com/myclabs/php-enum/tree/1.8.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6518,7 +6521,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-07-05T08:18:36+00:00"
|
||||
"time": "2022-08-04T09:53:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
@ -14286,5 +14289,5 @@
|
||||
"ext-zip": "*"
|
||||
},
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "2.2.0"
|
||||
"plugin-api-version": "2.3.0"
|
||||
}
|
||||
|
@ -12,6 +12,15 @@ return [
|
||||
// 'ip' => '\App\Models\YourIpModel',
|
||||
],
|
||||
|
||||
'log' => [
|
||||
'max_request_size' => 2048,
|
||||
],
|
||||
|
||||
'cron' => [
|
||||
'enabled' => env('FIREWALL_CRON_ENABLED', true),
|
||||
'expression' => env('FIREWALL_CRON_EXPRESSION', '* * * * *'),
|
||||
],
|
||||
|
||||
'responses' => [
|
||||
|
||||
'block' => [
|
||||
@ -61,6 +70,8 @@ return [
|
||||
'middleware' => [
|
||||
|
||||
'ip' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_IP_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['all'],
|
||||
|
||||
'routes' => [
|
||||
@ -70,6 +81,8 @@ return [
|
||||
],
|
||||
|
||||
'agent' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_AGENT_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['all'],
|
||||
|
||||
'routes' => [
|
||||
@ -99,13 +112,15 @@ return [
|
||||
],
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 5,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_AGENT_AUTO_BLOCK_ATTEMPTS', 5),
|
||||
'frequency' => 1 * 60, // 1 minute
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
],
|
||||
|
||||
'bot' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_BOT_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['all'],
|
||||
|
||||
'routes' => [
|
||||
@ -120,13 +135,15 @@ return [
|
||||
],
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 5,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_BOT_AUTO_BLOCK_ATTEMPTS', 5),
|
||||
'frequency' => 1 * 60, // 1 minute
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
],
|
||||
|
||||
'geo' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_GEO_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['all'],
|
||||
|
||||
'routes' => [
|
||||
@ -158,13 +175,15 @@ return [
|
||||
'service' => 'ipapi',
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 3,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_GEO_AUTO_BLOCK_ATTEMPTS', 3),
|
||||
'frequency' => 5 * 60, // 5 minutes
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
],
|
||||
|
||||
'lfi' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_LFI_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['get', 'delete'],
|
||||
|
||||
'routes' => [
|
||||
@ -182,23 +201,25 @@ return [
|
||||
],
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 3,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_LFI_AUTO_BLOCK_ATTEMPTS', 3),
|
||||
'frequency' => 5 * 60, // 5 minutes
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'enabled' => true,
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_LOGIN_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 5,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_LOGIN_AUTO_BLOCK_ATTEMPTS', 10),
|
||||
'frequency' => 1 * 60, // 1 minute
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
],
|
||||
|
||||
'php' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_PHP_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['get', 'post', 'delete'],
|
||||
|
||||
'routes' => [
|
||||
@ -225,13 +246,15 @@ return [
|
||||
],
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 3,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_PHP_AUTO_BLOCK_ATTEMPTS', 3),
|
||||
'frequency' => 5 * 60, // 5 minutes
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
],
|
||||
|
||||
'referrer' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_REFERRER_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['all'],
|
||||
|
||||
'routes' => [
|
||||
@ -242,13 +265,15 @@ return [
|
||||
'blocked' => [],
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 3,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_REFERRER_AUTO_BLOCK_ATTEMPTS', 3),
|
||||
'frequency' => 5 * 60, // 5 minutes
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
],
|
||||
|
||||
'rfi' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_RFI_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['get', 'post', 'delete'],
|
||||
|
||||
'routes' => [
|
||||
@ -268,13 +293,15 @@ return [
|
||||
'exceptions' => [],
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 3,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_RFI_AUTO_BLOCK_ATTEMPTS', 3),
|
||||
'frequency' => 5 * 60, // 5 minutes
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
],
|
||||
|
||||
'session' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_SESSION_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['get', 'post', 'delete'],
|
||||
|
||||
'routes' => [
|
||||
@ -293,13 +320,15 @@ return [
|
||||
],
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 3,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_SESSION_AUTO_BLOCK_ATTEMPTS', 3),
|
||||
'frequency' => 5 * 60, // 5 minutes
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
],
|
||||
|
||||
'sqli' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_SQLI_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['get', 'delete'],
|
||||
|
||||
'routes' => [
|
||||
@ -318,13 +347,15 @@ return [
|
||||
],
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 3,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_SQLI_AUTO_BLOCK_ATTEMPTS', 3),
|
||||
'frequency' => 5 * 60, // 5 minutes
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
],
|
||||
|
||||
'swear' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_SWEAR_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['post', 'put', 'patch'],
|
||||
|
||||
'routes' => [
|
||||
@ -340,25 +371,29 @@ return [
|
||||
'words' => [],
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 3,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_SWEAR_AUTO_BLOCK_ATTEMPTS', 3),
|
||||
'frequency' => 5 * 60, // 5 minutes
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
],
|
||||
|
||||
'url' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_URL_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['all'],
|
||||
|
||||
'inspections' => [], // i.e. 'admin'
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 5,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_URL_AUTO_BLOCK_ATTEMPTS', 5),
|
||||
'frequency' => 1 * 60, // 1 minute
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
],
|
||||
|
||||
'whitelist' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_WHITELIST_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['all'],
|
||||
|
||||
'routes' => [
|
||||
@ -368,6 +403,8 @@ return [
|
||||
],
|
||||
|
||||
'xss' => [
|
||||
'enabled' => env('FIREWALL_MIDDLEWARE_XSS_ENABLED', env('FIREWALL_ENABLED', true)),
|
||||
|
||||
'methods' => ['post', 'put', 'patch'],
|
||||
|
||||
'routes' => [
|
||||
@ -393,7 +430,7 @@ return [
|
||||
],
|
||||
|
||||
'auto_block' => [
|
||||
'attempts' => 3,
|
||||
'attempts' => env('FIREWALL_MIDDLEWARE_XSS_AUTO_BLOCK_ATTEMPTS', 3),
|
||||
'frequency' => 5 * 60, // 5 minutes
|
||||
'period' => 30 * 60, // 30 minutes
|
||||
],
|
||||
|
@ -147,60 +147,65 @@ return [
|
||||
|
|
||||
*/
|
||||
'all' => [
|
||||
['short' => 'ar', 'long' => 'ar-SA', 'english' => 'Arabic', 'native' => 'العربية', 'direction' => 'rtl'],
|
||||
['short' => 'bg', 'long' => 'bg-BG', 'english' => 'Bulgarian', 'native' => 'български', 'direction' => 'ltr'],
|
||||
['short' => 'bn', 'long' => 'bn-BD', 'english' => 'Bengali', 'native' => 'বাংলা', 'direction' => 'ltr'],
|
||||
['short' => 'cn', 'long' => 'zh-CN', 'english' => 'Chinese (S)', 'native' => '简体中文', 'direction' => 'ltr'],
|
||||
['short' => 'cs', 'long' => 'cs-CZ', 'english' => 'Czech', 'native' => 'Čeština', 'direction' => 'ltr'],
|
||||
['short' => 'da', 'long' => 'da-DK', 'english' => 'Danish', 'native' => 'Dansk', 'direction' => 'ltr'],
|
||||
['short' => 'de', 'long' => 'de-DE', 'english' => 'German', 'native' => 'Deutsch', 'direction' => 'ltr'],
|
||||
['short' => 'de', 'long' => 'de-AT', 'english' => 'Austrian', 'native' => 'Österreichisches Deutsch', 'direction' => 'ltr'],
|
||||
['short' => 'fi', 'long' => 'fi-FI', 'english' => 'Finnish', 'native' => 'Suomi', 'direction' => 'ltr'],
|
||||
['short' => 'fr', 'long' => 'fr-FR', 'english' => 'French', 'native' => 'Français', 'direction' => 'ltr'],
|
||||
['short' => 'el', 'long' => 'el-GR', 'english' => 'Greek', 'native' => 'Ελληνικά', 'direction' => 'ltr'],
|
||||
['short' => 'en', 'long' => 'en-AU', 'english' => 'English (AU)', 'native' => 'English (AU)', 'direction' => 'ltr'],
|
||||
['short' => 'en', 'long' => 'en-CA', 'english' => 'English (CA)', 'native' => 'English (CA)', 'direction' => 'ltr'],
|
||||
['short' => 'en', 'long' => 'en-GB', 'english' => 'English (GB)', 'native' => 'English (GB)', 'direction' => 'ltr'],
|
||||
['short' => 'en', 'long' => 'en-US', 'english' => 'English (US)', 'native' => 'English (US)', 'direction' => 'ltr'],
|
||||
['short' => 'es', 'long' => 'es-ES', 'english' => 'Spanish', 'native' => 'Español', 'direction' => 'ltr'],
|
||||
['short' => 'et', 'long' => 'et-EE', 'english' => 'Estonian', 'native' => 'Eesti', 'direction' => 'ltr'],
|
||||
['short' => 'he', 'long' => 'he-IL', 'english' => 'Hebrew', 'native' => 'עִבְרִית', 'direction' => 'rtl'],
|
||||
['short' => 'hi', 'long' => 'hi-IN', 'english' => 'Hindi', 'native' => 'हिन्दी', 'direction' => 'ltr'],
|
||||
['short' => 'hr', 'long' => 'hr-HR', 'english' => 'Croatian', 'native' => 'Hrvatski', 'direction' => 'ltr'],
|
||||
['short' => 'hu', 'long' => 'hu-HU', 'english' => 'Hungarian', 'native' => 'Magyar', 'direction' => 'ltr'],
|
||||
['short' => 'hy', 'long' => 'hy-AM', 'english' => 'Armenian', 'native' => 'Հայերեն', 'direction' => 'ltr'],
|
||||
['short' => 'id', 'long' => 'id-ID', 'english' => 'Indonesian', 'native' => 'Bahasa Indonesia', 'direction' => 'ltr'],
|
||||
['short' => 'it', 'long' => 'it-IT', 'english' => 'Italian', 'native' => 'Italiano', 'direction' => 'ltr'],
|
||||
['short' => 'ir', 'long' => 'fa-IR', 'english' => 'Persian', 'native' => 'فارسی', 'direction' => 'rtl'],
|
||||
['short' => 'jp', 'long' => 'ja-JP', 'english' => 'Japanese', 'native' => '日本語', 'direction' => 'ltr'],
|
||||
['short' => 'ka', 'long' => 'ka-GE', 'english' => 'Georgian', 'native' => 'ქართული', 'direction' => 'ltr'],
|
||||
['short' => 'ko', 'long' => 'ko-KR', 'english' => 'Korean', 'native' => '한국어', 'direction' => 'ltr'],
|
||||
['short' => 'lt', 'long' => 'lt-LT', 'english' => 'Lithuanian', 'native' => 'Lietuvių', 'direction' => 'ltr'],
|
||||
['short' => 'lv', 'long' => 'lv-LV', 'english' => 'Latvian', 'native' => 'Latviešu valoda', 'direction' => 'ltr'],
|
||||
['short' => 'mk', 'long' => 'mk-MK', 'english' => 'Macedonian', 'native' => 'Македонски јазик', 'direction' => 'ltr'],
|
||||
['short' => 'ms', 'long' => 'ms-MY', 'english' => 'Malay', 'native' => 'Bahasa Melayu', 'direction' => 'ltr'],
|
||||
['short' => 'mx', 'long' => 'es-MX', 'english' => 'Mexico', 'native' => 'Español de México', 'direction' => 'ltr'],
|
||||
['short' => 'nb', 'long' => 'nb-NO', 'english' => 'Norwegian', 'native' => 'Norsk Bokmål', 'direction' => 'ltr'],
|
||||
['short' => 'ne', 'long' => 'ne-NP', 'english' => 'Nepali', 'native' => 'नेपाली', 'direction' => 'ltr'],
|
||||
['short' => 'nl', 'long' => 'nl-NL', 'english' => 'Dutch', 'native' => 'Nederlands', 'direction' => 'ltr'],
|
||||
['short' => 'pl', 'long' => 'pl-PL', 'english' => 'Polish', 'native' => 'Polski', 'direction' => 'ltr'],
|
||||
['short' => 'pt-BR', 'long' => 'pt-BR', 'english' => 'Brazilian', 'native' => 'Português do Brasil', 'direction' => 'ltr'],
|
||||
['short' => 'pt', 'long' => 'pt-PT', 'english' => 'Portuguese', 'native' => 'Português', 'direction' => 'ltr'],
|
||||
['short' => 'ro', 'long' => 'ro-RO', 'english' => 'Romanian', 'native' => 'Română', 'direction' => 'ltr'],
|
||||
['short' => 'ru', 'long' => 'ru-RU', 'english' => 'Russian', 'native' => 'Русский', 'direction' => 'ltr'],
|
||||
['short' => 'sr', 'long' => 'sr-RS', 'english' => 'Serbian (Cyrillic)', 'native' => 'Српски језик', 'direction' => 'ltr'],
|
||||
['short' => 'sr', 'long' => 'sr-CS', 'english' => 'Serbian (Latin)', 'native' => 'Српски језик', 'direction' => 'ltr'],
|
||||
['short' => 'sq', 'long' => 'sq-AL', 'english' => 'Albanian', 'native' => 'Shqip', 'direction' => 'ltr'],
|
||||
['short' => 'sk', 'long' => 'sk-SK', 'english' => 'Slovak', 'native' => 'Slovenčina', 'direction' => 'ltr'],
|
||||
['short' => 'sl', 'long' => 'sl-SI', 'english' => 'Slovenian', 'native' => 'Slovenščina', 'direction' => 'ltr'],
|
||||
['short' => 'sv', 'long' => 'sv-SE', 'english' => 'Swedish', 'native' => 'Svenska', 'direction' => 'ltr'],
|
||||
['short' => 'th', 'long' => 'th-TH', 'english' => 'Thai', 'native' => 'ไทย', 'direction' => 'ltr'],
|
||||
['short' => 'tr', 'long' => 'tr-TR', 'english' => 'Turkish', 'native' => 'Türkçe', 'direction' => 'ltr'],
|
||||
['short' => 'tw', 'long' => 'zh-TW', 'english' => 'Chinese (T)', 'native' => '繁體中文', 'direction' => 'ltr'],
|
||||
['short' => 'uk', 'long' => 'uk-UA', 'english' => 'Ukrainian', 'native' => 'Українська', 'direction' => 'ltr'],
|
||||
['short' => 'ur', 'long' => 'ur-PK', 'english' => 'Urdu (Pakistan)', 'native' => 'اردو', 'direction' => 'rtl'],
|
||||
['short' => 'uz', 'long' => 'uz-UZ', 'english' => 'Uzbek', 'native' => 'O\'zbek', 'direction' => 'ltr'],
|
||||
['short' => 'vi', 'long' => 'vi-VN', 'english' => 'Vietnamese', 'native' => 'Tiếng Việt', 'direction' => 'ltr'],
|
||||
['short' => 'ar', 'long' => 'ar-SA', 'direction' => 'rtl', 'english' => 'Arabic', 'native' => 'العربية'],
|
||||
['short' => 'az', 'long' => 'az-AZ', 'direction' => 'ltr', 'english' => 'Azerbaijani', 'native' => 'Azərbaycan'],
|
||||
['short' => 'bg', 'long' => 'bg-BG', 'direction' => 'ltr', 'english' => 'Bulgarian', 'native' => 'български'],
|
||||
['short' => 'bn', 'long' => 'bn-BD', 'direction' => 'ltr', 'english' => 'Bengali', 'native' => 'বাংলা'],
|
||||
['short' => 'bs', 'long' => 'bs-BA', 'direction' => 'ltr', 'english' => 'Bosnian', 'native' => 'Bosanski'],
|
||||
['short' => 'ca', 'long' => 'ca-ES', 'direction' => 'ltr', 'english' => 'Catalan', 'native' => 'Català'],
|
||||
['short' => 'cn', 'long' => 'zh-CN', 'direction' => 'ltr', 'english' => 'Chinese (S)', 'native' => '简体中文'],
|
||||
['short' => 'cs', 'long' => 'cs-CZ', 'direction' => 'ltr', 'english' => 'Czech', 'native' => 'Čeština'],
|
||||
['short' => 'da', 'long' => 'da-DK', 'direction' => 'ltr', 'english' => 'Danish', 'native' => 'Dansk'],
|
||||
['short' => 'de', 'long' => 'de-DE', 'direction' => 'ltr', 'english' => 'German', 'native' => 'Deutsch'],
|
||||
['short' => 'de', 'long' => 'de-AT', 'direction' => 'ltr', 'english' => 'Austrian', 'native' => 'Österreichisches Deutsch'],
|
||||
['short' => 'fi', 'long' => 'fi-FI', 'direction' => 'ltr', 'english' => 'Finnish', 'native' => 'Suomi'],
|
||||
['short' => 'fr', 'long' => 'fr-FR', 'direction' => 'ltr', 'english' => 'French', 'native' => 'Français'],
|
||||
['short' => 'ea', 'long' => 'es-AR', 'direction' => 'ltr', 'english' => 'Spanish (Argentina)', 'native' => 'Español de Argentina'],
|
||||
['short' => 'el', 'long' => 'el-GR', 'direction' => 'ltr', 'english' => 'Greek', 'native' => 'Ελληνικά'],
|
||||
['short' => 'en', 'long' => 'en-AU', 'direction' => 'ltr', 'english' => 'English (AU)', 'native' => 'English (AU)'],
|
||||
['short' => 'en', 'long' => 'en-CA', 'direction' => 'ltr', 'english' => 'English (CA)', 'native' => 'English (CA)'],
|
||||
['short' => 'en', 'long' => 'en-GB', 'direction' => 'ltr', 'english' => 'English (GB)', 'native' => 'English (GB)'],
|
||||
['short' => 'en', 'long' => 'en-US', 'direction' => 'ltr', 'english' => 'English (US)', 'native' => 'English (US)'],
|
||||
['short' => 'es', 'long' => 'es-ES', 'direction' => 'ltr', 'english' => 'Spanish', 'native' => 'Español'],
|
||||
['short' => 'et', 'long' => 'et-EE', 'direction' => 'ltr', 'english' => 'Estonian', 'native' => 'Eesti'],
|
||||
['short' => 'he', 'long' => 'he-IL', 'direction' => 'rtl', 'english' => 'Hebrew', 'native' => 'עִבְרִית'],
|
||||
['short' => 'hi', 'long' => 'hi-IN', 'direction' => 'ltr', 'english' => 'Hindi', 'native' => 'हिन्दी'],
|
||||
['short' => 'hr', 'long' => 'hr-HR', 'direction' => 'ltr', 'english' => 'Croatian', 'native' => 'Hrvatski'],
|
||||
['short' => 'hu', 'long' => 'hu-HU', 'direction' => 'ltr', 'english' => 'Hungarian', 'native' => 'Magyar'],
|
||||
['short' => 'hy', 'long' => 'hy-AM', 'direction' => 'ltr', 'english' => 'Armenian', 'native' => 'Հայերեն',],
|
||||
['short' => 'id', 'long' => 'id-ID', 'direction' => 'ltr', 'english' => 'Indonesian', 'native' => 'Bahasa Indonesia'],
|
||||
['short' => 'is', 'long' => 'is-IS', 'direction' => 'ltr', 'english' => 'Icelandic', 'native' => 'Íslenska'],
|
||||
['short' => 'it', 'long' => 'it-IT', 'direction' => 'ltr', 'english' => 'Italian', 'native' => 'Italiano'],
|
||||
['short' => 'ir', 'long' => 'fa-IR', 'direction' => 'rtl', 'english' => 'Persian', 'native' => 'فارسی'],
|
||||
['short' => 'jp', 'long' => 'ja-JP', 'direction' => 'ltr', 'english' => 'Japanese', 'native' => '日本語'],
|
||||
['short' => 'ka', 'long' => 'ka-GE', 'direction' => 'ltr', 'english' => 'Georgian', 'native' => 'ქართული'],
|
||||
['short' => 'ko', 'long' => 'ko-KR', 'direction' => 'ltr', 'english' => 'Korean', 'native' => '한국어'],
|
||||
['short' => 'lt', 'long' => 'lt-LT', 'direction' => 'ltr', 'english' => 'Lithuanian', 'native' => 'Lietuvių'],
|
||||
['short' => 'lv', 'long' => 'lv-LV', 'direction' => 'ltr', 'english' => 'Latvian', 'native' => 'Latviešu valoda'],
|
||||
['short' => 'mk', 'long' => 'mk-MK', 'direction' => 'ltr', 'english' => 'Macedonian', 'native' => 'Македонски јазик'],
|
||||
['short' => 'ms', 'long' => 'ms-MY', 'direction' => 'ltr', 'english' => 'Malay', 'native' => 'Bahasa Melayu'],
|
||||
['short' => 'mx', 'long' => 'es-MX', 'direction' => 'ltr', 'english' => 'Mexico', 'native' => 'Español de México'],
|
||||
['short' => 'nb', 'long' => 'nb-NO', 'direction' => 'ltr', 'english' => 'Norwegian', 'native' => 'Norsk Bokmål'],
|
||||
['short' => 'ne', 'long' => 'ne-NP', 'direction' => 'ltr', 'english' => 'Nepali', 'native' => 'नेपाली'],
|
||||
['short' => 'nl', 'long' => 'nl-NL', 'direction' => 'ltr', 'english' => 'Dutch', 'native' => 'Nederlands'],
|
||||
['short' => 'pl', 'long' => 'pl-PL', 'direction' => 'ltr', 'english' => 'Polish', 'native' => 'Polski'],
|
||||
['short' => 'pt-BR', 'long' => 'pt-BR', 'direction' => 'ltr', 'english' => 'Brazilian', 'native' => 'Português do Brasil'],
|
||||
['short' => 'pt', 'long' => 'pt-PT', 'direction' => 'ltr', 'english' => 'Portuguese', 'native' => 'Português'],
|
||||
['short' => 'ro', 'long' => 'ro-RO', 'direction' => 'ltr', 'english' => 'Romanian', 'native' => 'Română'],
|
||||
['short' => 'ru', 'long' => 'ru-RU', 'direction' => 'ltr', 'english' => 'Russian', 'native' => 'Русский'],
|
||||
['short' => 'sr', 'long' => 'sr-RS', 'direction' => 'ltr', 'english' => 'Serbian (Cyrillic)', 'native' => 'Српски језик'],
|
||||
['short' => 'sr', 'long' => 'sr-CS', 'direction' => 'ltr', 'english' => 'Serbian (Latin)', 'native' => 'Српски језик'],
|
||||
['short' => 'sq', 'long' => 'sq-AL', 'direction' => 'ltr', 'english' => 'Albanian', 'native' => 'Shqip'],
|
||||
['short' => 'sk', 'long' => 'sk-SK', 'direction' => 'ltr', 'english' => 'Slovak', 'native' => 'Slovenčina'],
|
||||
['short' => 'sl', 'long' => 'sl-SI', 'direction' => 'ltr', 'english' => 'Slovenian', 'native' => 'Slovenščina'],
|
||||
['short' => 'sv', 'long' => 'sv-SE', 'direction' => 'ltr', 'english' => 'Swedish', 'native' => 'Svenska'],
|
||||
['short' => 'th', 'long' => 'th-TH', 'direction' => 'ltr', 'english' => 'Thai', 'native' => 'ไทย'],
|
||||
['short' => 'tr', 'long' => 'tr-TR', 'direction' => 'ltr', 'english' => 'Turkish', 'native' => 'Türkçe'],
|
||||
['short' => 'tw', 'long' => 'zh-TW', 'direction' => 'ltr', 'english' => 'Chinese (T)', 'native' => '繁體中文'],
|
||||
['short' => 'uk', 'long' => 'uk-UA', 'direction' => 'ltr', 'english' => 'Ukrainian', 'native' => 'Українська'],
|
||||
['short' => 'ur', 'long' => 'ur-PK', 'direction' => 'rtl', 'english' => 'Urdu (Pakistan)', 'native' => 'اردو'],
|
||||
['short' => 'uz', 'long' => 'uz-UZ', 'direction' => 'ltr', 'english' => 'Uzbek', 'native' => 'O\'zbek'],
|
||||
['short' => 'vi', 'long' => 'vi-VN', 'direction' => 'ltr', 'english' => 'Vietnamese', 'native' => 'Tiếng Việt'],
|
||||
],
|
||||
|
||||
];
|
||||
|
623
public/css/app.css
vendored
623
public/css/app.css
vendored
@ -30676,6 +30676,7 @@ input[type="date"]::-webkit-inner-spin-button,
|
||||
}
|
||||
.p-0{
|
||||
padding: 0px;
|
||||
<<<<<<< HEAD
|
||||
}
|
||||
.p-1{
|
||||
padding: 0.25rem;
|
||||
@ -31296,6 +31297,628 @@ input[type="date"]::-webkit-inner-spin-button,
|
||||
.pr-1{
|
||||
padding-right: 0.25rem;
|
||||
}
|
||||
=======
|
||||
}
|
||||
.p-1{
|
||||
padding: 0.25rem;
|
||||
}
|
||||
.p-2{
|
||||
padding: 0.5rem;
|
||||
}
|
||||
.p-3{
|
||||
padding: 0.75rem;
|
||||
}
|
||||
.p-4{
|
||||
padding: 1rem;
|
||||
}
|
||||
.p-5{
|
||||
padding: 1.25rem;
|
||||
}
|
||||
.p-6{
|
||||
padding: 1.5rem;
|
||||
}
|
||||
.p-7{
|
||||
padding: 1.75rem;
|
||||
}
|
||||
.p-8{
|
||||
padding: 2rem;
|
||||
}
|
||||
.p-9{
|
||||
padding: 2.25rem;
|
||||
}
|
||||
.p-10{
|
||||
padding: 2.5rem;
|
||||
}
|
||||
.p-11{
|
||||
padding: 2.75rem;
|
||||
}
|
||||
.p-12{
|
||||
padding: 3rem;
|
||||
}
|
||||
.p-14{
|
||||
padding: 3.5rem;
|
||||
}
|
||||
.p-16{
|
||||
padding: 4rem;
|
||||
}
|
||||
.p-20{
|
||||
padding: 5rem;
|
||||
}
|
||||
.p-24{
|
||||
padding: 6rem;
|
||||
}
|
||||
.p-28{
|
||||
padding: 7rem;
|
||||
}
|
||||
.p-31{
|
||||
padding: 30.938rem;
|
||||
}
|
||||
.p-32{
|
||||
padding: 8rem;
|
||||
}
|
||||
.p-33{
|
||||
padding: 8.5rem;
|
||||
}
|
||||
.p-36{
|
||||
padding: 9rem;
|
||||
}
|
||||
.p-37{
|
||||
padding: 9.25rem;
|
||||
}
|
||||
.p-40{
|
||||
padding: 10rem;
|
||||
}
|
||||
.p-44{
|
||||
padding: 11rem;
|
||||
}
|
||||
.p-46{
|
||||
padding: 46.875rem;
|
||||
}
|
||||
.p-48{
|
||||
padding: 12rem;
|
||||
}
|
||||
.p-52{
|
||||
padding: 13rem;
|
||||
}
|
||||
.p-56{
|
||||
padding: 14rem;
|
||||
}
|
||||
.p-60{
|
||||
padding: 15rem;
|
||||
}
|
||||
.p-64{
|
||||
padding: 16rem;
|
||||
}
|
||||
.p-72{
|
||||
padding: 18rem;
|
||||
}
|
||||
.p-80{
|
||||
padding: 20rem;
|
||||
}
|
||||
.p-96{
|
||||
padding: 24rem;
|
||||
}
|
||||
.p-px{
|
||||
padding: 1px;
|
||||
}
|
||||
.p-0\.5{
|
||||
padding: 0.125rem;
|
||||
}
|
||||
.p-1\.5{
|
||||
padding: 0.375rem;
|
||||
}
|
||||
.p-2\.5{
|
||||
padding: 0.625rem;
|
||||
}
|
||||
.p-3\.5{
|
||||
padding: 0.875rem;
|
||||
}
|
||||
.p-modal{
|
||||
padding: 610px;
|
||||
}
|
||||
.p-5\.5{
|
||||
padding: 1.30rem;
|
||||
}
|
||||
.p-9\.5{
|
||||
padding: 2.45rem;
|
||||
}
|
||||
.p-12\.5{
|
||||
padding: 3.2rem;
|
||||
}
|
||||
.p-32\.5{
|
||||
padding: 8.5rem;
|
||||
}
|
||||
.px-0{
|
||||
padding-left: 0px;
|
||||
padding-right: 0px;
|
||||
}
|
||||
.px-1{
|
||||
padding-left: 0.25rem;
|
||||
padding-right: 0.25rem;
|
||||
}
|
||||
.px-2{
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
}
|
||||
.px-3{
|
||||
padding-left: 0.75rem;
|
||||
padding-right: 0.75rem;
|
||||
}
|
||||
.px-4{
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
.px-5{
|
||||
padding-left: 1.25rem;
|
||||
padding-right: 1.25rem;
|
||||
}
|
||||
.px-6{
|
||||
padding-left: 1.5rem;
|
||||
padding-right: 1.5rem;
|
||||
}
|
||||
.px-7{
|
||||
padding-left: 1.75rem;
|
||||
padding-right: 1.75rem;
|
||||
}
|
||||
.px-8{
|
||||
padding-left: 2rem;
|
||||
padding-right: 2rem;
|
||||
}
|
||||
.px-9{
|
||||
padding-left: 2.25rem;
|
||||
padding-right: 2.25rem;
|
||||
}
|
||||
.px-10{
|
||||
padding-left: 2.5rem;
|
||||
padding-right: 2.5rem;
|
||||
}
|
||||
.px-11{
|
||||
padding-left: 2.75rem;
|
||||
padding-right: 2.75rem;
|
||||
}
|
||||
.px-12{
|
||||
padding-left: 3rem;
|
||||
padding-right: 3rem;
|
||||
}
|
||||
.px-14{
|
||||
padding-left: 3.5rem;
|
||||
padding-right: 3.5rem;
|
||||
}
|
||||
.px-16{
|
||||
padding-left: 4rem;
|
||||
padding-right: 4rem;
|
||||
}
|
||||
.px-20{
|
||||
padding-left: 5rem;
|
||||
padding-right: 5rem;
|
||||
}
|
||||
.px-24{
|
||||
padding-left: 6rem;
|
||||
padding-right: 6rem;
|
||||
}
|
||||
.px-28{
|
||||
padding-left: 7rem;
|
||||
padding-right: 7rem;
|
||||
}
|
||||
.px-31{
|
||||
padding-left: 30.938rem;
|
||||
padding-right: 30.938rem;
|
||||
}
|
||||
.px-32{
|
||||
padding-left: 8rem;
|
||||
padding-right: 8rem;
|
||||
}
|
||||
.px-33{
|
||||
padding-left: 8.5rem;
|
||||
padding-right: 8.5rem;
|
||||
}
|
||||
.px-36{
|
||||
padding-left: 9rem;
|
||||
padding-right: 9rem;
|
||||
}
|
||||
.px-37{
|
||||
padding-left: 9.25rem;
|
||||
padding-right: 9.25rem;
|
||||
}
|
||||
.px-40{
|
||||
padding-left: 10rem;
|
||||
padding-right: 10rem;
|
||||
}
|
||||
.px-44{
|
||||
padding-left: 11rem;
|
||||
padding-right: 11rem;
|
||||
}
|
||||
.px-46{
|
||||
padding-left: 46.875rem;
|
||||
padding-right: 46.875rem;
|
||||
}
|
||||
.px-48{
|
||||
padding-left: 12rem;
|
||||
padding-right: 12rem;
|
||||
}
|
||||
.px-52{
|
||||
padding-left: 13rem;
|
||||
padding-right: 13rem;
|
||||
}
|
||||
.px-56{
|
||||
padding-left: 14rem;
|
||||
padding-right: 14rem;
|
||||
}
|
||||
.px-60{
|
||||
padding-left: 15rem;
|
||||
padding-right: 15rem;
|
||||
}
|
||||
.px-64{
|
||||
padding-left: 16rem;
|
||||
padding-right: 16rem;
|
||||
}
|
||||
.px-72{
|
||||
padding-left: 18rem;
|
||||
padding-right: 18rem;
|
||||
}
|
||||
.px-80{
|
||||
padding-left: 20rem;
|
||||
padding-right: 20rem;
|
||||
}
|
||||
.px-96{
|
||||
padding-left: 24rem;
|
||||
padding-right: 24rem;
|
||||
}
|
||||
.px-px{
|
||||
padding-left: 1px;
|
||||
padding-right: 1px;
|
||||
}
|
||||
.px-0\.5{
|
||||
padding-left: 0.125rem;
|
||||
padding-right: 0.125rem;
|
||||
}
|
||||
.px-1\.5{
|
||||
padding-left: 0.375rem;
|
||||
padding-right: 0.375rem;
|
||||
}
|
||||
.px-2\.5{
|
||||
padding-left: 0.625rem;
|
||||
padding-right: 0.625rem;
|
||||
}
|
||||
.px-3\.5{
|
||||
padding-left: 0.875rem;
|
||||
padding-right: 0.875rem;
|
||||
}
|
||||
.px-modal{
|
||||
padding-left: 610px;
|
||||
padding-right: 610px;
|
||||
}
|
||||
.px-5\.5{
|
||||
padding-left: 1.30rem;
|
||||
padding-right: 1.30rem;
|
||||
}
|
||||
.px-9\.5{
|
||||
padding-left: 2.45rem;
|
||||
padding-right: 2.45rem;
|
||||
}
|
||||
.px-12\.5{
|
||||
padding-left: 3.2rem;
|
||||
padding-right: 3.2rem;
|
||||
}
|
||||
.px-32\.5{
|
||||
padding-left: 8.5rem;
|
||||
padding-right: 8.5rem;
|
||||
}
|
||||
.py-0{
|
||||
padding-top: 0px;
|
||||
padding-bottom: 0px;
|
||||
}
|
||||
.py-1{
|
||||
padding-top: 0.25rem;
|
||||
padding-bottom: 0.25rem;
|
||||
}
|
||||
.py-2{
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
.py-3{
|
||||
padding-top: 0.75rem;
|
||||
padding-bottom: 0.75rem;
|
||||
}
|
||||
.py-4{
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
.py-5{
|
||||
padding-top: 1.25rem;
|
||||
padding-bottom: 1.25rem;
|
||||
}
|
||||
.py-6{
|
||||
padding-top: 1.5rem;
|
||||
padding-bottom: 1.5rem;
|
||||
}
|
||||
.py-7{
|
||||
padding-top: 1.75rem;
|
||||
padding-bottom: 1.75rem;
|
||||
}
|
||||
.py-8{
|
||||
padding-top: 2rem;
|
||||
padding-bottom: 2rem;
|
||||
}
|
||||
.py-9{
|
||||
padding-top: 2.25rem;
|
||||
padding-bottom: 2.25rem;
|
||||
}
|
||||
.py-10{
|
||||
padding-top: 2.5rem;
|
||||
padding-bottom: 2.5rem;
|
||||
}
|
||||
.py-11{
|
||||
padding-top: 2.75rem;
|
||||
padding-bottom: 2.75rem;
|
||||
}
|
||||
.py-12{
|
||||
padding-top: 3rem;
|
||||
padding-bottom: 3rem;
|
||||
}
|
||||
.py-14{
|
||||
padding-top: 3.5rem;
|
||||
padding-bottom: 3.5rem;
|
||||
}
|
||||
.py-16{
|
||||
padding-top: 4rem;
|
||||
padding-bottom: 4rem;
|
||||
}
|
||||
.py-20{
|
||||
padding-top: 5rem;
|
||||
padding-bottom: 5rem;
|
||||
}
|
||||
.py-24{
|
||||
padding-top: 6rem;
|
||||
padding-bottom: 6rem;
|
||||
}
|
||||
.py-28{
|
||||
padding-top: 7rem;
|
||||
padding-bottom: 7rem;
|
||||
}
|
||||
.py-31{
|
||||
padding-top: 30.938rem;
|
||||
padding-bottom: 30.938rem;
|
||||
}
|
||||
.py-32{
|
||||
padding-top: 8rem;
|
||||
padding-bottom: 8rem;
|
||||
}
|
||||
.py-33{
|
||||
padding-top: 8.5rem;
|
||||
padding-bottom: 8.5rem;
|
||||
}
|
||||
.py-36{
|
||||
padding-top: 9rem;
|
||||
padding-bottom: 9rem;
|
||||
}
|
||||
.py-37{
|
||||
padding-top: 9.25rem;
|
||||
padding-bottom: 9.25rem;
|
||||
}
|
||||
.py-40{
|
||||
padding-top: 10rem;
|
||||
padding-bottom: 10rem;
|
||||
}
|
||||
.py-44{
|
||||
padding-top: 11rem;
|
||||
padding-bottom: 11rem;
|
||||
}
|
||||
.py-46{
|
||||
padding-top: 46.875rem;
|
||||
padding-bottom: 46.875rem;
|
||||
}
|
||||
.py-48{
|
||||
padding-top: 12rem;
|
||||
padding-bottom: 12rem;
|
||||
}
|
||||
.py-52{
|
||||
padding-top: 13rem;
|
||||
padding-bottom: 13rem;
|
||||
}
|
||||
.py-56{
|
||||
padding-top: 14rem;
|
||||
padding-bottom: 14rem;
|
||||
}
|
||||
.py-60{
|
||||
padding-top: 15rem;
|
||||
padding-bottom: 15rem;
|
||||
}
|
||||
.py-64{
|
||||
padding-top: 16rem;
|
||||
padding-bottom: 16rem;
|
||||
}
|
||||
.py-72{
|
||||
padding-top: 18rem;
|
||||
padding-bottom: 18rem;
|
||||
}
|
||||
.py-80{
|
||||
padding-top: 20rem;
|
||||
padding-bottom: 20rem;
|
||||
}
|
||||
.py-96{
|
||||
padding-top: 24rem;
|
||||
padding-bottom: 24rem;
|
||||
}
|
||||
.py-px{
|
||||
padding-top: 1px;
|
||||
padding-bottom: 1px;
|
||||
}
|
||||
.py-0\.5{
|
||||
padding-top: 0.125rem;
|
||||
padding-bottom: 0.125rem;
|
||||
}
|
||||
.py-1\.5{
|
||||
padding-top: 0.375rem;
|
||||
padding-bottom: 0.375rem;
|
||||
}
|
||||
.py-2\.5{
|
||||
padding-top: 0.625rem;
|
||||
padding-bottom: 0.625rem;
|
||||
}
|
||||
.py-3\.5{
|
||||
padding-top: 0.875rem;
|
||||
padding-bottom: 0.875rem;
|
||||
}
|
||||
.py-modal{
|
||||
padding-top: 610px;
|
||||
padding-bottom: 610px;
|
||||
}
|
||||
.py-5\.5{
|
||||
padding-top: 1.30rem;
|
||||
padding-bottom: 1.30rem;
|
||||
}
|
||||
.py-9\.5{
|
||||
padding-top: 2.45rem;
|
||||
padding-bottom: 2.45rem;
|
||||
}
|
||||
.py-12\.5{
|
||||
padding-top: 3.2rem;
|
||||
padding-bottom: 3.2rem;
|
||||
}
|
||||
.py-32\.5{
|
||||
padding-top: 8.5rem;
|
||||
padding-bottom: 8.5rem;
|
||||
}
|
||||
.pt-0{
|
||||
padding-top: 0px;
|
||||
}
|
||||
.pt-1{
|
||||
padding-top: 0.25rem;
|
||||
}
|
||||
.pt-2{
|
||||
padding-top: 0.5rem;
|
||||
}
|
||||
.pt-3{
|
||||
padding-top: 0.75rem;
|
||||
}
|
||||
.pt-4{
|
||||
padding-top: 1rem;
|
||||
}
|
||||
.pt-5{
|
||||
padding-top: 1.25rem;
|
||||
}
|
||||
.pt-6{
|
||||
padding-top: 1.5rem;
|
||||
}
|
||||
.pt-7{
|
||||
padding-top: 1.75rem;
|
||||
}
|
||||
.pt-8{
|
||||
padding-top: 2rem;
|
||||
}
|
||||
.pt-9{
|
||||
padding-top: 2.25rem;
|
||||
}
|
||||
.pt-10{
|
||||
padding-top: 2.5rem;
|
||||
}
|
||||
.pt-11{
|
||||
padding-top: 2.75rem;
|
||||
}
|
||||
.pt-12{
|
||||
padding-top: 3rem;
|
||||
}
|
||||
.pt-14{
|
||||
padding-top: 3.5rem;
|
||||
}
|
||||
.pt-16{
|
||||
padding-top: 4rem;
|
||||
}
|
||||
.pt-20{
|
||||
padding-top: 5rem;
|
||||
}
|
||||
.pt-24{
|
||||
padding-top: 6rem;
|
||||
}
|
||||
.pt-28{
|
||||
padding-top: 7rem;
|
||||
}
|
||||
.pt-31{
|
||||
padding-top: 30.938rem;
|
||||
}
|
||||
.pt-32{
|
||||
padding-top: 8rem;
|
||||
}
|
||||
.pt-33{
|
||||
padding-top: 8.5rem;
|
||||
}
|
||||
.pt-36{
|
||||
padding-top: 9rem;
|
||||
}
|
||||
.pt-37{
|
||||
padding-top: 9.25rem;
|
||||
}
|
||||
.pt-40{
|
||||
padding-top: 10rem;
|
||||
}
|
||||
.pt-44{
|
||||
padding-top: 11rem;
|
||||
}
|
||||
.pt-46{
|
||||
padding-top: 46.875rem;
|
||||
}
|
||||
.pt-48{
|
||||
padding-top: 12rem;
|
||||
}
|
||||
.pt-52{
|
||||
padding-top: 13rem;
|
||||
}
|
||||
.pt-56{
|
||||
padding-top: 14rem;
|
||||
}
|
||||
.pt-60{
|
||||
padding-top: 15rem;
|
||||
}
|
||||
.pt-64{
|
||||
padding-top: 16rem;
|
||||
}
|
||||
.pt-72{
|
||||
padding-top: 18rem;
|
||||
}
|
||||
.pt-80{
|
||||
padding-top: 20rem;
|
||||
}
|
||||
.pt-96{
|
||||
padding-top: 24rem;
|
||||
}
|
||||
.pt-px{
|
||||
padding-top: 1px;
|
||||
}
|
||||
.pt-0\.5{
|
||||
padding-top: 0.125rem;
|
||||
}
|
||||
.pt-1\.5{
|
||||
padding-top: 0.375rem;
|
||||
}
|
||||
.pt-2\.5{
|
||||
padding-top: 0.625rem;
|
||||
}
|
||||
.pt-3\.5{
|
||||
padding-top: 0.875rem;
|
||||
}
|
||||
.pt-modal{
|
||||
padding-top: 610px;
|
||||
}
|
||||
.pt-5\.5{
|
||||
padding-top: 1.30rem;
|
||||
}
|
||||
.pt-9\.5{
|
||||
padding-top: 2.45rem;
|
||||
}
|
||||
.pt-12\.5{
|
||||
padding-top: 3.2rem;
|
||||
}
|
||||
.pt-32\.5{
|
||||
padding-top: 8.5rem;
|
||||
}
|
||||
.pr-0{
|
||||
padding-right: 0px;
|
||||
}
|
||||
.pr-1{
|
||||
padding-right: 0.25rem;
|
||||
}
|
||||
>>>>>>> 7a07a7512ab93e6739daadd733f54945390e6a14
|
||||
.pr-2{
|
||||
padding-right: 0.5rem;
|
||||
}
|
||||
|
17
public/css/print.css
vendored
17
public/css/print.css
vendored
@ -68,11 +68,26 @@ html[dir='rtl'] .right-column {
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.print-template .ml-1
|
||||
html[dir='ltr'] .print-template .ml-1
|
||||
{
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
html[dir='rtl'] .print-template .ml-1
|
||||
{
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
html[dir='ltr'] .print-template .ml-2
|
||||
{
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
html[dir='rtl'] .print-template .ml-2
|
||||
{
|
||||
margin-left: 16px;
|
||||
}
|
||||
|
||||
.pl-head
|
||||
{
|
||||
padding-left: 18px;
|
||||
|
Binary file not shown.
@ -20,12 +20,12 @@ return [
|
||||
|
||||
'form_description' => [
|
||||
'general' => 'Kreditkartentyp für negativen Eröffnungssaldo verwenden. Die Nummer ist wichtig, um Konten korrekt abzugleichen. Das Standardkonto zeichnet alle Transaktionen auf, wenn nicht anders ausgewählt.',
|
||||
'bank' => 'Sie können mehrere Bankkonten in mehr als einer Bank haben. Das Aufzeichnen von Informationen über Ihre Bank erleichtert die Übereinstimmung der Transaktionen innerhalb Ihrer Bank.',
|
||||
'bank' => 'Sie können mehrere Bankkonten bei mehr als einer Bank haben. Das Aufzeichnen von Informationen über Ihre Bank erleichtert die Übereinstimmung der Transaktionen innerhalb Ihrer Bank.',
|
||||
],
|
||||
|
||||
'no_records' => [
|
||||
'transactions' => 'Es gibt noch keine Transaktionen nach/von diesem Konto. Erstellen Sie jetzt eine neue.',
|
||||
'transfers' => 'Es gibt noch keine Überweisung nach/von diesem Konto. Erstellen Sie jetzt eine neue.',
|
||||
'transactions' => 'Es gibt noch keine Transaktionen auf diesem Konto. Erfassen Sie jetzt eine neue.',
|
||||
'transfers' => 'Es gibt noch keine Überweisung nach/von diesem Konto. Erfassen Sie jetzt eine neue.',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -19,11 +19,13 @@ return [
|
||||
'total' => 'Gesamt',
|
||||
|
||||
'item_name' => 'Artikel-Name|Artikel-Namen',
|
||||
'recurring_bills' => 'Wiederkehrende Rechnung|Wiederkehrende Rechnungen',
|
||||
|
||||
'show_discount' => ':discount% Rabatt',
|
||||
'add_discount' => 'füge Rabatt hinzu',
|
||||
'discount_desc' => 'der Zwischensumme',
|
||||
|
||||
'payment_made' => 'Zahlung erfolgt',
|
||||
'payment_due' => 'Fälligkeit der Zahlung',
|
||||
'amount_due' => 'Fälliger Betrag',
|
||||
'paid' => 'Bezahlt',
|
||||
@ -39,6 +41,11 @@ return [
|
||||
'receive_bill' => 'Rechnung erhalten',
|
||||
'make_payment' => 'Zahlung vornehmen',
|
||||
|
||||
'form_description' => [
|
||||
'billing' => 'Rechnungsdetails erscheinen in Ihrer Rechnung. Rechnungsdatum wird im Dashboard und in Berichten verwendet. Wählen Sie das voraussichtliche Zahlungsdatum als Fälligkeitsdatum aus.
|
||||
',
|
||||
],
|
||||
|
||||
'messages' => [
|
||||
'draft' => 'Dies ist eine Rechnungs-<b>Vorschau</b>. Die Rechnung erscheint in den Diagrammen nachdem sie als erhalten markiert wurde.',
|
||||
|
||||
|
@ -20,4 +20,7 @@ return [
|
||||
'unreconcile' => 'Sind Sie sicher das Sie den ausgewählten Datensatz <b>nicht abgleichen</b> möchten?|Sind Sie sicher das Sie die ausgewählten Datensätze <b>nicht abgleichen</b> möchten?',
|
||||
],
|
||||
|
||||
'success' => [
|
||||
'general' => ':count Eintrag :type.',
|
||||
],
|
||||
];
|
||||
|
11
resources/lang/de-DE/categories.php
Normal file
11
resources/lang/de-DE/categories.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'collapse' => 'Einklappen',
|
||||
|
||||
'form_description' => [
|
||||
'general' => 'Die Kategorie hilft Ihnen, Ihre Artikel, Einnahmen, Ausgaben und andere Datensätze zu klassifizieren.',
|
||||
],
|
||||
|
||||
];
|
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'AF' => 'Afghanistan',
|
||||
'AX' => 'Ålandinseln',
|
||||
'AL' => 'Albanien',
|
||||
@ -10,7 +11,7 @@ return [
|
||||
'AO' => 'Angola',
|
||||
'AI' => 'Anguilla',
|
||||
'AQ' => 'Antarktis',
|
||||
'AG' => 'Antigua und Barbuda',
|
||||
'AG' => 'Antigua & Barbuda',
|
||||
'AR' => 'Argentinien',
|
||||
'AM' => 'Armenien',
|
||||
'AW' => 'Aruba',
|
||||
@ -119,6 +120,7 @@ return [
|
||||
'KZ' => 'Kasachstan',
|
||||
'KE' => 'Kenia',
|
||||
'KI' => 'Kiribati',
|
||||
'XK' => 'Kosovo',
|
||||
'KW' => 'Kuwait',
|
||||
'KG' => 'Kirgisistan',
|
||||
'LA' => 'Laos',
|
||||
@ -250,4 +252,5 @@ return [
|
||||
'YE' => 'Jemen',
|
||||
'ZM' => 'Sambia',
|
||||
'ZW' => 'Simbabwe',
|
||||
|
||||
];
|
||||
|
@ -3,7 +3,7 @@
|
||||
return [
|
||||
|
||||
'error' => [
|
||||
'not_user_dashboard' => 'Fehler: Sie haben keine Berechtigung, das Dashboard zu ändern!',
|
||||
'not_user_dashboard' => 'Fehler: Sie haben keine Berechtigung, dieses Dashboard zu ändern!',
|
||||
'delete_last' => 'Fehler: Das letzte Dashboard kann nicht gelöscht werden. Bitte erstellen Sie zuerst ein neues Dashboard!',
|
||||
'disable_last' => 'Fehler: Das letzte Dashboard kann nicht deaktiviert werden. Bitte erstellen Sie zuerst ein neues Dashboard!',
|
||||
],
|
||||
|
@ -5,7 +5,7 @@ return [
|
||||
'edit_columns' => 'Spalten bearbeiten',
|
||||
'empty_items' => 'Sie haben keine Artikel hinzugefügt.',
|
||||
'grand_total' => 'Gesamtbetrag',
|
||||
'accept_payment_online' => 'Online Zahlungen akzeptieren',
|
||||
'accept_payment_online' => 'Onlinezahlungen akzeptieren',
|
||||
'transaction' => 'Eine Zahlung über :amount wurde mit :account getätigt.',
|
||||
'billing' => 'Abrechnung',
|
||||
'advanced' => 'Erweitert',
|
||||
|
@ -27,6 +27,11 @@ return [
|
||||
'body' => 'Hallo,<br /><br /> Basierend auf {customer_name} wiederkehrenden Kreis, <strong>{invoice_number}</strong> Rechnung wurde automatisch erstellt.<br /><br />Sie können die Rechnungsdaten unter folgendem Link sehen: <a href="{invoice_admin_link}">{invoice_number}</a>.<br /><br />Beste Grüße,<br />{company_name}',
|
||||
],
|
||||
|
||||
'invoice_view_admin' => [
|
||||
'subject' => 'Rechnung {invoice_number} angesehen',
|
||||
'body' => 'Hallo,<br /><br />{customer_name} hat die Rechnung <strong>{invoice_number}</strong> angesehen.<br /><br />Sie können die Rechnungsdetails unter folgendem Link einsehen: <a href ="{invoice_admin_link}">{invoice_number}</a>.<br /><br />Mit freundlichen Grüßen<br />{company_name}',
|
||||
],
|
||||
|
||||
'invoice_payment_customer' => [
|
||||
'subject' => 'Zahlung für Rechnung {invoice_number} erhalten',
|
||||
'body' => 'Hallo {customer_name},<br /><br />Vielen Dank für die Zahlung. Sie finden die Zahlungsinformationen unten:<br /><br />-------------------------------------------------<br /><br />Betrag: <strong>{transaction_total}<br /></strong>Datum: <strong>{transaction_paid_date}</strong><br />Rechnungsnummer: <strong>{invoice_number}<br /><br /></strong>-------------------------------------------------<br /><br />Sie können die Rechnungsdetails immer unter folgendem Link sehen: <a href="{invoice_guest_link}">{invoice_number}</a>.<br /><br />Zögern Sie nicht, uns für jede Frage zu kontaktieren.<br /><br />Beste Grüße,<br />{company_name}',
|
||||
@ -47,13 +52,13 @@ return [
|
||||
'body' => 'Hallo,<br /><br /> Basierend auf {vendor_name} wiederkehrenden Kreis, <strong>{bill_number}</strong> Rechnung wurde automatisch erstellt.<br /><br />Sie können die Details der Rechnung unter folgendem Link sehen: <a href="{bill_admin_link}">{bill_number}</a>.<br /><br />Beste Grüße,<br />{company_name}',
|
||||
],
|
||||
|
||||
'revenue_new_customer' => [
|
||||
'subject' => '{revenue_date} Zahlung erstellt',
|
||||
'body' => 'Hallo {customer_name},<br /><br />Wir haben die folgende Zahlung vorbereitet. <br /><br />Die Zahlungsdetails können Sie dem folgenden Link entnehmen: <a href="{revenue_guest_link}">{revenue_date}</a>.<br /><br />Bei Fragen stehen wir Ihnen gerne zur Verfügung<br /><br />Mit freundlichen Grüßen<br />{company_name}',
|
||||
'payment_received_customer' => [
|
||||
'subject' => 'Deine Quittung von {company_name}',
|
||||
'body' => 'Hallo {contact_name},<br /><br />Vielen Dank für die Zahlung. <br /><br />Sie können die Zahlungsdetails unter folgendem Link einsehen: <a href="{payment_guest_link}">{payment_date}</a>.<br /><br />Sie können uns gerne kontaktieren bei Fragen.<br /><br />Mit freundlichen Grüßen<br />{company_name}',
|
||||
],
|
||||
|
||||
'payment_new_vendor' => [
|
||||
'subject' => '{revenue_date} Zahlung erstellt',
|
||||
'body' => 'Hallo {vendor_name},<br /><br />Wir haben die folgende Zahlung vorbereitet. <br /><br />Die Zahlungsdetails können Sie dem folgenden Link entnehmen: <a href="{payment_admin_link}">{payment_date}</a><br /><br />Bei Fragen stehen wir Ihnen gerne zur Verfügung<br /><br />Mit freundlichen Grüßen<br />{company_name}',
|
||||
'payment_made_vendor' => [
|
||||
'subject' => 'Zahlung erfolgt durch {company_name}',
|
||||
'body' => 'Hallo {contact_name},<br /><br />wir haben die folgende Zahlung geleistet. <br /><br />Sie können die Zahlungsdetails unter folgendem Link einsehen: <a href="{payment_guest_link}">{payment_date}</a>.<br /><br />Sie können uns gerne kontaktieren bei Fragen.<br /><br />Mit freundlichen Grüßen<br />{company_name}',
|
||||
],
|
||||
];
|
||||
|
@ -17,7 +17,9 @@ return [
|
||||
'message' => [
|
||||
'403' => 'Sie können auf diese Seite nicht zugreifen.',
|
||||
'404' => 'Wir konnten die gesuchte Seite nicht finden.',
|
||||
'500' => 'Wir werden uns sofort darum kümmern, dieses Problem zu lösen',
|
||||
'500' => 'Wir werden uns sofort darum kümmern, dieses Problem zu lösen.',
|
||||
'record' => 'Wir konnten den Datensatz nicht finden, nach dem Sie gesucht haben.',
|
||||
'amount' => 'Diese Seite enthält ungültige Beträge! Bitte kontaktieren Sie den Systemadministrator.',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -7,7 +7,7 @@ return [
|
||||
'link' => 'https://akaunting.com',
|
||||
'software' => 'Kostenlose Buchhaltungssoftware',
|
||||
'powered_by' => 'Zur Verfügung gestellt von',
|
||||
'tag_line' => 'Senden Sie Rechnungen, verfolgen Sie Ausgaben und automatisieren Sie Abrechnung mit Akaunting. :get_started_url',
|
||||
'get_started' => 'Los geht\'s',
|
||||
'tag_line' => 'Senden Sie Rechnungen, verfolgen Sie Ausgaben und automatisieren Sie die Abrechnung mit Akaunting. :get_started_url',
|
||||
'get_started' => 'Erste Schritte',
|
||||
|
||||
];
|
||||
|
@ -43,4 +43,8 @@ return [
|
||||
'connection' => 'Fehler: Es konnte keine Verbindung zur Datenbank hergestellt werden! Stellen Sie sicher, dass die Angaben korrekt sind.',
|
||||
],
|
||||
|
||||
'update' => [
|
||||
'core' => 'Akaunting neue Version ist verfügbar! Bitte aktualisieren Sie Ihre Installation.',
|
||||
'module' => ':module neue Version ist verfügbar! Bitte aktualisieren Sie Ihre Installation.',
|
||||
],
|
||||
];
|
||||
|
@ -6,28 +6,28 @@ return [
|
||||
'invoices' => 'Rechnungen',
|
||||
'payments' => 'Zahlungen',
|
||||
'payment_received' => 'Zahlung eingegangen, vielen Dank.',
|
||||
'create_your_invoice' => 'Erstellen Sie jetzt Ihre eigene Rechnung – kostenlos',
|
||||
'get_started' => 'Kostenlos starten',
|
||||
'billing_address' => 'Rechnungensadresse',
|
||||
'create_your_invoice' => 'Erstellen Sie jetzt Ihre eigene Rechnung — es ist kostenlos',
|
||||
'get_started' => 'Kostenlos loslegen',
|
||||
'billing_address' => 'Rechnungsadresse',
|
||||
'see_all_details' => 'Alle Kontodetails anzeigen',
|
||||
'all_payments' => 'Anmelden, um alle Zahlungen anzuzeigen',
|
||||
'received_date' => 'Empfangsdatum',
|
||||
'received_date' => 'Eingangsdatum',
|
||||
|
||||
'last_payment' => [
|
||||
'title' => 'Letzte Zahlung',
|
||||
'description' => 'Sie haben diese Zahlung am :date gemacht',
|
||||
'not_payment' => 'Sie haben noch keine Zahlung getätigt.',
|
||||
'description' => 'Sie haben diese Zahlung am :date geleistet',
|
||||
'not_payment' => 'Sie haben noch keine Zahlung geleistet.',
|
||||
],
|
||||
|
||||
'outstanding_balance' => [
|
||||
'title' => 'Ausstehender Saldo',
|
||||
'description' => 'Ihr ausstehender Kontostand ist:',
|
||||
'description' => 'Ihr ausstehender Saldo ist:',
|
||||
'not_payment' => 'Sie haben noch kein ausstehendes Guthaben.',
|
||||
],
|
||||
|
||||
'latest_invoices' => [
|
||||
'title' => 'Neueste Rechnungen',
|
||||
'description' => ':date - Sie wurden mit Rechnungsnummer :invoice_number abgerechnet.',
|
||||
'description' => ':date - Sie wurden mit Rechnungsnummer :invoice_number belastet.',
|
||||
'no_data' => 'Keine Rechnungen vorhanden.',
|
||||
],
|
||||
|
||||
@ -39,7 +39,7 @@ return [
|
||||
|
||||
'payment_history' => [
|
||||
'title' => 'Zahlungsverlauf',
|
||||
'description' => ':date - Sie haben eine Zahlung von :amount getätigt.',
|
||||
'description' => ':date - Sie haben eine Zahlung in Höhe von :amount getätigt.',
|
||||
'invoice_description'=> ':date - Sie haben :amount für die Rechnungsnummer :invoice_number bezahlt.',
|
||||
|
||||
'no_data' => 'Sie haben noch keinen Zahlungsverlauf.',
|
||||
|
@ -14,5 +14,9 @@ return [
|
||||
'cleared_amount' => 'Ausgeglichener Betrag',
|
||||
'deposit' => 'Einzahlung',
|
||||
'withdrawal' => 'Auszahlung',
|
||||
'reconciled_amount' => 'Abgeglichen',
|
||||
'in_progress' => 'In Bearbeitung',
|
||||
'save_draft' => 'Als Entwurf speichern',
|
||||
'irreconcilable' => 'Nicht abgleichbar',
|
||||
|
||||
];
|
||||
|
@ -9,8 +9,8 @@ return [
|
||||
],
|
||||
|
||||
'no_records' => [
|
||||
'bills' => 'Sie haben noch keine Rechnung von diesem Kreditor erhalten. Erstellen Sie jetzt eine neue Rechnung.',
|
||||
'transactions' => 'Es gibt noch keine Transaktionen zu diesem Kreditor. Erstellen Sie jetzt eine neue.',
|
||||
'bills' => 'Sie haben noch keine Rechnung von diesem Kreditor erhalten. Erfassen Sie jetzt eine neue Rechnung.',
|
||||
'transactions' => 'Es gibt noch keine Transaktionen zu diesem Kreditor. Erfassen Sie jetzt eine neue.',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -17,18 +17,18 @@ return [
|
||||
|
||||
'description' => [
|
||||
'receivables' => 'Betrag, den Sie noch von Ihren Kunden erhalten müssen',
|
||||
'payables' => 'Betrag, den Sie noch an Ihren Kreditoren bezahlen müssen',
|
||||
'cash_flow' => 'Geld, das in Ihr Unternehmen ein- und ausgeht',
|
||||
'payables' => 'Betrag, den Sie noch an Ihre Kreditoren bezahlen müssen',
|
||||
'cash_flow' => 'Bargeld, das in Ihr Unternehmen ein- und ausgeht',
|
||||
'profit_loss' => 'Einnahmen und Ausgaben einschließlich unbezahlter Rechnungen',
|
||||
'expenses_by_category' => 'Top-Ausgaben in verschiedenen Kategorien',
|
||||
'account_balance' => 'Aktueller Kontostand Ihrer Bankkonten',
|
||||
'bank_feeds' => 'Importieren Sie Ihre Transaktionen automatisch in Akaunting </br>, indem Sie Ihre Bankkonten verbinden',
|
||||
'bank_feeds' => 'Importieren Sie Ihre Transaktionen automatisch in Akaunting, </br>indem Sie Ihre Bankkonten verbinden',
|
||||
],
|
||||
|
||||
'periods' => [
|
||||
'overdue_1_30' => '1-30 Tage verspätet',
|
||||
'overdue_30_60' => '30-60 Tage verspätet',
|
||||
'overdue_60_90' => '60-90 Tage verspätet',
|
||||
'overdue_90_un' => '> 90 Tage verspätet',
|
||||
'overdue_1_30' => '1-30 Tage überfällig',
|
||||
'overdue_30_60' => '30-60 Tage überfällig',
|
||||
'overdue_60_90' => '60-90 Tage überfällig',
|
||||
'overdue_90_un' => '> 90 Tage überfällig',
|
||||
],
|
||||
];
|
||||
|
@ -75,7 +75,7 @@ return [
|
||||
'export_failed' => [
|
||||
|
||||
'title' => 'Export failed',
|
||||
'description' => 'Not able to create the export file due to the following issue: :issues',
|
||||
'description' => 'Not able to create the export file due to several issues. Check out your email for the details.',
|
||||
|
||||
],
|
||||
|
||||
@ -86,6 +86,13 @@ return [
|
||||
|
||||
],
|
||||
|
||||
'import_failed' => [
|
||||
|
||||
'subject' => 'Import failed',
|
||||
'description' => 'Not able to import the file due to several issues. Check out your email for the details.',
|
||||
|
||||
],
|
||||
|
||||
'new_apps' => [
|
||||
|
||||
'title' => 'New App',
|
||||
|
@ -75,7 +75,7 @@ return [
|
||||
'export_failed' => [
|
||||
|
||||
'title' => 'L\'exportation a échoué',
|
||||
'description' => 'Impossible de créer le fichier d\'export en raison du problème suivant : :issues',
|
||||
'description' => 'Impossible de créer le fichier d\'export en raison de plusieurs problèmes. Consultez votre e-mail pour plus de détails.',
|
||||
|
||||
],
|
||||
|
||||
@ -86,6 +86,13 @@ return [
|
||||
|
||||
],
|
||||
|
||||
'import_failed' => [
|
||||
|
||||
'subject' => 'Importation échouée',
|
||||
'description' => 'Impossible d\'importer le fichier en raison de plusieurs problèmes. Consultez votre e-mail pour plus de détails.',
|
||||
|
||||
],
|
||||
|
||||
'new_apps' => [
|
||||
|
||||
'title' => 'Nouvelle application',
|
||||
|
@ -116,15 +116,27 @@
|
||||
|
||||
<x-show.summary.right>
|
||||
@stack('summary_incoming_start')
|
||||
<x-slot name="first" amount="{{ $summary_amounts['incoming_for_humans'] }}" title="{{ trans('accounts.incoming') }}" tooltip="{{ $summary_amounts['incoming_exact'] }}"></x-slot>
|
||||
<x-slot name="first"
|
||||
amount="{{ $summary_amounts['incoming_for_humans'] }}"
|
||||
title="{{ trans('accounts.incoming') }}"
|
||||
tooltip="{{ $summary_amounts['incoming_exact'] }}"
|
||||
></x-slot>
|
||||
@stack('summary_incoming_end')
|
||||
|
||||
@stack('summary_outgoing_start')
|
||||
<x-slot name="second" amount="{{ $summary_amounts['outgoing_for_humans'] }}" title="{{ trans('accounts.outgoing') }}" tooltip="{{ $summary_amounts['outgoing_exact'] }}"></x-slot>
|
||||
<x-slot name="second"
|
||||
amount="{{ $summary_amounts['outgoing_for_humans'] }}"
|
||||
title="{{ trans('accounts.outgoing') }}"
|
||||
tooltip="{{ $summary_amounts['outgoing_exact'] }}"
|
||||
></x-slot>
|
||||
@stack('summary_outgoing_end')
|
||||
|
||||
@stack('summary_current_start')
|
||||
<x-slot name="third" amount="{{ $summary_amounts['current_for_humans'] }}" title="{{ trans('accounts.current_balance') }}" tooltip="{{ $summary_amounts['current_exact'] }}"></x-slot>
|
||||
<x-slot name="third"
|
||||
amount="{{ $summary_amounts['current_for_humans'] }}"
|
||||
title="{{ trans('accounts.current_balance') }}"
|
||||
tooltip="{{ $summary_amounts['current_exact'] }}"
|
||||
></x-slot>
|
||||
@stack('summary_current_end')
|
||||
</x-show.summary.right>
|
||||
</x-show.summary>
|
||||
|
@ -20,14 +20,16 @@
|
||||
<x-index.summary>
|
||||
<x-slot name="first"
|
||||
href="{{ route('reconciliations.index', ['search' => 'reconciled:1']) }}"
|
||||
amount="{{ money($reconciliations->where('reconciled', 1)->sum('closing_balance'), setting('default.currency'), true) }}"
|
||||
amount="{{ $summary_amounts['amount_for_humans'] }}"
|
||||
title="{{ trans('reconciliations.reconciled_amount') }}"
|
||||
tooltip="{{ $summary_amounts['amount_exact'] }}"
|
||||
></x-slot>
|
||||
|
||||
<x-slot name="second"
|
||||
href="{{ route('reconciliations.index', ['search' => 'reconciled:0']) }}"
|
||||
amount="{{ money($reconciliations->where('reconciled', 0)->sum('closing_balance'), setting('default.currency'), true) }}"
|
||||
amount="{{ $summary_amounts['in_progress_for_humans'] }}"
|
||||
title="{{ trans('reconciliations.in_progress') }}"
|
||||
tooltip="{{ $summary_amounts['in_progress_exact'] }}"
|
||||
></x-slot>
|
||||
</x-index.summary>
|
||||
|
||||
|
@ -44,21 +44,24 @@
|
||||
<x-index.summary>
|
||||
<x-slot name="first"
|
||||
href="{{ route('transactions.index', ['search' => 'type:income']) }}"
|
||||
amount="{{ money($totals['income'], setting('default.currency'), true) }}"
|
||||
amount="{{ $summary_amounts['incoming_for_humans'] }}"
|
||||
title="{{ trans_choice('general.incomes', 1) }}"
|
||||
tooltip="{{ $summary_amounts['incoming_exact'] }}"
|
||||
divider="remove"
|
||||
></x-slot>
|
||||
|
||||
<x-slot name="second"
|
||||
href="{{ route('transactions.index', ['search' => 'type:expense']) }}"
|
||||
amount="{{ money($totals['expense'], setting('default.currency'), true) }}"
|
||||
amount="{{ $summary_amounts['expense_for_humans'] }}"
|
||||
title="{{ trans_choice('general.expenses', 2) }}"
|
||||
tooltip="{{ $summary_amounts['expense_exact'] }}"
|
||||
divider="drag_handle"
|
||||
></x-slot>
|
||||
|
||||
<x-slot name="third"
|
||||
amount="{{ money($totals['profit'], setting('default.currency'), true) }}"
|
||||
amount="{{ $summary_amounts['profit_for_humans'] }}"
|
||||
title="{{ trans_choice('general.profits', 1) }}"
|
||||
tooltip="{{ $summary_amounts['profit_exact'] }}"
|
||||
class="cursor-default"
|
||||
></x-slot>
|
||||
</x-index.summary>
|
||||
|
@ -30,19 +30,31 @@
|
||||
<x-show.summary.right>
|
||||
@stack('summary_overdue_start')
|
||||
@if (! $hideOverdue)
|
||||
<x-slot name="first" amount="{{ money($totals['overdue'], setting('default.currency'), true) }}" title="{{ trans('general.overdue') }}"></x-slot>
|
||||
<x-slot name="first"
|
||||
amount="{{ $summary_amounts['overdue_for_humans'] }}"
|
||||
title="{{ trans('general.overdue') }}"
|
||||
tooltip="{{ $summary_amounts['overdue_exact'] }}"
|
||||
></x-slot>
|
||||
@endif
|
||||
@stack('summary_overdue_end')
|
||||
|
||||
@stack('summary_open_start')
|
||||
@if (! $hideOpen)
|
||||
<x-slot name="second" amount="{{ money($totals['open'], setting('default.currency'), true) }}" title="{{ trans('general.open') }}"></x-slot>
|
||||
<x-slot name="second"
|
||||
amount="{{ $summary_amounts['open_for_humans'] }}"
|
||||
title="{{ trans('general.open') }}"
|
||||
tooltip="{{ $summary_amounts['open_exact'] }}"
|
||||
></x-slot>
|
||||
@endif
|
||||
@stack('summary_open_end')
|
||||
|
||||
@stack('summary_paid_start')
|
||||
@if (! $hidePaid)
|
||||
<x-slot name="third" amount="{{ money($totals['paid'], setting('default.currency'), true) }}" title="{{ trans('general.paid') }}"></x-slot>
|
||||
<x-slot name="third"
|
||||
amount="{{ $summary_amounts['paid_for_humans'] }}"
|
||||
title="{{ trans('general.paid') }}"
|
||||
tooltip="{{ $summary_amounts['paid_exact'] }}"
|
||||
></x-slot>
|
||||
@endif
|
||||
@stack('summary_paid_end')
|
||||
</x-show.summary.right>
|
||||
|
@ -86,7 +86,7 @@
|
||||
<div class="invoice-classic-inline-frame text-center" style="border: 1px solid {{ $backgroundColor }}">
|
||||
@stack('invoice_number_input_start')
|
||||
@if (! $hideDocumentNumber)
|
||||
<div class="text small-text text-semibold mt-classic">
|
||||
<div class="text small-text font-semibold mt-classic">
|
||||
<span>
|
||||
{{ trans($textDocumentNumber) }}:
|
||||
</span>
|
||||
@ -111,7 +111,7 @@
|
||||
<div class="col-60">
|
||||
<div class="text p-index-left">
|
||||
@if (! $hideContactInfo)
|
||||
<p class="text-semibold mb-0">
|
||||
<p class="font-semibold mb-0">
|
||||
{{ trans($textContactInfo) }}
|
||||
</p>
|
||||
@endif
|
||||
@ -173,7 +173,7 @@
|
||||
@if (! $hideOrderNumber)
|
||||
@if ($document->order_number)
|
||||
<p class="mb-0">
|
||||
<span class="text-semibold spacing">
|
||||
<span class="font-semibold spacing">
|
||||
{{ trans($textOrderNumber) }}:
|
||||
</span>
|
||||
|
||||
@ -188,7 +188,7 @@
|
||||
@stack('issued_at_input_start')
|
||||
@if (! $hideIssuedAt)
|
||||
<p class="mb-0">
|
||||
<span class="text-semibold spacing">
|
||||
<span class="font-semibold spacing">
|
||||
{{ trans($textIssuedAt) }}:
|
||||
</span>
|
||||
|
||||
@ -202,7 +202,7 @@
|
||||
@stack('due_at_input_start')
|
||||
@if (! $hideDueAt)
|
||||
<p class="mb-0">
|
||||
<span class="text-semibold spacing">
|
||||
<span class="font-semibold spacing">
|
||||
{{ trans($textDueAt) }}:
|
||||
</span>
|
||||
|
||||
@ -216,7 +216,7 @@
|
||||
@foreach ($document->totals_sorted as $total)
|
||||
@if ($total->code == 'total')
|
||||
<p class="mb-0">
|
||||
<span class="text-semibold spacing">
|
||||
<span class="font-semibold spacing">
|
||||
{{ trans($total->name) }}:
|
||||
</span>
|
||||
|
||||
@ -239,7 +239,7 @@
|
||||
<tr>
|
||||
@stack('name_th_start')
|
||||
@if (! $hideItems || (! $hideName && ! $hideDescription))
|
||||
<th class="item text text-semibold text-alignment-left text-left">
|
||||
<th class="item text font-semibold text-alignment-left text-left">
|
||||
{{ (trans_choice($textItems, 2) != $textItems) ? trans_choice($textItems, 2) : trans($textItems) }}
|
||||
</th>
|
||||
@endif
|
||||
@ -247,7 +247,7 @@
|
||||
|
||||
@stack('quantity_th_start')
|
||||
@if (! $hideQuantity)
|
||||
<th class="quantity text text-semibold text-alignment-right text-right">
|
||||
<th class="quantity text font-semibold text-alignment-right text-right">
|
||||
{{ trans($textQuantity) }}
|
||||
</th>
|
||||
@endif
|
||||
@ -255,7 +255,7 @@
|
||||
|
||||
@stack('price_th_start')
|
||||
@if (! $hidePrice)
|
||||
<th class="price text text-semibold text-alignment-right text-right">
|
||||
<th class="price text font-semibold text-alignment-right text-right">
|
||||
{{ trans($textPrice) }}
|
||||
</th>
|
||||
@endif
|
||||
@ -264,7 +264,7 @@
|
||||
@if (! $hideDiscount)
|
||||
@if (in_array(setting('localisation.discount_location', 'total'), ['item', 'both']))
|
||||
@stack('discount_td_start')
|
||||
<th class="discount text text-semibold text-alignment-right text-right">
|
||||
<th class="discount text font-semibold text-alignment-right text-right">
|
||||
{{ trans('invoices.discount') }}
|
||||
</th>
|
||||
@stack('discount_td_end')
|
||||
@ -273,7 +273,7 @@
|
||||
|
||||
@stack('total_th_start')
|
||||
@if (! $hideAmount)
|
||||
<th class="total text text-semibold text-alignment-right text-right">
|
||||
<th class="total text font-semibold text-alignment-right text-right">
|
||||
{{ trans($textAmount) }}
|
||||
</th>
|
||||
@endif
|
||||
@ -333,7 +333,7 @@
|
||||
@if ($total->code != 'total')
|
||||
@stack($total->code . '_total_tr_start')
|
||||
<div class="text border-bottom-dashed py-1">
|
||||
<strong class="float-left text-semibold">
|
||||
<strong class="float-left font-semibold">
|
||||
{{ trans($total->title) }}:
|
||||
</strong>
|
||||
|
||||
@ -346,7 +346,7 @@
|
||||
@if ($document->paid)
|
||||
@stack('paid_total_tr_start')
|
||||
<div class="text border-bottom-dashed py-1">
|
||||
<span class="float-left text-semibold">
|
||||
<span class="float-left font-semibold">
|
||||
{{ trans('invoices.paid') }}:
|
||||
</span>
|
||||
|
||||
@ -359,7 +359,7 @@
|
||||
|
||||
@stack('grand_total_tr_start')
|
||||
<div class="text border-bottom-dashed py-1">
|
||||
<span class="float-left text-semibold">
|
||||
<span class="float-left font-semibold">
|
||||
{{ trans($total->name) }}:
|
||||
</span>
|
||||
|
||||
|
@ -76,7 +76,7 @@
|
||||
<div class="col-60">
|
||||
<div class="text p-index-left">
|
||||
@if (! $hideContactInfo)
|
||||
<p class="text-semibold mb-0">{{ trans($textContactInfo) }}</p>
|
||||
<p class="font-semibold mb-0">{{ trans($textContactInfo) }}</p>
|
||||
@endif
|
||||
|
||||
@stack('name_input_start')
|
||||
@ -200,7 +200,7 @@
|
||||
<tr>
|
||||
@stack('name_th_start')
|
||||
@if (! $hideItems || (! $hideName && ! $hideDescription))
|
||||
<th class="item text text-semibold text-alignment-left text-left text-white border-radius-first">
|
||||
<th class="item text font-semibold text-alignment-left text-left text-white border-radius-first">
|
||||
{{ (trans_choice($textItems, 2) != $textItems) ? trans_choice($textItems, 2) : trans($textItems) }}
|
||||
</th>
|
||||
@endif
|
||||
@ -208,7 +208,7 @@
|
||||
|
||||
@stack('quantity_th_start')
|
||||
@if (! $hideQuantity)
|
||||
<th class="quantity text text-semibold text-alignment-right text-right text-white">
|
||||
<th class="quantity text font-semibold text-alignment-right text-right text-white">
|
||||
{{ trans($textQuantity) }}
|
||||
</th>
|
||||
@endif
|
||||
@ -216,7 +216,7 @@
|
||||
|
||||
@stack('price_th_start')
|
||||
@if (! $hidePrice)
|
||||
<th class="price text text-semibold text-alignment-right text-right text-white">
|
||||
<th class="price text font-semibold text-alignment-right text-right text-white">
|
||||
{{ trans($textPrice) }}
|
||||
</th>
|
||||
@endif
|
||||
@ -225,7 +225,7 @@
|
||||
@if (! $hideDiscount)
|
||||
@if (in_array(setting('localisation.discount_location', 'total'), ['item', 'both']))
|
||||
@stack('discount_td_start')
|
||||
<th class="discount text text-semibold text-alignment-right text-right text-white">
|
||||
<th class="discount text font-semibold text-alignment-right text-right text-white">
|
||||
{{ trans('invoices.discount') }}
|
||||
</th>
|
||||
@stack('discount_td_end')
|
||||
@ -234,7 +234,7 @@
|
||||
|
||||
@stack('total_th_start')
|
||||
@if (! $hideAmount)
|
||||
<th class="total text text-semibold text-white text-alignment-right text-right border-radius-last">
|
||||
<th class="total text font-semibold text-white text-alignment-right text-right border-radius-last">
|
||||
{{ trans($textAmount) }}
|
||||
</th>
|
||||
@endif
|
||||
@ -277,7 +277,7 @@
|
||||
<div class="text p-index-left">
|
||||
@stack('notes_input_start')
|
||||
@if ($document->notes)
|
||||
<p class="text-semibold">
|
||||
<p class="font-semibold">
|
||||
{{ trans_choice('general.notes', 2) }}
|
||||
</p>
|
||||
|
||||
@ -292,7 +292,7 @@
|
||||
@if ($total->code != 'total')
|
||||
@stack($total->code . '_total_tr_start')
|
||||
<div class="text border-bottom-1 py-1">
|
||||
<span class="float-left text-semibold">
|
||||
<span class="float-left font-semibold">
|
||||
{{ trans($total->title) }}:
|
||||
</span>
|
||||
|
||||
@ -305,7 +305,7 @@
|
||||
@if ($document->paid)
|
||||
@stack('paid_total_tr_start')
|
||||
<div class="text border-bottom-1 py-1">
|
||||
<span class="float-left text-semibold">
|
||||
<span class="float-left font-semibold">
|
||||
{{ trans('invoices.paid') }}:
|
||||
</span>
|
||||
|
||||
@ -318,7 +318,7 @@
|
||||
|
||||
@stack('grand_total_tr_start')
|
||||
<div class="text border-bottom-1 py-1">
|
||||
<span class="float-left text-semibold">
|
||||
<span class="float-left font-semibold">
|
||||
{{ trans($total->name) }}:
|
||||
</span>
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
@if (! $hideDescription)
|
||||
@if (! empty($item->description))
|
||||
<span class="small-text">
|
||||
{!! \Illuminate\Support\Str::limit($item->description, 500) !!}
|
||||
{!! \Illuminate\Support\Str::limit(nl2br($item->description), 500) !!}
|
||||
</span>
|
||||
@endif
|
||||
@endif
|
||||
|
@ -82,7 +82,7 @@
|
||||
<div class="col-50">
|
||||
<div class="text p-modern">
|
||||
@if (! $hideContactInfo)
|
||||
<p class="text-semibold mb-0">
|
||||
<p class="font-semibold mb-0">
|
||||
{{ trans($textContactInfo) }}
|
||||
</p>
|
||||
@endif
|
||||
@ -145,7 +145,7 @@
|
||||
@if (! $hideOrderNumber)
|
||||
@if ($document->order_number)
|
||||
<p class="mb-0">
|
||||
<span class="text-semibold spacing">
|
||||
<span class="font-semibold spacing">
|
||||
{{ trans($textOrderNumber) }}:
|
||||
</span>
|
||||
|
||||
@ -160,7 +160,7 @@
|
||||
@stack('invoice_number_input_start')
|
||||
@if (! $hideDocumentNumber)
|
||||
<p class="mb-0">
|
||||
<span class="text-semibold spacing">
|
||||
<span class="font-semibold spacing">
|
||||
{{ trans($textDocumentNumber) }}:
|
||||
</span>
|
||||
|
||||
@ -174,7 +174,7 @@
|
||||
@stack('issued_at_input_start')
|
||||
@if (! $hideIssuedAt)
|
||||
<p class="mb-0">
|
||||
<span class="text-semibold spacing">
|
||||
<span class="font-semibold spacing">
|
||||
{{ trans($textIssuedAt) }}:
|
||||
</span>
|
||||
|
||||
@ -188,7 +188,7 @@
|
||||
@stack('due_at_input_start')
|
||||
@if (! $hideDueAt)
|
||||
<p class="mb-0">
|
||||
<span class="text-semibold spacing">
|
||||
<span class="font-semibold spacing">
|
||||
{{ trans($textDueAt) }}:
|
||||
</span>
|
||||
|
||||
@ -211,7 +211,7 @@
|
||||
<tr>
|
||||
@stack('name_th_start')
|
||||
@if (! $hideItems || (! $hideName && ! $hideDescription))
|
||||
<th class="item text text-semibold text-alignment-left text-left text-white border-radius-first">
|
||||
<th class="item text font-semibold text-alignment-left text-left text-white border-radius-first">
|
||||
{{ (trans_choice($textItems, 2) != $textItems) ? trans_choice($textItems, 2) : trans($textItems) }}
|
||||
</th>
|
||||
@endif
|
||||
@ -219,7 +219,7 @@
|
||||
|
||||
@stack('quantity_th_start')
|
||||
@if (! $hideQuantity)
|
||||
<th class="quantity text text-semibold text-white text-alignment-right text-right">
|
||||
<th class="quantity text font-semibold text-white text-alignment-right text-right">
|
||||
{{ trans($textQuantity) }}
|
||||
</th>
|
||||
@endif
|
||||
@ -227,7 +227,7 @@
|
||||
|
||||
@stack('price_th_start')
|
||||
@if (! $hidePrice)
|
||||
<th class="price text text-semibold text-white text-alignment-right text-right">
|
||||
<th class="price text font-semibold text-white text-alignment-right text-right">
|
||||
{{ trans($textPrice) }}
|
||||
</th>
|
||||
@endif
|
||||
@ -236,7 +236,7 @@
|
||||
@if (! $hideDiscount)
|
||||
@if (in_array(setting('localisation.discount_location', 'total'), ['item', 'both']))
|
||||
@stack('discount_td_start')
|
||||
<th class="discount text text-semibold text-white text-alignment-right text-right">
|
||||
<th class="discount text font-semibold text-white text-alignment-right text-right">
|
||||
{{ trans('invoices.discount') }}
|
||||
</th>
|
||||
@stack('discount_td_end')
|
||||
@ -245,7 +245,7 @@
|
||||
|
||||
@stack('total_th_start')
|
||||
@if (! $hideAmount)
|
||||
<th class="total text text-semibold text-white text-alignment-right text-right border-radius-last">
|
||||
<th class="total text font-semibold text-white text-alignment-right text-right border-radius-last">
|
||||
{{ trans($textAmount) }}
|
||||
</th>
|
||||
@endif
|
||||
@ -288,7 +288,7 @@
|
||||
<div class="text p-index-right p-modern">
|
||||
@stack('notes_input_start')
|
||||
@if ($document->notes)
|
||||
<p class="text-semibold">
|
||||
<p class="font-semibold">
|
||||
{{ trans_choice('general.notes', 2) }}
|
||||
</p>
|
||||
|
||||
@ -303,7 +303,7 @@
|
||||
@if ($total->code != 'total')
|
||||
@stack($total->code . '_total_tr_start')
|
||||
<div class="text">
|
||||
<span class="float-left text-semibold">
|
||||
<span class="float-left font-semibold">
|
||||
{{ trans($total->title) }}:
|
||||
</span>
|
||||
|
||||
@ -316,7 +316,7 @@
|
||||
@if ($document->paid)
|
||||
@stack('paid_total_tr_start')
|
||||
<div class="text">
|
||||
<span class="float-left text-semibold">
|
||||
<span class="float-left font-semibold">
|
||||
{{ trans('invoices.paid') }}:
|
||||
</span>
|
||||
|
||||
@ -329,7 +329,7 @@
|
||||
|
||||
@stack('grand_total_tr_start')
|
||||
<div class="text">
|
||||
<span class="float-left text-semibold">
|
||||
<span class="float-left font-semibold">
|
||||
{{ trans($total->name) }}:
|
||||
</span>
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
</h2>
|
||||
|
||||
@if (! empty($description))
|
||||
<span class="text-sm font-light text-black">
|
||||
<span class="text-sm font-light text-black flex gap-x-1 mt-1">
|
||||
{!! $description !!}
|
||||
</span>
|
||||
@endif
|
||||
|
81
resources/views/components/form/group/tax.blade.php
Normal file
81
resources/views/components/form/group/tax.blade.php
Normal file
@ -0,0 +1,81 @@
|
||||
@if ((! $attributes->has('withoutRemote') && ! $attributes->has('without-remote')) && (! $attributes->has('withoutAddNew') && ! $attributes->has('without-add-new')))
|
||||
<x-form.group.select
|
||||
remote
|
||||
remote_action="{{ $remoteAction }}"
|
||||
|
||||
add-new
|
||||
path="{{ $path }}"
|
||||
|
||||
name="{{ $name }}"
|
||||
label="{!! trans_choice('general.taxes', 1) !!}"
|
||||
:options="$taxes"
|
||||
:selected="$selected"
|
||||
sort-options="false"
|
||||
|
||||
:multiple="$multiple"
|
||||
:group="$group"
|
||||
form-group-class="{{ $formGroupClass }}"
|
||||
:required="$required"
|
||||
:readonly="$readonly"
|
||||
:disabled="$disabled"
|
||||
|
||||
{{ $attributes }}
|
||||
/>
|
||||
@elseif (($attributes->has('withoutRemote') && $attributes->has('without-remote')) && (! $attributes->has('withoutAddNew') && ! $attributes->has('without-add-new')))
|
||||
<x-form.group.select
|
||||
add-new
|
||||
path="{{ $path }}"
|
||||
|
||||
name="{{ $name }}"
|
||||
label="{!! trans_choice('general.taxes', 1) !!}"
|
||||
:options="$taxes"
|
||||
:selected="$selected"
|
||||
sort-options="false"
|
||||
|
||||
:multiple="$multiple"
|
||||
:group="$group"
|
||||
form-group-class="{{ $formGroupClass }}"
|
||||
:required="$required"
|
||||
:readonly="$readonly"
|
||||
:disabled="$disabled"
|
||||
|
||||
{{ $attributes }}
|
||||
/>
|
||||
@elseif ((! $attributes->has('withoutRemote') && ! $attributes->has('without-remote')) && ($attributes->has('withoutAddNew') && $attributes->has('without-add-new')))
|
||||
<x-form.group.select
|
||||
remote
|
||||
remote_action="{{ $remoteAction }}"
|
||||
|
||||
name="{{ $name }}"
|
||||
label="{!! trans_choice('general.taxes', 1) !!}"
|
||||
:options="$taxes"
|
||||
:selected="$selected"
|
||||
sort-options="false"
|
||||
|
||||
:multiple="$multiple"
|
||||
:group="$group"
|
||||
form-group-class="{{ $formGroupClass }}"
|
||||
:required="$required"
|
||||
:readonly="$readonly"
|
||||
:disabled="$disabled"
|
||||
|
||||
{{ $attributes }}
|
||||
/>
|
||||
@else
|
||||
<x-form.group.select
|
||||
name="{{ $name }}"
|
||||
label="{!! trans_choice('general.taxes', 1) !!}"
|
||||
:options="$taxes"
|
||||
:selected="$selected"
|
||||
sort-options="false"
|
||||
|
||||
:multiple="$multiple"
|
||||
:group="$group"
|
||||
form-group-class="{{ $formGroupClass }}"
|
||||
:required="$required"
|
||||
:readonly="$readonly"
|
||||
:disabled="$disabled"
|
||||
|
||||
{{ $attributes }}
|
||||
/>
|
||||
@endif
|
@ -4,7 +4,7 @@
|
||||
</h2>
|
||||
|
||||
@if (!empty($description))
|
||||
<span class="text-sm font-light text-black">
|
||||
<span class="text-sm font-light text-black flex gap-x-1 mt-1">
|
||||
{!! $description !!}
|
||||
</span>
|
||||
@endif
|
||||
|
@ -5,7 +5,7 @@
|
||||
@foreach ($items as $item)
|
||||
<div @class(['w-1/2 sm:w-1/3 text-center'])>
|
||||
@if (! empty($item['tooltip']))
|
||||
<x-tooltip id="tooltip-summary-first" placement="top" message="{!! $first->attributes->get('tooltip') !!}">
|
||||
<x-tooltip id="tooltip-summary-{{ $loop->index }}" placement="top" message="{!! $item['tooltip'] !!}">
|
||||
<x-link href="{{ $item['href'] }}" class="group" override="class">
|
||||
@php $text_color = (! empty($item['text_color'])) ? $item['text_color'] : 'text-purple group-hover:text-purple-700'; @endphp
|
||||
<div @class(['relative text-xl sm:text-6xl', $text_color, 'mb-2'])>
|
||||
|
@ -6,7 +6,7 @@
|
||||
</h2>
|
||||
|
||||
@if (! empty($description))
|
||||
<span class="text-sm font-light text-black">
|
||||
<span class="text-sm font-light text-black flex gap-x-1 mt-1">
|
||||
{!! $description !!}
|
||||
</span>
|
||||
@endif
|
||||
|
@ -5,7 +5,7 @@
|
||||
@foreach ($items as $item)
|
||||
<div @class(['w-1/2 sm:w-1/3 text-center'])>
|
||||
@if (! empty($item['tooltip']))
|
||||
<x-tooltip id="tooltip-summary-first" placement="top" message="{!! $first->attributes->get('tooltip') !!}">
|
||||
<x-tooltip id="tooltip-summary-{{ $loop->index }}" placement="top" message="{!! $item['tooltip'] !!}">
|
||||
<x-link href="{{ $item['href'] }}" class="group" override="class">
|
||||
@php $text_color = (! empty($item['text_color'])) ? $item['text_color'] : 'text-purple group-hover:text-purple-700'; @endphp
|
||||
<div @class(['relative text-xl sm:text-6xl', $text_color, 'mb-2'])>
|
||||
|
@ -11,7 +11,7 @@
|
||||
</x-button.hover>
|
||||
</span>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
<div class="text-black-400 text-sm flex gap-x-1 mt-1">
|
||||
{{ trans('transactions.slider.attachments') }}
|
||||
</div>
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
</x-button.hover>
|
||||
</span>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
<div class="text-black-400 text-sm flex gap-x-1 mt-1">
|
||||
{!! trans('transactions.slider.children', ['count' => $transaction->children()->count()]) !!}
|
||||
</div>
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
</x-button.hover>
|
||||
</span>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
<div class="text-black-400 text-sm flex gap-x-1 mt-1">
|
||||
@if ($transaction->isRecurringTransaction())
|
||||
{!! trans('transactions.slider.create_recurring', ['user' => $transaction->owner->name, 'date' => $created_date]) !!}
|
||||
@else
|
||||
|
@ -13,7 +13,7 @@
|
||||
</x-button.hover>
|
||||
</span>
|
||||
|
||||
<div class="text-black-400 text-sm">
|
||||
<div class="text-black-400 text-sm flex gap-x-1 mt-1">
|
||||
{!! trans('transactions.slider.schedule', ['frequency' => $frequency, 'interval' => $transaction->recurring->interval, 'date' => $started_date]) !!}
|
||||
</div>
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
</span>
|
||||
|
||||
@if ($transfer)
|
||||
<div class="text-black-400 text-sm">
|
||||
<div class="text-black-400 text-sm flex gap-x-1 mt-1">
|
||||
{!! trans('transactions.slider.transfer_headline', ['from_account' => $from_account, 'to_account' => $to_account]) !!}
|
||||
</div>
|
||||
@endif
|
||||
|
@ -19,9 +19,9 @@
|
||||
<td class="text" style="width: 80%; padding: 0 0 15px 0;">
|
||||
@stack('company_details_start')
|
||||
@if (! $hideCompanyName)
|
||||
<h2 class="text-semibold text">
|
||||
<span class="font-semibold text">
|
||||
{{ setting('company.name') }}
|
||||
</h2>
|
||||
</span>
|
||||
@endif
|
||||
|
||||
@if (! $hideCompanyAddress)
|
||||
@ -368,11 +368,8 @@
|
||||
<td valign="center" style="width:80%; display:block; float:right; background-color: #55588B; -webkit-print-color-adjust: exact; color:#ffffff; border-radius: 5px;">
|
||||
<table>
|
||||
<tr>
|
||||
<td valign="center" style="width: 80%; padding:0; font-size: 14px; font-weight:600; color:#ffffff;">
|
||||
{{ trans($textAmount) }}
|
||||
</td>
|
||||
|
||||
<td valign="center" style="width: 20%; padding:0; font-size: 14px; color:#ffffff;">
|
||||
<td valign="center" style="font-size: 14px; color: #ffffff; padding: 0;">
|
||||
<span class="ml-2" style="font-weight: 600;">{{ trans($textAmount) }}</span>
|
||||
@money($transaction->amount, $transaction->currency_code, true)
|
||||
</td>
|
||||
</tr>
|
||||
|
Loading…
x
Reference in New Issue
Block a user