Merge branch 'master' of https://github.com/brkcvn/akaunting into button-loading

This commit is contained in:
Burak Civan 2022-06-16 14:47:57 +03:00
commit ff640cba15
90 changed files with 3829 additions and 14776 deletions

View File

@ -975,7 +975,7 @@ abstract class Show extends Component
$backgroundColor = setting($this->getSettingKey($type, 'color'), '#55588b'); $backgroundColor = setting($this->getSettingKey($type, 'color'), '#55588b');
return $backgroundColor; return $this->convertClasstoHex($backgroundColor);
} }
protected function getTextDocumentTitle($type, $textDocumentTitle) protected function getTextDocumentTitle($type, $textDocumentTitle)

View File

@ -276,7 +276,7 @@ abstract class Template extends Component
$backgroundColor = setting($this->getSettingKey($type, 'color'), '#55588b'); $backgroundColor = setting($this->getSettingKey($type, 'color'), '#55588b');
return $backgroundColor; return $this->convertClasstoHex($backgroundColor);
} }
protected function getTextDocumentTitle($type, $textDocumentTitle) protected function getTextDocumentTitle($type, $textDocumentTitle)

View File

@ -299,6 +299,9 @@ abstract class Show extends Component
/** @var bool */ /** @var bool */
public $hideRecurringMessage; public $hideRecurringMessage;
/** @var bool */
public $hideCreated;
/** /**
* Create a new component instance. * Create a new component instance.
* *
@ -327,7 +330,7 @@ abstract class Show extends Component
string $routeDocumentShow = '', string $routeTransactionShow = '', string $textButtonAddNew = '', string $routeDocumentShow = '', string $routeTransactionShow = '', string $textButtonAddNew = '',
bool $hideSchedule = false, bool $hideChildren = false, bool $hideAttachment = false, $attachment = [], bool $hideSchedule = false, bool $hideChildren = false, bool $hideAttachment = false, $attachment = [],
array $connectTranslations = [], string $textRecurringType = '', bool $hideRecurringMessage = false array $connectTranslations = [], string $textRecurringType = '', bool $hideRecurringMessage = false, bool $hideCreated = false
) { ) {
$this->type = $type; $this->type = $type;
$this->transaction = $transaction; $this->transaction = $transaction;
@ -461,6 +464,7 @@ abstract class Show extends Component
$this->textRecurringType = $this->getTextRecurringType($type, $textRecurringType); $this->textRecurringType = $this->getTextRecurringType($type, $textRecurringType);
$this->hideRecurringMessage = $hideRecurringMessage; $this->hideRecurringMessage = $hideRecurringMessage;
$this->hideCreated = $hideCreated;
} }
protected function getTransactionTemplate($type, $transactionTemplate) protected function getTransactionTemplate($type, $transactionTemplate)

View File

@ -5,7 +5,7 @@ namespace App\BulkActions\Sales;
use App\Abstracts\BulkAction; use App\Abstracts\BulkAction;
use App\Events\Document\DocumentCancelled; use App\Events\Document\DocumentCancelled;
use App\Events\Document\DocumentCreated; use App\Events\Document\DocumentCreated;
use App\Events\Document\DocumentSent; use App\Events\Document\DocumentMarkedSent;
use App\Events\Document\PaymentReceived; use App\Events\Document\PaymentReceived;
use App\Exports\Sales\Invoices as Export; use App\Exports\Sales\Invoices as Export;
use App\Jobs\Document\DeleteDocument; use App\Jobs\Document\DeleteDocument;
@ -58,7 +58,7 @@ class Invoices extends BulkAction
continue; continue;
} }
event(new DocumentSent($invoice)); event(new DocumentMarkedSent($invoice));
} }
} }

View File

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

View File

@ -220,7 +220,7 @@ class Invoices extends Controller
*/ */
public function markSent(Document $invoice) public function markSent(Document $invoice)
{ {
event(new \App\Events\Document\DocumentSent($invoice)); event(new \App\Events\Document\DocumentMarkedSent($invoice));
$message = trans('documents.messages.marked_sent', ['type' => trans_choice('general.invoices', 1)]); $message = trans('documents.messages.marked_sent', ['type' => trans_choice('general.invoices', 1)]);

View File

@ -27,7 +27,13 @@ class Favorites extends Component
foreach ($favorites as $favorite) { foreach ($favorites as $favorite) {
$favorite['active'] = false; $favorite['active'] = false;
try {
$favorite['url'] = $this->getUrl($favorite); $favorite['url'] = $this->getUrl($favorite);
} catch (\Exception $e) {
continue;
}
$favorite['id'] = $this->getId($favorite); $favorite['id'] = $this->getId($favorite);
if ($this->isActive($favorite['url'])) { if ($this->isActive($favorite['url'])) {

View File

@ -2,7 +2,8 @@
namespace App\Listeners\Document; namespace App\Listeners\Document;
use App\Events\Document\DocumentSent as Event; use App\Events\Document\DocumentMarkedSent;
use App\Events\Document\DocumentSent;
use App\Jobs\Document\CreateDocumentHistory; use App\Jobs\Document\CreateDocumentHistory;
use App\Traits\Jobs; use App\Traits\Jobs;
@ -10,13 +11,7 @@ class MarkDocumentSent
{ {
use Jobs; use Jobs;
/** public function handle(DocumentMarkedSent|DocumentSent $event): void
* Handle the event.
*
* @param $event
* @return void
*/
public function handle(Event $event)
{ {
if ($event->document->status != 'partial') { if ($event->document->status != 'partial') {
$event->document->status = 'sent'; $event->document->status = 'sent';
@ -24,6 +19,11 @@ class MarkDocumentSent
$event->document->save(); $event->document->save();
} }
$this->dispatch(new CreateDocumentHistory($event->document, 0, $this->getDescription($event)));
}
public function getDescription(DocumentMarkedSent|DocumentSent $event): string
{
$type_text = ''; $type_text = '';
if ($alias = config('type.document.' . $event->document->type . '.alias', '')) { if ($alias = config('type.document.' . $event->document->type . '.alias', '')) {
@ -34,12 +34,8 @@ class MarkDocumentSent
$type = trans_choice($type_text, 1); $type = trans_choice($type_text, 1);
$this->dispatch( $message = ($event instanceof DocumentMarkedSent) ? 'marked_sent' : 'email_sent';
new CreateDocumentHistory(
$event->document, return trans('documents.messages.' . $message, ['type' => $type]);
0,
trans('documents.messages.marked_sent', ['type' => $type])
)
);
} }
} }

View File

@ -480,7 +480,7 @@ class Transaction extends Model
'permission' => 'create-banking-transactions', 'permission' => 'create-banking-transactions',
'attributes' => [ 'attributes' => [
'id' => 'index-transactions-more-actions-connect-' . $this->id, 'id' => 'index-transactions-more-actions-connect-' . $this->id,
'@click' => 'onConnect(\'' . route('transactions.dial', $this->id) . '\')', '@click' => 'onConnectTransactions(\'' . route('transactions.dial', $this->id) . '\')',
], ],
]; ];

View File

@ -179,24 +179,29 @@ class Document extends Model
return $query->whereDate('due_at', '=', $date); return $query->whereDate('due_at', '=', $date);
} }
public function scopeStatus(Builder $query, string $status): Builder
{
return $query->where($this->qualifyColumn('status'), '=', $status);
}
public function scopeAccrued(Builder $query): Builder public function scopeAccrued(Builder $query): Builder
{ {
return $query->whereNotIn('status', ['draft', 'cancelled']); return $query->whereNotIn($this->qualifyColumn('status'), ['draft', 'cancelled']);
} }
public function scopePaid(Builder $query): Builder public function scopePaid(Builder $query): Builder
{ {
return $query->where('status', '=', 'paid'); return $query->where($this->qualifyColumn('status'), '=', 'paid');
} }
public function scopeNotPaid(Builder $query): Builder public function scopeNotPaid(Builder $query): Builder
{ {
return $query->where('status', '<>', 'paid'); return $query->where($this->qualifyColumn('status'), '<>', 'paid');
} }
public function scopeFuture(Builder $query): Builder public function scopeFuture(Builder $query): Builder
{ {
return $query->whereIn('status', $this->getDocumentStatusesForFuture()); return $query->whereIn($this->qualifyColumn('status'), $this->getDocumentStatusesForFuture());
} }
public function scopeType(Builder $query, string $type): Builder public function scopeType(Builder $query, string $type): Builder
@ -244,14 +249,14 @@ class Document extends Model
public function getSentAtAttribute(string $value = null) public function getSentAtAttribute(string $value = null)
{ {
$sent = $this->histories()->where('status', 'sent')->first(); $sent = $this->histories()->where('document_histories.status', 'sent')->first();
return $sent->created_at ?? null; return $sent->created_at ?? null;
} }
public function getReceivedAtAttribute(string $value = null) public function getReceivedAtAttribute(string $value = null)
{ {
$received = $this->histories()->where('status', 'received')->first(); $received = $this->histories()->where('document_histories.status', 'received')->first();
return $received->created_at ?? null; return $received->created_at ?? null;
} }

View File

@ -57,6 +57,9 @@ class Event extends Provider
'App\Listeners\Document\CreateDocumentTransaction', 'App\Listeners\Document\CreateDocumentTransaction',
'App\Listeners\Document\SendDocumentPaymentNotification', 'App\Listeners\Document\SendDocumentPaymentNotification',
], ],
'App\Events\Document\DocumentMarkedSent' => [
'App\Listeners\Document\MarkDocumentSent',
],
'App\Events\Document\DocumentSent' => [ 'App\Events\Document\DocumentSent' => [
'App\Listeners\Document\MarkDocumentSent', 'App\Listeners\Document\MarkDocumentSent',
], ],

View File

@ -3,11 +3,14 @@
namespace App\Traits; namespace App\Traits;
use Throwable; use Throwable;
use Illuminate\Support\Arr;
trait Translations trait Translations
{ {
public function findTranslation($keys, $number = 2) public function findTranslation($keys, $number = 2)
{ {
$keys = Arr::wrap($keys);
try { try {
foreach ($keys as $key) { foreach ($keys as $key) {
if (is_array($key)) { if (is_array($key)) {

View File

@ -752,4 +752,111 @@ trait ViewComponents
return ''; return '';
} }
protected function convertClasstoHex($class)
{
$colors = [
'gray' => '#6b7280',
'gray-50' => '#f9fafb',
'gray-100' => '#f3f4f6',
'gray-200' => '#e5e7eb',
'gray-300' => '#d1d5db',
'gray-400' => '#9ca3af',
'gray-500' => '#6b7280',
'gray-600' => '#4b5563',
'gray-700' => '#374151',
'gray-800' => '#1f2937',
'gray-900' => '#111827',
'red' => '#cc0000',
'red-50' => '#fcf2f2',
'red-100' => '#fae6e6',
'red-200' => '#f2bfbf',
'red-300' => '#eb9999',
'red-400' => '#db4d4d',
'red-500' => '#cc0000',
'red-600' => '#b80000',
'red-700' => '#990000',
'red-800' => '#7a0000',
'red-900' => '#640000',
'yellow' => '#eab308',
'yellow-50' => '#fefce8',
'yellow-100' => '#fef9c3',
'yellow-200' => '#fef08a',
'yellow-300' => '#fde047',
'yellow-400' => '#facc15',
'yellow-500' => '#eab308',
'yellow-600' => '#ca8a04',
'yellow-700' => '#a16207',
'yellow-800' => '#854d0e',
'yellow-900' => '#713f12',
'green' => '#6ea152',
'green-50' => '#f8faf6',
'green-100' => '#f1f6ee',
'green-200' => '#dbe8d4',
'green-300' => '#c5d9ba',
'green-400' => '#9abd86',
'green-500' => '#6ea152',
'green-600' => '#63914a',
'green-700' => '#53793e',
'green-800' => '#426131',
'green-900' => '#364f28',
'blue' => '#006ea6',
'blue-50' => '#f2f8fb',
'blue-100' => '#e6f1f6',
'blue-200' => '#bfdbe9',
'blue-300' => '#99c5db',
'blue-400' => '#4d9ac1',
'blue-500' => '#006ea6',
'blue-600' => '#006395',
'blue-700' => '#00537d',
'blue-800' => '#004264',
'blue-900' => '#003651',
'indigo' => '#6366f1',
'indigo-50' => '#eef2ff',
'indigo-100' => '#e0e7ff',
'indigo-200' => '#c7d2fe',
'indigo-300' => '#a5b4fc',
'indigo-400' => '#818cf8',
'indigo-500' => '#6366f1',
'indigo-600' => '#4f46e5',
'indigo-700' => '#4338ca',
'indigo-800' => '#3730a3',
'indigo-900' => '#312e81',
'purple' => '#55588b',
'purple-50' => '#f7f7f9',
'purple-100' => '#eeeef3',
'purple-200' => '#d5d5e2',
'purple-300' => '#bbbcd1',
'purple-400' => '#888aae',
'purple-500' => '#55588b',
'purple-600' => '#4d4f7d',
'purple-700' => '#404268',
'purple-800' => '#333553',
'purple-900' => '#2a2b44',
'pink' => '#ec4899',
'pink-50' => '#fdf2f8',
'pink-100' => '#fce7f3',
'pink-200' => '#fbcfe8',
'pink-300' => '#f9a8d4',
'pink-400' => '#f472b6',
'pink-500' => '#ec4899',
'pink-600' => '#db2777',
'pink-700' => '#be185d',
'pink-800' => '#9d174d',
'pink-900' => '#831843',
];
if (Arr::exists($colors, $class)) {
return $colors[$class];
}
return $class;
}
} }

View File

@ -200,7 +200,15 @@ class DeleteButton extends Component
$page = ''; $page = '';
if (! empty($this->route)) { if (! empty($this->route)) {
$page = explode('.', $this->route)[0]; if (! is_array($this->route)) {
$string = $this->route;
}
if (is_array($this->route)) {
$string = $this->route[0];
}
$page = explode('.', $string)[0];
} elseif (! empty($this->url)) { } elseif (! empty($this->url)) {
$page = explode('/', $this->url)[1]; $page = explode('/', $this->url)[1];
} }

View File

@ -4,11 +4,12 @@ namespace App\View\Components;
use App\Abstracts\View\Component; use App\Abstracts\View\Component;
use App\Traits\DateTime; use App\Traits\DateTime;
use App\Traits\Translations;
use Illuminate\Support\Str; use Illuminate\Support\Str;
class SearchString extends Component class SearchString extends Component
{ {
use DateTime; use DateTime, Translations;
public $filters; public $filters;
@ -203,16 +204,16 @@ class SearchString extends Component
$values = [ $values = [
[ [
'key' => 0, 'key' => 0,
'value' => empty($options['translation']) ? trans('general.no') : trans($options['translation'][0]), 'value' => empty($options['translation']) ? trans('general.no') : $this->findTranslation($options['translation'][0], 1),
], ],
[ [
'key' => 1, 'key' => 1,
'value' => empty($options['translation']) ? trans('general.yes') : trans($options['translation'][1]), 'value' => empty($options['translation']) ? trans('general.yes') : $this->findTranslation($options['translation'][1], 1),
], ],
]; ];
} else if (isset($options['values'])) { } else if (isset($options['values'])) {
foreach ($options['values'] as $key => $value) { foreach ($options['values'] as $key => $value) {
$values[$key] = trans($value); $values[$key] = $this->findTranslation($value, 1);
} }
} else if ($search = request()->get('search', false)) { } else if ($search = request()->get('search', false)) {
$fields = explode(' ', $search); $fields = explode(' ', $search);

View File

@ -119,7 +119,7 @@ return [
'hide_amount' => env('SETTING_FALLBACK_INVOICE_HIDE_AMOUNT', false), 'hide_amount' => env('SETTING_FALLBACK_INVOICE_HIDE_AMOUNT', false),
'payment_terms' => env('SETTING_FALLBACK_INVOICE_PAYMENT_TERMS', '0'), 'payment_terms' => env('SETTING_FALLBACK_INVOICE_PAYMENT_TERMS', '0'),
'template' => env('SETTING_FALLBACK_INVOICE_TEMPLATE', 'default'), 'template' => env('SETTING_FALLBACK_INVOICE_TEMPLATE', 'default'),
'color' => env('SETTING_FALLBACK_INVOICE_COLOR', '#55588b'), 'color' => env('SETTING_FALLBACK_INVOICE_COLOR', 'purple-500'),
'logo_size_width' => env('SETTING_FALLBACK_INVOICE_LOGO_SIZE_WIDTH', 128), 'logo_size_width' => env('SETTING_FALLBACK_INVOICE_LOGO_SIZE_WIDTH', 128),
'logo_size_height' => env('SETTING_FALLBACK_INVOICE_LOGO_SIZE_HEIGHT', 128), 'logo_size_height' => env('SETTING_FALLBACK_INVOICE_LOGO_SIZE_HEIGHT', 128),
'item_search_char_limit' => env('SETTING_FALLBACK_INVOICE_ITEM_SEARCH_CHAR_LIMIT', 3), 'item_search_char_limit' => env('SETTING_FALLBACK_INVOICE_ITEM_SEARCH_CHAR_LIMIT', 3),
@ -138,7 +138,7 @@ return [
'quantity_name' => env('SETTING_FALLBACK_BILL_QUANTITY_NAME', 'settings.invoice.quantity'), 'quantity_name' => env('SETTING_FALLBACK_BILL_QUANTITY_NAME', 'settings.invoice.quantity'),
'payment_terms' => env('SETTING_FALLBACK_BILL_PAYMENT_TERMS', '0'), 'payment_terms' => env('SETTING_FALLBACK_BILL_PAYMENT_TERMS', '0'),
'template' => env('SETTING_FALLBACK_BILL_TEMPLATE', 'default'), 'template' => env('SETTING_FALLBACK_BILL_TEMPLATE', 'default'),
'color' => env('SETTING_FALLBACK_BILL_COLOR', '#55588b'), 'color' => env('SETTING_FALLBACK_BILL_COLOR', 'purple-500'),
'item_search_char_limit' => env('SETTING_FALLBACK_BILL_ITEM_SEARCH_CHAR_LIMIT', 3), 'item_search_char_limit' => env('SETTING_FALLBACK_BILL_ITEM_SEARCH_CHAR_LIMIT', 3),
], ],
'bill-recurring' => [ 'bill-recurring' => [

View File

@ -278,3 +278,16 @@ function runTooltip(tooltipToggleEl) {
}); });
} }
// Tooltip elements using [data-tooltip-target], [data-tooltip-placement] // Tooltip elements using [data-tooltip-target], [data-tooltip-placement]
//Auto Height for Textarea
const tx = document.querySelectorAll('[textarea-auto-height]');
for (let i = 0; i < tx.length; i++) {
tx[i].setAttribute('style', 'height:' + (tx[i].scrollHeight) + 'px;overflow-y:hidden;');
tx[i].addEventListener('input', OnInput, false);
}
function OnInput() {
this.style.height = 'auto';
this.style.height = (this.scrollHeight) + 'px';
}
//Auto Height for Textarea

12828
public/css/app.css vendored

File diff suppressed because it is too large Load Diff

52
public/css/print.css vendored
View File

@ -59,12 +59,12 @@ th, td
margin-bottom: 8px; margin-bottom: 8px;
} }
.mt-1 .print-template .mt-1
{ {
margin-top: 8px; margin-top: 8px;
} }
.ml-1 .print-template .ml-1
{ {
margin-left: 8px; margin-left: 8px;
} }
@ -74,67 +74,67 @@ th, td
padding-left: 18px; padding-left: 18px;
} }
.mt-0 .print-template .mt-0
{ {
margin-top: 0 !important; margin-top: 0 !important;
} }
.mt-1 .print-template .mt-1
{ {
margin-top: 8px; margin-top: 8px;
} }
.mt-2 .print-template .mt-2
{ {
margin-top: 16px; margin-top: 16px;
} }
.mt-3 .print-template .mt-3
{ {
margin-top: 24px; margin-top: 24px;
} }
.mt-4 .print-template .mt-4
{ {
margin-top: 32px; margin-top: 32px;
} }
.mt-5 .print-template .mt-5
{ {
margin-top: 40px; margin-top: 40px;
} }
.mt-6 .print-template .mt-6
{ {
margin-top: 48px; margin-top: 48px;
} }
.mt-7 .print-template .mt-7
{ {
margin-top: 56px; margin-top: 56px;
} }
.mt-8 .print-template .mt-8
{ {
margin-top: 64px; margin-top: 64px;
} }
.mt-9 .print-template .mt-9
{ {
margin-top: 72px; margin-top: 72px;
} }
.pb-0 .print-template .pb-0
{ {
padding-bottom: 0; padding-bottom: 0;
} }
.pb-1 .print-template .pb-1
{ {
padding-bottom: 8px; padding-bottom: 8px;
} }
.py-1 .print-template .py-1
{ {
padding-bottom: 3px; padding-bottom: 3px;
padding-top: 3px; padding-top: 3px;
@ -158,47 +158,47 @@ th, td
padding: 0 10px 0 10px; padding: 0 10px 0 10px;
} }
.pt-2 .print-template .pt-2
{ {
padding-top: 16px; padding-top: 16px;
} }
.pb-2 .print-template .pb-2
{ {
padding-bottom: 16px; padding-bottom: 16px;
} }
.pl-3 .print-template .pl-3
{ {
padding-left: 24px; padding-left: 24px;
} }
.pl-4 .print-template .pl-4
{ {
padding-left: 32px; padding-left: 32px;
} }
.pl-5 .print-template .pl-5
{ {
padding-left: 40px; padding-left: 40px;
} }
.pl-6 .print-template .pl-6
{ {
padding-left: 48px; padding-left: 48px;
} }
.pl-7 .print-template .pl-7
{ {
padding-left: 56px; padding-left: 56px;
} }
.pl-8 .print-template .pl-8
{ {
padding-left: 64px; padding-left: 64px;
} }
.pl-9 .print-template .pl-9
{ {
padding-left: 72px; padding-left: 72px;
} }
@ -383,7 +383,7 @@ html[dir='rtl'] .text-alignment-right {
.lines .lines
{ {
border-collapse: collapse; border-collapse: collapse;
table-layout: fixed; table-layout: auto;
border-bottom: 1px solid #adadad; border-bottom: 1px solid #adadad;
} }
@ -564,7 +564,7 @@ html[dir='rtl'] .text-alignment-right {
.modern-lines .modern-lines
{ {
border-collapse: collapse; border-collapse: collapse;
table-layout: fixed; table-layout: auto;
} }
.modern-lines .item .modern-lines .item

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

@ -222,7 +222,7 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} }
}) })
.catch(error => { .catch(error => {
@ -239,7 +239,7 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
}, },
}, },
}; };

View File

@ -528,7 +528,7 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} }
}) })
.catch(error => { .catch(error => {
@ -544,7 +544,7 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
}, },
closeIfClickedOutside(event) { closeIfClickedOutside(event) {

View File

@ -165,7 +165,7 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
}, },
}, },
}; };

View File

@ -444,7 +444,7 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} }
}) })
.catch(error => { .catch(error => {
@ -463,7 +463,7 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
}, },
closeIfClickedOutside(event) { closeIfClickedOutside(event) {

View File

@ -125,7 +125,7 @@ export default {
if (this.show) { if (this.show) {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.add("overflow-hidden"); documentClasses.add('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} }
if (this.modalDialogClass) { if (this.modalDialogClass) {
@ -158,7 +158,7 @@ export default {
onCancel() { onCancel() {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
this.$emit("cancel"); this.$emit("cancel");
} }
@ -169,9 +169,9 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
if (val) { if (val) {
documentClasses.add("overflow-hidden"); documentClasses.add('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} else { } else {
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} }
} }
} }

View File

@ -154,7 +154,7 @@ export default {
created: function () { created: function () {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.add("overflow-hidden"); documentClasses.add('overflow-y-hidden', 'overflow-overlay', '-ml-4');
if (this.modalDialogClass) { if (this.modalDialogClass) {
let modal_size = this.modalDialogClass.replace('modal-', 'max-w-screen-'); let modal_size = this.modalDialogClass.replace('modal-', 'max-w-screen-');
@ -311,7 +311,7 @@ export default {
onCancel() { onCancel() {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
this.$emit("cancel"); this.$emit("cancel");
} }
@ -322,9 +322,9 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
if (val) { if (val) {
documentClasses.add("overflow-hidden"); documentClasses.add('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} else { } else {
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} }
} }
} }

View File

@ -693,7 +693,7 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} }
}) })
.catch(error => { .catch(error => {
@ -712,7 +712,7 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
}, },
addModal() { addModal() {

View File

@ -5,6 +5,7 @@
:class="[ :class="[
{'readonly': readonly}, {'readonly': readonly},
{'disabled': disabled}, {'disabled': disabled},
{'no-arrow': noArrow},
formClasses formClasses
]" ]"
:error="formError"> :error="formError">
@ -346,6 +347,12 @@ export default {
description: "Selectbox disabled status" description: "Selectbox disabled status"
}, },
noArrow: {
type: Boolean,
default: false,
description: "Selectbox show arrow"
},
clearable: { clearable: {
type: Boolean, type: Boolean,
default: true, default: true,
@ -908,7 +915,7 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} }
}) })
.catch(error => { .catch(error => {
@ -927,7 +934,7 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
}, },
addModal() { addModal() {

View File

@ -253,7 +253,7 @@ export default {
onCancel() { onCancel() {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
this.display = false; this.display = false;
this.form.name = ''; this.form.name = '';
@ -272,9 +272,9 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
if (val) { if (val) {
documentClasses.add("overflow-hidden"); documentClasses.add('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} else { } else {
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} }
} }
} }

View File

@ -110,9 +110,9 @@
show(val) { show(val) {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
if (val) { if (val) {
documentClasses.add("overflow-hidden"); documentClasses.add('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} else { } else {
documentClasses.remove("overflow-hidden"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
} }
} }
} }

View File

@ -85,7 +85,12 @@ export default {
"thousands_separator":",", "thousands_separator":",",
}, },
all_currencies: [], all_currencies: [],
content_loading: true content_loading: true,
connect: {
show: false,
currency: {},
documents: [],
},
} }
}, },
@ -627,7 +632,7 @@ export default {
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("modal-open"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
}, },
} }
}) })
@ -656,6 +661,34 @@ export default {
copy_badge.classList.remove('flex'); copy_badge.classList.remove('flex');
copy_html.classList.remove('hidden'); copy_html.classList.remove('hidden');
}, 800); }, 800);
} },
//connect transactions for account, document or etc.
onConnectTransactions(route) {
let dial_promise = Promise.resolve(window.axios.get(route));
dial_promise.then(response => {
this.connect.show = true;
this.connect.transaction = JSON.parse(response.data.transaction);
let currency = JSON.parse(response.data.currency);
this.connect.currency = {
decimal_mark: currency.decimal_mark,
precision: currency.precision,
symbol: currency.symbol,
symbol_first: currency.symbol_first,
thousands_separator: currency.thousands_separator,
};
this.connect.documents = JSON.parse(response.data.documents);
})
.catch(error => {
})
.finally(function () {
// always executed
});
},
} }
} }

View File

@ -29,42 +29,10 @@ const app = new Vue({
return { return {
form: new Form('transaction'), form: new Form('transaction'),
bulk_action: new BulkAction('transactions'), bulk_action: new BulkAction('transactions'),
connect: {
show: false,
currency: {},
documents: [],
},
} }
}, },
methods: { methods: {
onConnect(route) {
let dial_promise = Promise.resolve(window.axios.get(route));
dial_promise.then(response => {
this.connect.show = true;
this.connect.transaction = JSON.parse(response.data.transaction);
let currency = JSON.parse(response.data.currency);
this.connect.currency = {
decimal_mark: currency.decimal_mark,
precision: currency.precision,
symbol: currency.symbol,
symbol_first: currency.symbol_first,
thousands_separator: currency.thousands_separator,
};
this.connect.documents = JSON.parse(response.data.documents);
})
.catch(error => {
})
.finally(function () {
// always executed
});
},
async onEmail(route) { async onEmail(route) {
let email = { let email = {
modal: false, modal: false,
@ -110,7 +78,7 @@ const app = new Vue({
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("modal-open"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
}, },
} }
}) })

View File

@ -68,7 +68,13 @@ const app = new Vue({
dynamic_taxes: [], dynamic_taxes: [],
show_discount: false, show_discount: false,
show_discount_text: true, show_discount_text: true,
delete_discount: false delete_discount: false,
regex_condition: [
'..',
'.,',
',.',
',,'
],
} }
}, },
@ -488,11 +494,14 @@ const app = new Vue({
onChangeDiscountType(type) { onChangeDiscountType(type) {
this.form.discount_type = type; this.form.discount_type = type;
this.onAddTotalDiscount();
this.onCalculateTotal(); this.onCalculateTotal();
}, },
onChangeLineDiscountType(item_index, type) { onChangeLineDiscountType(item_index, type) {
this.items[item_index].discount_type = type; this.items[item_index].discount_type = type;
this.onCalculateTotal(); this.onCalculateTotal();
}, },
@ -669,7 +678,7 @@ const app = new Vue({
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("modal-open"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
}, },
} }
}) })
@ -787,7 +796,7 @@ const app = new Vue({
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("modal-open"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
}, },
} }
}) })
@ -844,7 +853,7 @@ const app = new Vue({
let documentClasses = document.body.classList; let documentClasses = document.body.classList;
documentClasses.remove("modal-open"); documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
}, },
} }
}) })
@ -1062,5 +1071,27 @@ const app = new Vue({
} }
this.page_loaded = true; this.page_loaded = true;
},
watch: {
'form.discount': function (newVal, oldVal) {
if (newVal != '' && newVal.search('^(?=.*?[0-9])[0-9.,]+$') !== 0) {
this.form.discount = oldVal;
this.form.discount = this.form.discount.replace(',', '.');
return;
} }
for (let item of this.regex_condition) {
if (this.form.discount.includes(item)) {
const removeLastChar = newVal.length - 1;
const inputShown = newVal.slice(0, removeLastChar);
this.form.discount = inputShown;
}
}
this.form.discount = this.form.discount.replace(',', '.');
},
},
}); });

View File

@ -82,12 +82,15 @@ const app = new Vue({
html: '' html: ''
}, },
addToCartLoading: false,
loadMoreLoading: false, loadMoreLoading: false,
} }
}, },
methods: { methods: {
addToCart(alias, subscription_type) { addToCart(alias, subscription_type) {
this.addToCartLoading = true;
let add_to_cart_promise = Promise.resolve(axios.get(url + '/apps/' + alias + '/' + subscription_type +'/add')); let add_to_cart_promise = Promise.resolve(axios.get(url + '/apps/' + alias + '/' + subscription_type +'/add'));
add_to_cart_promise.then(response => { add_to_cart_promise.then(response => {
@ -95,25 +98,15 @@ const app = new Vue({
this.$notify({ this.$notify({
message: response.data.message, message: response.data.message,
timeout: 0, timeout: 0,
icon: "fas fa-bell", icon: "shopping_cart_checkout",
type: 'success' type: 'success'
}); });
} }
if (response.data.error) { this.addToCartLoading = false;
this.installation.status = 'exception';
this.installation.html = '<div class="text-red">' + response.data.message + '</div>';
}
// Set steps
if (response.data.data) {
this.installation.steps = response.data.data;
this.installation.steps_total = this.installation.steps.length;
this.next();
}
}) })
.catch(error => { .catch(error => {
this.addToCartLoading = false;
}); });
}, },

View File

@ -185,7 +185,7 @@
} }
.overflow-overlay { .overflow-overlay {
overflow: overlay; overflow-x: overlay;
} }
.py-top { .py-top {
@ -357,6 +357,10 @@
content: "\e6e1"; content: "\e6e1";
} }
.no-arrow .el-select__caret {
display: none;
}
.el-input .el-icon-circle-close { .el-input .el-icon-circle-close {
transform: unset !important; transform: unset !important;
transition: unset !important; transition: unset !important;

View File

@ -4,6 +4,11 @@ return [
'edit_columns' => 'Izmjena kolona', 'edit_columns' => 'Izmjena kolona',
'empty_items' => 'Niste dodali nijednu stavku.', 'empty_items' => 'Niste dodali nijednu stavku.',
'grand_total' => 'TOTAL',
'accept_payment_online' => 'Prihvatite plaćanja na mreži',
'transaction' => 'Plaćanje za :iznos je izvršeno pomoću :računa.',
'billing' => 'Naplata',
'advanced' => 'Napredno',
'invoice_detail' => [ 'invoice_detail' => [
'marked' => '<b> Vi </b> označili ste ovu fakturu kao', 'marked' => '<b> Vi </b> označili ste ovu fakturu kao',
@ -13,15 +18,6 @@ return [
'more_item' => '+:count više stavki', 'more_item' => '+:count više stavki',
], ],
'grand_total' => 'TOTAL',
'accept_payment_online' => 'Prihvatite plaćanja na mreži',
'transaction' => 'Plaćanje za :iznos je izvršeno pomoću :računa.',
'billing' => 'Naplata',
'advanced' => 'Napredno',
'statuses' => [ 'statuses' => [
'draft' => 'U pripremi', 'draft' => 'U pripremi',
'sent' => 'Poslano', 'sent' => 'Poslano',

View File

@ -4,7 +4,6 @@ return [
'dashboards' => 'Kontrolna ploča|Kontrolna ploče', 'dashboards' => 'Kontrolna ploča|Kontrolna ploče',
'items' => 'Stavka|Stavke', 'items' => 'Stavka|Stavke',
'incomes' => 'Prihod|Prihodi',
'invoices' => 'Faktura|Fakture', 'invoices' => 'Faktura|Fakture',
'recurring_invoices' => 'Ponavljajuća faktura|Ponavljajuće fakture', 'recurring_invoices' => 'Ponavljajuća faktura|Ponavljajuće fakture',
'customers' => 'Kupac|Kupci', 'customers' => 'Kupac|Kupci',
@ -70,6 +69,7 @@ return [
'invitations' => 'Pozivnica|Pozivnice', 'invitations' => 'Pozivnica|Pozivnice',
'attachments' => 'Prilog|Prilozi', 'attachments' => 'Prilog|Prilozi',
'histories' => 'Istorija|Istorije', 'histories' => 'Istorija|Istorije',
'your_notifications' => 'Vaše obavještenje|Vaša obavještenja',
'welcome' => 'Dobrodošli', 'welcome' => 'Dobrodošli',
'banking' => 'Bankarstvo', 'banking' => 'Bankarstvo',
@ -184,6 +184,7 @@ return [
'no_matching_data' => 'Nema podudaranja podataka', 'no_matching_data' => 'Nema podudaranja podataka',
'clear_cache' => 'Očisti cache', 'clear_cache' => 'Očisti cache',
'go_to_dashboard' => 'Idite na nadzornu ploču', 'go_to_dashboard' => 'Idite na nadzornu ploču',
'create_first_invoice' => 'Kreiraj prvu fakturu',
'is' => 'je', 'is' => 'je',
'isnot' => 'nije', 'isnot' => 'nije',
'recurring_and_more' => 'Ponavlja se i više', 'recurring_and_more' => 'Ponavlja se i više',
@ -199,7 +200,6 @@ return [
'email_send_me' => 'Pošalji kopiju meni na email :email', 'email_send_me' => 'Pošalji kopiju meni na email :email',
'connect' => 'Poveži', 'connect' => 'Poveži',
'assign' => 'Dodijeliti', 'assign' => 'Dodijeliti',
'your_notifications' => 'Vaše obavještenje|Vaša obavještenja',
'new' => 'Novo', 'new' => 'Novo',
'new_more' => 'Novo...', 'new_more' => 'Novo...',
'number' => 'Broj', 'number' => 'Broj',

View File

@ -15,6 +15,27 @@ return [
'weeks' => 'Sedmice(a)', 'weeks' => 'Sedmice(a)',
'months' => 'Mjesec(i)', 'months' => 'Mjesec(i)',
'years' => 'Godine(a)', 'years' => 'Godine(a)',
'frequency' => 'Frekvencija',
'duration' => 'Trajanje',
'last_issued' => 'Zadnje izdavanje',
'after' => 'Nakon',
'on' => 'Uključeno',
'never' => 'Nikad',
'ends_after' => 'Ističe nakon :times puta',
'ends_never' => 'Nikad ne završi',
'ends_date' => 'Završava :date',
'next_date' => 'Slijedeći :date ',
'end' => 'Kraj ponavljanja',
'child' => ':url je automatski kreiran :date',
'message' => 'Ovo je ponavljajući :type i sljedeći :type će automatski biti generiran :date', 'message' => 'Ovo je ponavljajući :type i sljedeći :type će automatski biti generiran :date',
'message_parent' => 'Ovaj :type je automatski generisan ovdje :link',
'frequency_type' => 'Ponovite ovo :type',
'limit_date' => 'Kreirajte prvo :type',
'limit_middle' => 'i kraj',
'form_description' => [
'schedule' => 'Odaberite uslove i vrijeme početka/završetka kako biste osigurali da vaš kupac dobije vaš :type na ispravan dan.',
],
]; ];

View File

@ -3,21 +3,31 @@
return [ return [
'years' => 'Godina|Godine', 'years' => 'Godina|Godine',
'preferences' => 'Benefit|Benefiti',
'this_year' => 'Tekuća godina', 'this_year' => 'Tekuća godina',
'previous_year' => 'Prethodna godina', 'previous_year' => 'Prethodna godina',
'this_quarter' => 'Ovaj kvartal', 'this_quarter' => 'Ovaj kvartal',
'previous_quarter' => 'Prethodni kvartal', 'previous_quarter' => 'Prethodni kvartal',
'last_12_months' => 'Zadnjih 12 mjeseci', 'last_12_months' => 'Zadnjih 12 mjeseci',
'profit_loss' => 'Dobit i gubitak', 'profit_loss' => 'Dobit i gubitak',
'income_summary' => 'Sažetak prihoda',
'expense_summary' => 'Sažetak troškova',
'income_expense_summary' => 'Prihodi nasuprot troškovima',
'tax_summary' => 'Sažetak poreza',
'gross_profit' => 'Bruto dobit', 'gross_profit' => 'Bruto dobit',
'net_profit' => 'Neto dobit', 'net_profit' => 'Neto dobit',
'total_expenses' => 'Ukupni troškovi', 'total_expenses' => 'Ukupni troškovi',
'net' => 'Neto', 'net' => 'Neto',
'income_expense' => 'Prihod i rashod', 'income_expense' => 'Prihod i rashod',
'income_summary' => 'Sažetak prihoda', 'pin' => 'Zakačite svoj izvještaj',
'expense_summary' => 'Sažetak troškova',
'income_expense_summary' => 'Prihodi nasuprot troškovima', 'income_expense_description' => 'Opis izvještaja o prihodima i rashodima',
'tax_summary' => 'Sažetak poreza', 'accounting_description' => 'Opis za računovodstvene izvještaje',
'form_description' => [
'general' => 'Ovdje možete unijeti opće informacije izvještaja kao što su naziv, tip, opis itd.',
'preferences' => 'Podešavanja vam pomažu da prilagodite svoje izvještaje.'
],
'charts' => [ 'charts' => [
'line' => 'Crta', 'line' => 'Crta',
@ -25,4 +35,9 @@ return [
'pie' => 'Pita', 'pie' => 'Pita',
], ],
'pin_text' => [
'unpin_report' => 'Otkačite svoj izvještaj',
'pin_report' => 'Zakačite svoj izvještaj',
]
]; ];

View File

@ -4,6 +4,11 @@ return [
'edit_columns' => 'Edita les columnes', 'edit_columns' => 'Edita les columnes',
'empty_items' => 'No has afegit cap element.', 'empty_items' => 'No has afegit cap element.',
'grand_total' => 'Suma total',
'accept_payment_online' => 'Accepta pagaments en línia',
'transaction' => 'S\'ha efectuat un pagament de :amount utilitzant :account',
'billing' => 'Facturació',
'advanced' => 'Avançat',
'invoice_detail' => [ 'invoice_detail' => [
'marked' => '<b> Tu </b> has marcat aquesta factura com', 'marked' => '<b> Tu </b> has marcat aquesta factura com',
@ -13,15 +18,6 @@ return [
'more_item' => '+:count més article(s)', 'more_item' => '+:count més article(s)',
], ],
'grand_total' => 'Suma total',
'accept_payment_online' => 'Accepta pagaments en línia',
'transaction' => 'S\'ha efectuat un pagament de :amount utilitzant :account',
'billing' => 'Facturació',
'advanced' => 'Avançat',
'statuses' => [ 'statuses' => [
'draft' => 'Esborrany', 'draft' => 'Esborrany',
'sent' => 'Enviat', 'sent' => 'Enviat',

View File

@ -4,6 +4,11 @@ return [
'edit_columns' => 'Edit Columns', 'edit_columns' => 'Edit Columns',
'empty_items' => 'You have not added any items.', 'empty_items' => 'You have not added any items.',
'grand_total' => 'Grand Total',
'accept_payment_online' => 'Accept Payments Online',
'transaction' => 'A payment for :amount was made using :account.',
'billing' => 'Billing',
'advanced' => 'Advanced',
'invoice_detail' => [ 'invoice_detail' => [
'marked' => '<b> You </b> marked this invoice as', 'marked' => '<b> You </b> marked this invoice as',
@ -13,15 +18,6 @@ return [
'more_item' => '+:count more item', 'more_item' => '+:count more item',
], ],
'grand_total' => 'Grand Total',
'accept_payment_online' => 'Accept Payments Online',
'transaction' => 'A payment for :amount was made using :account.',
'billing' => 'Billing',
'advanced' => 'Advanced',
'statuses' => [ 'statuses' => [
'draft' => 'Draft', 'draft' => 'Draft',
'sent' => 'Sent', 'sent' => 'Sent',

View File

@ -4,7 +4,6 @@ return [
'dashboards' => 'Dashboard|Dashboards', 'dashboards' => 'Dashboard|Dashboards',
'items' => 'Item|Items', 'items' => 'Item|Items',
'incomes' => 'Income|Incomes',
'invoices' => 'Invoice|Invoices', 'invoices' => 'Invoice|Invoices',
'recurring_invoices' => 'Recurring Invoice|Recurring Invoices', 'recurring_invoices' => 'Recurring Invoice|Recurring Invoices',
'customers' => 'Customer|Customers', 'customers' => 'Customer|Customers',
@ -70,6 +69,7 @@ return [
'invitations' => 'Invitation|Invitations', 'invitations' => 'Invitation|Invitations',
'attachments' => 'Attachment|Attachments', 'attachments' => 'Attachment|Attachments',
'histories' => 'History|Histories', 'histories' => 'History|Histories',
'your_notifications' => 'Your notification|Your notifications',
'welcome' => 'Welcome', 'welcome' => 'Welcome',
'banking' => 'Banking', 'banking' => 'Banking',
@ -184,6 +184,7 @@ return [
'no_matching_data' => 'No matching data', 'no_matching_data' => 'No matching data',
'clear_cache' => 'Clear Cache', 'clear_cache' => 'Clear Cache',
'go_to_dashboard' => 'Go to dashboard', 'go_to_dashboard' => 'Go to dashboard',
'create_first_invoice' => 'Create your first invoice',
'is' => 'is', 'is' => 'is',
'isnot' => 'is not', 'isnot' => 'is not',
'recurring_and_more' => 'Recurring and more..', 'recurring_and_more' => 'Recurring and more..',
@ -199,7 +200,6 @@ return [
'email_send_me' => 'Send a copy to myself at :email', 'email_send_me' => 'Send a copy to myself at :email',
'connect' => 'Connect', 'connect' => 'Connect',
'assign' => 'Assign', 'assign' => 'Assign',
'your_notifications' => 'Your notification|Your notifications',
'new' => 'New', 'new' => 'New',
'new_more' => 'New ...', 'new_more' => 'New ...',
'number' => 'Number', 'number' => 'Number',

View File

@ -1,6 +1,7 @@
<?php <?php
return [ return [
'AF' => 'Afghanistan', 'AF' => 'Afghanistan',
'AX' => 'Åland Islands', 'AX' => 'Åland Islands',
'AL' => 'Albania', 'AL' => 'Albania',
@ -119,6 +120,7 @@ return [
'KZ' => 'Kazakhstan', 'KZ' => 'Kazakhstan',
'KE' => 'Kenya', 'KE' => 'Kenya',
'KI' => 'Kiribati', 'KI' => 'Kiribati',
'XK' => 'Kosovo',
'KW' => 'Kuwait', 'KW' => 'Kuwait',
'KG' => 'Kyrgyzstan', 'KG' => 'Kyrgyzstan',
'LA' => 'Laos', 'LA' => 'Laos',
@ -250,4 +252,5 @@ return [
'YE' => 'Yemen', 'YE' => 'Yemen',
'ZM' => 'Zambia', 'ZM' => 'Zambia',
'ZW' => 'Zimbabwe', 'ZW' => 'Zimbabwe',
]; ];

View File

@ -4,6 +4,11 @@ return [
'edit_columns' => 'Edit Columns', 'edit_columns' => 'Edit Columns',
'empty_items' => 'You have not added any items.', 'empty_items' => 'You have not added any items.',
'grand_total' => 'Grand Total',
'accept_payment_online' => 'Accept Payments Online',
'transaction' => 'A payment for :amount was made using :account.',
'billing' => 'Billing',
'advanced' => 'Advanced',
'invoice_detail' => [ 'invoice_detail' => [
'marked' => '<b>You</b> marked this invoice as', 'marked' => '<b>You</b> marked this invoice as',
@ -13,15 +18,6 @@ return [
'more_item' => '+:count more item', 'more_item' => '+:count more item',
], ],
'grand_total' => 'Grand Total',
'accept_payment_online' => 'Accept Payments Online',
'transaction' => 'A payment for :amount was made using :account.',
'billing' => 'Billing',
'advanced' => 'Advanced',
'statuses' => [ 'statuses' => [
'draft' => 'Draft', 'draft' => 'Draft',
'sent' => 'Sent', 'sent' => 'Sent',

View File

@ -4,6 +4,11 @@ return [
'edit_columns' => 'Editer les colonnes', 'edit_columns' => 'Editer les colonnes',
'empty_items' => 'Vous n\'avez ajouté aucun élément.', 'empty_items' => 'Vous n\'avez ajouté aucun élément.',
'grand_total' => 'Total global',
'accept_payment_online' => 'Accepter les paiements en ligne',
'transaction' => 'Un paiement de :amount a été effectué en utilisant :account.',
'billing' => 'Facturation',
'advanced' => 'Avancé',
'invoice_detail' => [ 'invoice_detail' => [
'marked' => '<b> Vous </b> avez marqué cette facture comme', 'marked' => '<b> Vous </b> avez marqué cette facture comme',
@ -13,15 +18,6 @@ return [
'more_item' => '+:count plus d\'élément', 'more_item' => '+:count plus d\'élément',
], ],
'grand_total' => 'Total global',
'accept_payment_online' => 'Accepter les paiements en ligne',
'transaction' => 'Un paiement de :amount a été effectué en utilisant :account.',
'billing' => 'Facturation',
'advanced' => 'Avancé',
'statuses' => [ 'statuses' => [
'draft' => 'Brouillon', 'draft' => 'Brouillon',
'sent' => 'Envoyé', 'sent' => 'Envoyé',

View File

@ -4,7 +4,6 @@ return [
'dashboards' => 'Tableau de bord|Tableaux de bord', 'dashboards' => 'Tableau de bord|Tableaux de bord',
'items' => 'Article|Articles', 'items' => 'Article|Articles',
'incomes' => 'Revenu|Revenus',
'invoices' => 'Facture|Factures', 'invoices' => 'Facture|Factures',
'recurring_invoices' => 'Factures récurrentes|Factures récurrentes', 'recurring_invoices' => 'Factures récurrentes|Factures récurrentes',
'customers' => 'Client|Clients', 'customers' => 'Client|Clients',
@ -70,6 +69,7 @@ return [
'invitations' => 'Invitation|Invitations', 'invitations' => 'Invitation|Invitations',
'attachments' => 'Pièce jointe|Pièces jointes', 'attachments' => 'Pièce jointe|Pièces jointes',
'histories' => 'Historique|Historiques', 'histories' => 'Historique|Historiques',
'your_notifications' => 'Votre notification|Vos notifications',
'welcome' => 'Bienvenue', 'welcome' => 'Bienvenue',
'banking' => 'Banque', 'banking' => 'Banque',
@ -184,6 +184,7 @@ return [
'no_matching_data' => 'Aucune donnée correspondante', 'no_matching_data' => 'Aucune donnée correspondante',
'clear_cache' => 'Vider le cache', 'clear_cache' => 'Vider le cache',
'go_to_dashboard' => 'Aller au tableau de bord', 'go_to_dashboard' => 'Aller au tableau de bord',
'create_first_invoice' => 'Créez votre première facture',
'is' => 'est', 'is' => 'est',
'isnot' => 'n\'est pas', 'isnot' => 'n\'est pas',
'recurring_and_more' => 'Récurrents et plus..', 'recurring_and_more' => 'Récurrents et plus..',
@ -199,7 +200,6 @@ return [
'email_send_me' => 'Envoyez-moi une copie à :email', 'email_send_me' => 'Envoyez-moi une copie à :email',
'connect' => 'Connecter', 'connect' => 'Connecter',
'assign' => 'Attribuer', 'assign' => 'Attribuer',
'your_notifications' => 'Votre notification|Vos notifications',
'new' => 'Nouveau', 'new' => 'Nouveau',
'new_more' => 'Nouveau...', 'new_more' => 'Nouveau...',
'number' => 'Numéro', 'number' => 'Numéro',

View File

@ -4,6 +4,11 @@ return [
'edit_columns' => 'Rediģēt kolonnas', 'edit_columns' => 'Rediģēt kolonnas',
'empty_items' => 'Jūs neesat pievienojis nevienu vienumu.', 'empty_items' => 'Jūs neesat pievienojis nevienu vienumu.',
'grand_total' => 'Kopsumma',
'accept_payment_online' => 'Pieņemt maksājumus tiešsaistē',
'transaction' => 'Maksājums par :amount tika veikts, izmantojot :account',
'billing' => 'Norēķini',
'advanced' => 'Papildu',
'invoice_detail' => [ 'invoice_detail' => [
'marked' => '<b> Jūs </b> atzīmējāt šo rēķinu kā', 'marked' => '<b> Jūs </b> atzīmējāt šo rēķinu kā',
@ -13,15 +18,6 @@ return [
'more_item' => '+:count vairāk preču', 'more_item' => '+:count vairāk preču',
], ],
'grand_total' => 'Kopsumma',
'accept_payment_online' => 'Pieņemt maksājumus tiešsaistē',
'transaction' => 'Maksājums par :amount tika veikts, izmantojot :account',
'billing' => 'Norēķini',
'advanced' => 'Papildu',
'statuses' => [ 'statuses' => [
'draft' => 'Melnraksts', 'draft' => 'Melnraksts',
'sent' => 'Nosūtīts', 'sent' => 'Nosūtīts',

View File

@ -4,7 +4,6 @@ return [
'dashboards' => 'Informācijas panelis', 'dashboards' => 'Informācijas panelis',
'items' => 'Preces|Preces', 'items' => 'Preces|Preces',
'incomes' => 'Ienākumi|Ienākumi',
'invoices' => 'Rēķini|Rēķini', 'invoices' => 'Rēķini|Rēķini',
'recurring_invoices' => 'Atkārtots rēķins|Atkārtoti rēķini', 'recurring_invoices' => 'Atkārtots rēķins|Atkārtoti rēķini',
'customers' => 'Pircēji|Pircēji', 'customers' => 'Pircēji|Pircēji',
@ -70,6 +69,7 @@ return [
'invitations' => 'Ielūgums|Ielūgumi', 'invitations' => 'Ielūgums|Ielūgumi',
'attachments' => 'Pielikums|Pielikumi', 'attachments' => 'Pielikums|Pielikumi',
'histories' => 'Vēsture|Vēstures', 'histories' => 'Vēsture|Vēstures',
'your_notifications' => 'Jūsu paziņojums|Jūsu paziņojumi',
'welcome' => 'Laipni lūdzam', 'welcome' => 'Laipni lūdzam',
'banking' => 'Banka', 'banking' => 'Banka',
@ -184,6 +184,7 @@ return [
'no_matching_data' => 'Nav sakritību datos', 'no_matching_data' => 'Nav sakritību datos',
'clear_cache' => 'Notīrīt kešatmiņu', 'clear_cache' => 'Notīrīt kešatmiņu',
'go_to_dashboard' => 'Doties uz galveno paneli', 'go_to_dashboard' => 'Doties uz galveno paneli',
'create_first_invoice' => 'Izveidojiet savu pirmo rēķinu',
'is' => 'ir', 'is' => 'ir',
'isnot' => 'nav', 'isnot' => 'nav',
'recurring_and_more' => 'Atkārtojas un vairāk..', 'recurring_and_more' => 'Atkārtojas un vairāk..',
@ -199,7 +200,6 @@ return [
'email_send_me' => 'Nosūtīt kopiju man uz :email', 'email_send_me' => 'Nosūtīt kopiju man uz :email',
'connect' => 'Pieslēgties', 'connect' => 'Pieslēgties',
'assign' => 'Piešķirt', 'assign' => 'Piešķirt',
'your_notifications' => 'Jūsu paziņojums|Jūsu paziņojumi',
'new' => 'Jauns', 'new' => 'Jauns',
'new_more' => 'Jauns...', 'new_more' => 'Jauns...',
'number' => 'Numurs', 'number' => 'Numurs',

View File

@ -2,9 +2,179 @@
return [ return [
'whoops' => 'Whoops!', 'whoops' => 'Klau!',
'hello' => 'Sveicināts!', 'hello' => 'Sveicināts!',
'salutation' => 'Sveicieniem,<br> : company_name', 'salutation' => 'Sveicināti,<br>:uzņēmuma nosaukums',
'subcopy' => 'Ja rodas problēmas, noklikšķinot uz ": tekstu" pogu, nokopējiet šo URL un ielīmējiet to savā web pārlūkprogrammā: [:url](:url)', 'subcopy' => 'Ja rodas problēmas, noklikšķinot uz ": tekstu" pogu, nokopējiet šo URL un ielīmējiet to savā web pārlūkprogrammā: [:url](:url)',
'mark_read' => 'Atzīmēt kā izlasītu',
'mark_read_all' => 'Atzīmēt visu kā izlasītu',
'empty' => 'Oho, nav jaunu paziņojumu!',
'update' => [
'mail' => [
'title' => '⚠️ Atjaunināšana neizdevās :domain',
'description' => 'Šāda atjaunināšana no :alias :current_version uz :new_version neizdevās <strong>:solis</strong> solis ar šādu ziņojumu: :error_message',
],
'slack' => [
'description' => 'Atjaunināšana neizdevās :domain',
],
],
'import' => [
'completed' => [
'title' => 'Importēšana pabeigta',
'description' => 'Importēšana ir pabeigta, un ieraksti ir pieejami panelī.',
],
'failed' => [
'title' => 'Importēšana neizdevās',
'description' => 'Failu nevar importēt šādu problēmu dēļ:',
],
],
'export' => [
'completed' => [
'title' => 'Eksportēšana ir pabeigta',
'description' => 'Eksportēšanas fails ir gatavs lejupielādei no šīs saites:',
],
'failed' => [
'title' => 'Eksportēšana neizdevās',
'description' => 'Nevar izveidot eksportēšanas failu šādas problēmas dēļ:',
],
],
'menu' => [
'export_completed' => [
'title' => 'Eksportēšana ir pabeigta',
'description' => 'Jūsu <strong>:type</strong> eksporta fails ir gatavs <a href=":url" target="_blank"><strong>lejupielādei</strong></a>.',
],
'export_failed' => [
'title' => 'Eksportēšana neizdevās',
'description' => 'Nevar izveidot eksporta failu šādas problēmas dēļ: :issues',
],
'import_completed' => [
'title' => 'Importēšana pabeigta',
'description' => 'Jūsu <strong>:type</strong> līnijas <strong>:count</strong> dati ir veiksmīgi importēti.',
],
'new_apps' => [
'title' => 'Jauna lietotne',
'description' => '<strong>:name</strong> lietotne ir beigusies. Jūs varat <a href=":url">nospiežot šeit</a> redzēt detaļas.',
],
'invoice_new_customer' => [
'title' => 'Jauns rēķins',
'description' => '<strong>:invoice_number</strong>rēķins ir izveidots. Jūs varat <a href=":invoice_portal_link">noklikšķiniet šeit</a> lai redzētu detalizētu informāciju un turpinātu maksājumu.',
],
'invoice_remind_customer' => [
'title' => 'Nokavēts rēķins',
'description' => '<strong>:invoice_number</strong> rēķins bija jāsamaksā <strong>:invoice_due_date</strong>. Varat <a href=":invoice_portal_link">noklikšķināt šeit</a> lai skatītu detalizētu informāciju un turpinātu maksājumu.',
],
'invoice_remind_admin' => [
'title' => 'Nokavēts rēķins',
'description' => '<strong>:invoice_number</strong> rēķins bija jāsamaksā<strong>:invoice_due_date</strong>. Varat <a href=":invoice_admin_link">noklikšķināt šeit</a> lai skatītu detalizētu informāciju.',
],
'invoice_recur_customer' => [
'title' => 'Jauns periodisks rēķins',
'description' => 'Rēķins <strong>:invoice_number</strong> tiek izveidots, pamatojoties uz jūsu periodiskumu. Varat <a href=":invoice_portal_link">noklikšķināt šeit</a>, lai skatītu detalizētu informāciju un turpinātu maksājumu.',
],
'invoice_recur_admin' => [
'title' => 'Jauns periodisks rēķins',
'description' => '<strong>:invoice_number</strong> rēķins tiek izveidots, pamatojoties uz <strong>:customer_name</strong> periodiskumu. Varat <a href=":invoice_admin_link">noklikšķināt šeit</a>, lai skatītu detalizētu informāciju.',
],
'invoice_view_admin' => [
'title' => 'Rēķins skatīts',
'description' => '<strong>:customer_name</strong> ir skatījis <strong>:invoice_number</strong> rēķinu. Varat <a href=":invoice_admin_link">noklikšķināt šeit</a>, lai skatītu detalizētu informāciju.',
],
'revenue_new_customer' => [
'title' => 'Saņemts maksājums',
'description' => 'Paldies par apmaksu rēķinam <strong>:invoice_number</strong>. Varat <a href=":invoice_portal_link">noklikšķināt šeit</a>, lai skatītu detalizētu informāciju.',
],
'invoice_payment_customer' => [
'title' => 'Saņemts maksājums',
'description' => 'Paldies par apmaksu rēķinam <strong>:invoice_number</strong>. Varat <a href=":invoice_portal_link">noklikšķināt šeit</a>, lai skatītu detalizētu informāciju.',
],
'invoice_payment_admin' => [
'title' => 'Saņemts maksājums',
'description' => ':customer_name reģistrēts maksājums par rēķinu<strong>:invoice_number</strong>. Varat <a href=":invoice_admin_link">noklikšķināt šeit</a>, lai skatītu detalizētu informāciju.',
],
'bill_remind_admin' => [
'title' => 'Rēķins Nokavēts ',
'description' => '<strong>:bill_number</strong> rēķins bija jāsamaksā <strong>:bill_demis_date</strong>. Varat <a href=":bill_admin_link">noklikšķināt šeit</a>, lai skatītu detalizētu informāciju.',
],
'bill_recur_admin' => [
'title' => 'Jauns periodisks rēķins',
'description' => 'Rēķins <strong>:bill_number</strong> tiek izveidots, pamatojoties uz <strong>:vendor_name</strong> periodiskumu. Varat <a href=":bill_admin_link">noklikšķināt šeit</a>, lai skatītu detalizētu informāciju.',
],
],
'messages' => [
'mark_read' => ':veids ir izlasīts šis paziņojums!',
'mark_read_all' => ':veids ir izlasīti visi paziņojumi!',
],
]; ];

View File

@ -167,7 +167,7 @@ return [
], ],
'scheduling' => [ 'scheduling' => [
'name' => 'Ieplānotšana', 'name' => 'Plānošana',
'description' => 'Automātiskie atgādinātāji un komandas atkārtojumu veikšanai', 'description' => 'Automātiskie atgādinātāji un komandas atkārtojumu veikšanai',
'search_keywords' => 'automātisks, atgādinājums, atkārtots, cron, komanda', 'search_keywords' => 'automātisks, atgādinājums, atkārtots, cron, komanda',
'send_invoice' => 'Sūtīt rēķinu atgādinājumus', 'send_invoice' => 'Sūtīt rēķinu atgādinājumus',

View File

@ -4,6 +4,11 @@ return [
'edit_columns' => 'Editar colunas', 'edit_columns' => 'Editar colunas',
'empty_items' => 'Você não adicionou nenhum item.', 'empty_items' => 'Você não adicionou nenhum item.',
'grand_total' => 'Total Geral',
'accept_payment_online' => 'Aceite Pagamentos Online',
'transaction' => 'Um pagamento para :amount foi feito usando :account.',
'billing' => 'Cobrança',
'advanced' => 'Avançado',
'invoice_detail' => [ 'invoice_detail' => [
'marked' => '<b> Você </b> marcou esta fatura como', 'marked' => '<b> Você </b> marcou esta fatura como',
@ -13,15 +18,6 @@ return [
'more_item' => '+:count mais itens', 'more_item' => '+:count mais itens',
], ],
'grand_total' => 'Total Geral',
'accept_payment_online' => 'Aceite Pagamentos Online',
'transaction' => 'Um pagamento para :amount foi feito usando :account.',
'billing' => 'Cobrança',
'advanced' => 'Avançado',
'statuses' => [ 'statuses' => [
'draft' => 'Rascunho', 'draft' => 'Rascunho',
'sent' => 'Enviado', 'sent' => 'Enviado',

View File

@ -4,11 +4,10 @@ return [
'dashboards' => 'Painel | Painéis', 'dashboards' => 'Painel | Painéis',
'items' => 'Item | Itens', 'items' => 'Item | Itens',
'incomes' => 'Renda|Rendas',
'invoices' => 'Fatura|Faturas', 'invoices' => 'Fatura|Faturas',
'recurring_invoices' => 'Fatura recorrente|Faturas recorrentes', 'recurring_invoices' => 'Fatura recorrente|Faturas recorrentes',
'customers' => 'Cliente|Clientes', 'customers' => 'Cliente|Clientes',
'incomes' => 'Receita|Receitas', 'incomes' => 'Renda|Rendas',
'recurring_incomes' => 'Receita recorrente|Receitas recorrentes', 'recurring_incomes' => 'Receita recorrente|Receitas recorrentes',
'expenses' => 'Despesa|Despesas', 'expenses' => 'Despesa|Despesas',
'recurring_expenses' => 'Despesa recorrente|Despesas recorrentes', 'recurring_expenses' => 'Despesa recorrente|Despesas recorrentes',
@ -70,6 +69,7 @@ return [
'invitations' => 'Convite|Convites', 'invitations' => 'Convite|Convites',
'attachments' => 'Anexo|Anexos', 'attachments' => 'Anexo|Anexos',
'histories' => 'Histórico|Históricos', 'histories' => 'Histórico|Históricos',
'your_notifications' => 'Sua notificação|Suas notificações',
'welcome' => 'Bem-vindo', 'welcome' => 'Bem-vindo',
'banking' => 'Banco', 'banking' => 'Banco',
@ -184,6 +184,7 @@ return [
'no_matching_data' => 'Não há dados correspondentes', 'no_matching_data' => 'Não há dados correspondentes',
'clear_cache' => 'Limpar o Cache', 'clear_cache' => 'Limpar o Cache',
'go_to_dashboard' => 'Ir para o Painel', 'go_to_dashboard' => 'Ir para o Painel',
'create_first_invoice' => 'Crie sua primeira fatura',
'is' => 'é', 'is' => 'é',
'isnot' => 'não é', 'isnot' => 'não é',
'recurring_and_more' => 'Recorrente e mais..', 'recurring_and_more' => 'Recorrente e mais..',
@ -199,7 +200,6 @@ return [
'email_send_me' => 'Enviar uma cópia para mim mesmo em :email', 'email_send_me' => 'Enviar uma cópia para mim mesmo em :email',
'connect' => 'Conectar', 'connect' => 'Conectar',
'assign' => 'Atribuir', 'assign' => 'Atribuir',
'your_notifications' => 'Sua notificação|Suas notificações',
'new' => 'Novo', 'new' => 'Novo',
'new_more' => 'Novo ...', 'new_more' => 'Novo ...',
'number' => 'Número', 'number' => 'Número',

View File

@ -291,11 +291,17 @@
<x-slot name="first"> <x-slot name="first">
{{ $item->contact->name }} {{ $item->contact->name }}
</x-slot> </x-slot>
<x-slot name="second"> <x-slot name="second" class="w-20 font-normal group">
@if ($item->document) @if ($item->document)
<div data-tooltip-target="tooltip-information-{{ $item->document_id }}" data-tooltip-placement="left" override="class">
<a href="{{ route($item->route_name, $item->route_id) }}" class="font-normal truncate border-b border-black border-dashed"> <a href="{{ route($item->route_name, $item->route_id) }}" class="font-normal truncate border-b border-black border-dashed">
{{ $item->document->document_number }} {{ $item->document->document_number }}
</a> </a>
<div class="w-28 absolute h-10 -ml-12 -mt-6"></div>
<x-documents.index.information :document="$item->document" />
</div>
@else @else
<x-empty-data /> <x-empty-data />
@endif @endif
@ -444,6 +450,16 @@
</x-show.content.right> </x-show.content.right>
</x-show.content> </x-show.content>
</x-show.container> </x-show.container>
<akaunting-connect-transactions
:show="connect.show"
:transaction="connect.transaction"
:currency="connect.currency"
:documents="connect.documents"
:translations="{{ json_encode($transactions) }}"
modal-dialog-class="max-w-screen-lg"
v-on:close-modal="connect.show = false"
></akaunting-connect-transactions>
</x-slot> </x-slot>
<x-script folder="banking" file="accounts" /> <x-script folder="banking" file="accounts" />

View File

@ -8,7 +8,7 @@
</x-slot> </x-slot>
<x-slot name="buttons"> <x-slot name="buttons">
<x-transactions.show.buttons type="{{ $recurring_transaction->type }}" :transaction="$recurring_transaction" /> <x-transactions.show.buttons type="{{ $recurring_transaction->type }}" :transaction="$recurring_transaction" hide-divider4 hide-button-delete />
</x-slot> </x-slot>
<x-slot name="moreButtons"> <x-slot name="moreButtons">
@ -21,8 +21,8 @@
hide-button-share hide-button-share
hide-button-email hide-button-email
hide-divider-2 hide-divider-2
hide-button-delete
hide-divider-4 hide-divider-4
hide-button-delete
/> />
</x-slot> </x-slot>

View File

@ -59,6 +59,7 @@
<x-slot name="third" <x-slot name="third"
amount="{{ money($totals['profit'], setting('default.currency'), true) }}" amount="{{ money($totals['profit'], setting('default.currency'), true) }}"
title="{{ trans_choice('general.profits', 1) }}" title="{{ trans_choice('general.profits', 1) }}"
class="cursor-default"
></x-slot> ></x-slot>
</x-index.summary> </x-index.summary>
@ -162,15 +163,18 @@
<x-slot name="first"> <x-slot name="first">
{{ $item->contact->name }} {{ $item->contact->name }}
</x-slot> </x-slot>
<x-slot name="second" class="w-20 font-normal group" data-tooltip-target="tooltip-information-{{ $item->id }}" data-tooltip-placement="left" override="class"> <x-slot name="second" class="w-20 font-normal group">
@if ($item->document) @if ($item->document)
<div data-tooltip-target="tooltip-information-{{ $item->document_id }}" data-tooltip-placement="left" override="class">
<a href="{{ route($item->route_name, $item->route_id) }}" class="font-normal truncate border-b border-black border-dashed"> <a href="{{ route($item->route_name, $item->route_id) }}" class="font-normal truncate border-b border-black border-dashed">
{{ $item->document->document_number }} {{ $item->document->document_number }}
</a> </a>
<div class="w-28 absolute h-10 -ml-12 -mt-6"></div> <div class="w-28 absolute h-10 -ml-12 -mt-6">
</div>
<x-documents.index.information :document="$item->document" /> <x-documents.index.information :document="$item->document" />
</div>
@else @else
<x-empty-data /> <x-empty-data />
@endif @endif

View File

@ -215,12 +215,12 @@
{{ $item->contact_name }} {{ $item->contact_name }}
</x-slot> </x-slot>
<x-slot name="second" class="relative w-20 font-normal group" data-tooltip-target="tooltip-information-{{ $item->id }}" data-tooltip-placement="left" override="class,data-tooltip-target,data-tooltip-placement"> <x-slot name="second" class="w-20 font-normal group" data-tooltip-target="tooltip-information-{{ $item->id }}" data-tooltip-placement="left" override="class,data-tooltip-target,data-tooltip-placement">
<span class="border-black border-b border-dashed"> <span class="border-black border-b border-dashed">
{{ $item->document_number }} {{ $item->document_number }}
</span> </span>
<div class="w-full absolute h-10 -left-10 -mt-6"></div> <div class="w-28 absolute h-10 -left-10 -mt-6"></div>
<x-documents.index.information :document="$item" /> <x-documents.index.information :document="$item" />
</x-slot> </x-slot>

View File

@ -65,7 +65,7 @@
<td class="px-3 py-3 border-b-0 description"> <td class="px-3 py-3 border-b-0 description">
@if (! $hideItemDescription) @if (! $hideItemDescription)
<textarea <textarea
class="form-element mt-1.5 resize-none" class="form-element mt-1.5"
style="height:42px;" style="height:42px;"
:ref="'items-' + index + '-description'" :ref="'items-' + index + '-description'"
placeholder="{{ trans('items.enter_item_description') }}" placeholder="{{ trans('items.enter_item_description') }}"

View File

@ -8,5 +8,6 @@
form-label-class="lg:text-lg" form-label-class="lg:text-lg"
form-group-class="border-b pb-2 mb-3.5" form-group-class="border-b pb-2 mb-3.5"
rows="1" rows="1"
textarea-auto-height
/> />
</div> </div>

View File

@ -106,7 +106,7 @@
</button> </button>
</div> </div>
<x-form.group.number name="pre_discount" id="pre-discount" form-group-class="-mt-1" v-model="form.discount" @input="onAddTotalDiscount" /> <x-form.group.text name="pre_discount" id="pre-discount" form-group-class="-mt-1" v-model="form.discount" @input="onAddTotalDiscount" />
</div> </div>
</td> </td>

View File

@ -1,4 +1,4 @@
<div id="tooltip-information-{{ $document->id }}" role="tooltip" class="w-96 inline-block absolute z-10 text-sm font-medium rounded-lg border border-gray-200 shadow-sm whitespace-nowrap tooltip-content transition-visible bg-lilac-900 border-none text-black p-6 cursor-auto opacity-0 invisible"> <div id="tooltip-information-{{ $document->id }}" role="tooltip" class="w-96 inline-block absolute left-0 z-10 text-sm font-medium rounded-lg border border-gray-200 shadow-sm whitespace-nowrap tooltip-content transition-visible bg-lilac-900 border-none text-black p-6 cursor-auto opacity-0 invisible">
<div class="absolute w-2 h-2 inset-y-1/2 -right-1 before:content-[' '] before:absolute before:w-2 before:h-2 before:bg-lilac-900 before:border-gray-200 before:transform before:rotate-45 before:border before:border-t-0 before:border-l-0 data-popper-arrow"></div> <div class="absolute w-2 h-2 inset-y-1/2 -right-1 before:content-[' '] before:absolute before:w-2 before:h-2 before:bg-lilac-900 before:border-gray-200 before:transform before:rotate-45 before:border before:border-t-0 before:border-l-0 data-popper-arrow"></div>
<ul> <ul>

View File

@ -130,8 +130,6 @@
<x-dropdown.link href="{{ route($endRoute, $document->id) }}"> <x-dropdown.link href="{{ route($endRoute, $document->id) }}">
{{ trans('recurring.end') }} {{ trans('recurring.end') }}
</x-dropdown.link> </x-dropdown.link>
<x-dropdown.divider />
@endif @endif
@stack('end_button_end') @stack('end_button_end')

View File

@ -1,4 +1,4 @@
<div class="p-7 shadow-2xl rounded-2xl print-template"> <div class="p-7 shadow-2xl rounded-2xl">
@if ($documentTemplate) @if ($documentTemplate)
@switch($documentTemplate) @switch($documentTemplate)
@case('classic') @case('classic')

View File

@ -1,3 +1,4 @@
<div class="print-template">
<div class="row"> <div class="row">
<div class="col-100"> <div class="col-100">
<div class="text text-dark"> <div class="text text-dark">
@ -385,3 +386,4 @@
</div> </div>
@endif @endif
@endif @endif
</div>

View File

@ -1,3 +1,4 @@
<div class="print-template">
<div class="row"> <div class="row">
<div class="col-100"> <div class="col-100">
<div class="text text-dark"> <div class="text text-dark">
@ -195,7 +196,7 @@
<div class="col-100"> <div class="col-100">
<div class="text extra-spacing"> <div class="text extra-spacing">
<table class="lines"> <table class="lines">
<thead class="bg-{{ $backgroundColor }}" style="background-color:{{ $backgroundColor }} !important; -webkit-print-color-adjust: exact;"> <thead style="background-color:{{ $backgroundColor }} !important; -webkit-print-color-adjust: exact;">
<tr> <tr>
@stack('name_th_start') @stack('name_th_start')
@if (! $hideItems || (! $hideName && ! $hideDescription)) @if (! $hideItems || (! $hideName && ! $hideDescription))
@ -344,3 +345,4 @@
</div> </div>
@endif @endif
@endif @endif
</div>

View File

@ -1,3 +1,4 @@
<div class="print-template">
<div class="row"> <div class="row">
<div class="col-100"> <div class="col-100">
<div class="text text-dark"> <div class="text text-dark">
@ -206,7 +207,7 @@
<div class="col-100"> <div class="col-100">
<div class="text extra-spacing"> <div class="text extra-spacing">
<table class="lines modern-lines"> <table class="lines modern-lines">
<thead class="bg-{{ $backgroundColor }}" style="background-color:{{ $backgroundColor }} !important; -webkit-print-color-adjust: exact;"> <thead style="background-color:{{ $backgroundColor }} !important; -webkit-print-color-adjust: exact;">
<tr> <tr>
@stack('name_th_start') @stack('name_th_start')
@if (! $hideItems || (! $hideName && ! $hideDescription)) @if (! $hideItems || (! $hideName && ! $hideDescription))
@ -345,7 +346,7 @@
@if (! $hideFooter) @if (! $hideFooter)
@if ($document->footer) @if ($document->footer)
<div class="row mt-7"> <div class="row mt-7">
<div class="col-100 py-top p-modern bg-{{ $backgroundColor }}" style="background-color:{{ $backgroundColor }} !important; -webkit-print-color-adjust: exact;"> <div class="col-100 py-top p-modern" style="background-color:{{ $backgroundColor }} !important; -webkit-print-color-adjust: exact;">
<div class="text pl-2"> <div class="text pl-2">
<strong class="text-white"> <strong class="text-white">
{!! nl2br($document->footer) !!} {!! nl2br($document->footer) !!}
@ -355,3 +356,4 @@
</div> </div>
@endif @endif
@endif @endif
</div>

View File

@ -46,9 +46,13 @@
<li class="border-b p-2 hover:bg-gray-100"> <li class="border-b p-2 hover:bg-gray-100">
<a href="{{ url($suggestion->action_url) . '?' . http_build_query((array) $suggestion->action_parameters) }}" class="flex items-center justify-between text-xs"> <a href="{{ url($suggestion->action_url) . '?' . http_build_query((array) $suggestion->action_parameters) }}" class="flex items-center justify-between text-xs">
<div class="truncate"> <div class="truncate">
<h2 class="">{{ $suggestion->name }}</h2> <h2>
{{ $suggestion->name }}
</h2>
<div class="h-4 overflow-hidden text-black-400 truncate">Enter details and create your first expense easily</div> <div class="h-4 overflow-hidden text-black-400 truncate">
{{ $suggestion->description ?? '' }}
</div>
</div> </div>
<span class="material-icons text-gray-500">chevron_right</span> <span class="material-icons text-gray-500">chevron_right</span>

View File

@ -121,6 +121,10 @@
clearable clearable
@endif @endif
@if (isset($attributes['no-arrow']))
:no-arrow="{{ $attributes['no-arrow'] }}"
@endif
@if (isset($attributes['v-disabled'])) @if (isset($attributes['v-disabled']))
:disabled="{{ $attributes['v-disabled'] }}" :disabled="{{ $attributes['v-disabled'] }}"
@endif @endif

View File

@ -121,6 +121,10 @@
clearable clearable
@endif @endif
@if (isset($attributes['no-arrow']))
:no-arrow="{{ $attributes['no-arrow'] }}"
@endif
@if (isset($attributes['v-disabled'])) @if (isset($attributes['v-disabled']))
:disabled="{{ $attributes['v-disabled'] }}" :disabled="{{ $attributes['v-disabled'] }}"
@endif @endif

View File

@ -23,10 +23,10 @@
@elseif (! empty($first)) @elseif (! empty($first))
<div class="w-1/2 sm:w-1/3 text-center"> <div class="w-1/2 sm:w-1/3 text-center">
@if ($first->attributes->has('href')) @if ($first->attributes->has('href'))
<a href="{{ $first->attributes->get('hef') }}" class="group"> <a href="{{ $first->attributes->get('href') }}" class="group">
@endif @endif
@php $text_color = $first->attributes->has('text-color') ? $first->attributes->get('text-color') : 'text-purple group-hover:text-purple-700'; @endphp @php $text_color = $first->attributes->has('text-color') ? $first->attributes->get('text-color') : 'text-purple group-hover:text-purple-700'; @endphp
<div @class(['relative text-xl sm:text-6xl', $text_color, 'mb-2'])> <div @class(['relative text-xl sm:text-6xl', $text_color, 'mb-2', $first->attributes->get('class')])>
{!! $first->attributes->get('amount') !!} {!! $first->attributes->get('amount') !!}
<span class="w-8 absolute left-0 right-0 m-auto -bottom-1 bg-gray-200 transition-all group-hover:bg-gray-900" style="height: 1px;"></span> <span class="w-8 absolute left-0 right-0 m-auto -bottom-1 bg-gray-200 transition-all group-hover:bg-gray-900" style="height: 1px;"></span>
</div> </div>
@ -51,10 +51,10 @@
@elseif (! empty($second)) @elseif (! empty($second))
<div class="w-1/2 sm:w-1/3 text-center"> <div class="w-1/2 sm:w-1/3 text-center">
@if ($second->attributes->has('href')) @if ($second->attributes->has('href'))
<a href="{{ $second->attributes->get('hef') }}" class="group"> <a href="{{ $second->attributes->get('href') }}" class="group">
@endif @endif
@php $text_color = $second->attributes->has('text-color') ? $second->attributes->get('text-color') : 'text-purple group-hover:text-purple-700'; @endphp @php $text_color = $second->attributes->has('text-color') ? $second->attributes->get('text-color') : 'text-purple group-hover:text-purple-700'; @endphp
<div @class(['relative text-xl sm:text-6xl', $text_color, 'mb-2'])> <div @class(['relative text-xl sm:text-6xl', $text_color, 'mb-2', $second->attributes->get('class')])>
{!! $second->attributes->get('amount') !!} {!! $second->attributes->get('amount') !!}
<span class="w-8 absolute left-0 right-0 m-auto -bottom-1 bg-gray-200 transition-all group-hover:bg-gray-900" style="height: 1px;"></span> <span class="w-8 absolute left-0 right-0 m-auto -bottom-1 bg-gray-200 transition-all group-hover:bg-gray-900" style="height: 1px;"></span>
</div> </div>
@ -80,10 +80,10 @@
@elseif (! empty($third)) @elseif (! empty($third))
<div class="w-1/2 sm:w-1/3 text-center"> <div class="w-1/2 sm:w-1/3 text-center">
@if ($third->attributes->has('href')) @if ($third->attributes->has('href'))
<a href="{{ $third->attributes->get('hef') }}" class="group"> <a href="{{ $third->attributes->get('href') }}" class="group">
@endif @endif
@php $text_color = $third->attributes->has('text-color') ? $third->attributes->get('text-color') : 'text-purple group-hover:text-purple-700'; @endphp @php $text_color = $third->attributes->has('text-color') ? $third->attributes->get('text-color') : 'text-purple group-hover:text-purple-700'; @endphp
<div @class(['relative text-xl sm:text-6xl', $text_color, 'mb-2'])> <div @class(['relative text-xl sm:text-6xl', $text_color, 'mb-2', $third->attributes->get('class')])>
{!! $third->attributes->get('amount') !!} {!! $third->attributes->get('amount') !!}
<span class="w-8 absolute left-0 right-0 m-auto -bottom-1 bg-gray-200 transition-all group-hover:bg-gray-900" style="height: 1px;"></span> <span class="w-8 absolute left-0 right-0 m-auto -bottom-1 bg-gray-200 transition-all group-hover:bg-gray-900" style="height: 1px;"></span>
</div> </div>

View File

@ -13,9 +13,9 @@
</x-layouts.admin.head> </x-layouts.admin.head>
@mobile @mobile
<body class="g-sidenav-hidden bg-body overflow-overlay"> <body class="g-sidenav-hidden bg-body">
@elsemobile @elsemobile
<body class="g-sidenav-show bg-body overflow-overlay"> <body class="g-sidenav-show bg-body">
@endmobile @endmobile
@stack('body_start') @stack('body_start')

View File

@ -7,9 +7,9 @@
</x-layouts.auth.head> </x-layouts.auth.head>
@mobile @mobile
<body class="g-sidenav-hidden bg-body overflow-overlay"> <body class="g-sidenav-hidden bg-body">
@elsemobile @elsemobile
<body class="g-sidenav-show bg-body overflow-overlay"> <body class="g-sidenav-show bg-body">
@endmobile @endmobile
@stack('body_start') @stack('body_start')

View File

@ -7,9 +7,9 @@
</x-layouts.admin.head> </x-layouts.admin.head>
@mobile @mobile
<body class="g-sidenav-hidden bg-body overflow-overlay"> <body class="g-sidenav-hidden bg-body">
@elsemobile @elsemobile
<body class="g-sidenav-show bg-body overflow-overlay"> <body class="g-sidenav-show bg-body">
@endmobile @endmobile
@stack('body_start') @stack('body_start')

View File

@ -7,9 +7,9 @@
</x-layouts.modules.head> </x-layouts.modules.head>
@mobile @mobile
<body class="g-sidenav-hidden bg-body overflow-overlay"> <body class="g-sidenav-hidden bg-body">
@elsemobile @elsemobile
<body class="g-sidenav-show bg-body overflow-overlay"> <body class="g-sidenav-show bg-body">
@endmobile @endmobile
@stack('body_start') @stack('body_start')

View File

@ -6,6 +6,6 @@
<div x-show="price_type == false" class="text-center text-sm mt-3 mb--2"> <div x-show="price_type == false" class="text-center text-sm mt-3 mb--2">
<span style="font-size: 12px;"> <span style="font-size: 12px;">
<span class="text-danger">*</span> <a href="https://akaunting.com/features/why-akaunting-cloud?utm_source=app&utm_medium=show&utm_campaign={{ $module->name }}" target="_blank">{!! trans('modules.information_monthly') !!}</a> <span class="text-danger">*</span> <a href="https://akaunting.com/features/why-akaunting-cloud?utm_source=app_show&utm_medium=software&utm_campaign={{ str_replace('-', '', $module->slug) }}" target="_blank">{!! trans('modules.information_monthly') !!}</a>
</span> </span>
</div> </div>

View File

@ -7,9 +7,9 @@
</x-layouts.portal.head> </x-layouts.portal.head>
@mobile @mobile
<body class="g-sidenav-hidden bg-body overflow-overlay"> <body class="g-sidenav-hidden bg-body">
@elsemobile @elsemobile
<body class="g-sidenav-show bg-body overflow-overlay"> <body class="g-sidenav-show bg-body">
@endmobile @endmobile
@stack('body_start') @stack('body_start')

View File

@ -1,4 +1,4 @@
<div data-loading-content v-if="content_loading" class="fixed w-4/5 h-screen hidden lg:flex items-center justify-center bg-body top-0 bottom-0 ltr:right-0 rtl:left-0 -mx-1 z-50"> <div data-loading-content v-if="content_loading" class="fixed w-4/5 h-screen lg:flex items-center justify-center bg-body top-0 bottom-0 ltr:right-0 rtl:left-0 -mx-1 z-50">
<img src="{{ asset('public/img/akaunting-loading.gif') }}" class="w-28 h-28 -mt-16" alt="Akaunting" /> <img src="{{ asset('public/img/akaunting-loading.gif') }}" class="w-28 h-28 -mt-16" alt="Akaunting" />
</div> </div>
<!--data attr added because for none vue.js pages--> <!--data attr added because for none vue.js pages-->

View File

@ -29,10 +29,12 @@
@stack('recurring_message_end') @stack('recurring_message_end')
@stack('row_create_start') @stack('row_create_start')
@if (! $hideCreated)
<x-transactions.show.create <x-transactions.show.create
type="{{ $type }}" type="{{ $type }}"
:transaction="$transaction" :transaction="$transaction"
/> />
@endif
@stack('row_create_end') @stack('row_create_end')
@stack('schedule_start') @stack('schedule_start')

View File

@ -29,7 +29,7 @@
type="button" type="button"
class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap"
title="{{ trans('general.connect') }}" title="{{ trans('general.connect') }}"
@click="onConnect('{{ route('transactions.dial', $transaction->id) }}')"> @click="onConnectTransactions('{{ route('transactions.dial', $transaction->id) }}')">
<span class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100">{{ trans('general.connect') }}</span> <span class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100">{{ trans('general.connect') }}</span>
</button> </button>
@endcan @endcan

View File

@ -1,4 +1,4 @@
<div class="p-7 shadow-2xl rounded-2xl print-template"> <div class="p-7 shadow-2xl rounded-2xl">
@if ($transactionTemplate) @if ($transactionTemplate)
@switch($transactionTemplate) @switch($transactionTemplate)
@case('classic') @case('classic')

View File

@ -1,3 +1,4 @@
<div class="print-template">
@stack('company_start') @stack('company_start')
@if (! $hideCompany) @if (! $hideCompany)
<table class="border-bottom-1"> <table class="border-bottom-1">
@ -59,7 +60,7 @@
<tr> <tr>
<td style="width: 60%; padding: 15px 0 15px 0;"> <td style="width: 60%; padding: 15px 0 15px 0;">
<h2 style="font-size: 12px; font-weight:600;"> <h2 style="font-size: 12px; font-weight:600;">
{{ trans($textContentTitle) }} {{ $textContentTitle != trans_choice($textContentTitle, 1) ? trans_choice($textContentTitle, 1) : trans($textContentTitle) }}
</h2> </h2>
</td> </td>
</tr> </tr>
@ -180,7 +181,6 @@
<table class="border-bottom-1" style="padding-bottom:15px;"> <table class="border-bottom-1" style="padding-bottom:15px;">
@if (! $hideContact) @if (! $hideContact)
@if (! $hideContactInfo) @if (! $hideContactInfo)
<tr> <tr>
<td style="margin: 0px; padding: 0 0 8px 0; font-size: 12px;"> <td style="margin: 0px; padding: 0 0 8px 0; font-size: 12px;">
@ -195,6 +195,7 @@
<td valign="top" style="width: 30%; margin: 0px; padding: 8px 4px 0 0; font-size: 12px; font-weight:600;"> <td valign="top" style="width: 30%; margin: 0px; padding: 8px 4px 0 0; font-size: 12px; font-weight:600;">
{{ trans('general.name') }} {{ trans('general.name') }}
</td> </td>
<td class="border-bottom-dashed-black" style="width:70%; margin: 0px; padding: 8px 0 0 0; font-size: 12px;"> <td class="border-bottom-dashed-black" style="width:70%; margin: 0px; padding: 8px 0 0 0; font-size: 12px;">
{{ $transaction->contact->name }} {{ $transaction->contact->name }}
</td> </td>
@ -208,6 +209,7 @@
<td valign="top" style="width: 30%; margin: 0px; padding: 8px 4px 0 0; font-size: 12px; font-weight:600;"> <td valign="top" style="width: 30%; margin: 0px; padding: 8px 4px 0 0; font-size: 12px; font-weight:600;">
{{ trans('general.address') }} {{ trans('general.address') }}
</td> </td>
<td class="border-bottom-dashed-black" style="width:70%; margin: 0px; padding: 8px 0 0 0; font-size: 12px;"> <td class="border-bottom-dashed-black" style="width:70%; margin: 0px; padding: 8px 0 0 0; font-size: 12px;">
{!! nl2br($transaction->contact->address) !!} {!! nl2br($transaction->contact->address) !!}
</td> </td>
@ -221,6 +223,7 @@
<td valign="top" style="width: 30%; margin: 0px; padding: 8px 4px 0 0; font-size: 12px; font-weight:600;"> <td valign="top" style="width: 30%; margin: 0px; padding: 8px 4px 0 0; font-size: 12px; font-weight:600;">
{{ trans('general.tax_number') }} {{ trans('general.tax_number') }}
</td> </td>
<td class="border-bottom-dashed-black" style="width:70%; margin: 0px; padding: 8px 0 0 0; font-size: 12px;"> <td class="border-bottom-dashed-black" style="width:70%; margin: 0px; padding: 8px 0 0 0; font-size: 12px;">
@if ($transaction->contact->tax_number) @if ($transaction->contact->tax_number)
{{ trans('general.tax_number') }}: {{ $transaction->contact->tax_number }} {{ trans('general.tax_number') }}: {{ $transaction->contact->tax_number }}
@ -236,6 +239,7 @@
<td valign="top" style="width: 30%; margin: 0px; padding: 8px 4px 0 0; font-size: 12px; font-weight:600;"> <td valign="top" style="width: 30%; margin: 0px; padding: 8px 4px 0 0; font-size: 12px; font-weight:600;">
{{ trans('general.phone') }} {{ trans('general.phone') }}
</td> </td>
<td class="border-bottom-dashed-black" style="width:70%; margin: 0px; padding: 8px 0 0 0; font-size: 12px;"> <td class="border-bottom-dashed-black" style="width:70%; margin: 0px; padding: 8px 0 0 0; font-size: 12px;">
@if ($transaction->contact->phone) @if ($transaction->contact->phone)
{{ $transaction->contact->phone }} {{ $transaction->contact->phone }}
@ -251,6 +255,7 @@
<td valign="top" style="width: 30%; margin: 0px; padding: 8px 4px 0 0; font-size: 12px; font-weight:600;"> <td valign="top" style="width: 30%; margin: 0px; padding: 8px 4px 0 0; font-size: 12px; font-weight:600;">
{{ trans('general.email') }} {{ trans('general.email') }}
</td> </td>
<td class="border-bottom-dashed-black" style="width:70%; margin: 0px; padding: 8px 0 0 0; font-size: 12px;"> <td class="border-bottom-dashed-black" style="width:70%; margin: 0px; padding: 8px 0 0 0; font-size: 12px;">
{{ $transaction->contact->email }} {{ $transaction->contact->email }}
</td> </td>
@ -258,6 +263,7 @@
@endif @endif
@stack('email_input_end') @stack('email_input_end')
@endif @endif
<tr> <tr>
<td></td> <td></td>
</tr> </tr>
@ -268,7 +274,9 @@
<table> <table>
<tr> <tr>
<td style="padding:15px 0 0 0;"> <td style="padding:15px 0 0 0;">
<h2 style="font-size: 12px; font-weight:600; margin-bottom: 15px;">{{ trans($textRelatedTransansaction) }}</h2> <h2 style="font-size: 12px; font-weight:600; margin-bottom: 15px;">
{{ trans($textRelatedTransansaction) }}
</h2>
</td> </td>
</tr> </tr>
</table> </table>
@ -278,32 +286,39 @@
<tr class="border-bottom-1"> <tr class="border-bottom-1">
<th class="item text-alignment-left text-left" style="padding:5px 0;"> <th class="item text-alignment-left text-left" style="padding:5px 0;">
@if (! $hideRelatedDocumentNumber) @if (! $hideRelatedDocumentNumber)
<span style="font-size: 13px;">{{ trans_choice($textRelatedDocumentNumber, 1) }}</span> <br /> <span style="font-size: 13px;">
{{ trans_choice($textRelatedDocumentNumber, 1) }}
</span>
<br />
@endif @endif
@if (! $hideRelatedContact) @if (! $hideRelatedContact)
<span style="font-weight:500;"> {{ trans_choice($textRelatedContact, 1) }} </span> <span style="font-weight:500;">
{{ trans_choice($textRelatedContact, 1) }}
</span>
@endif @endif
</th> </th>
@if (! $hideRelatedDocumentDate) @if (! $hideRelatedDocumentDate)
<th class="price" style="padding:5px 0; text-align:center;"> <th class="price" style="padding:5px 0; text-align:center;">
{{ trans($textRelatedDocumentDate) }} {{ trans($textRelatedDocumentDate) }}
</th> </th>
@endif @endif
<th class="price text-alignment-right text-right" style="padding: 5px 0;"> <th class="price text-alignment-right text-right" style="padding: 5px 0;">
@if (! $hideRelatedDocumentAmount) @if (! $hideRelatedDocumentAmount)
<span style="font-size: 13px;">{{ trans($textRelatedDocumentAmount) }}</span><br /> <span style="font-size: 13px;">
{{ trans($textRelatedDocumentAmount) }}
</span>
<br />
@endif @endif
@if (! $hideRelatedAmount) @if (! $hideRelatedAmount)
<span style="font-weight:500;">{{ trans($textRelatedAmount) }}</span> <span style="font-weight:500;">
{{ trans($textRelatedAmount) }}
</span>
@endif @endif
</th> </th>
</tr> </tr>
</thead> </thead>
@ -313,11 +328,14 @@
@if (! $hideRelatedDocumentNumber) @if (! $hideRelatedDocumentNumber)
<a class="text-medium" style="border-bottom:1px solid;" href="{{ route($routeDocumentShow, $transaction->document->id) }}"> <a class="text-medium" style="border-bottom:1px solid;" href="{{ route($routeDocumentShow, $transaction->document->id) }}">
{{ $transaction->document->document_number }} {{ $transaction->document->document_number }}
</a> <br /> </a>
<br />
@endif @endif
@if (! $hideRelatedContact) @if (! $hideRelatedContact)
<span style="color: #6E6E6E"> {{ $transaction->document->contact_name }} </span> <span style="color: #6E6E6E">
{{ $transaction->document->contact_name }}
</span>
@endif @endif
</td> </td>
@ -333,7 +351,9 @@
@endif @endif
@if (! $hideRelatedAmount) @if (! $hideRelatedAmount)
<span style="color: #6E6E6E"> @money($transaction->amount, $transaction->currency_code, true) </span> <span style="color: #6E6E6E">
@money($transaction->amount, $transaction->currency_code, true)
</span>
@endif @endif
</td> </td>
</tr> </tr>
@ -351,6 +371,7 @@
<td valign="center" style="width: 80%; padding:0; font-size: 14px; font-weight:600; color:#ffffff;"> <td valign="center" style="width: 80%; padding:0; font-size: 14px; font-weight:600; color:#ffffff;">
{{ trans($textAmount) }}: {{ trans($textAmount) }}:
</td> </td>
<td valign="center" style="width: 20%; padding:0; font-size: 14px; color:#ffffff;"> <td valign="center" style="width: 20%; padding:0; font-size: 14px; color:#ffffff;">
@money($transaction->amount, $transaction->currency_code, true) @money($transaction->amount, $transaction->currency_code, true)
</td> </td>
@ -360,3 +381,4 @@
</tr> </tr>
</table> </table>
@endif @endif
</div>

View File

@ -6,7 +6,7 @@
</div> </div>
<div class="w-full lg:w-7/12"> <div class="w-full lg:w-7/12">
<div class="p-7 shadow-2xl rounded-2xl print-template"> <div class="p-7 shadow-2xl rounded-2xl">
<x-transfers.show.template :model="$transfer" /> <x-transfers.show.template :model="$transfer" />
</div> </div>
</div> </div>

View File

@ -1,3 +1,4 @@
<div class="print-template">
<table class="border-bottom-1" style="width: 100%;"> <table class="border-bottom-1" style="width: 100%;">
<tbody> <tbody>
<tr> <tr>
@ -215,3 +216,4 @@
</td> </td>
</tr> </tr>
</table> </table>
</div>

View File

@ -1,3 +1,4 @@
<div class="print-template">
<table style="width: 100%;"> <table style="width: 100%;">
<tr> <tr>
<td style="padding:0 0 15px 0;"> <td style="padding:0 0 15px 0;">
@ -215,3 +216,4 @@
</td> </td>
</tr> </tr>
</table> </table>
</div>

View File

@ -1,3 +1,4 @@
<div class="print-template">
<table class="border-bottom-1" style="width: 100%;"> <table class="border-bottom-1" style="width: 100%;">
<tbody> <tbody>
<tr> <tr>
@ -225,3 +226,4 @@
</td> </td>
</tr> </tr>
</table> </table>
</div>

View File

@ -1,19 +1,9 @@
<x-layouts.modules> <x-layouts.admin>
<x-slot name="title"> <x-slot name="title">
{{ trans('modules.api_key') }} {{ trans('modules.api_key') }}
</x-slot> </x-slot>
<x-slot name="buttons"> <x-slot name="content">
<x-link href="{{ route('apps.api-key.create') }}">
{{ trans('modules.api_key') }}
</x-link>
<x-link href="{{ route('apps.my.index') }}">
{{ trans('modules.my_apps') }}
</x-link>
</x-slot>
<x-slot name="content" without-bar>
<x-form id="form-app" route="apps.api-key.store"> <x-form id="form-app" route="apps.api-key.store">
<div class="w-1/2"> <div class="w-1/2">
<div class="py-8 flex flex-col gap-2"> <div class="py-8 flex flex-col gap-2">
@ -32,4 +22,4 @@
</x-slot> </x-slot>
<x-script folder="modules" file="apps" /> <x-script folder="modules" file="apps" />
</x-layouts.modules> </x-layouts.admin>

View File

@ -117,7 +117,7 @@
<x-table.td class="w-3/12 sm:table-cell"> <x-table.td class="w-3/12 sm:table-cell">
@stack('document_number_td_inside_start') @stack('document_number_td_inside_start')
<x-slot name="first" class="relative w-20 font-normal group" data-tooltip-target="tooltip-information-{{ $item->id }}" data-tooltip-placement="left" override="class,data-tooltip-target,data-tooltip-placement"> <x-slot name="first" class="w-20 font-normal group" data-tooltip-target="tooltip-information-{{ $item->id }}" data-tooltip-placement="left" override="class,data-tooltip-target,data-tooltip-placement">
<span class="border-black border-b border-dashed"> <span class="border-black border-b border-dashed">
{{ $item->document_number }} {{ $item->document_number }}
</span> </span>

View File

@ -17,7 +17,6 @@
:document="$recurring_bill" :document="$recurring_bill"
hide-divider1 hide-divider1
hide-divider2 hide-divider2
hide-divider3
hide-divider4 hide-divider4
hide-email hide-email
hide-share hide-share
@ -25,6 +24,7 @@
hide-print hide-print
hide-pdf hide-pdf
hide-cancel hide-cancel
hide-delete
/> />
</x-slot> </x-slot>

View File

@ -17,13 +17,14 @@
:document="$recurring_invoice" :document="$recurring_invoice"
hide-divider1 hide-divider1
hide-divider2 hide-divider2
hide-divider3 hide-divider4
hide-email hide-email
hide-share hide-share
hide-customize hide-customize
hide-print hide-print
hide-pdf hide-pdf
hide-cancel hide-cancel
hide-delete
/> />
</x-slot> </x-slot>

View File

@ -58,7 +58,7 @@
</label> </label>
</div> </div>
<x-form.group.color name="color" label="{{ trans('general.color') }}" /> <x-form.group.color name="color" label="{{ trans('general.color') }}" :value="setting('invoice.color')" />
</x-slot> </x-slot>
</x-form.section> </x-form.section>