Merge branch 'master' of https://github.com/brkcvn/akaunting into page-title

This commit is contained in:
Burak Civan 2022-08-15 10:19:37 +03:00
commit 61980881ac
80 changed files with 2841 additions and 264 deletions

View File

@ -199,6 +199,8 @@ abstract class Report
$chart->setType('bar') $chart->setType('bar')
->setOptions($options) ->setOptions($options)
->setDefaultLocale($this->getDefaultLocaleOfChart())
->setLocales($this->getLocaleTranslationOfChart())
->setLabels(array_values($this->dates)) ->setLabels(array_values($this->dates))
->setDataset($this->tables[$table_key], 'column', array_values($this->footer_totals[$table_key])); ->setDataset($this->tables[$table_key], 'column', array_values($this->footer_totals[$table_key]));
@ -246,6 +248,8 @@ abstract class Report
$chart->setType('donut') $chart->setType('donut')
->setOptions($options) ->setOptions($options)
->setDefaultLocale($this->getDefaultLocaleOfChart())
->setLocales($this->getLocaleTranslationOfChart())
->setLabels(array_values($labels)) ->setLabels(array_values($labels))
->setColors(array_values($colors)) ->setColors(array_values($colors))
->setDataset($this->tables[$table_key], 'donut', array_values($values)); ->setDataset($this->tables[$table_key], 'donut', array_values($values));
@ -300,8 +304,8 @@ abstract class Report
public function setChartLabelFormatter() public function setChartLabelFormatter()
{ {
$this->chart['bar']['yaxis']['labels']['formatter'] = $this->getFormatLabel(); $this->chart['bar']['yaxis']['labels']['formatter'] = $this->getChartLabelFormatter();
$this->chart['donut']['yaxis']['labels']['formatter'] = $this->getFormatLabel('percent'); $this->chart['donut']['yaxis']['labels']['formatter'] = $this->getChartLabelFormatter('percent');
} }
public function setYear() public function setYear()

View File

@ -0,0 +1,26 @@
<?php
namespace App\Events\Banking;
use App\Abstracts\Event;
use App\Models\Banking\Transaction;
use App\Models\Document\Document;
class DocumentTransactionCreated extends Event
{
public $document;
public $transaction;
/**
* Create a new event instance.
*
* @param $document
* @param $transaction
*/
public function __construct(Document $document, Transaction $transaction)
{
$this->document = $document;
$this->transaction = $transaction;
}
}

View File

@ -0,0 +1,25 @@
<?php
namespace App\Events\Banking;
use App\Abstracts\Event;
use App\Models\Document\Document;
class DocumentTransactionCreating extends Event
{
public $document;
public $request;
/**
* Create a new event instance.
*
* @param $document
* @param $request
*/
public function __construct(Document $document, $request)
{
$this->document = $document;
$this->request = $request;
}
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Events\Banking;
use App\Abstracts\Event;
use App\Models\Banking\Transaction;
use App\Models\Document\Document;
class DocumentTransactionUpdated extends Event
{
public $document;
public $transaction;
public $request;
/**
* Create a new event instance.
*
* @param $document
* @param $transaction
* @param $request
*/
public function __construct(Document $document, Transaction $transaction, $request)
{
$this->document = $document;
$this->transaction = $transaction;
$this->request = $request;
}
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Events\Banking;
use App\Abstracts\Event;
use App\Models\Banking\Transaction;
use App\Models\Document\Document;
class DocumentTransactionUpdating extends Event
{
public $document;
public $transaction;
public $request;
/**
* Create a new event instance.
*
* @param $document
* @param $transaction
* @param $request
*/
public function __construct(Document $document, Transaction $transaction, $request)
{
$this->document = $document;
$this->transaction = $transaction;
$this->request = $request;
}
}

View File

@ -0,0 +1,25 @@
<?php
namespace App\Events\Banking;
use App\Abstracts\Event;
use App\Models\Banking\Transaction;
class TransactionUpdated extends Event
{
public $transaction;
public $request;
/**
* Create a new event instance.
*
* @param $transaction
* @param $request
*/
public function __construct(Transaction $transaction, $request)
{
$this->transaction = $transaction;
$this->request = $request;
}
}

View File

@ -0,0 +1,25 @@
<?php
namespace App\Events\Banking;
use App\Abstracts\Event;
use App\Models\Banking\Transaction;
class TransactionUpdating extends Event
{
public $transaction;
public $request;
/**
* Create a new event instance.
*
* @param $transaction
* @param $request
*/
public function __construct(Transaction $transaction, $request)
{
$this->transaction = $transaction;
$this->request = $request;
}
}

View File

@ -16,10 +16,16 @@ class Bills extends Export implements WithColumnFormatting
public function map($model): array public function map($model): array
{ {
$country = null;
if ($model->contact_country && array_key_exists($model->contact_country, trans('countries'))) {
$country = trans('countries.' . $model->contact_country);
}
$model->category_name = $model->category->name; $model->category_name = $model->category->name;
$model->bill_number = $model->document_number; $model->bill_number = $model->document_number;
$model->billed_at = $model->issued_at; $model->billed_at = $model->issued_at;
$model->contact_country = ($model->contact_country) ? trans('countries.' . $model->contact_country) : null; $model->contact_country = $country;
return parent::map($model); return parent::map($model);
} }

View File

@ -14,7 +14,13 @@ class Vendors extends Export
public function map($model): array public function map($model): array
{ {
$model->country = ($model->country) ? trans('countries.' . $model->country) : null; $country = null;
if ($model->country && array_key_exists($model->country, trans('countries'))) {
$country = trans('countries.' . $model->country);
}
$model->country = $country;
return parent::map($model); return parent::map($model);
} }

View File

@ -14,7 +14,13 @@ class Customers extends Export
public function map($model): array public function map($model): array
{ {
$model->country = ($model->country) ? trans('countries.' . $model->country) : null; $country = null;
if ($model->country && array_key_exists($model->country, trans('countries'))) {
$country = trans('countries.' . $model->country);
}
$model->country = $country;
return parent::map($model); return parent::map($model);
} }

View File

@ -16,10 +16,16 @@ class Invoices extends Export implements WithColumnFormatting
public function map($model): array public function map($model): array
{ {
$country = null;
if ($model->contact_country && array_key_exists($model->contact_country, trans('countries'))) {
$country = trans('countries.' . $model->contact_country);
}
$model->category_name = $model->category->name; $model->category_name = $model->category->name;
$model->invoice_number = $model->document_number; $model->invoice_number = $model->document_number;
$model->invoiced_at = $model->issued_at; $model->invoiced_at = $model->issued_at;
$model->contact_country = ($model->contact_country) ? trans('countries.' . $model->contact_country) : null; $model->contact_country = $country;
return parent::map($model); return parent::map($model);
} }

View File

@ -45,6 +45,10 @@ class Company extends FormRequest
$rules['api_key'] = 'string|check'; $rules['api_key'] = 'string|check';
} }
if (setting('apps.api_key', false) && (setting('apps.api_key', false) != $this->request->get('api_key'))) {
$rules['api_key'] = 'string|check';
}
return $rules; return $rules;
} }

View File

@ -3,6 +3,8 @@
namespace App\Jobs\Banking; namespace App\Jobs\Banking;
use App\Abstracts\Job; use App\Abstracts\Job;
use App\Events\Banking\DocumentTransactionCreated;
use App\Events\Banking\DocumentTransactionCreating;
use App\Jobs\Banking\CreateTransaction; use App\Jobs\Banking\CreateTransaction;
use App\Jobs\Document\CreateDocumentHistory; use App\Jobs\Document\CreateDocumentHistory;
use App\Events\Document\PaidAmountCalculated; use App\Events\Document\PaidAmountCalculated;
@ -27,6 +29,8 @@ class CreateBankingDocumentTransaction extends Job implements ShouldCreate
public function handle(): Transaction public function handle(): Transaction
{ {
event(new DocumentTransactionCreating($this->model, $this->request));
$this->prepareRequest(); $this->prepareRequest();
$this->checkAmount(); $this->checkAmount();
@ -46,6 +50,8 @@ class CreateBankingDocumentTransaction extends Job implements ShouldCreate
$this->createHistory(); $this->createHistory();
}); });
event(new DocumentTransactionCreated($this->model, $this->transaction));
return $this->transaction; return $this->transaction;
} }
@ -62,7 +68,7 @@ class CreateBankingDocumentTransaction extends Job implements ShouldCreate
$this->request['company_id'] = $this->model->company_id; $this->request['company_id'] = $this->model->company_id;
$this->request['currency_code'] = isset($this->request['currency_code']) ? $this->request['currency_code'] : $this->model->currency_code; $this->request['currency_code'] = isset($this->request['currency_code']) ? $this->request['currency_code'] : $this->model->currency_code;
$this->request['paid_at'] = isset($this->request['paid_at']) ? $this->request['paid_at'] : Date::now()->format('Y-m-d'); $this->request['paid_at'] = isset($this->request['paid_at']) ? $this->request['paid_at'] : Date::now()->toDateTimeString();
$this->request['currency_rate'] = config('money.' . $currency_code . '.rate'); $this->request['currency_rate'] = config('money.' . $currency_code . '.rate');
$this->request['account_id'] = isset($this->request['account_id']) ? $this->request['account_id'] : setting('default.account'); $this->request['account_id'] = isset($this->request['account_id']) ? $this->request['account_id'] : setting('default.account');
$this->request['document_id'] = isset($this->request['document_id']) ? $this->request['document_id'] : $this->model->id; $this->request['document_id'] = isset($this->request['document_id']) ? $this->request['document_id'] : $this->model->id;

View File

@ -3,9 +3,11 @@
namespace App\Jobs\Banking; namespace App\Jobs\Banking;
use App\Abstracts\Job; use App\Abstracts\Job;
use App\Events\Banking\DocumentTransactionUpdated;
use App\Events\Banking\DocumentTransactionUpdating;
use App\Events\Document\PaidAmountCalculated;
use App\Jobs\Banking\UpdateTransaction; use App\Jobs\Banking\UpdateTransaction;
use App\Jobs\Document\CreateDocumentHistory; use App\Jobs\Document\CreateDocumentHistory;
use App\Events\Document\PaidAmountCalculated;
use App\Interfaces\Job\ShouldUpdate; use App\Interfaces\Job\ShouldUpdate;
use App\Models\Banking\Transaction; use App\Models\Banking\Transaction;
use App\Models\Document\Document; use App\Models\Document\Document;
@ -26,6 +28,8 @@ class UpdateBankingDocumentTransaction extends Job implements ShouldUpdate
public function handle(): Transaction public function handle(): Transaction
{ {
event(new DocumentTransactionUpdating($this->model, $this->transaction, $this->request));
$this->prepareRequest(); $this->prepareRequest();
$this->checkAmount(); $this->checkAmount();
@ -45,6 +49,8 @@ class UpdateBankingDocumentTransaction extends Job implements ShouldUpdate
$this->createHistory(); $this->createHistory();
}); });
event(new DocumentTransactionUpdated($this->model, $this->transaction, $this->request));
return $this->transaction; return $this->transaction;
} }
@ -61,7 +67,7 @@ class UpdateBankingDocumentTransaction extends Job implements ShouldUpdate
$this->request['company_id'] = $this->model->company_id; $this->request['company_id'] = $this->model->company_id;
$this->request['currency_code'] = isset($this->request['currency_code']) ? $this->request['currency_code'] : $this->model->currency_code; $this->request['currency_code'] = isset($this->request['currency_code']) ? $this->request['currency_code'] : $this->model->currency_code;
$this->request['paid_at'] = isset($this->request['paid_at']) ? $this->request['paid_at'] : Date::now()->format('Y-m-d'); $this->request['paid_at'] = isset($this->request['paid_at']) ? $this->request['paid_at'] : Date::now()->toDateTimeString();
$this->request['currency_rate'] = config('money.' . $currency_code . '.rate'); $this->request['currency_rate'] = config('money.' . $currency_code . '.rate');
$this->request['account_id'] = isset($this->request['account_id']) ? $this->request['account_id'] : setting('default.account'); $this->request['account_id'] = isset($this->request['account_id']) ? $this->request['account_id'] : setting('default.account');
$this->request['document_id'] = isset($this->request['document_id']) ? $this->request['document_id'] : $this->model->id; $this->request['document_id'] = isset($this->request['document_id']) ? $this->request['document_id'] : $this->model->id;

View File

@ -3,6 +3,8 @@
namespace App\Jobs\Banking; namespace App\Jobs\Banking;
use App\Abstracts\Job; use App\Abstracts\Job;
use App\Events\Banking\TransactionUpdated;
use App\Events\Banking\TransactionUpdating;
use App\Interfaces\Job\ShouldUpdate; use App\Interfaces\Job\ShouldUpdate;
use App\Models\Banking\Transaction; use App\Models\Banking\Transaction;
@ -12,6 +14,8 @@ class UpdateTransaction extends Job implements ShouldUpdate
{ {
$this->authorize(); $this->authorize();
event(new TransactionUpdating($this->model, $this->request));
\DB::transaction(function () { \DB::transaction(function () {
$this->model->update($this->request->all()); $this->model->update($this->request->all());
@ -32,6 +36,8 @@ class UpdateTransaction extends Job implements ShouldUpdate
$this->model->updateRecurring($this->request->all()); $this->model->updateRecurring($this->request->all());
}); });
event(new TransactionUpdated($this->model, $this->request));
return $this->model; return $this->model;
} }

View File

@ -526,8 +526,10 @@ class Company extends Eloquent implements Ownable
$location[] = setting('company.state'); $location[] = setting('company.state');
} }
if (setting('company.country')) { $country = setting('company.country');
$location[] = trans('countries.' . setting('company.country'));
if ($country && in_array($country, trans('countries'))) {
$location[] = trans('countries.' . $country);
} }
return implode(', ', $location); return implode(', ', $location);

View File

@ -254,7 +254,7 @@ class Contact extends Model
$location[] = $this->state; $location[] = $this->state;
} }
if ($this->country) { if ($this->country && in_array($this->country, trans('countries'))) {
$location[] = trans('countries.' . $this->country); $location[] = trans('countries.' . $this->country);
} }

View File

@ -463,7 +463,7 @@ class Document extends Model
$location[] = $this->contact_state; $location[] = $this->contact_state;
} }
if ($this->contact_country) { if ($this->contact_country && in_array($this->contact_country, trans('countries'))) {
$location[] = trans('countries.' . $this->contact_country); $location[] = trans('countries.' . $this->contact_country);
} }

View File

@ -19,14 +19,14 @@ trait Charts
'values' => [], 'values' => [],
]; ];
public function addToDonut($color, $label, $value) public function addToDonutChart($color, $label, $value)
{ {
$this->donut['colors'][] = $color; $this->donut['colors'][] = $color;
$this->donut['labels'][] = $label; $this->donut['labels'][] = $label;
$this->donut['values'][] = (int) $value; $this->donut['values'][] = (int) $value;
} }
public function addMoneyToDonut($color, $amount, $description = '') public function addMoneyToDonutChart($color, $amount, $description = '')
{ {
$label = money($amount, setting('default.currency'), true)->formatForHumans(); $label = money($amount, setting('default.currency'), true)->formatForHumans();
@ -34,7 +34,7 @@ trait Charts
$label .= ' - ' . $description; $label .= ' - ' . $description;
} }
$this->addToDonut($color, $label, $amount); $this->addToDonutChart($color, $label, $amount);
} }
public function getDonutChart($name, $width = '100%', $height = 300, $limit = 10) public function getDonutChart($name, $width = '100%', $height = 300, $limit = 10)
@ -60,6 +60,8 @@ trait Charts
$chart->setType('donut') $chart->setType('donut')
->setWidth($width) ->setWidth($width)
->setHeight($height) ->setHeight($height)
->setDefaultLocale($this->getDefaultLocaleOfChart())
->setLocales($this->getLocaleTranslationOfChart())
->setLabels(array_values($labels)) ->setLabels(array_values($labels))
->setColors(array_values($colors)) ->setColors(array_values($colors))
->setDataset($name, 'donut', array_values($values)); ->setDataset($name, 'donut', array_values($values));
@ -67,7 +69,7 @@ trait Charts
return $chart; return $chart;
} }
public function addToBar($color, $label, $value) public function addToBarChart($color, $label, $value)
{ {
$this->bar['colors'][] = $color; $this->bar['colors'][] = $color;
$this->bar['labels'][] = $label; $this->bar['labels'][] = $label;
@ -81,6 +83,8 @@ trait Charts
$chart->setType('bar') $chart->setType('bar')
->setWidth($width) ->setWidth($width)
->setHeight($height) ->setHeight($height)
->setDefaultLocale($this->getDefaultLocaleOfChart())
->setLocales($this->getLocaleTranslationOfChart())
->setLabels(array_values($this->bar['labels'])) ->setLabels(array_values($this->bar['labels']))
->setColors($this->bar['colors']); ->setColors($this->bar['colors']);
@ -91,7 +95,7 @@ trait Charts
return $chart; return $chart;
} }
public function getFormatLabel($type = 'money', $position = null) public function getChartLabelFormatter($type = 'money', $position = null)
{ {
$label = ''; $label = '';
$decimal_mark = str_replace("'", "\\'", config('money.' . setting('default.currency') . '.decimal_mark')); $decimal_mark = str_replace("'", "\\'", config('money.' . setting('default.currency') . '.decimal_mark'));
@ -165,4 +169,62 @@ trait Charts
return $label; return $label;
} }
public function getDefaultLocaleOfChart(): string
{
$default = 'en';
$short = language()->getShortCode();
$long = language()->getLongCode();
$short_path = public_path('vendor/apexcharts/locales/' . $short . '.json');
$long_path = public_path('vendor/apexcharts/locales/' . $long . '.json');
if (is_file($short_path)) {
return $short;
}
if (is_file($long_path)) {
return $long;
}
return $default;
}
public function getLocaleTranslationOfChart(?string $locale = null): array
{
$translations = [];
$user_locale = $locale ?: $this->getDefaultLocaleOfChart();
$locales = ($user_locale == 'en') ? [$user_locale] : [$user_locale, 'en'];
foreach ($locales as $loc) {
$translations[] = json_decode(
file_get_contents(
public_path('vendor/apexcharts/locales/' . $loc . '.json')
)
);
}
return $translations;
}
// @deprecated version 3.0.0
public function addToDonut($color, $label, $value)
{
$this->addToDonutChart($color, $label, $value);
}
// @deprecated version 3.0.0
public function addMoneyToDonut($color, $amount, $description = '')
{
$this->addMoneyToDonutChart($color, $amount, $description);
}
// @deprecated version 3.0.0
public function addToBar($color, $label, $value)
{
$this->addToBarChart($color, $label, $value);
}
} }

View File

@ -37,7 +37,7 @@ class Country extends Component
*/ */
public function render() public function render()
{ {
if (! empty($this->code)) { if (! empty($this->code) && in_array($this->code, trans('countries'))) {
$this->country = trans('countries.' . $this->code); $this->country = trans('countries.' . $this->code);
} }

View File

@ -34,39 +34,21 @@ class CashFlow extends Widget
{ {
$this->setFilter(); $this->setFilter();
$labels = $this->getLabels();
$income = array_values($this->calculateTotals('income')); $income = array_values($this->calculateTotals('income'));
$expense = array_values($this->calculateTotals('expense')); $expense = array_values($this->calculateTotals('expense'));
$profit = array_values($this->calculateProfit($income, $expense)); $profit = array_values($this->calculateProfit($income, $expense));
$colors = $this->getColors();
$options = [
'chart' => [
'stacked' => true,
],
'plotOptions' => [
'bar' => [
'columnWidth' => '40%',
],
],
'legend' => [
'position' => 'top',
],
'yaxis' => [
'labels' => [
'formatter' => $this->getFormatLabel(),
],
],
];
$chart = new Chart(); $chart = new Chart();
$chart->setType('line') $chart->setType('line')
->setOptions($options) ->setDefaultLocale($this->getDefaultLocaleOfChart())
->setLabels(array_values($labels)) ->setLocales($this->getLocaleTranslationOfChart())
->setColors($colors) ->setStacked(true)
->setBar(['columnWidth' => '40%'])
->setLegendPosition('top')
->setYaxisLabels(['formatter' => $this->getChartLabelFormatter()])
->setLabels(array_values($this->getLabels()))
->setColors($this->getColors())
->setDataset(trans('general.incoming'), 'column', $income) ->setDataset(trans('general.incoming'), 'column', $income)
->setDataset(trans('general.outgoing'), 'column', $expense) ->setDataset(trans('general.outgoing'), 'column', $expense)
->setDataset(trans_choice('general.profits', 1), 'line', $profit); ->setDataset(trans_choice('general.profits', 1), 'line', $profit);

View File

@ -22,7 +22,7 @@ class ExpensesByCategory extends Widget
$amount += $transaction->getAmountConvertedToDefault(); $amount += $transaction->getAmountConvertedToDefault();
}); });
$this->addMoneyToDonut($category->colorHexCode, $amount, $category->name); $this->addMoneyToDonutChart($category->colorHexCode, $amount, $category->name);
}); });
$chart = $this->getDonutChart(trans_choice('general.expenses', 2), '100%', 300, 6); $chart = $this->getDonutChart(trans_choice('general.expenses', 2), '100%', 300, 6);

View File

@ -31,37 +31,18 @@ class ProfitLoss extends Widget
{ {
$this->setFilter(); $this->setFilter();
$labels = $this->getLabels();
$income = $this->getIncome();
$expense = $this->getExpense();
$colors = $this->getColors();
$chart = new Chart(); $chart = new Chart();
$options = [
'legend' => [
'position' => 'top',
'markers' => [
'radius' => '12',
],
],
'yaxis' => [
'labels' => [
'formatter' => $this->getFormatLabel(),
],
],
];
$chart->setType('bar') $chart->setType('bar')
->setOptions($options) ->setDefaultLocale($this->getDefaultLocaleOfChart())
->setLabels(array_values($labels)) ->setLocales($this->getLocaleTranslationOfChart())
->setColors($colors) ->setLegendPosition('top')
->setDataset(trans_choice('general.incomes', 1), 'column', array_values($income)) ->setLegendMarkers(['radius' => '12'])
->setDataset(trans_choice('general.expenses', 1), 'column', array_values($expense)); ->setYaxisLabels(['formatter' => $this->getChartLabelFormatter()])
->setLabels(array_values($this->getLabels()))
->setColors($this->getColors())
->setDataset(trans_choice('general.incomes', 1), 'column', array_values($this->getIncome()))
->setDataset(trans_choice('general.expenses', 1), 'column', array_values($this->getExpense()));
return $this->view('widgets.bar_chart', [ return $this->view('widgets.bar_chart', [
'chart' => $chart, 'chart' => $chart,

135
composer.lock generated
View File

@ -209,16 +209,16 @@
}, },
{ {
"name": "akaunting/laravel-language", "name": "akaunting/laravel-language",
"version": "1.0.21", "version": "1.0.22",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/akaunting/laravel-language.git", "url": "https://github.com/akaunting/laravel-language.git",
"reference": "7b045415bfac261583be5195e8c7288898ba39a8" "reference": "83285fb4ad450b406f2df8570090828e4326ee1a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/akaunting/laravel-language/zipball/7b045415bfac261583be5195e8c7288898ba39a8", "url": "https://api.github.com/repos/akaunting/laravel-language/zipball/83285fb4ad450b406f2df8570090828e4326ee1a",
"reference": "7b045415bfac261583be5195e8c7288898ba39a8", "reference": "83285fb4ad450b406f2df8570090828e4326ee1a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -265,9 +265,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/akaunting/laravel-language/issues", "issues": "https://github.com/akaunting/laravel-language/issues",
"source": "https://github.com/akaunting/laravel-language/tree/1.0.21" "source": "https://github.com/akaunting/laravel-language/tree/1.0.22"
}, },
"time": "2022-06-02T10:48:01+00:00" "time": "2022-08-05T07:33:12+00:00"
}, },
{ {
"name": "akaunting/laravel-menu", "name": "akaunting/laravel-menu",
@ -907,16 +907,16 @@
}, },
{ {
"name": "aws/aws-sdk-php", "name": "aws/aws-sdk-php",
"version": "3.232.1", "version": "3.232.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/aws/aws-sdk-php.git", "url": "https://github.com/aws/aws-sdk-php.git",
"reference": "7e79325815640d21f3bcab9889f7002a8268d674" "reference": "c23943f845b4418d82b8a804ebc2b961de9f9eea"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/7e79325815640d21f3bcab9889f7002a8268d674", "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/c23943f845b4418d82b8a804ebc2b961de9f9eea",
"reference": "7e79325815640d21f3bcab9889f7002a8268d674", "reference": "c23943f845b4418d82b8a804ebc2b961de9f9eea",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -993,9 +993,9 @@
"support": { "support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues", "issues": "https://github.com/aws/aws-sdk-php/issues",
"source": "https://github.com/aws/aws-sdk-php/tree/3.232.1" "source": "https://github.com/aws/aws-sdk-php/tree/3.232.4"
}, },
"time": "2022-08-03T18:16:18+00:00" "time": "2022-08-09T18:20:29+00:00"
}, },
{ {
"name": "balping/json-raw-encoder", "name": "balping/json-raw-encoder",
@ -1411,26 +1411,26 @@
}, },
{ {
"name": "brick/math", "name": "brick/math",
"version": "0.9.3", "version": "0.10.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/brick/math.git", "url": "https://github.com/brick/math.git",
"reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae" "reference": "de846578401f4e58f911b3afeb62ced56365ed87"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", "url": "https://api.github.com/repos/brick/math/zipball/de846578401f4e58f911b3afeb62ced56365ed87",
"reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae", "reference": "de846578401f4e58f911b3afeb62ced56365ed87",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-json": "*", "ext-json": "*",
"php": "^7.1 || ^8.0" "php": "^7.4 || ^8.0"
}, },
"require-dev": { "require-dev": {
"php-coveralls/php-coveralls": "^2.2", "php-coveralls/php-coveralls": "^2.2",
"phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", "phpunit/phpunit": "^9.0",
"vimeo/psalm": "4.9.2" "vimeo/psalm": "4.25.0"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -1455,19 +1455,15 @@
], ],
"support": { "support": {
"issues": "https://github.com/brick/math/issues", "issues": "https://github.com/brick/math/issues",
"source": "https://github.com/brick/math/tree/0.9.3" "source": "https://github.com/brick/math/tree/0.10.1"
}, },
"funding": [ "funding": [
{ {
"url": "https://github.com/BenMorel", "url": "https://github.com/BenMorel",
"type": "github" "type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/brick/math",
"type": "tidelift"
} }
], ],
"time": "2021-08-15T20:50:18+00:00" "time": "2022-08-01T22:54:31+00:00"
}, },
{ {
"name": "clue/stream-filter", "name": "clue/stream-filter",
@ -1845,16 +1841,16 @@
}, },
{ {
"name": "doctrine/dbal", "name": "doctrine/dbal",
"version": "3.3.7", "version": "3.4.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/dbal.git", "url": "https://github.com/doctrine/dbal.git",
"reference": "9f79d4650430b582f4598fe0954ef4d52fbc0a8a" "reference": "118a360e9437e88d49024f36283c8bcbd76105f5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/9f79d4650430b582f4598fe0954ef4d52fbc0a8a", "url": "https://api.github.com/repos/doctrine/dbal/zipball/118a360e9437e88d49024f36283c8bcbd76105f5",
"reference": "9f79d4650430b582f4598fe0954ef4d52fbc0a8a", "reference": "118a360e9437e88d49024f36283c8bcbd76105f5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1862,21 +1858,21 @@
"doctrine/cache": "^1.11|^2.0", "doctrine/cache": "^1.11|^2.0",
"doctrine/deprecations": "^0.5.3|^1", "doctrine/deprecations": "^0.5.3|^1",
"doctrine/event-manager": "^1.0", "doctrine/event-manager": "^1.0",
"php": "^7.3 || ^8.0", "php": "^7.4 || ^8.0",
"psr/cache": "^1|^2|^3", "psr/cache": "^1|^2|^3",
"psr/log": "^1|^2|^3" "psr/log": "^1|^2|^3"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "9.0.0", "doctrine/coding-standard": "9.0.0",
"jetbrains/phpstorm-stubs": "2022.1", "jetbrains/phpstorm-stubs": "2022.1",
"phpstan/phpstan": "1.7.13", "phpstan/phpstan": "1.8.2",
"phpstan/phpstan-strict-rules": "^1.2", "phpstan/phpstan-strict-rules": "^1.3",
"phpunit/phpunit": "9.5.20", "phpunit/phpunit": "9.5.21",
"psalm/plugin-phpunit": "0.16.1", "psalm/plugin-phpunit": "0.17.0",
"squizlabs/php_codesniffer": "3.7.0", "squizlabs/php_codesniffer": "3.7.1",
"symfony/cache": "^5.2|^6.0", "symfony/cache": "^5.4|^6.0",
"symfony/console": "^2.7|^3.0|^4.0|^5.0|^6.0", "symfony/console": "^4.4|^5.4|^6.0",
"vimeo/psalm": "4.23.0" "vimeo/psalm": "4.24.0"
}, },
"suggest": { "suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files." "symfony/console": "For helpful console commands such as SQL execution and import of files."
@ -1936,7 +1932,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/dbal/issues", "issues": "https://github.com/doctrine/dbal/issues",
"source": "https://github.com/doctrine/dbal/tree/3.3.7" "source": "https://github.com/doctrine/dbal/tree/3.4.0"
}, },
"funding": [ "funding": [
{ {
@ -1952,7 +1948,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-06-13T21:43:03+00:00" "time": "2022-08-06T20:35:57+00:00"
}, },
{ {
"name": "doctrine/deprecations", "name": "doctrine/deprecations",
@ -4472,16 +4468,16 @@
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v9.23.0", "version": "v9.24.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "c4eea9060d847b5c93957b203caa8f57544a76ab" "reference": "053840f579cf01d353d81333802afced79b1c0af"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/c4eea9060d847b5c93957b203caa8f57544a76ab", "url": "https://api.github.com/repos/laravel/framework/zipball/053840f579cf01d353d81333802afced79b1c0af",
"reference": "c4eea9060d847b5c93957b203caa8f57544a76ab", "reference": "053840f579cf01d353d81333802afced79b1c0af",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4648,7 +4644,7 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2022-08-02T14:24:44+00:00" "time": "2022-08-09T13:43:22+00:00"
}, },
{ {
"name": "laravel/sanctum", "name": "laravel/sanctum",
@ -5575,16 +5571,16 @@
}, },
{ {
"name": "livewire/livewire", "name": "livewire/livewire",
"version": "v2.10.6", "version": "v2.10.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/livewire/livewire.git", "url": "https://github.com/livewire/livewire.git",
"reference": "020ad095cf1239138b097d22b584e2701ec3edfb" "reference": "fa0441bf82f1674beecb3a8ad8a4ae428736ed18"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/livewire/livewire/zipball/020ad095cf1239138b097d22b584e2701ec3edfb", "url": "https://api.github.com/repos/livewire/livewire/zipball/fa0441bf82f1674beecb3a8ad8a4ae428736ed18",
"reference": "020ad095cf1239138b097d22b584e2701ec3edfb", "reference": "fa0441bf82f1674beecb3a8ad8a4ae428736ed18",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5636,7 +5632,7 @@
"description": "A front-end framework for Laravel.", "description": "A front-end framework for Laravel.",
"support": { "support": {
"issues": "https://github.com/livewire/livewire/issues", "issues": "https://github.com/livewire/livewire/issues",
"source": "https://github.com/livewire/livewire/tree/v2.10.6" "source": "https://github.com/livewire/livewire/tree/v2.10.7"
}, },
"funding": [ "funding": [
{ {
@ -5644,7 +5640,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2022-06-19T02:54:20+00:00" "time": "2022-08-08T13:52:53+00:00"
}, },
{ {
"name": "lorisleiva/laravel-search-string", "name": "lorisleiva/laravel-search-string",
@ -6525,16 +6521,16 @@
}, },
{ {
"name": "nesbot/carbon", "name": "nesbot/carbon",
"version": "2.60.0", "version": "2.61.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/briannesbitt/Carbon.git", "url": "https://github.com/briannesbitt/Carbon.git",
"reference": "00a259ae02b003c563158b54fb6743252b638ea6" "reference": "bdf4f4fe3a3eac4de84dbec0738082a862c68ba6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/00a259ae02b003c563158b54fb6743252b638ea6", "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/bdf4f4fe3a3eac4de84dbec0738082a862c68ba6",
"reference": "00a259ae02b003c563158b54fb6743252b638ea6", "reference": "bdf4f4fe3a3eac4de84dbec0738082a862c68ba6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6623,7 +6619,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-07-27T15:57:48+00:00" "time": "2022-08-06T12:41:24+00:00"
}, },
{ {
"name": "nette/schema", "name": "nette/schema",
@ -8562,20 +8558,20 @@
}, },
{ {
"name": "ramsey/uuid", "name": "ramsey/uuid",
"version": "4.3.1", "version": "4.4.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/ramsey/uuid.git", "url": "https://github.com/ramsey/uuid.git",
"reference": "8505afd4fea63b81a85d3b7b53ac3cb8dc347c28" "reference": "373f7bacfcf3de038778ff27dcce5672ddbf4c8a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/ramsey/uuid/zipball/8505afd4fea63b81a85d3b7b53ac3cb8dc347c28", "url": "https://api.github.com/repos/ramsey/uuid/zipball/373f7bacfcf3de038778ff27dcce5672ddbf4c8a",
"reference": "8505afd4fea63b81a85d3b7b53ac3cb8dc347c28", "reference": "373f7bacfcf3de038778ff27dcce5672ddbf4c8a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"brick/math": "^0.8 || ^0.9", "brick/math": "^0.8 || ^0.9 || ^0.10",
"ext-ctype": "*", "ext-ctype": "*",
"ext-json": "*", "ext-json": "*",
"php": "^8.0", "php": "^8.0",
@ -8591,7 +8587,6 @@
"doctrine/annotations": "^1.8", "doctrine/annotations": "^1.8",
"ergebnis/composer-normalize": "^2.15", "ergebnis/composer-normalize": "^2.15",
"mockery/mockery": "^1.3", "mockery/mockery": "^1.3",
"moontoast/math": "^1.1",
"paragonie/random-lib": "^2", "paragonie/random-lib": "^2",
"php-mock/php-mock": "^2.2", "php-mock/php-mock": "^2.2",
"php-mock/php-mock-mockery": "^1.3", "php-mock/php-mock-mockery": "^1.3",
@ -8640,7 +8635,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/ramsey/uuid/issues", "issues": "https://github.com/ramsey/uuid/issues",
"source": "https://github.com/ramsey/uuid/tree/4.3.1" "source": "https://github.com/ramsey/uuid/tree/4.4.0"
}, },
"funding": [ "funding": [
{ {
@ -8652,7 +8647,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-03-27T21:42:02+00:00" "time": "2022-08-05T17:58:37+00:00"
}, },
{ {
"name": "riverskies/laravel-mobile-detect", "name": "riverskies/laravel-mobile-detect",
@ -13899,16 +13894,16 @@
}, },
{ {
"name": "spatie/flare-client-php", "name": "spatie/flare-client-php",
"version": "1.2.0", "version": "1.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/spatie/flare-client-php.git", "url": "https://github.com/spatie/flare-client-php.git",
"reference": "86a380f5b1ce839af04a08f1c8f2697184cdf23f" "reference": "b1b974348750925b717fa8c8b97a0db0d1aa40ca"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/spatie/flare-client-php/zipball/86a380f5b1ce839af04a08f1c8f2697184cdf23f", "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/b1b974348750925b717fa8c8b97a0db0d1aa40ca",
"reference": "86a380f5b1ce839af04a08f1c8f2697184cdf23f", "reference": "b1b974348750925b717fa8c8b97a0db0d1aa40ca",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -13956,7 +13951,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/spatie/flare-client-php/issues", "issues": "https://github.com/spatie/flare-client-php/issues",
"source": "https://github.com/spatie/flare-client-php/tree/1.2.0" "source": "https://github.com/spatie/flare-client-php/tree/1.3.0"
}, },
"funding": [ "funding": [
{ {
@ -13964,7 +13959,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2022-05-16T12:13:39+00:00" "time": "2022-08-08T10:10:20+00:00"
}, },
{ {
"name": "spatie/ignition", "name": "spatie/ignition",

View File

@ -10,15 +10,15 @@ return [
'minor' => '0', 'minor' => '0',
'patch' => '5', 'patch' => '6',
'build' => '', 'build' => '',
'status' => 'Stable', 'status' => 'Stable',
'date' => '15-July-2022', 'date' => '10-August-2022',
'time' => '23:50', 'time' => '12:00',
'zone' => 'GMT +3', 'zone' => 'GMT +3',

View File

@ -412,10 +412,12 @@ return new class extends Migration
$table->integer('role_id')->unsigned(); $table->integer('role_id')->unsigned();
$table->string('user_type'); $table->string('user_type');
$table->primary(['user_id', 'role_id', 'user_type']);
});
Schema::table('user_roles', function (Blueprint $table) {
$table->foreign('role_id')->references('id')->on('roles') $table->foreign('role_id')->references('id')->on('roles')
->onUpdate('cascade')->onDelete('cascade'); ->onUpdate('cascade')->onDelete('cascade');
$table->primary(['user_id', 'role_id', 'user_type']);
}); });
// Reconciliations // Reconciliations

7
presets.js vendored
View File

@ -211,6 +211,10 @@ module.exports = {
'0%': { boxShadow: '0 28px 0 -28px #ffffff' }, '0%': { boxShadow: '0 28px 0 -28px #ffffff' },
'100%': { boxShadow: '0 28px 0 #ffffff' }, '100%': { boxShadow: '0 28px 0 #ffffff' },
}, },
submit_second: {
'0%': { boxShadow: '0 28px 0 -28px #55588b' },
'100%': { boxShadow: '0 28px 0 #55588b' },
},
}, },
animation: { animation: {
@ -218,7 +222,8 @@ module.exports = {
pulsate_transparent: 'pulsate_transparent 1500ms ease infinite;', pulsate_transparent: 'pulsate_transparent 1500ms ease infinite;',
pulsate: 'pulsate 1500ms ease infinite;', pulsate: 'pulsate 1500ms ease infinite;',
spin: 'spin 1000ms infinite', spin: 'spin 1000ms infinite',
submit: 'submit 0.7s ease alternate infinite' submit: 'submit 0.7s ease alternate infinite',
submit_second: 'submit_second 0.7s ease alternate infinite'
}, },
transitionProperty: { transitionProperty: {

80
public/css/app.css vendored
View File

@ -9981,6 +9981,34 @@ input[type="date"]::-webkit-inner-spin-button,
-webkit-animation: submit 0.7s ease alternate infinite; -webkit-animation: submit 0.7s ease alternate infinite;
animation: submit 0.7s ease alternate infinite; animation: submit 0.7s ease alternate infinite;
} }
@-webkit-keyframes submit_second{
0%{
-webkit-box-shadow: 0 28px 0 -28px #55588b;
box-shadow: 0 28px 0 -28px #55588b;
}
100%{
-webkit-box-shadow: 0 28px 0 #55588b;
box-shadow: 0 28px 0 #55588b;
}
}
@keyframes submit_second{
0%{
-webkit-box-shadow: 0 28px 0 -28px #55588b;
box-shadow: 0 28px 0 -28px #55588b;
}
100%{
-webkit-box-shadow: 0 28px 0 #55588b;
box-shadow: 0 28px 0 #55588b;
}
}
.animate-submit_second{
-webkit-animation: submit_second 0.7s ease alternate infinite;
animation: submit_second 0.7s ease alternate infinite;
}
.cursor-auto{ .cursor-auto{
cursor: auto; cursor: auto;
} }
@ -47306,6 +47334,27 @@ body{
animation: submit 0.7s ease alternate infinite; animation: submit 0.7s ease alternate infinite;
} }
@keyframes submit_second{
0%{
content: var(--tw-content);
-webkit-box-shadow: 0 28px 0 -28px #55588b;
box-shadow: 0 28px 0 -28px #55588b;
}
100%{
content: var(--tw-content);
-webkit-box-shadow: 0 28px 0 #55588b;
box-shadow: 0 28px 0 #55588b;
}
}
.before\:animate-submit_second::before{
content: var(--tw-content);
-webkit-animation: submit_second 0.7s ease alternate infinite;
animation: submit_second 0.7s ease alternate infinite;
}
.before\:rounded-full::before{ .before\:rounded-full::before{
content: var(--tw-content); content: var(--tw-content);
border-radius: 9999px; border-radius: 9999px;
@ -47441,6 +47490,27 @@ body{
animation: submit 0.7s ease alternate infinite; animation: submit 0.7s ease alternate infinite;
} }
@keyframes submit_second{
0%{
content: var(--tw-content);
-webkit-box-shadow: 0 28px 0 -28px #55588b;
box-shadow: 0 28px 0 -28px #55588b;
}
100%{
content: var(--tw-content);
-webkit-box-shadow: 0 28px 0 #55588b;
box-shadow: 0 28px 0 #55588b;
}
}
.after\:animate-submit_second::after{
content: var(--tw-content);
-webkit-animation: submit_second 0.7s ease alternate infinite;
animation: submit_second 0.7s ease alternate infinite;
}
.after\:rounded-full::after{ .after\:rounded-full::after{
content: var(--tw-content); content: var(--tw-content);
border-radius: 9999px; border-radius: 9999px;
@ -47693,6 +47763,16 @@ body{
background-color: rgb(197 217 186 / var(--tw-bg-opacity)); background-color: rgb(197 217 186 / var(--tw-bg-opacity));
} }
.disabled\:bg-gray-300:disabled{
--tw-bg-opacity: 1;
background-color: rgb(209 213 219 / var(--tw-bg-opacity));
}
.disabled\:bg-gray-100:disabled{
--tw-bg-opacity: 1;
background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}
.disabled\:opacity-50:disabled{ .disabled\:opacity-50:disabled{
opacity: 0.5; opacity: 0.5;
} }

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,63 @@
{
"name": "ar",
"options": {
"months": [
"يناير",
"فبراير",
"مارس",
"أبريل",
"مايو",
"يونيو",
"يوليو",
"أغسطس",
"سبتمبر",
"أكتوبر",
"نوفمبر",
"ديسمبر"
],
"shortMonths": [
"يناير",
"فبراير",
"مارس",
"أبريل",
"مايو",
"يونيو",
"يوليو",
"أغسطس",
"سبتمبر",
"أكتوبر",
"نوفمبر",
"ديسمبر"
],
"days": [
"الأحد",
"الإثنين",
"الثلاثاء",
"الأربعاء",
"الخميس",
"الجمعة",
"السبت"
],
"shortDays": [
"أحد",
"إثنين",
"ثلاثاء",
"أربعاء",
"خميس",
"جمعة",
"سبت"
],
"toolbar": {
"exportToSVG": "تحميل بصيغة SVG",
"exportToPNG": "تحميل بصيغة PNG",
"exportToCSV": "تحميل بصيغة CSV",
"menu": "القائمة",
"selection": "تحديد",
"selectionZoom": "تكبير التحديد",
"zoomIn": "تكبير",
"zoomOut": "تصغير",
"pan": "تحريك",
"reset": "إعادة التعيين"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "ca",
"options": {
"months": [
"Gener",
"Febrer",
"Març",
"Abril",
"Maig",
"Juny",
"Juliol",
"Agost",
"Setembre",
"Octubre",
"Novembre",
"Desembre"
],
"shortMonths": [
"Gen.",
"Febr.",
"Març",
"Abr.",
"Maig",
"Juny",
"Jul.",
"Ag.",
"Set.",
"Oct.",
"Nov.",
"Des."
],
"days": [
"Diumenge",
"Dilluns",
"Dimarts",
"Dimecres",
"Dijous",
"Divendres",
"Dissabte"
],
"shortDays": ["Dg", "Dl", "Dt", "Dc", "Dj", "Dv", "Ds"],
"toolbar": {
"exportToSVG": "Descarregar SVG",
"exportToPNG": "Descarregar PNG",
"exportToCSV": "Descarregar CSV",
"menu": "Menú",
"selection": "Seleccionar",
"selectionZoom": "Seleccionar Zoom",
"zoomIn": "Augmentar",
"zoomOut": "Disminuir",
"pan": "Navegació",
"reset": "Reiniciar Zoom"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "cs",
"options": {
"months": [
"Leden",
"Únor",
"Březen",
"Duben",
"Květen",
"Červen",
"Červenec",
"Srpen",
"Září",
"Říjen",
"Listopad",
"Prosinec"
],
"shortMonths": [
"Led",
"Úno",
"Bře",
"Dub",
"Kvě",
"Čvn",
"Čvc",
"Srp",
"Zář",
"Říj",
"Lis",
"Pro"
],
"days": [
"Neděle",
"Pondělí",
"Úterý",
"Středa",
"Čtvrtek",
"Pátek",
"Sobota"
],
"shortDays": ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"],
"toolbar": {
"exportToSVG": "Stáhnout SVG",
"exportToPNG": "Stáhnout PNG",
"exportToCSV": "Stáhnout CSV",
"menu": "Menu",
"selection": "Vybrat",
"selectionZoom": "Zoom: Vybrat",
"zoomIn": "Zoom: Přiblížit",
"zoomOut": "Zoom: Oddálit",
"pan": "Přesouvat",
"reset": "Resetovat"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "de",
"options": {
"months": [
"Januar",
"Februar",
"März",
"April",
"Mai",
"Juni",
"Juli",
"August",
"September",
"Oktober",
"November",
"Dezember"
],
"shortMonths": [
"Jan",
"Feb",
"Mär",
"Apr",
"Mai",
"Jun",
"Jul",
"Aug",
"Sep",
"Okt",
"Nov",
"Dez"
],
"days": [
"Sonntag",
"Montag",
"Dienstag",
"Mittwoch",
"Donnerstag",
"Freitag",
"Samstag"
],
"shortDays": ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
"toolbar": {
"exportToSVG": "SVG speichern",
"exportToPNG": "PNG speichern",
"exportToCSV": "CSV speichern",
"menu": "Menü",
"selection": "Auswahl",
"selectionZoom": "Auswahl vergrößern",
"zoomIn": "Vergrößern",
"zoomOut": "Verkleinern",
"pan": "Verschieben",
"reset": "Zoom zurücksetzen"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "el",
"options": {
"months": [
"Ιανουάριος",
"Φεβρουάριος",
"Μάρτιος",
"Απρίλιος",
"Μάιος",
"Ιούνιος",
"Ιούλιος",
"Αύγουστος",
"Σεπτέμβριος",
"Οκτώβριος",
"Νοέμβριος",
"Δεκέμβριος"
],
"shortMonths": [
"Ιαν",
"Φευ",
"Μαρ",
"Απρ",
"Μάι",
"Ιουν",
"Ιουλ",
"Αυγ",
"Σεπ",
"Οκτ",
"Νοε",
"Δεκ"
],
"days": [
"Κυριακή",
"Δευτέρα",
"Τρίτη",
"Τετάρτη",
"Πέμπτη",
"Παρασκευή",
"Σάββατο"
],
"shortDays": ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ"],
"toolbar": {
"exportToSVG": "Λήψη SVG",
"exportToPNG": "Λήψη PNG",
"exportToCSV": "Λήψη CSV",
"menu": "Menu",
"selection": "Επιλογή",
"selectionZoom": "Μεγένθυση βάση επιλογής",
"zoomIn": "Μεγένθυνση",
"zoomOut": "Σμίκρυνση",
"pan": "Μετατόπιση",
"reset": "Επαναφορά μεγένθυνσης"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "en",
"options": {
"months": [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
],
"days": [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"shortDays": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
"toolbar": {
"exportToSVG": "Download SVG",
"exportToPNG": "Download PNG",
"exportToCSV": "Download CSV",
"menu": "Menu",
"selection": "Selection",
"selectionZoom": "Selection Zoom",
"zoomIn": "Zoom In",
"zoomOut": "Zoom Out",
"pan": "Panning",
"reset": "Reset Zoom"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "es",
"options": {
"months": [
"Enero",
"Febrero",
"Marzo",
"Abril",
"Mayo",
"Junio",
"Julio",
"Agosto",
"Septiembre",
"Octubre",
"Noviembre",
"Diciembre"
],
"shortMonths": [
"Ene",
"Feb",
"Mar",
"Abr",
"May",
"Jun",
"Jul",
"Ago",
"Sep",
"Oct",
"Nov",
"Dic"
],
"days": [
"Domingo",
"Lunes",
"Martes",
"Miércoles",
"Jueves",
"Viernes",
"Sábado"
],
"shortDays": ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"],
"toolbar": {
"exportToSVG": "Descargar SVG",
"exportToPNG": "Descargar PNG",
"exportToCSV": "Descargar CSV",
"menu": "Menu",
"selection": "Seleccionar",
"selectionZoom": "Seleccionar Zoom",
"zoomIn": "Aumentar",
"zoomOut": "Disminuir",
"pan": "Navegación",
"reset": "Reiniciar Zoom"
}
}
}

View File

@ -0,0 +1,63 @@
{
"name": "et",
"options": {
"months": [
"jaanuar",
"veebruar",
"märts",
"aprill",
"mai",
"juuni",
"juuli",
"august",
"september",
"oktoober",
"november",
"detsember"
],
"shortMonths": [
"jaan",
"veebr",
"märts",
"apr",
"mai",
"juuni",
"juuli",
"aug",
"sept",
"okt",
"nov",
"dets"
],
"days": [
"pühapäev",
"esmaspäev",
"teisipäev",
"kolmapäev",
"neljapäev",
"reede",
"laupäev"
],
"shortDays": [
"P",
"E",
"T",
"K",
"N",
"R",
"L"
],
"toolbar": {
"exportToSVG": "Lae alla SVG",
"exportToPNG": "Lae alla PNG",
"exportToCSV": "Lae alla CSV",
"menu": "Menüü",
"selection": "Valik",
"selectionZoom": "Valiku suum",
"zoomIn": "Suurenda",
"zoomOut": "Vähenda",
"pan": "Panoraamimine",
"reset": "Lähtesta suum"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "fa",
"options": {
"months": [
"فروردین",
"اردیبهشت",
"خرداد",
"تیر",
"مرداد",
"شهریور",
"مهر",
"آبان",
"آذر",
"دی",
"بهمن",
"اسفند"
],
"shortMonths": [
"فرو",
"ارد",
"خرد",
"تیر",
"مرد",
"شهر",
"مهر",
"آبا",
"آذر",
"دی",
"بهمـ",
"اسفـ"
],
"days": [
"یکشنبه",
"دوشنبه",
"سه شنبه",
"چهارشنبه",
"پنجشنبه",
"جمعه",
"شنبه"
],
"shortDays": ["ی", "د", "س", "چ", "پ", "ج", "ش"],
"toolbar": {
"exportToSVG": "دانلود SVG",
"exportToPNG": "دانلود PNG",
"exportToCSV": "دانلود CSV",
"menu": "منو",
"selection": "انتخاب",
"selectionZoom": "بزرگنمایی انتخابی",
"zoomIn": "بزرگنمایی",
"zoomOut": "کوچکنمایی",
"pan": "پیمایش",
"reset": "بازنشانی بزرگنمایی"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "fi",
"options": {
"months": [
"Tammikuu",
"Helmikuu",
"Maaliskuu",
"Huhtikuu",
"Toukokuu",
"Kesäkuu",
"Heinäkuu",
"Elokuu",
"Syyskuu",
"Lokakuu",
"Marraskuu",
"Joulukuu"
],
"shortMonths": [
"Tammi",
"Helmi",
"Maalis",
"Huhti",
"Touko",
"Kesä",
"Heinä",
"Elo",
"Syys",
"Loka",
"Marras",
"Joulu"
],
"days": [
"Sunnuntai",
"Maanantai",
"Tiistai",
"Keskiviikko",
"Torstai",
"Perjantai",
"Lauantai"
],
"shortDays": ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"],
"toolbar": {
"exportToSVG": "Lataa SVG",
"exportToPNG": "Lataa PNG",
"exportToCSV": "Lataa CSV",
"menu": "Valikko",
"selection": "Valinta",
"selectionZoom": "Valinnan zoomaus",
"zoomIn": "Lähennä",
"zoomOut": "Loitonna",
"pan": "Panoroi",
"reset": "Nollaa zoomaus"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "fr",
"options": {
"months": [
"janvier",
"février",
"mars",
"avril",
"mai",
"juin",
"juillet",
"août",
"septembre",
"octobre",
"novembre",
"décembre"
],
"shortMonths": [
"janv.",
"févr.",
"mars",
"avr.",
"mai",
"juin",
"juill.",
"août",
"sept.",
"oct.",
"nov.",
"déc."
],
"days": [
"dimanche",
"lundi",
"mardi",
"mercredi",
"jeudi",
"vendredi",
"samedi"
],
"shortDays": ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."],
"toolbar": {
"exportToSVG": "Télécharger au format SVG",
"exportToPNG": "Télécharger au format PNG",
"exportToCSV": "Télécharger au format CSV",
"menu": "Menu",
"selection": "Sélection",
"selectionZoom": "Sélection et zoom",
"zoomIn": "Zoomer",
"zoomOut": "Dézoomer",
"pan": "Navigation",
"reset": "Réinitialiser le zoom"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "he",
"options": {
"months": [
"ינואר",
"פברואר",
"מרץ",
"אפריל",
"מאי",
"יוני",
"יולי",
"אוגוסט",
"ספטמבר",
"אוקטובר",
"נובמבר",
"דצמבר"
],
"shortMonths": [
"ינו׳",
"פבר׳",
"מרץ",
"אפר׳",
"מאי",
"יוני",
"יולי",
"אוג׳",
"ספט׳",
"אוק׳",
"נוב׳",
"דצמ׳"
],
"days": [
"ראשון",
"שני",
"שלישי",
"רביעי",
"חמישי",
"שישי",
"שבת"
],
"shortDays": ["א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"],
"toolbar": {
"exportToSVG": "הורד SVG",
"exportToPNG": "הורד PNG",
"exportToCSV": "הורד CSV",
"menu": "תפריט",
"selection": "בחירה",
"selectionZoom": "זום בחירה",
"zoomIn": "הגדלה",
"zoomOut": "הקטנה",
"pan": "הזזה",
"reset": "איפוס תצוגה"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "hi",
"options": {
"months": [
"जनवरी",
"फ़रवरी",
"मार्च",
"अप्रैल",
"मई",
"जून",
"जुलाई",
"अगस्त",
"सितंबर",
"अक्टूबर",
"नवंबर",
"दिसंबर"
],
"shortMonths": [
"जनवरी",
"फ़रवरी",
"मार्च",
"अप्रैल",
"मई",
"जून",
"जुलाई",
"अगस्त",
"सितंबर",
"अक्टूबर",
"नवंबर",
"दिसंबर"
],
"days": [
"रविवार",
"सोमवार",
"मंगलवार",
"बुधवार",
"गुरुवार",
"शुक्रवार",
"शनिवार"
],
"shortDays": ["रवि", "सोम", "मंगल", "बुध", "गुरु", "शुक्र", "शनि"],
"toolbar": {
"exportToSVG": "निर्यात SVG",
"exportToPNG": "निर्यात PNG",
"exportToCSV": "निर्यात CSV",
"menu": "सूची",
"selection": "चयन",
"selectionZoom": "ज़ूम करना",
"zoomIn": "ज़ूम इन",
"zoomOut": "ज़ूम आउट",
"pan": "पैनिंग",
"reset": "फिर से कायम करना"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "hr",
"options": {
"months": [
"Siječanj",
"Veljača",
"Ožujak",
"Travanj",
"Svibanj",
"Lipanj",
"Srpanj",
"Kolovoz",
"Rujan",
"Listopad",
"Studeni",
"Prosinac"
],
"shortMonths": [
"Sij",
"Velj",
"Ožu",
"Tra",
"Svi",
"Lip",
"Srp",
"Kol",
"Ruj",
"Lis",
"Stu",
"Pro"
],
"days": [
"Nedjelja",
"Ponedjeljak",
"Utorak",
"Srijeda",
"Četvrtak",
"Petak",
"Subota"
],
"shortDays": ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"],
"toolbar": {
"exportToSVG": "Preuzmi SVG",
"exportToPNG": "Preuzmi PNG",
"exportToCSV": "Preuzmi CSV",
"menu": "Izbornik",
"selection": "Odabir",
"selectionZoom": "Odabirno povećanje",
"zoomIn": "Uvećajte prikaz",
"zoomOut": "Umanjite prikaz",
"pan": "Pomicanje",
"reset": "Povratak na zadani prikaz"
}
}
}

View File

@ -0,0 +1,64 @@
{
"name": "hu",
"options": {
"months": [
"január",
"február",
"március",
"április",
"május",
"június",
"július",
"augusztus",
"szeptember",
"október",
"november",
"december"
],
"shortMonths": [
"jan",
"feb",
"mar",
"ápr",
"máj",
"jún",
"júl",
"aug",
"szept",
"okt",
"nov",
"dec"
],
"days": [
"hétfő",
"kedd",
"szerda",
"csütörtök",
"péntek",
"szombat",
"vasárnap"
],
"shortDays": [
"H",
"K",
"Sze",
"Cs",
"P",
"Szo",
"V"
],
"toolbar": {
"exportToSVG": "Exportálás SVG-be",
"exportToPNG": "Exportálás PNG-be",
"exportToCSV": "Exportálás CSV-be",
"menu": "Fő ajánlat",
"download": "SVG letöltése",
"selection": "Kiválasztás",
"selectionZoom": "Nagyító kiválasztása",
"zoomIn": "Nagyítás",
"zoomOut": "Kicsinyítés",
"pan": "Képcsúsztatás",
"reset": "Nagyító visszaállítása"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "hy",
"options": {
"months": [
"Հունվար",
"Փետրվար",
"Մարտ",
"Ապրիլ",
"Մայիս",
"Հունիս",
"Հուլիս",
"Օգոստոս",
"Սեպտեմբեր",
"Հոկտեմբեր",
"Նոյեմբեր",
"Դեկտեմբեր"
],
"shortMonths": [
"Հնվ",
"Փտվ",
"Մրտ",
"Ապր",
"Մյս",
"Հնս",
"Հլիս",
"Օգս",
"Սեպ",
"Հոկ",
"Նոյ",
"Դեկ"
],
"days": [
"Կիրակի",
"Երկուշաբթի",
"Երեքշաբթի",
"Չորեքշաբթի",
"Հինգշաբթի",
"Ուրբաթ",
"Շաբաթ"
],
"shortDays": ["Կիր", "Երկ", "Երք", "Չրք", "Հնգ", "Ուրբ", "Շբթ"],
"toolbar": {
"exportToSVG": "Բեռնել SVG",
"exportToPNG": "Բեռնել PNG",
"exportToCSV": "Բեռնել CSV",
"menu": "Մենյու",
"selection": "Ընտրված",
"selectionZoom": "Ընտրված հատվածի խոշորացում",
"zoomIn": "Խոշորացնել",
"zoomOut": "Մանրացնել",
"pan": "Տեղափոխում",
"reset": "Բերել սկզբնական վիճակի"
}
}
}

View File

@ -0,0 +1,47 @@
{
"name": "id",
"options": {
"months": [
"Januari",
"Februari",
"Maret",
"April",
"Mei",
"Juni",
"Juli",
"Agustus",
"September",
"Oktober",
"November",
"Desember"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"Mei",
"Jun",
"Jul",
"Agu",
"Sep",
"Okt",
"Nov",
"Des"
],
"days": ["Minggu", "Senin", "Selasa", "Rabu", "kamis", "Jumat", "Sabtu"],
"shortDays": ["Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"],
"toolbar": {
"exportToSVG": "Unduh SVG",
"exportToPNG": "Unduh PNG",
"exportToCSV": "Unduh CSV",
"menu": "Menu",
"selection": "Pilihan",
"selectionZoom": "Perbesar Pilihan",
"zoomIn": "Perbesar",
"zoomOut": "Perkecil",
"pan": "Geser",
"reset": "Atur Ulang Zoom"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "it",
"options": {
"months": [
"Gennaio",
"Febbraio",
"Marzo",
"Aprile",
"Maggio",
"Giugno",
"Luglio",
"Agosto",
"Settembre",
"Ottobre",
"Novembre",
"Dicembre"
],
"shortMonths": [
"Gen",
"Feb",
"Mar",
"Apr",
"Mag",
"Giu",
"Lug",
"Ago",
"Set",
"Ott",
"Nov",
"Dic"
],
"days": [
"Domenica",
"Lunedì",
"Martedì",
"Mercoledì",
"Giovedì",
"Venerdì",
"Sabato"
],
"shortDays": ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"],
"toolbar": {
"exportToSVG": "Scarica SVG",
"exportToPNG": "Scarica PNG",
"exportToCSV": "Scarica CSV",
"menu": "Menu",
"selection": "Selezione",
"selectionZoom": "Seleziona Zoom",
"zoomIn": "Zoom In",
"zoomOut": "Zoom Out",
"pan": "Sposta",
"reset": "Reimposta Zoom"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "ja",
"options": {
"months": [
"1月",
"2月",
"3月",
"4月",
"5月",
"6月",
"7月",
"8月",
"9月",
"10月",
"11月",
"12月"
],
"shortMonths": [
"1月",
"2月",
"3月",
"4月",
"5月",
"6月",
"7月",
"8月",
"9月",
"10月",
"11月",
"12月"
],
"days": [
"日曜日",
"月曜日",
"火曜日",
"水曜日",
"木曜日",
"金曜日",
"土曜日"
],
"shortDays": ["日", "月", "火", "水", "木", "金", "土"],
"toolbar": {
"exportToSVG": "SVGダウンロード",
"exportToPNG": "PNGダウンロード",
"exportToCSV": "CSVダウンロード",
"menu": "メニュー",
"selection": "選択",
"selectionZoom": "選択ズーム",
"zoomIn": "拡大",
"zoomOut": "縮小",
"pan": "パン",
"reset": "ズームリセット"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "ka",
"options": {
"months": [
"იანვარი",
"თებერვალი",
"მარტი",
"აპრილი",
"მაისი",
"ივნისი",
"ივლისი",
"აგვისტო",
"სექტემბერი",
"ოქტომბერი",
"ნოემბერი",
"დეკემბერი"
],
"shortMonths": [
"იან",
"თებ",
"მარ",
"აპრ",
"მაი",
"ივნ",
"ივლ",
"აგვ",
"სექ",
"ოქტ",
"ნოე",
"დეკ"
],
"days": [
"კვირა",
"ორშაბათი",
"სამშაბათი",
"ოთხშაბათი",
"ხუთშაბათი",
"პარასკევი",
"შაბათი"
],
"shortDays": ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ"],
"toolbar": {
"exportToSVG": "გადმოქაჩე SVG",
"exportToPNG": "გადმოქაჩე PNG",
"exportToCSV": "გადმოქაჩე CSV",
"menu": "მენიუ",
"selection": "არჩევა",
"selectionZoom": "არჩეულის გადიდება",
"zoomIn": "გადიდება",
"zoomOut": "დაპატარაება",
"pan": "გადაჩოჩება",
"reset": "გადიდების გაუქმება"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "ko",
"options": {
"months": [
"1월",
"2월",
"3월",
"4월",
"5월",
"6월",
"7월",
"8월",
"9월",
"10월",
"11월",
"12월"
],
"shortMonths": [
"1월",
"2월",
"3월",
"4월",
"5월",
"6월",
"7월",
"8월",
"9월",
"10월",
"11월",
"12월"
],
"days": [
"일요일",
"월요일",
"화요일",
"수요일",
"목요일",
"금요일",
"토요일"
],
"shortDays": ["일", "월", "화", "수", "목", "금", "토"],
"toolbar": {
"exportToSVG": "SVG 다운로드",
"exportToPNG": "PNG 다운로드",
"exportToCSV": "CSV 다운로드",
"menu": "메뉴",
"selection": "선택",
"selectionZoom": "선택영역 확대",
"zoomIn": "확대",
"zoomOut": "축소",
"pan": "패닝",
"reset": "원래대로"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "lt",
"options": {
"months": [
"Sausis",
"Vasaris",
"Kovas",
"Balandis",
"Gegužė",
"Birželis",
"Liepa",
"Rugpjūtis",
"Rugsėjis",
"Spalis",
"Lapkritis",
"Gruodis"
],
"shortMonths": [
"Sau",
"Vas",
"Kov",
"Bal",
"Geg",
"Bir",
"Lie",
"Rgp",
"Rgs",
"Spl",
"Lap",
"Grd"
],
"days": [
"Sekmadienis",
"Pirmadienis",
"Antradienis",
"Trečiadienis",
"Ketvirtadienis",
"Penktadienis",
"Šeštadienis"
],
"shortDays": ["Sk", "Per", "An", "Tr", "Kt", "Pn", "Št"],
"toolbar": {
"exportToSVG": "Atsisiųsti SVG",
"exportToPNG": "Atsisiųsti PNG",
"exportToCSV": "Atsisiųsti CSV",
"menu": "Menu",
"selection": "Pasirinkimas",
"selectionZoom": "Zoom: Pasirinkimas",
"zoomIn": "Zoom: Priartinti",
"zoomOut": "Zoom: Atitolinti",
"pan": "Perkėlimas",
"reset": "Atstatyti"
}
}
}

View File

@ -0,0 +1,64 @@
{
"name": "lv",
"options": {
"months": [
"janvāris",
"februāris",
"marts",
"aprīlis",
"maijs",
"jūnijs",
"jūlijs",
"augusts",
"septembris",
"oktobris",
"novembris",
"decembris"
],
"shortMonths": [
"janv",
"febr",
"marts",
"apr",
"maijs",
"jūn",
"jūl",
"aug",
"sept",
"okt",
"nov",
"dec"
],
"days": [
"svētdiena",
"pirmdiena",
"otrdiena",
"trešdiena",
"ceturtdiena",
"piektdiena",
"sestdiena"
],
"shortDays": [
"Sv",
"P",
"O",
"T",
"C",
"P",
"S"
],
"toolbar": {
"exportToSVG": "Lejuplādēt SVG",
"exportToPNG": "Lejuplādēt PNG",
"exportToCSV": "Lejuplādēt CSV",
"menu": "Izvēlne",
"selection": "Atlase",
"selectionZoom": "Pietuvināt atlasi",
"zoomIn": "Pietuvināt",
"zoomOut": "Attālināt",
"pan": "Pārvietoties diagrammā",
"reset": "Atiestatīt pietuvinājumu"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "nb",
"options": {
"months": [
"Januar",
"Februar",
"Mars",
"April",
"Mai",
"Juni",
"Juli",
"August",
"September",
"Oktober",
"November",
"Desember"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"Mai",
"Jun",
"Jul",
"Aug",
"Sep",
"Okt",
"Nov",
"Des"
],
"days": [
"Søndag",
"Mandag",
"Tirsdag",
"Onsdag",
"Torsdag",
"Fredag",
"Lørdag"
],
"shortDays": ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø"],
"toolbar": {
"exportToSVG": "Last ned SVG",
"exportToPNG": "Last ned PNG",
"exportToCSV": "Last ned CSV",
"menu": "Menu",
"selection": "Velg",
"selectionZoom": "Zoom: Velg",
"zoomIn": "Zoome inn",
"zoomOut": "Zoome ut",
"pan": "Skyving",
"reset": "Start på nytt"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "nl",
"options": {
"months": [
"Januari",
"Februari",
"Maart",
"April",
"Mei",
"Juni",
"Juli",
"Augustus",
"September",
"Oktober",
"November",
"December"
],
"shortMonths": [
"Jan",
"Feb",
"Mrt",
"Apr",
"Mei",
"Jun",
"Jul",
"Aug",
"Sep",
"Okt",
"Nov",
"Dec"
],
"days": [
"Zondag",
"Maandag",
"Dinsdag",
"Woensdag",
"Donderdag",
"Vrijdag",
"Zaterdag"
],
"shortDays": ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za"],
"toolbar": {
"exportToSVG": "Download SVG",
"exportToPNG": "Download PNG",
"exportToCSV": "Download CSV",
"menu": "Menu",
"selection": "Selectie",
"selectionZoom": "Zoom selectie",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out",
"pan": "Verplaatsen",
"reset": "Standaardwaarden"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "pl",
"options": {
"months": [
"Styczeń",
"Luty",
"Marzec",
"Kwiecień",
"Maj",
"Czerwiec",
"Lipiec",
"Sierpień",
"Wrzesień",
"Październik",
"Listopad",
"Grudzień"
],
"shortMonths": [
"Sty",
"Lut",
"Mar",
"Kwi",
"Maj",
"Cze",
"Lip",
"Sie",
"Wrz",
"Paź",
"Lis",
"Gru"
],
"days": [
"Niedziela",
"Poniedziałek",
"Wtorek",
"Środa",
"Czwartek",
"Piątek",
"Sobota"
],
"shortDays": ["Nd", "Pn", "Wt", "Śr", "Cz", "Pt", "Sb"],
"toolbar": {
"exportToSVG": "Pobierz SVG",
"exportToPNG": "Pobierz PNG",
"exportToCSV": "Pobierz CSV",
"menu": "Menu",
"selection": "Wybieranie",
"selectionZoom": "Zoom: Wybieranie",
"zoomIn": "Zoom: Przybliż",
"zoomOut": "Zoom: Oddal",
"pan": "Przesuwanie",
"reset": "Resetuj"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "pt-br",
"options": {
"months": [
"Janeiro",
"Fevereiro",
"Março",
"Abril",
"Maio",
"Junho",
"Julho",
"Agosto",
"Setembro",
"Outubro",
"Novembro",
"Dezembro"
],
"shortMonths": [
"Jan",
"Fev",
"Mar",
"Abr",
"Mai",
"Jun",
"Jul",
"Ago",
"Set",
"Out",
"Nov",
"Dez"
],
"days": [
"Domingo",
"Segunda",
"Terça",
"Quarta",
"Quinta",
"Sexta",
"Sábado"
],
"shortDays": ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"],
"toolbar": {
"exportToSVG": "Baixar SVG",
"exportToPNG": "Baixar PNG",
"exportToCSV": "Baixar CSV",
"menu": "Menu",
"selection": "Selecionar",
"selectionZoom": "Selecionar Zoom",
"zoomIn": "Aumentar",
"zoomOut": "Diminuir",
"pan": "Navegação",
"reset": "Reiniciar Zoom"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "pt",
"options": {
"months": [
"Janeiro",
"Fevereiro",
"Março",
"Abril",
"Maio",
"Junho",
"Julho",
"Agosto",
"Setembro",
"Outubro",
"Novembro",
"Dezembro"
],
"shortMonths": [
"Jan",
"Fev",
"Mar",
"Abr",
"Mai",
"Jun",
"Jul",
"Ag",
"Set",
"Out",
"Nov",
"Dez"
],
"days": [
"Domingo",
"Segunda-feira",
"Terça-feira",
"Quarta-feira",
"Quinta-feira",
"Sexta-feira",
"Sábado"
],
"shortDays": ["Do", "Se", "Te", "Qa", "Qi", "Sx", "Sa"],
"toolbar": {
"exportToSVG": "Baixar SVG",
"exportToPNG": "Baixar PNG",
"exportToCSV": "Baixar CSV",
"menu": "Menu",
"selection": "Selecionar",
"selectionZoom": "Zoom: Selecionar",
"zoomIn": "Zoom: Aumentar",
"zoomOut": "Zoom: Diminuir",
"pan": "Deslocamento",
"reset": "Redefinir"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "rs",
"options": {
"months": [
"Januar",
"Februar",
"Mart",
"April",
"Maj",
"Jun",
"Jul",
"Avgust",
"Septembar",
"Oktobar",
"Novembar",
"Decembar"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"Maj",
"Jun",
"Jul",
"Avg",
"Sep",
"Okt",
"Nov",
"Dec"
],
"days": [
"Nedelja",
"Ponedeljak",
"Utorak",
"Sreda",
"Četvrtak",
"Petak",
"Subota"
],
"shortDays": ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub"],
"toolbar": {
"exportToSVG": "Preuzmi SVG",
"exportToPNG": "Preuzmi PNG",
"exportToCSV": "Preuzmi CSV",
"menu": "Meni",
"selection": "Odabir",
"selectionZoom": "Odabirno povećanje",
"zoomIn": "Uvećajte prikaz",
"zoomOut": "Umanjite prikaz",
"pan": "Pomeranje",
"reset": "Resetuj prikaz"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "ru",
"options": {
"months": [
"Январь",
"Февраль",
"Март",
"Апрель",
"Май",
"Июнь",
"Июль",
"Август",
"Сентябрь",
"Октябрь",
"Ноябрь",
"Декабрь"
],
"shortMonths": [
"Янв",
"Фев",
"Мар",
"Апр",
"Май",
"Июн",
"Июл",
"Авг",
"Сен",
"Окт",
"Ноя",
"Дек"
],
"days": [
"Воскресенье",
"Понедельник",
"Вторник",
"Среда",
"Четверг",
"Пятница",
"Суббота"
],
"shortDays": ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
"toolbar": {
"exportToSVG": "Сохранить SVG",
"exportToPNG": "Сохранить PNG",
"exportToCSV": "Сохранить CSV",
"menu": "Меню",
"selection": "Выбор",
"selectionZoom": "Выбор с увеличением",
"zoomIn": "Увеличить",
"zoomOut": "Уменьшить",
"pan": "Перемещение",
"reset": "Сбросить увеличение"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "se",
"options": {
"months": [
"Januari",
"Februari",
"Mars",
"April",
"Maj",
"Juni",
"Juli",
"Augusti",
"September",
"Oktober",
"November",
"December"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"Maj",
"Juni",
"Juli",
"Aug",
"Sep",
"Okt",
"Nov",
"Dec"
],
"days": [
"Söndag",
"Måndag",
"Tisdag",
"Onsdag",
"Torsdag",
"Fredag",
"Lördag"
],
"shortDays": ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"],
"toolbar": {
"exportToSVG": "Ladda SVG",
"exportToPNG": "Ladda PNG",
"exportToCSV": "Ladda CSV",
"menu": "Meny",
"selection": "Selektion",
"selectionZoom": "Val av zoom",
"zoomIn": "Zooma in",
"zoomOut": "Zooma ut",
"pan": "Panorering",
"reset": "Återställ zoomning"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "sk",
"options": {
"months": [
"Január",
"Február",
"Marec",
"Apríl",
"Máj",
"Jún",
"Júl",
"August",
"September",
"Október",
"November",
"December"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"Máj",
"Jún",
"Júl",
"Aug",
"Sep",
"Okt",
"Nov",
"Dec"
],
"days": [
"Nedeľa",
"Pondelok",
"Utorok",
"Streda",
"Štvrtok",
"Piatok",
"Sobota"
],
"shortDays": ["Ne", "Po", "Ut", "St", "Št", "Pi", "So"],
"toolbar": {
"exportToSVG": "Stiahnuť SVG",
"exportToPNG": "Stiahnuť PNG",
"exportToCSV": "Stiahnuť CSV",
"menu": "Menu",
"selection": "Vyberanie",
"selectionZoom": "Zoom: Vyberanie",
"zoomIn": "Zoom: Priblížiť",
"zoomOut": "Zoom: Vzdialiť",
"pan": "Presúvanie",
"reset": "Resetovať"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "sl",
"options": {
"months": [
"Januar",
"Februar",
"Marec",
"April",
"Maj",
"Junij",
"Julij",
"Avgust",
"Septemer",
"Oktober",
"November",
"December"
],
"shortMonths": [
"Jan",
"Feb",
"Mar",
"Apr",
"Maj",
"Jun",
"Jul",
"Avg",
"Sep",
"Okt",
"Nov",
"Dec"
],
"days": [
"Nedelja",
"Ponedeljek",
"Torek",
"Sreda",
"Četrtek",
"Petek",
"Sobota"
],
"shortDays": ["Ne", "Po", "To", "Sr", "Če", "Pe", "So"],
"toolbar": {
"exportToSVG": "Prenesi SVG",
"exportToPNG": "Prenesi PNG",
"exportToCSV": "Prenesi CSV",
"menu": "Menu",
"selection": "Izbiranje",
"selectionZoom": "Zoom: Izbira",
"zoomIn": "Zoom: Približaj",
"zoomOut": "Zoom: Oddalji",
"pan": "Pomikanje",
"reset": "Resetiraj"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "sq",
"options": {
"months": [
"Janar",
"Shkurt",
"Mars",
"Prill",
"Maj",
"Qershor",
"Korrik",
"Gusht",
"Shtator",
"Tetor",
"Nëntor",
"Dhjetor"
],
"shortMonths": [
"Jan",
"Shk",
"Mar",
"Pr",
"Maj",
"Qer",
"Korr",
"Gush",
"Sht",
"Tet",
"Nën",
"Dhj"
],
"days": [
"e Dielë",
"e Hënë",
"e Martë",
"e Mërkurë",
"e Enjte",
"e Premte",
"e Shtunë"
],
"shortDays": ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Sht"],
"toolbar": {
"exportToSVG": "Shkarko SVG",
"exportToPNG": "Shkarko PNG",
"exportToCSV": "Shkarko CSV",
"menu": "Menu",
"selection": "Seleksiono",
"selectionZoom": "Seleksiono Zmadhim",
"zoomIn": "Zmadho",
"zoomOut": "Zvogëlo",
"pan": "Spostoje",
"reset": "Rikthe dimensionin"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "th",
"options": {
"months": [
"มกราคม",
"กุมภาพันธ์",
"มีนาคม",
"เมษายน",
"พฤษภาคม",
"มิถุนายน",
"กรกฎาคม",
"สิงหาคม",
"กันยายน",
"ตุลาคม",
"พฤศจิกายน",
"ธันวาคม"
],
"shortMonths": [
"ม.ค.",
"ก.พ.",
"มี.ค.",
"เม.ย.",
"พ.ค.",
"มิ.ย.",
"ก.ค.",
"ส.ค.",
"ก.ย.",
"ต.ค.",
"พ.ย.",
"ธ.ค."
],
"days": [
"อาทิตย์",
"จันทร์",
"อังคาร",
"พุธ",
"พฤหัสบดี",
"ศุกร์",
"เสาร์"
],
"shortDays": ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส"],
"toolbar": {
"exportToSVG": "ดาวน์โหลด SVG",
"exportToPNG": "ดาวน์โหลด PNG",
"exportToCSV": "ดาวน์โหลด CSV",
"menu": "เมนู",
"selection": "เลือก",
"selectionZoom": "เลือกจุดที่จะซูม",
"zoomIn": "ซูมเข้า",
"zoomOut": "ซูมออก",
"pan": "ปรากฎว่า",
"reset": "รีเซ็ตการซูม"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "tr",
"options": {
"months": [
"Ocak",
"Şubat",
"Mart",
"Nisan",
"Mayıs",
"Haziran",
"Temmuz",
"Ağustos",
"Eylül",
"Ekim",
"Kasım",
"Aralık"
],
"shortMonths": [
"Oca",
"Şub",
"Mar",
"Nis",
"May",
"Haz",
"Tem",
"Ağu",
"Eyl",
"Eki",
"Kas",
"Ara"
],
"days": [
"Pazar",
"Pazartesi",
"Salı",
"Çarşamba",
"Perşembe",
"Cuma",
"Cumartesi"
],
"shortDays": ["Paz", "Pzt", "Sal", "Çar", "Per", "Cum", "Cmt"],
"toolbar": {
"exportToSVG": "SVG İndir",
"exportToPNG": "PNG İndir",
"exportToCSV": "CSV İndir",
"menu": "Menü",
"selection": "Seçim",
"selectionZoom": "Seçim Yakınlaştır",
"zoomIn": "Yakınlaştır",
"zoomOut": "Uzaklaştır",
"pan": "Kaydır",
"reset": "Yakınlaştırmayı Sıfırla"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "ua",
"options": {
"months": [
"Січень",
"Лютий",
"Березень",
"Квітень",
"Травень",
"Червень",
"Липень",
"Серпень",
"Вересень",
"Жовтень",
"Листопад",
"Грудень"
],
"shortMonths": [
"Січ",
"Лют",
"Бер",
"Кві",
"Тра",
"Чер",
"Лип",
"Сер",
"Вер",
"Жов",
"Лис",
"Гру"
],
"days": [
"Неділя",
"Понеділок",
"Вівторок",
"Середа",
"Четвер",
"П'ятниця",
"Субота"
],
"shortDays": ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
"toolbar": {
"exportToSVG": "Зберегти SVG",
"exportToPNG": "Зберегти PNG",
"exportToCSV": "Зберегти CSV",
"menu": "Меню",
"selection": "Вибір",
"selectionZoom": "Вибір із збільшенням",
"zoomIn": "Збільшити",
"zoomOut": "Зменшити",
"pan": "Переміщення",
"reset": "Скинути збільшення"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "zh-cn",
"options": {
"months": [
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月"
],
"shortMonths": [
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月"
],
"days": [
"星期天",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六"
],
"shortDays": ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
"toolbar": {
"exportToSVG": "下载 SVG",
"exportToPNG": "下载 PNG",
"exportToCSV": "下载 CSV",
"menu": "菜单",
"selection": "选择",
"selectionZoom": "选择缩放",
"zoomIn": "放大",
"zoomOut": "缩小",
"pan": "平移",
"reset": "重置缩放"
}
}
}

View File

@ -0,0 +1,55 @@
{
"name": "zh-tw",
"options": {
"months": [
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月"
],
"shortMonths": [
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月"
],
"days": [
"星期日",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六"
],
"shortDays": ["週日", "週一", "週二", "週三", "週四", "週五", "週六"],
"toolbar": {
"exportToSVG": "下載 SVG",
"exportToPNG": "下載 PNG",
"exportToCSV": "下載 CSV",
"menu": "菜單",
"selection": "選擇",
"selectionZoom": "選擇縮放",
"zoomIn": "放大",
"zoomOut": "縮小",
"pan": "平移",
"reset": "重置縮放"
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"/livewire.js":"/livewire.js?id=c69d0f2801c01fcf8166"} {"/livewire.js":"/livewire.js?id=de3fca26689cb5a39af4"}

View File

@ -710,9 +710,9 @@ export default {
Promise.resolve(window.axios.get(url)) Promise.resolve(window.axios.get(url))
.then(response => { .then(response => {
if (response.data.success) { if (response.data.success) {
modal.title = response.data.title; modal.title = response.data.data.title;
modal.html = response.data.html; modal.html = response.data.html;
modal.buttons = response.data.buttons; modal.buttons = response.data.data.buttons;
this.component = Vue.component('add-new-component', (resolve, reject) => { this.component = Vue.component('add-new-component', (resolve, reject) => {
resolve({ resolve({

View File

@ -12,7 +12,15 @@
<div class="flex flex-col justify-between"> <div class="flex flex-col justify-between">
<div class="grid sm:grid-cols-6 gap-x-8 gap-y-6 my-3.5 menu-scroll gap-10"> <div class="grid sm:grid-cols-6 gap-x-8 gap-y-6 my-3.5 menu-scroll gap-10">
<div class="sm:col-span-6"> <div class="sm:col-span-6">
<base-input not-required :label="translations.company.api_key" name="api_key" data-name="api_key" :placeholder="translations.company.api_key" v-model="company.api_key"/> <base-input
not-required
:label="translations.company.api_key"
name="api_key"
data-name="api_key"
:placeholder="translations.company.api_key"
v-model="company.api_key"
:error="onFailErrorGet('api_key')"
/>
<div class="mt-2"> <div class="mt-2">
<small> <small>
@ -23,11 +31,25 @@
</div> </div>
<div class="sm:col-span-3"> <div class="sm:col-span-3">
<base-input not-required type="text" :label="translations.company.tax_number" name="tax_number" data-name="tax_number" :placeholder="translations.company.tax_number" v-model="company.tax_number"/> <base-input
not-required
type="text"
:label="translations.company.tax_number"
name="tax_number"
data-name="tax_number"
:placeholder="translations.company.tax_number"
v-model="company.tax_number"
:error="onFailErrorGet('tax_number')"
/>
</div> </div>
<div class="sm:col-span-3"> <div class="sm:col-span-3">
<akaunting-date not-required :title="translations.company.financial_start" data-name="financial_start" :placeholder="translations.company.financial_start" icon="calendar_today" <akaunting-date
not-required
:title="translations.company.financial_start"
data-name="financial_start"
:placeholder="translations.company.financial_start"
icon="calendar_today"
:date-config="{ :date-config="{
dateFormat: 'd-m', dateFormat: 'd-m',
allowInput: false, allowInput: false,
@ -35,18 +57,19 @@
altFormat: 'j F' altFormat: 'j F'
}" }"
v-model="company.financial_start" v-model="company.financial_start"
:form-error="onFailErrorGet('financial_start')"
></akaunting-date> ></akaunting-date>
</div> </div>
<div class="sm:col-span-3 grid gap-10"> <div class="sm:col-span-3 grid gap-10">
<div class="sm:col-span-3"> <div class="sm:col-span-3">
<base-input not-required :label="translations.company.address"> <base-input not-required :label="translations.company.address" :error="onFailErrorGet('address')">
<textarea class="w-full text-sm px-3 py-2.5 mt-1 rounded-lg border border-light-gray text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple" name="address" data-name="address" rows="3" :placeholder="translations.company.address" v-model="company.address"></textarea> <textarea class="w-full text-sm px-3 py-2.5 mt-1 rounded-lg border border-light-gray text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple" name="address" data-name="address" rows="3" :placeholder="translations.company.address" v-model="company.address"></textarea>
</base-input> </base-input>
</div> </div>
<div class="sm:col-span-3"> <div class="sm:col-span-3">
<base-input not-required :label="translations.company.country"> <base-input not-required :label="translations.company.country" :error="onFailErrorGet('country')">
<el-select v-model="company.country" filterable> <el-select v-model="company.country" filterable>
<el-option <el-option
v-for="(country, index) in sortedCountries" v-for="(country, index) in sortedCountries"
@ -63,24 +86,31 @@
</div> </div>
<div class="sm:col-span-3"> <div class="sm:col-span-3">
<label class="text-black text-sm font-medium">{{ translations.company.logo }}</label> <label class="text-black text-sm font-medium">
{{ translations.company.logo }}
</label>
<akaunting-dropzone-file-upload ref="dropzoneWizard" class="form-file dropzone-column w-2/5" style="height:12.2rem" preview-classes="single" :attachments="logo" :v-model="logo"> <akaunting-dropzone-file-upload ref="dropzoneWizard" class="form-file dropzone-column w-2/5" style="height:12.2rem" preview-classes="single" :attachments="logo" :v-model="logo">
</akaunting-dropzone-file-upload> </akaunting-dropzone-file-upload>
<div v-if="onFailErrorGet('logo')" class="text-red text-sm mt-1 block" v-html="onFailErrorGet('logo')"></div>
</div> </div>
</div> </div>
<div class="flex items-center justify-center mt-5 gap-x-10"> <div class="flex items-center justify-center mt-5 gap-x-10">
<base-button class="w-1/2 flex items-center justify-center px-6 py-1.5 text-base rounded-lg bg-transparent hover:bg-gray-100" @click="next()">{{ translations.company.skip }}</base-button> <base-button class="w-1/2 flex items-center justify-center px-6 py-1.5 text-base rounded-lg bg-transparent hover:bg-gray-100" @click="next()">
{{ translations.company.skip }}
</base-button>
<button <button
type="submit" type="submit"
id="button" id="button"
:disabled="button_loading" :disabled="button_loading_company"
class="w-1/2 relative flex items-center justify-center bg-green hover:bg-green-700 text-white px-6 py-1.5 text-base rounded-lg disabled:bg-green-100" class="w-1/2 relative flex items-center justify-center bg-green hover:bg-green-700 text-white px-6 py-1.5 text-base rounded-lg disabled:bg-green-100"
@click="onEditSave($event)" @click="onEditSave($event)"
> >
<i v-if="button_loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i> <i v-if="button_loading_company" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
<span :class="[{'opacity-0': button_loading}]"> <span :class="[{'opacity-0': button_loading_company}]">
{{ translations.company.save }} {{ translations.company.save }}
</span> </span>
</button> </button>
@ -156,6 +186,7 @@ export default {
real_date: "", real_date: "",
lang_data: '', lang_data: '',
sorted_countries: [], sorted_countries: [],
button_loading_company: false
}; };
}, },
@ -250,6 +281,7 @@ export default {
size: company.logo.size, size: company.logo.size,
downloadPath: false, downloadPath: false,
}]; }];
this.logo.push(logo_arr); this.logo.push(logo_arr);
} }
} }
@ -258,6 +290,8 @@ export default {
onEditSave(event) { onEditSave(event) {
event.preventDefault(); event.preventDefault();
this.button_loading_company = true;
FormData.prototype.appendRecursive = function (data, wrapper = null) { FormData.prototype.appendRecursive = function (data, wrapper = null) {
for (var name in data) { for (var name in data) {
if (name == "previewElement" || name == "previewTemplate") { if (name == "previewElement" || name == "previewTemplate") {
@ -331,8 +365,11 @@ export default {
this.onSuccessMessage(response); this.onSuccessMessage(response);
this.$router.push("/wizard/currencies"); this.$router.push("/wizard/currencies");
this.button_loading_company = false;
}, this) }, this)
.catch((error) => { .catch((error) => {
this.onFailError(error);
this.button_loading_company = false;
}, this); }, this);
}, },

View File

@ -15,6 +15,7 @@
<h1 class="sm:col-span-6 text-black-300 mb-2"> <h1 class="sm:col-span-6 text-black-300 mb-2">
{{ translations.finish.recommended_apps }} {{ translations.finish.recommended_apps }}
</h1> </h1>
<div v-for="(item, index) in modules" :key="index" class="sm:col-span-6 mb-6"> <div v-for="(item, index) in modules" :key="index" class="sm:col-span-6 mb-6">
<a :href="route_url + '/apps/' + item.slug" class="flex items-center"> <a :href="route_url + '/apps/' + item.slug" class="flex items-center">
<div class="w-1/4"> <div class="w-1/4">
@ -24,14 +25,18 @@
class="rounded-lg object-cover" class="rounded-lg object-cover"
/> />
</div> </div>
<div class="w-3/4 ltr:pl-8 rtl:pr-8"> <div class="w-3/4 ltr:pl-8 rtl:pr-8">
<span class="font-medium">{{ item.name }}</span> <span class="font-medium">
<div class="text-black-300 text-sm my-2 line-clamp-2 h-10" {{ item.name }}
v-html="item.description"></div> </span>
<div class="text-black-300 text-sm my-2 line-clamp-2 h-10" v-html="item.description"></div>
</div> </div>
</a> </a>
</div> </div>
</div> </div>
<div class="lg:hidden"> <div class="lg:hidden">
<base-button class="btn flex items-center justify-center text-base disabled:opacity-50 relative mt-5 mx-auto bg-green hover:bg-gray-100 text-white rounded-md py-3 px-5 font-semibold" @click="finish()"> <base-button class="btn flex items-center justify-center text-base disabled:opacity-50 relative mt-5 mx-auto bg-green hover:bg-gray-100 text-white rounded-md py-3 px-5 font-semibold" @click="finish()">
{{ translations.finish.create_first_invoice }} {{ translations.finish.create_first_invoice }}
@ -44,14 +49,24 @@
<div class="w-48 text-white rtl:float-left rtl:text-left text-2xl font-semibold leading-9"> <div class="w-48 text-white rtl:float-left rtl:text-left text-2xl font-semibold leading-9">
{{ translations.finish.apps_managing }} {{ translations.finish.apps_managing }}
</div> </div>
<div style="width:372px; height:372px;"></div> <div style="width:372px; height:372px;"></div>
<img :src="image_src" class="absolute top-0 right-2" alt="" /> <img :src="image_src" class="absolute top-0 right-2" alt="" />
</div> </div>
<base-button class="flex items-center justify-center text-base rounded-lg disabled:opacity-50 relative m-auto bottom-48 bg-white hover:bg-gray-100 text-purple rounded-md py-3 px-5 font-semibold btn-default" @click="finish()">
<base-button
class="relative flex items-center justify-center text-base rounded-lg m-auto bottom-48 bg-white hover:bg-gray-100 text-purple py-3 px-5 font-semibold disabled:bg-gray-100 "
:disabled="anchor_loading"
@click="finish()"
>
<i v-if="anchor_loading" class="animate-submit_second delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-2.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit_second before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit_second before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
<span :class="[{'opacity-0': anchor_loading}]">
{{ translations.finish.create_first_invoice }} {{ translations.finish.create_first_invoice }}
</span>
</base-button> </base-button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -86,6 +101,7 @@ export default {
active: 3, active: 3,
route_url: url, route_url: url,
image_src: app_url + "/public/img/wizard-modules.png", image_src: app_url + "/public/img/wizard-modules.png",
anchor_loading: false
}; };
}, },
@ -117,6 +133,7 @@ export default {
finish() { finish() {
window.location.href = url + "/sales/invoices/create"; window.location.href = url + "/sales/invoices/create";
this.anchor_loading = true;
}, },
}, },
}; };

View File

@ -6,8 +6,12 @@
<span class="pr-6 flex flex-col"> <span class="pr-6 flex flex-col">
<span <span
:class="[{'bg-purple': active_state > 0}, {'bg-purple': active_state == 0}]" :class="[{'bg-purple': active_state > 0}, {'bg-purple': active_state == 0}]"
class="w-full h-1 bg-gray-300 rounded-xl text-transparent">Text</span> class="w-full h-1 bg-gray-300 rounded-xl text-transparent"
<span :class="[{'font-bold': active_state == 0}, {'font-bold': active_state > 0}]" class="text-sm font-normal mt-2">{{ translations.company.title }}</span> >Text</span>
<span :class="[{'font-bold': active_state == 0}, {'font-bold': active_state > 0}]" class="text-sm font-normal mt-2">
{{ translations.company.title }}
</span>
</span> </span>
</li> </li>
@ -15,8 +19,12 @@
<span class="px-3 flex flex-col"> <span class="px-3 flex flex-col">
<span <span
:class="[{'bg-purple': active_state > 1}, {'bg-purple': active_state == 1}]" :class="[{'bg-purple': active_state > 1}, {'bg-purple': active_state == 1}]"
class="w-full h-1 bg-gray-300 rounded-xl text-transparent">Text</span> class="w-full h-1 bg-gray-300 rounded-xl text-transparent"
<span :class="[{'font-bold': active_state == 1}, {'font-bold': active_state > 1}]" class="text-sm font-normal mt-2">{{ translations.currencies.title }}</span> >Text</span>
<span :class="[{'font-bold': active_state == 1}, {'font-bold': active_state > 1}]" class="text-sm font-normal mt-2">
{{ translations.currencies.title }}
</span>
</span> </span>
</li> </li>
@ -24,8 +32,12 @@
<span class="px-3 flex flex-col"> <span class="px-3 flex flex-col">
<span <span
:class="[{'bg-purple': active_state > 2}, {'bg-purple': active_state == 2}]" :class="[{'bg-purple': active_state > 2}, {'bg-purple': active_state == 2}]"
class="w-full h-1 bg-gray-300 rounded-xl text-transparent">Text</span> class="w-full h-1 bg-gray-300 rounded-xl text-transparent"
<span :class="[{'font-bold': active_state == 2}, {'font-bold': active_state > 2}]" class="text-sm font-normal mt-2">{{ translations.taxes.title }}</span> >Text</span>
<span :class="[{'font-bold': active_state == 2}, {'font-bold': active_state > 2}]" class="text-sm font-normal mt-2">
{{ translations.taxes.title }}
</span>
</span> </span>
</li> </li>
@ -33,8 +45,12 @@
<span class="pl-6 flex flex-col"> <span class="pl-6 flex flex-col">
<span <span
:class="[{'bg-purple': active_state == 3}]" :class="[{'bg-purple': active_state == 3}]"
class="w-full h-1 bg-gray-300 rounded-xl text-transparent">Text</span> class="w-full h-1 bg-gray-300 rounded-xl text-transparent"
<span :class="[{'font-bold': active_state == 3}]" class="text-sm font-normal mt-2">{{ translations.finish.title }}</span> >Text</span>
<span :class="[{'font-bold': active_state == 3}]" class="text-sm font-normal mt-2">
{{ translations.finish.title }}
</span>
</span> </span>
</li> </li>
</ol> </ol>

View File

@ -87,6 +87,13 @@ L\'actualització de :alias des de :current_version a :new_version ha fallat al
], ],
'import_failed' => [
'subject' => 'Ha fallat la importació',
'description' => 'No s\'ha pogut importar l\'arxiu per vàries raons. Pots mirar el teu correu per tenir-ne més detalls.',
],
'new_apps' => [ 'new_apps' => [
'title' => 'Nova App', 'title' => 'Nova App',

View File

@ -25,7 +25,7 @@
{{ $button['text'] }} {{ $button['text'] }}
@if (! empty($button['active_badge'])) @if (! empty($button['active_badge']))
<div class="absolute w-7 h-7 opacity-100 z-20 -top-1.5 -right-8"> <div class="absolute w-7 h-7 opacity-100 z-10 -top-1.5 -right-8">
<div class="absolute w-5 h-5 left-0 top-1 border border-gray-100 rounded-full animate-pulsate_transparent bg-white"></div> <div class="absolute w-5 h-5 left-0 top-1 border border-gray-100 rounded-full animate-pulsate_transparent bg-white"></div>
<div class="absolute w-2 h-2 top-2.5 left-1.5 rounded-full bg-green-400"></div> <div class="absolute w-2 h-2 top-2.5 left-1.5 rounded-full bg-green-400"></div>
</div> </div>

View File

@ -5,24 +5,33 @@
@else @else
<span class="material-icons text-base">attach_file</span> <span class="material-icons text-base">attach_file</span>
@endif @endif
<div class="flex flex-col text-gray-500 ltr:ml-3 rtl:mr-3 gap-y-1"> <div class="flex flex-col text-gray-500 ltr:ml-3 rtl:mr-3 gap-y-1">
<span class="w-64 text-sm truncate">{{ $file->basename }}</span> <span class="w-64 text-sm truncate">
<span class="text-xs mb-0">{{ $file->readableSize() }}</span> {{ $file->basename }}
</span>
<span class="text-xs mb-0">
{{ $file->readableSize() }}
</span>
</div> </div>
</div> </div>
<div class="flex flex-row lg:flex-col gap-x-1"> <div class="flex flex-row lg:flex-col gap-x-1">
@can('delete-common-uploads') @can('delete-common-uploads')
<a href="javascript:void();" id="remove-{{ $column_name }}" @click="onDeleteFile('{{ $file->id }}', '{{ route('uploads.destroy', $file->id) }}', '{{ trans('general.title.delete', ['type' => $column_name]) }}', '{{ trans('general.delete_confirm', ['name' => $file->basename, 'type' => $column_name]) }} ', '{{ trans('general.cancel') }}', '{{ trans('general.delete') }}')" type="button" class="group"> <a href="javascript:void();" id="remove-{{ $column_name }}" @click="onDeleteFile('{{ $file->id }}', '{{ route('uploads.destroy', $file->id) }}', '{{ trans('general.title.delete', ['type' => $column_name]) }}', '{{ trans('general.delete_confirm', ['name' => $file->basename, 'type' => $column_name]) }} ', '{{ trans('general.cancel') }}', '{{ trans('general.delete') }}')" type="button" class="group">
<span class="material-icons text-base text-red px-1.5 py-1 rounded-lg group-hover:bg-gray-100">delete</span> <span class="material-icons text-base text-red px-1.5 py-1 rounded-lg group-hover:bg-gray-100">delete</span>
</a> </a>
@if ($options) @if ($options)
<input type="hidden" name="page_{{ $file->id}}" id="file-page-{{ $file->id}}" value="{{ $options['page'] }}" /> <input type="hidden" name="page_{{ $file->id}}" id="file-page-{{ $file->id}}" value="{{ $options['page'] }}" />
<input type="hidden" name="key_{{ $file->id}}" id="file-key-{{ $file->id}}" value="{{ $options['key'] }}" /> <input type="hidden" name="key_{{ $file->id}}" id="file-key-{{ $file->id}}" value="{{ $options['key'] }}" />
<input type="hidden" name="value_{{ $file->id}}" id="file-value-{{ $file->id}}" value="{{ $file->id }}" /> <input type="hidden" name="value_{{ $file->id}}" id="file-value-{{ $file->id}}" value="{{ $file->id }}" />
@endif @endif
@endcan
<a href="{{ route('uploads.download', $file->id) }}" type="button" class="group"> <a href="{{ route('uploads.download', $file->id) }}" type="button" class="group">
<span class="material-icons text-base text-purple px-1.5 py-1 rounded-lg group-hover:bg-gray-100">download</span> <span class="material-icons text-base text-purple px-1.5 py-1 rounded-lg group-hover:bg-gray-100">download</span>
</a> </a>
@endcan
</div> </div>
</div> </div>

View File

@ -105,7 +105,7 @@
@foreach ($invoice->transactions as $transaction) @foreach ($invoice->transactions as $transaction)
<div class="my-2"> <div class="my-2">
<span> <span>
<x-link href="{{ \URL::signedRoute('portal.payments.show', [$transaction->id]) }}" class="text-black bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-black transition-backgroundSize" override="class"> <x-link href="{{ \URL::signedRoute('signed.payments.show', [$transaction->id]) }}" class="text-black bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-black transition-backgroundSize" override="class">
<x-date :date="$transaction->paid_at" /> <x-date :date="$transaction->paid_at" />
</x-link> </x-link>
- {!! trans('documents.transaction', [ - {!! trans('documents.transaction', [