diff --git a/app/Abstracts/View/Components/TransferShow.php b/app/Abstracts/View/Components/TransferShow.php new file mode 100644 index 000000000..071db76f5 --- /dev/null +++ b/app/Abstracts/View/Components/TransferShow.php @@ -0,0 +1,723 @@ +transfer = $transfer; + $this->transferTemplate = $this->getTransferTemplate($transferTemplate); + $this->payment_methods = ($payment_methods) ?: Modules::getPaymentMethods('all'); + $this->date_format = $this->getCompanyDateFormat(); + + // Navbar Hide + $this->hideButtonAddNew = $hideButtonAddNew; + $this->hideButtonMoreActions = $hideButtonMoreActions; + $this->hideButtonEdit = $hideButtonEdit; + $this->hideButtonDuplicate = $hideButtonDuplicate; + $this->hideButtonPrint = $hideButtonPrint; + $this->hideButtonShare = $hideButtonShare; + $this->hideButtonEmail = $hideButtonEmail; + $this->hideButtonPdf = $hideButtonPdf; + $this->hideButtonTemplate = $hideButtonTemplate; + $this->hideButtonDelete = $hideButtonDelete; + $this->hideButtonGroupDivider1 = $hideButtonGroupDivider1; + $this->hideButtonGroupDivider2 = $hideButtonGroupDivider2; + $this->hideButtonGroupDivider3 = $hideButtonGroupDivider3; + + // Navbar Permission + $this->permissionCreate = $this->getPermissionCreate($permissionCreate); + $this->permissionUpdate = $this->getPermissionUpdate($permissionUpdate); + $this->permissionDelete = $this->getPermissionDelete($permissionDelete); + + // Navbar route + $this->routeButtonAddNew = $this->getRouteButtonAddNew($routeButtonAddNew); + $this->routeButtonEdit = $this->getRouteButtonEdit($routeButtonEdit); + $this->routeButtonDuplicate = $this->getRouteButtonDuplicate($routeButtonDuplicate); + $this->routeButtonPrint = $this->getRouteButtonPrint($routeButtonPrint); + $this->signedUrl = $this->getSignedUrl($signedUrl); + $this->routeButtonEmail = $this->getRouteButtonEmail($routeButtonEmail); + $this->routeButtonPdf = $this->getRouteButtonPdf($routeButtonPdf); + $this->routeButtonDelete = $this->getRouteButtonDelete($routeButtonDelete); + + // Navbar Text + $this->textDeleteModal = $textDeleteModal; + + // Header Hide + $this->hideHeader = $hideHeader; + + $this->hideHeaderFromAccount = $hideHeaderFromAccount; + $this->hideHeaderToAccount = $hideHeaderToAccount; + $this->hideHeaderToAccount = $hideHeaderToAccount; + $this->hideHeaderAmount = $hideHeaderAmount; + $this->hideHeaderPaidAt = $hideHeaderPaidAt; + + // Header Text + $this->textHeaderFromAccount = $this->getTextHeaderFromAccount($textHeaderFromAccount); + $this->textHeaderToAccount = $this->getTextHeaderToAccount($textHeaderToAccount); + $this->textHeaderAmount = $this->getTextHeaderAmount($textHeaderAmount); + $this->textHeaderPaidAt = $this->gettextHeaderPaidAt($textHeaderPaidAt); + + // Header Class + $this->classHeaderFromAccount = $this->getclassHeaderFromAccount($classHeaderFromAccount); + $this->classHeaderToAccount = $this->getClassHeaderToAccount($classHeaderToAccount); + $this->classHeaderAmount = $this->getClassHeaderAmount($classHeaderAmount); + $this->classHeaderPaidAt = $this->getclassHeaderPaidAt($classHeaderPaidAt); + + // From account Hide + $this->hideFromAccount = $hideFromAccount; + $this->hideFromAccountTitle = $hideFromAccountTitle; + $this->hideFromAccountName = $hideFromAccountName; + $this->hideFromAccountNumber = $hideFromAccountNumber; + $this->hideFromAccountBankName = $hideFromAccountBankName; + $this->hideFromAccountBankPhone = $hideFromAccountBankPhone; + $this->hideFromAccountBankAddress = $hideFromAccountBankAddress; + + // From account text + $this->textFromAccountTitle = $this->getTextFromAccountTitle($textFromAccountTitle); + $this->textFromAccountNumber = $this->getTextFromAccountNumber($textFromAccountNumber); + + // To account Hide + $this->hideToAccount = $hideToAccount; + $this->hideToAccountTitle = $hideToAccountTitle; + $this->hideToAccountName = $hideToAccountName; + $this->hideToAccountNumber = $hideToAccountNumber; + $this->hideToAccountBankName = $hideToAccountBankName; + $this->hideToAccountBankPhone = $hideToAccountBankPhone; + $this->hideToAccountBankAddress = $hideToAccountBankAddress; + + // To account text + $this->textToAccountTitle = $this->getTextToAccountTitle($textToAccountTitle); + $this->textToAccountNumber = $this->getTextToAccountNumber($textToAccountNumber); + + // Detail Information Hide checker + $this->hideDetails = $hideDetails; + $this->hideDetailTitle = $hideDetailTitle; + $this->hideDetailDate = $hideDetailDate; + $this->hideDetailPaymentMethod = $hideDetailPaymentMethod; + $this->hideDetailReference = $hideDetailReference; + $this->hideDetailDescription = $hideDetailDescription; + $this->hideDetailAmount = $hideDetailAmount; + + // Releated Information Text + $this->textDetailTitle = $this->getTextDetailTitle($textDetailTitle); + $this->textDetailDate = $this->getTextDetailDate($textDetailDate); + $this->textDetailPaymentMethod = $this->getTextDetailPaymentMethod($textDetailPaymentMethod); + $this->textDetailReference = $this->getTextDetailReference($textDetailReference); + $this->textDetailDescription = $this->getTextDetailDescription($textDetailDescription); + $this->textDetailAmount = $this->getTextDetailAmount($textDetailAmount); + + // Hide Attachment + $this->hideAttachment = $hideAttachment; + + // Attachment data.. + $this->attachment = ''; + + if (!empty($attachment)) { + $this->attachment = $attachment; + } else if (!empty($transfer)) { + $this->attachment = $transfer->attachment; + } + + // Histories Hide + $this->hideFooter = $hideFooter; + $this->hideFooterHistories = $hideFooterHistories; + + // Histories + $this->histories = $this->getHistories($histories); + $this->textHistories = $this->getTextHistories($textHistories); + $this->classFooterHistories = $this->getClassFooterHistories($classFooterHistories); + } + + protected function getTransferTemplate($transferTemplate) + { + if (!empty($transferTemplate)) { + return $transferTemplate; + } + + $transferTemplate = setting('transfer.template') ?: 'default'; + + return $transferTemplate; + } + + protected function getRouteButtonAddNew($routeButtonAddNew) + { + if (!empty($routeButtonAddNew)) { + return $routeButtonAddNew; + } + + return 'transfers.create'; + } + + protected function getRouteButtonEdit($routeButtonEdit) + { + if (!empty($routeButtonEdit)) { + return $routeButtonEdit; + } + + return 'transfers.edit'; + } + + protected function getRouteButtonDuplicate($routeButtonDuplicate) + { + if (!empty($routeButtonDuplicate)) { + return $routeButtonDuplicate; + } + + return 'transfers.duplicate'; + } + + protected function getRouteButtonPrint($routeButtonPrint) + { + if (!empty($routeButtonPrint)) { + return $routeButtonPrint; + } + + return 'transfers.print'; + } + + protected function getSignedUrl($signedUrl) + { + if (!empty($signedUrl)) { + return $signedUrl; + } + + try { + $signedUrl = URL::signedRoute('signed.transfer.show', [$this->transfer->id]); + } catch (\Exception $e) { + $signedUrl = false; + } + + return $signedUrl; + } + + protected function getRouteButtonEmail($routeButtonEmail) + { + if (!empty($routeButtonEmail)) { + return $routeButtonEmail; + } + + return 'transfers.email'; + } + + protected function getRouteButtonPdf($routeButtonPdf) + { + if (!empty($routeButtonPdf)) { + return $routeButtonPdf; + } + + return 'transfers.pdf'; + } + + protected function getRouteButtonDelete($routeButtonDelete) + { + if (!empty($routeButtonDelete)) { + return $routeButtonDelete; + } + + return 'transfers.destroy'; + } + + protected function getPermissionCreate($permissionCreate) + { + if (!empty($permissionCreate)) { + return $permissionCreate; + } + + return 'create-banking-transfers'; + } + + protected function getPermissionUpdate($permissionUpdate) + { + if (!empty($permissionUpdate)) { + return $permissionUpdate; + } + + return 'update-banking-transfers'; + } + + protected function getPermissionDelete($permissionDelete) + { + if (!empty($permissionDelete)) { + return $permissionDelete; + } + + return 'delete-banking-transfers'; + } + + protected function getTextHeaderFromAccount($textHeaderFromAccount) + { + if (!empty($textHeaderFromAccount)) { + return $textHeaderFromAccount; + } + + return 'transfers.from_account'; + } + + protected function getTextHeaderToAccount($textHeaderToAccount) + { + if (!empty($textHeaderToAccount)) { + return $textHeaderToAccount; + } + + return 'transfers.to_account'; + } + + protected function getTextHeaderAmount($textHeaderAmount) + { + if (!empty($textHeaderAmount)) { + return $textHeaderAmount; + } + + return 'general.amount'; + } + + protected function getTextHeaderPaidAt($textHeaderPaidAt) + { + if (!empty($textHeaderPaidAt)) { + return $textHeaderPaidAt; + } + + return 'general.date'; + } + + protected function getClassHeaderFromAccount($classHeaderFromAccount) + { + if (!empty($classHeaderFromAccount)) { + return $classHeaderFromAccount; + } + + return 'col-4 col-lg-2'; + } + + protected function getClassHeaderToAccount($classHeaderToAccount) + { + if (!empty($classHeaderToAccount)) { + return $classHeaderToAccount; + } + + return 'col-4 col-lg-6'; + } + + protected function getClassHeaderAmount($classHeaderAmount) + { + if (!empty($classHeaderAmount)) { + return $classHeaderAmount; + } + + return 'col-4 col-lg-2 float-right'; + } + + protected function getClassHeaderPaidAt($classHeaderPaidAt) + { + if (!empty($classHeaderPaidAt)) { + return $classHeaderPaidAt; + } + + return 'col-4 col-lg-2'; + } + + protected function getTextFromAccountTitle($textToAccountTitle) + { + if (!empty($textToAccountTitle)) { + return $textToAccountTitle; + } + + return 'transfers.from_account'; + } + + protected function getTextFromAccountNumber($textFromAccountNumber) + { + if (!empty($textFromAccountNumber)) { + return $textFromAccountNumber; + } + + return 'accounts.number'; + } + + protected function getTextToAccountTitle($textFromAccountTitle) + { + if (!empty($textFromAccountTitle)) { + return $textFromAccountTitle; + } + + return 'transfers.to_account'; + } + + protected function getTextToAccountNumber($textToAccountNumber) + { + if (!empty($textToAccountNumber)) { + return $textToAccountNumber; + } + + return 'accounts.number'; + } + + protected function getTextDetailTitle($textDetailTitle) + { + if (!empty($textDetailTitle)) { + return $textDetailTitle; + } + + return 'transfers.details'; + } + + protected function getTextDetailDate($textDetailDate) + { + if (!empty($textDetailDate)) { + return $textDetailDate; + } + + return 'general.date'; + } + + protected function getTextDetailPaymentMethod($textDetailPaymentMethod) + { + if (!empty($textDetailPaymentMethod)) { + return $textDetailPaymentMethod; + } + + return 'general.payment_methods'; + } + + protected function getTextDetailReference($textDetailReference) + { + if (!empty($textDetailReference)) { + return $textDetailReference; + } + + return 'general.reference'; + } + + protected function getTextDetailDescription($textDetailDescription) + { + if (!empty($textDetailDescription)) { + return $textDetailDescription; + } + + return 'general.description'; + } + + protected function getTextDetailAmount($textDetailAmount) + { + if (!empty($textDetailAmount)) { + return $textDetailAmount; + } + + return 'general.amount'; + } + + protected function getHistories($histories) + { + if (!empty($histories)) { + return $histories; + } + + $histories[] = $this->transfer; + + return $histories; + } + + protected function getTextHistories($textHistories) + { + if (!empty($textHistories)) { + return $textHistories; + } + + return 'invoices.histories'; + } + + protected function getClassFooterHistories($classFooterHistories) + { + if (!empty($classFooterHistories)) { + return $classFooterHistories; + } + + return 'col-sm-6 col-md-6 col-lg-6 col-xl-6'; + } +} diff --git a/app/Abstracts/View/Components/TransferTemplate.php b/app/Abstracts/View/Components/TransferTemplate.php new file mode 100644 index 000000000..b1b11725b --- /dev/null +++ b/app/Abstracts/View/Components/TransferTemplate.php @@ -0,0 +1,278 @@ +transfer = $transfer; + + $this->payment_methods = ($payment_methods) ?: Modules::getPaymentMethods('all'); + + // From account Hide + $this->hideFromAccount = $hideFromAccount; + $this->hideFromAccountTitle = $hideFromAccountTitle; + $this->hideFromAccountName = $hideFromAccountName; + $this->hideFromAccountNumber = $hideFromAccountNumber; + $this->hideFromAccountBankName = $hideFromAccountBankName; + $this->hideFromAccountBankPhone = $hideFromAccountBankPhone; + $this->hideFromAccountBankAddress = $hideFromAccountBankAddress; + + // From account text + $this->textFromAccountTitle = $this->getTextFromAccountTitle($textFromAccountTitle); + $this->textFromAccountNumber = $this->getTextFromAccountNumber($textFromAccountNumber); + + // To account Hide + $this->hideToAccount = $hideToAccount; + $this->hideToAccountTitle = $hideToAccountTitle; + $this->hideToAccountName = $hideToAccountName; + $this->hideToAccountNumber = $hideToAccountNumber; + $this->hideToAccountBankName = $hideToAccountBankName; + $this->hideToAccountBankPhone = $hideToAccountBankPhone; + $this->hideToAccountBankAddress = $hideToAccountBankAddress; + + // To account text + $this->textToAccountTitle = $this->getTextToAccountTitle($textToAccountTitle); + $this->textToAccountNumber = $this->getTextToAccountNumber($textToAccountNumber); + + // Detail Information Hide checker + $this->hideDetails = $hideDetails; + $this->hideDetailTitle = $hideDetailTitle; + $this->hideDetailDate = $hideDetailDate; + $this->hideDetailPaymentMethod = $hideDetailPaymentMethod; + $this->hideDetailReference = $hideDetailReference; + $this->hideDetailDescription = $hideDetailDescription; + $this->hideDetailAmount = $hideDetailAmount; + + // Releated Information Text + $this->textDetailTitle = $this->getTextDetailTitle($textDetailTitle); + $this->textDetailDate = $this->getTextDetailDate($textDetailDate); + $this->textDetailPaymentMethod = $this->getTextDetailPaymentMethod($textDetailPaymentMethod); + $this->textDetailReference = $this->getTextDetailReference($textDetailReference); + $this->textDetailDescription = $this->getTextDetailDescription($textDetailDescription); + $this->textDetailAmount = $this->getTextDetailAmount($textDetailAmount); + } + + protected function getTextFromAccountTitle($textToAccountTitle) + { + if (!empty($textToAccountTitle)) { + return $textToAccountTitle; + } + + return 'transfers.from_account'; + } + + protected function getTextFromAccountNumber($textFromAccountNumber) + { + if (!empty($textFromAccountNumber)) { + return $textFromAccountNumber; + } + + return 'accounts.number'; + } + + protected function getTextToAccountTitle($textFromAccountTitle) + { + if (!empty($textFromAccountTitle)) { + return $textFromAccountTitle; + } + + return 'transfers.to_account'; + } + + protected function getTextToAccountNumber($textToAccountNumber) + { + if (!empty($textToAccountNumber)) { + return $textToAccountNumber; + } + + return 'accounts.number'; + } + + protected function getTextDetailTitle($textDetailTitle) + { + if (!empty($textDetailTitle)) { + return $textDetailTitle; + } + + return 'transfers.details'; + } + + protected function getTextDetailDate($textDetailDate) + { + if (!empty($textDetailDate)) { + return $textDetailDate; + } + + return 'general.date'; + } + + protected function getTextDetailPaymentMethod($textDetailPaymentMethod) + { + if (!empty($textDetailPaymentMethod)) { + return $textDetailPaymentMethod; + } + + return 'general.payment_methods'; + } + + protected function getTextDetailReference($textDetailReference) + { + if (!empty($textDetailReference)) { + return $textDetailReference; + } + + return 'general.reference'; + } + + protected function getTextDetailDescription($textDetailDescription) + { + if (!empty($textDetailDescription)) { + return $textDetailDescription; + } + + return 'general.description'; + } + + protected function getTextDetailAmount($textDetailAmount) + { + if (!empty($textDetailAmount)) { + return $textDetailAmount; + } + + return 'general.amount'; + } +} diff --git a/app/Events/Banking/TransferPrinting.php b/app/Events/Banking/TransferPrinting.php new file mode 100644 index 000000000..e7721975d --- /dev/null +++ b/app/Events/Banking/TransferPrinting.php @@ -0,0 +1,22 @@ +transfer = $transfer; + } +} diff --git a/app/Http/Controllers/Banking/Transfers.php b/app/Http/Controllers/Banking/Transfers.php index 4da039192..0a975b60f 100644 --- a/app/Http/Controllers/Banking/Transfers.php +++ b/app/Http/Controllers/Banking/Transfers.php @@ -15,6 +15,7 @@ use App\Models\Banking\Transfer; use App\Models\Setting\Currency; use App\Utilities\Modules; use Date; +use Illuminate\Support\Str; class Transfers extends Controller { @@ -39,8 +40,6 @@ class Transfers extends Controller */ public function show(Transfer $transfer) { - $this->itemData($transfer); - return view('banking.transfers.show', compact('transfer')); } @@ -55,11 +54,19 @@ class Transfers extends Controller $payment_methods = Modules::getPaymentMethods(); - $currencies = Currency::enabled()->orderBy('name')->get()->makeHidden(['id', 'company_id', 'created_at', 'updated_at', 'deleted_at']); - $currency = Currency::where('code', setting('default.currency'))->first(); - return view('banking.transfers.create', compact('accounts', 'payment_methods', 'currencies', 'currency')); + $file_type_mimes = explode(',', config('filesystems.mimes')); + + $file_types = []; + + foreach ($file_type_mimes as $mime) { + $file_types[] = '.' . $mime; + } + + $file_types = implode(',', $file_types); + + return view('banking.transfers.create', compact('accounts', 'payment_methods', 'currency', 'file_types')); } /** @@ -159,11 +166,19 @@ class Transfers extends Controller $account = $transfer->expense_transaction->account; - $currencies = Currency::enabled()->orderBy('name')->get()->makeHidden(['id', 'company_id', 'created_at', 'updated_at', 'deleted_at']); - $currency = Currency::where('code', $account->currency_code)->first(); - return view('banking.transfers.edit', compact('transfer', 'accounts', 'payment_methods', 'currencies', 'currency')); + $file_type_mimes = explode(',', config('filesystems.mimes')); + + $file_types = []; + + foreach ($file_type_mimes as $mime) { + $file_types[] = '.' . $mime; + } + + $file_types = implode(',', $file_types); + + return view('banking.transfers.edit', compact('transfer', 'accounts', 'payment_methods', 'currency', 'file_types')); } /** @@ -238,9 +253,9 @@ class Transfers extends Controller * * @return Response */ - public function printRevenue(Transfer $transfer) + public function printTransfer(Transfer $transfer) { - //event(new \App\Events\Banking\TransactionPrinting($transfer)); + event(new \App\Events\Banking\TransferPrinting($transfer)); $view = view($transfer->template_path, compact('transfer')); @@ -254,9 +269,9 @@ class Transfers extends Controller * * @return Response */ - public function pdfRevenue(Transfer $transfer) + public function pdfTransfer(Transfer $transfer) { - //event(new \App\Events\Banking\TransactionPrinting($transfer)); + event(new \App\Events\Banking\TransferPrinting($transfer)); $currency_style = true; @@ -268,28 +283,8 @@ class Transfers extends Controller //$pdf->setPaper('A4', 'portrait'); - $file_name = $this->getTransactionFileName($transfer); + $file_name = trans_choice('general.transfers', 1) . '-' . Str::slug($transfer->id, '-', language()->getShortCode()) . '-' . time() . '.pdf'; return $pdf->download($file_name); } - - /** - * Display a datas of show. - * - * @return Response - */ - - public function itemData($transfer) { - $transfer['from_account_id'] = $transfer->expense_transaction->account_id; - $transfer['from_currency_code'] = $transfer->expense_transaction->currency_code; - $transfer['from_account_rate'] = $transfer->expense_transaction->currency_rate; - $transfer['to_account_id'] = $transfer->income_transaction->account_id; - $transfer['to_currency_code'] = $transfer->income_transaction->currency_code; - $transfer['to_account_rate'] = $transfer->income_transaction->currency_rate; - $transfer['description'] = $transfer->expense_transaction->description; - $transfer['amount'] = $transfer->expense_transaction->amount; - $transfer['payment_method'] = $transfer->expense_transaction->payment_method; - $transfer['reference'] = $transfer->expense_transaction->reference; - $transfer['transferred_at'] = Date::parse($transfer->expense_transaction->paid_at)->format('Y-m-d'); - } } diff --git a/app/Jobs/Banking/CreateTransfer.php b/app/Jobs/Banking/CreateTransfer.php index ce87338f8..7f5927774 100644 --- a/app/Jobs/Banking/CreateTransfer.php +++ b/app/Jobs/Banking/CreateTransfer.php @@ -84,6 +84,15 @@ class CreateTransfer extends Job 'expense_transaction_id' => $expense_transaction->id, 'income_transaction_id' => $income_transaction->id, ]); + + // Upload attachment + if ($this->request->file('attachment')) { + foreach ($this->request->file('attachment') as $attachment) { + $media = $this->getMedia($attachment, 'transfers'); + + $this->transfer->attachMedia($media, 'attachment'); + } + } }); return $this->transfer; diff --git a/app/Jobs/Banking/UpdateTransfer.php b/app/Jobs/Banking/UpdateTransfer.php index 81a11b8ba..23fb96b51 100644 --- a/app/Jobs/Banking/UpdateTransfer.php +++ b/app/Jobs/Banking/UpdateTransfer.php @@ -38,6 +38,19 @@ class UpdateTransfer extends Job public function handle() { \DB::transaction(function () { + // Upload attachment + if ($this->request->file('attachment')) { + $this->deleteMediaModel($this->transfer, 'attachment', $this->request); + + foreach ($this->request->file('attachment') as $attachment) { + $media = $this->getMedia($attachment, 'transfers'); + + $this->transfer->attachMedia($media, 'attachment'); + } + } elseif (!$this->request->file('attachment') && $this->transfer->attachment) { + $this->deleteMediaModel($this->transfer, 'attachment', $this->request); + } + $expense_currency_code = $this->getCurrencyCode('from'); $income_currency_code = $this->getCurrencyCode('to'); diff --git a/app/Models/Banking/Transfer.php b/app/Models/Banking/Transfer.php index aa2664e0e..862138f43 100644 --- a/app/Models/Banking/Transfer.php +++ b/app/Models/Banking/Transfer.php @@ -3,16 +3,20 @@ namespace App\Models\Banking; use App\Abstracts\Model; +use App\Models\Common\Media as MediaModel; use App\Traits\Currencies; +use App\Traits\Media; use Illuminate\Database\Eloquent\Factories\HasFactory; use Znck\Eloquent\Traits\BelongsToThrough; class Transfer extends Model { - use BelongsToThrough, Currencies, HasFactory; + use BelongsToThrough, Currencies, HasFactory, Media; protected $table = 'transfers'; + protected $appends = ['attachment']; + /** * Attributes that should be mass-assignable. * @@ -59,6 +63,36 @@ class Transfer extends Model )->withDefault(['name' => trans('general.na')]); } + /** + * Get the current balance. + * + * @return string + */ + public function getAttachmentAttribute($value = null) + { + if (!empty($value) && !$this->hasMedia('attachment')) { + return $value; + } elseif (!$this->hasMedia('attachment')) { + return false; + } + + return $this->getMedia('attachment')->all(); + } + + public function delete_attachment() + { + if ($attachments = $this->attachment) { + foreach ($attachments as $file) { + MediaModel::where('id', $file->id)->delete(); + } + } + } + + public function getTemplatePathAttribute($value = null) + { + return $value ?: 'banking.transfers.print_' . setting('transfer.template'); + } + /** * Create a new factory instance for the model. * diff --git a/app/View/Components/Transfers/Script.php b/app/View/Components/Transfers/Script.php new file mode 100644 index 000000000..612334620 --- /dev/null +++ b/app/View/Components/Transfers/Script.php @@ -0,0 +1,55 @@ +type = $type; + $this->scriptFile = ($scriptFile) ? $scriptFile : 'public/js/banling/transfers.js'; + $this->version = $this->getVersion($version); + $this->transfer = $transfer; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.transfers.script'); + } + + protected function getVersion($version) + { + if (!empty($version)) { + return $version; + } + + if ($alias = config('type.' . $this->type . '.alias')) { + return module_version($alias); + } + + return version('short'); + } +} diff --git a/app/View/Components/Transfers/Show/Attachment.php b/app/View/Components/Transfers/Show/Attachment.php new file mode 100644 index 000000000..e89a9c9e0 --- /dev/null +++ b/app/View/Components/Transfers/Show/Attachment.php @@ -0,0 +1,18 @@ + env('SETTING_FALLBACK_TRANSACTION_TYPE_EXPENSE', 'expense'), ], ], + 'transfer' => [ + 'template' => env('SETTING_FALLBACK_BANKING_TEMPLATE', 'default'), + ], ], /* diff --git a/resources/lang/en-GB/transfers.php b/resources/lang/en-GB/transfers.php index 551bcae00..93145b053 100644 --- a/resources/lang/en-GB/transfers.php +++ b/resources/lang/en-GB/transfers.php @@ -6,6 +6,7 @@ return [ 'from_account_rate' => 'From Account Rate', 'to_account' => 'To Account', 'to_account_rate' => 'To Account Rate', + 'details' => 'Detail|Details', 'messages' => [ 'delete' => ':from to :to (:amount)', diff --git a/resources/views/banking/transactions/show-third.blade.php b/resources/views/banking/transactions/show-third.blade.php deleted file mode 100644 index cdc028086..000000000 --- a/resources/views/banking/transactions/show-third.blade.php +++ /dev/null @@ -1,167 +0,0 @@ -@extends('layouts.admin') - -@section('content') -
-
- From Account -
- {{ $transfer->expense_transaction->account->name }} -

-
-
- To Account -
- {{ $transfer->income_transaction->account->name }} -

-
-
- Amount -
- @money($transfer->amount, $transfer->from_currency_code, true) -

-
-
- Date -
- {{ $transfer->transferred_at }} -

-
-
- -
-
- - - - - - - -
- - - - - - -
-

- Sender Account -

-

{{ $transfer->expense_transaction->account->name }}

-

- Account Number: {{ $transfer->from_account_id}} -

-

{{ $transfer->expense_transaction->account->bank_name }}

-

- {{ $transfer->expense_transaction->account->bank_phone }} -

-

{{ $transfer->expense_transaction->account->bank_address }}

-
-
- - - - - - -
-

- Recipient Account -

-

{{ $transfer->income_transaction->account->name }}

-

- Account Number: {{ $transfer->to_account_id }} -

-

{{ $transfer->income_transaction->account->bank_name }}

-

- {{ $transfer->income_transaction->account->bank_phone }} -

-

{{ $transfer->income_transaction->account->bank_address }}

-
-
- - - - -
-

- TRANSFER DETAIL -

-
- - - - - -
- - - - - - - - - - - - - - - - - -
- Date: - - {{ $transfer->transferred_at }} -
- Payment Method: - - {{ $transfer->payment_method }} -
- Reference: - - {{ $transfer->reference }} -
- Description: - - {{ $transfer->description }} -
-
- - - - -
-
- Amount -
-

- @money($transfer->amount, $transfer->from_currency_code, true) -

-
-
-
-
- -
-
-
- {!! Form::label('invoice_template', trans_choice('general.templates', 1), ['class' => 'form-control-label']) !!} - -
- -
-
-
-
- -@endsection - -@push('scripts_start') - -@endpush \ No newline at end of file diff --git a/resources/views/banking/transfers/create.blade.php b/resources/views/banking/transfers/create.blade.php index 7e2db5f79..592341aaa 100644 --- a/resources/views/banking/transfers/create.blade.php +++ b/resources/views/banking/transfers/create.blade.php @@ -41,6 +41,8 @@ {{ Form::textGroup('reference', trans('general.reference'), 'file', []) }} + {{ Form::fileGroup('attachment', trans('general.attachment'), '', ['dropzone-class' => 'w-100', 'multiple' => 'multiple', 'options' => ['acceptedFiles' => $file_types]], null , 'col-md-12') }} + {!! Form::hidden('currency_code', null, ['id' => 'currency_code', 'v-model' => 'form.currency_code']) !!} {!! Form::hidden('currency_rate', null, ['id' => 'currency_rate', 'v-model' => 'form.currency_rate']) !!} diff --git a/resources/views/banking/transfers/edit.blade.php b/resources/views/banking/transfers/edit.blade.php index 934c888da..14e8576ad 100644 --- a/resources/views/banking/transfers/edit.blade.php +++ b/resources/views/banking/transfers/edit.blade.php @@ -42,6 +42,8 @@ {{ Form::textGroup('reference', trans('general.reference'), 'file', []) }} + {{ Form::fileGroup('attachment', trans('general.attachment'), '', ['dropzone-class' => 'w-100', 'multiple' => 'multiple', 'options' => ['acceptedFiles' => $file_types]], !empty($transfer) ? $transfer->attachment : null , 'col-md-12') }} + {!! Form::hidden('currency_code', $currency->code, ['id' => 'currency_code', 'v-model' => 'form.currency_code']) !!} {!! Form::hidden('currency_rate', $currency->rate, ['id' => 'currency_rate', 'v-model' => 'form.currency_rate']) !!} diff --git a/resources/views/banking/transfers/print_default.blade.php b/resources/views/banking/transfers/print_default.blade.php new file mode 100644 index 000000000..4930b6cbd --- /dev/null +++ b/resources/views/banking/transfers/print_default.blade.php @@ -0,0 +1,9 @@ +@extends('layouts.print') + +@section('title', trans_choice('general.transfers', 1)) + +@section('content') + +@endsection diff --git a/resources/views/banking/transfers/print_second.blade.php b/resources/views/banking/transfers/print_second.blade.php new file mode 100644 index 000000000..6c86fdb7c --- /dev/null +++ b/resources/views/banking/transfers/print_second.blade.php @@ -0,0 +1,9 @@ +@extends('layouts.print') + +@section('title', trans_choice('general.transfers', 1)) + +@section('content') + +@endsection diff --git a/resources/views/banking/transfers/print_third.blade.php b/resources/views/banking/transfers/print_third.blade.php new file mode 100644 index 000000000..4f12a183f --- /dev/null +++ b/resources/views/banking/transfers/print_third.blade.php @@ -0,0 +1,9 @@ +@extends('layouts.print') + +@section('title', trans_choice('general.transfers', 1)) + +@section('content') + +@endsection diff --git a/resources/views/banking/transfers/show-second.blade.php b/resources/views/banking/transfers/show-second.blade.php deleted file mode 100644 index f3e02ba4b..000000000 --- a/resources/views/banking/transfers/show-second.blade.php +++ /dev/null @@ -1,157 +0,0 @@ -@extends('layouts.admin') - -@section('content') -
-
- From Account -
- {{ $transfer->expense_transaction->account->name }} -

-
-
- To Account -
- {{ $transfer->income_transaction->account->name }} -

-
-
- Amount -
- @money($transfer->amount, $transfer->from_currency_code, true) -

-
-
- Date -
- {{ $transfer->transferred_at }} -

-
-
- -
-
- - - - -
-

- TRANSFER DETAIL -

-
- - - - - -
- - - - - - - - - - - - - - - - - -
- Date: - - {{ $transfer->transferred_at }} -
- Payment Method: - - {{ $transfer->payment_method }} -
- Reference: - - {{ $transfer->reference }} -
- Description: - - {{ $transfer->description }} -
-
- - - - -
-
- Amount -
-

- @money($transfer->amount, $transfer->from_currency_code, true) -

-
-
- - - - - - -
-

- Sender Account -

-

{{ $transfer->expense_transaction->account->name }}

-

- Account Number: {{ $transfer->from_account_id}} -

-

{{ $transfer->expense_transaction->account->bank_name }}

-

- {{ $transfer->expense_transaction->account->bank_phone }} -

-

{{ $transfer->expense_transaction->account->bank_address }}

-
- - - - - - -
-

- Recipient Account -

-

{{ $transfer->income_transaction->account->name }}

-

- Account Number: {{ $transfer->to_account_id }} -

-

{{ $transfer->income_transaction->account->bank_name }}

-

- {{ $transfer->income_transaction->account->bank_phone }} -

-

{{ $transfer->income_transaction->account->bank_address }}

-
-
-
- -
-
-
- {!! Form::label('invoice_template', trans_choice('general.templates', 1), ['class' => 'form-control-label']) !!} - -
- -
-
-
-
- -@endsection - -@push('scripts_start') - -@endpush \ No newline at end of file diff --git a/resources/views/banking/transfers/show.blade.php b/resources/views/banking/transfers/show.blade.php index 93a6196cd..e146e282c 100644 --- a/resources/views/banking/transfers/show.blade.php +++ b/resources/views/banking/transfers/show.blade.php @@ -1,157 +1,17 @@ @extends('layouts.admin') +@section('title', trans_choice('general.transfers', 1)) + +@section('new_button') + +@endsection + @section('content') -
-
- From Account -
- {{ $transfer->expense_transaction->account->name }} -

-
-
- To Account -
- {{ $transfer->income_transaction->account->name }} -

-
-
- Amount -
- @money($transfer->amount, $transfer->from_currency_code, true) -

-
-
- Date -
- @date($transfer->transferred_at) -

-
-
- -
-
- - - - - - -
-

- Sender Account -

-

{{ $transfer->expense_transaction->account->name }}

-

- Account Number: {{ $transfer->from_account_id}} -

-

{{ $transfer->expense_transaction->account->bank_name }}

-

- {{ $transfer->expense_transaction->account->bank_phone }} -

-

{{ $transfer->expense_transaction->account->bank_address }}

-
- - - - - - -
-

- Recipient Account -

-

{{ $transfer->income_transaction->account->name }}

-

- Account Number: {{ $transfer->to_account_id }} -

-

{{ $transfer->income_transaction->account->bank_name }}

-

- {{ $transfer->income_transaction->account->bank_phone }} -

-

{{ $transfer->income_transaction->account->bank_address }}

-
- - - - -
-

- TRANSFER DETAIL -

-
- - - - - -
- - - - - - - - - - - - - - - - - -
- Date: - - @date($transfer->transferred_at) -
- Payment Method: - - {{ $transfer->payment_method }} -
- Reference: - - {{ $transfer->reference }} -
- Description: - - {{ $transfer->description }} -
-
- - - - -
-
- Amount -
-

- @money($transfer->amount, $transfer->from_currency_code, true) -

-
-
-
-
- -
-
-
- {!! Form::label('invoice_template', trans_choice('general.templates', 1), ['class' => 'form-control-label']) !!} - -
- -
-
-
-
- + @endsection @push('scripts_start') - -@endpush \ No newline at end of file + + + +@endpush diff --git a/resources/views/components/transfers/script.blade.php b/resources/views/components/transfers/script.blade.php new file mode 100644 index 000000000..4bb9715dd --- /dev/null +++ b/resources/views/components/transfers/script.blade.php @@ -0,0 +1 @@ + diff --git a/resources/views/components/transfers/show/attachment.blade.php b/resources/views/components/transfers/show/attachment.blade.php new file mode 100644 index 000000000..6ab858a27 --- /dev/null +++ b/resources/views/components/transfers/show/attachment.blade.php @@ -0,0 +1,9 @@ +@if ($attachment) +
+ @foreach ($attachment as $file) +
+ @include('partials.media.file') +
+ @endforeach +
+@endif diff --git a/resources/views/components/transfers/show/content.blade.php b/resources/views/components/transfers/show/content.blade.php new file mode 100644 index 000000000..aeb4624e3 --- /dev/null +++ b/resources/views/components/transfers/show/content.blade.php @@ -0,0 +1,86 @@ +@stack('content_header_start') +@if (!$hideHeader) + +@endif +@stack('content_header_end') + +@stack('transfer_start') + +@stack('transfer_end') + +@stack('attachment_start') + @if (!$hideAttachment) + + @endif +@stack('attachment_end') + +@stack('row_footer_start') + @if (!$hideFooter) + + @endif +@stack('row_footer_end') + +{{ Form::hidden('transfer_id', $transfer->id, ['id' => 'transfer_id']) }} diff --git a/resources/views/components/transfers/show/footer.blade.php b/resources/views/components/transfers/show/footer.blade.php new file mode 100644 index 000000000..3b13aec03 --- /dev/null +++ b/resources/views/components/transfers/show/footer.blade.php @@ -0,0 +1,13 @@ +
+ @stack('row_footer_histories_start') + @if (!$hideFooterHistories) +
+ +
+ @endif + @stack('row_footer_histories_end') +
diff --git a/resources/views/components/transfers/show/header.blade.php b/resources/views/components/transfers/show/header.blade.php new file mode 100644 index 000000000..3e90a6816 --- /dev/null +++ b/resources/views/components/transfers/show/header.blade.php @@ -0,0 +1,69 @@ +
+ @stack('header_account_start') + @if (!$hideHeaderFromAccount) +
+ {{ trans_choice($textHeaderFromAccount, 1) }} +
+ + + + {{ $transfer->expense_transaction->account->name }} + + +

+
+ @endif + @stack('header_account_end') + + @stack('header_category_start') + @if (!$hideHeaderToAccount) +
+ {{ trans_choice($textHeaderToAccount, 1) }} +
+ + + + {{ $transfer->income_transaction->account->name }} + + +

+
+ @endif + @stack('header_category_end') + + @stack('header_amount_start') + @if (!$hideHeaderAmount) +
+ + {{ trans($textHeaderAmount) }} + +
+ + + + @money($transfer->expense_transaction->amount, $transfer->from_currency_code, true) + + +

+
+ @endif + @stack('header_amount_end') + + @stack('header_paid_at_start') + @if (!$hideHeaderPaidAt) +
+ + {{ trans($textHeaderPaidAt) }} + +
+ + + + @date($transfer->transferred_at) + + +

+
+ @endif + @stack('header_paid_at_end') +
diff --git a/resources/views/components/transfers/show/histories.blade.php b/resources/views/components/transfers/show/histories.blade.php new file mode 100644 index 000000000..caeab6c96 --- /dev/null +++ b/resources/views/components/transfers/show/histories.blade.php @@ -0,0 +1,47 @@ +
+
+ + +
+
+ + + @stack('row_footer_histories_head_tr_start') + + @stack('row_footer_histories_head_start') + + + + @stack('row_footer_histories_head_end') + + @stack('row_footer_histories_head_tr_end') + + + + @stack('row_footer_histories_body_tr_start') + @foreach($histories as $history) + + @stack('row_footer_histories_body_td_start') + + + + @stack('row_footer_histories_body_td_end') + + @endforeach + @stack('row_footer_histories_body_tr_end') + +
+ {{ trans('general.date') }} + + {{ trans('general.created') }} +
+ @date($history->created_at) + + {{ $history->owner->name }} +
+
+
+
+
diff --git a/resources/views/components/transfers/show/top-buttons.blade.php b/resources/views/components/transfers/show/top-buttons.blade.php new file mode 100644 index 000000000..b06216a4c --- /dev/null +++ b/resources/views/components/transfers/show/top-buttons.blade.php @@ -0,0 +1,93 @@ +@stack('button_group_start') +@if (!$hideButtonMoreActions) +
+ + + +
+@endif +@stack('button_group_end') + +@stack('add_new_button_start') +@if (!$hideButtonAddNew) + @can($permissionCreate) + + {{ trans('general.add_new') }} + + @endcan +@endif +@stack('add_new_button_end') diff --git a/resources/views/components/transfers/show/transfer.blade.php b/resources/views/components/transfers/show/transfer.blade.php new file mode 100644 index 000000000..ab4f853a8 --- /dev/null +++ b/resources/views/components/transfers/show/transfer.blade.php @@ -0,0 +1,137 @@ + + +
+
+ @if ($transferTemplate) + @switch($transferTemplate) + @case('second') + + @break + @case('third') + + @break + @default + + @endswitch + @else + @include($transferTemplate) + @endif +
+
diff --git a/resources/views/components/transfers/template/default.blade.php b/resources/views/components/transfers/template/default.blade.php new file mode 100644 index 000000000..33e63768b --- /dev/null +++ b/resources/views/components/transfers/template/default.blade.php @@ -0,0 +1,179 @@ +@if (!$hideFromAccount) + + + + + + +
+ @if (!$hideFromAccountTitle) +

+ {{ trans($textFromAccountTitle) }} +

+ @endif + + @if (!$hideFromAccountName) +

+ {{ $transfer->expense_transaction->account->name }} +

+ @endif + + @if (!$hideFromAccountNumber) +

+ {{ trans($textFromAccountNumber) }}: {{ $transfer->expense_transaction->account->number }} +

+ @endif + + @if (!$hideFromAccountBankName) +

+ {{ $transfer->expense_transaction->account->bank_name }} +

+ @endif + + @if (!$hideFromAccountBankPhone) +

+ {{ $transfer->expense_transaction->account->bank_phone }} +

+ @endif + + @if (!$hideFromAccountBankAddress) +

+ {{ $transfer->expense_transaction->account->bank_address }} +

+ @endif +
+@endif + +@if (!$hideToAccount) + + + + + + +
+ @if (!$hideToAccountTitle) +

+ {{ trans($textToAccountTitle) }} +

+ @endif + + @if (!$hideToAccountName) +

+ {{ $transfer->income_transaction->account->name }} +

+ @endif + + @if (!$hideToAccountNumber) +

+ {{ trans($textToAccountNumber) }}: {{ $transfer->income_transaction->account->number }} +

+ @endif + + @if (!$hideToAccountBankName) +

+ {{ $transfer->income_transaction->account->bank_name }} +

+ @endif + + @if (!$hideToAccountBankPhone) +

+ {{ $transfer->income_transaction->account->bank_phone }} +

+ @endif + + @if (!$hideToAccountBankAddress) +

+ {{ $transfer->income_transaction->account->bank_address }} +

+ @endif +
+@endif + +@if (!$hideDetails) + @if (!$hideDetailTitle) + + + + +
+

+ {{ trans_choice($textDetailTitle, 2) }} +

+
+ @endif + + + + + + @if (!$hideDetailAmount) + + @endif + +
+ + @if (!$hideDetailDate) + + + + + + @endif + + @if (!$hideDetailPaymentMethod) + + + + + + @endif + + @if (!$hideDetailReference) + + + + + + @endif + + @if (!$hideDetailDescription) + + + + + + @endif +
+ {{ trans($textDetailDate) }}: + + @date($transfer->expense_transaction->paid_at) +
+ {{ trans_choice($textDetailPaymentMethod, 1) }}: + + {{ $payment_methods[$transfer->expense_transaction->payment_method] }} +
+ {{ trans($textDetailReference) }}: + + {{ $transfer->expense_transaction->reference }} +
+ {{ trans($textDetailDescription) }} + + {{ $transfer->expense_transaction->description }} +
+
+ + + + +
+
+ {{ trans($textDetailAmount) }}: +
+ +

+ @money($transfer->expense_transaction->amount, $transfer->from_currency_code, true) +

+
+
+@endif diff --git a/resources/views/components/transfers/template/second.blade.php b/resources/views/components/transfers/template/second.blade.php new file mode 100644 index 000000000..75c2cb7ac --- /dev/null +++ b/resources/views/components/transfers/template/second.blade.php @@ -0,0 +1,179 @@ +@if (!$hideDetails) + @if (!$hideDetailTitle) + + + + +
+

+ {{ trans_choice($textDetailTitle, 2) }} +

+
+ @endif + + + + + + @if (!$hideDetailAmount) + + @endif + +
+ + @if (!$hideDetailDate) + + + + + + @endif + + @if (!$hideDetailPaymentMethod) + + + + + + @endif + + @if (!$hideDetailReference) + + + + + + @endif + + @if (!$hideDetailDescription) + + + + + + @endif +
+ {{ trans($textDetailDate) }}: + + @date($transfer->transferred_at) +
+ {{ trans_choice($textDetailPaymentMethod, 1) }}: + + {{ $payment_methods[$transfer->payment_method] }} +
+ {{ trans($textDetailReference) }}: + + {{ $transfer->reference }} +
+ {{ trans($textDetailDescription) }} + + {{ $transfer->description }} +
+
+ + + + +
+
+ {{ trans($textDetailAmount) }}: +
+ +

+ @money($transfer->amount, $transfer->from_currency_code, true) +

+
+
+@endif + +@if (!$hideFromAccount) + + + + + + +
+ @if (!$hideFromAccountTitle) +

+ {{ trans($textFromAccountTitle) }} +

+ @endif + + @if (!$hideFromAccountName) +

+ {{ $transfer->expense_transaction->account->name }} +

+ @endif + + @if (!$hideFromAccountNumber) +

+ {{ trans($textFromAccountNumber) }}: {{ $transfer->expense_transaction->account->number}} +

+ @endif + + @if (!$hideFromAccountBankName) +

+ {{ $transfer->expense_transaction->account->bank_name }} +

+ @endif + + @if (!$hideFromAccountBankPhone) +

+ {{ $transfer->expense_transaction->account->bank_phone }} +

+ @endif + + @if (!$hideFromAccountBankAddress) +

+ {{ $transfer->expense_transaction->account->bank_address }} +

+ @endif +
+@endif + +@if (!$hideToAccount) + + + + + + +
+ @if (!$hideToAccountTitle) +

+ {{ trans($textToAccountTitle) }} +

+ @endif + + @if (!$hideToAccountName) +

+ {{ $transfer->income_transaction->account->name }} +

+ @endif + + @if (!$hideToAccountNumber) +

+ {{ trans($textToAccountNumber) }}: {{ $transfer->income_transaction->account->number }} +

+ @endif + + @if (!$hideToAccountBankName) +

+ {{ $transfer->income_transaction->account->bank_name }} +

+ @endif + + @if (!$hideToAccountBankPhone) +

+ {{ $transfer->income_transaction->account->bank_phone }} +

+ @endif + + @if (!$hideToAccountBankAddress) +

+ {{ $transfer->income_transaction->account->bank_address }} +

+ @endif +
+@endif diff --git a/resources/views/components/transfers/template/third.blade.php b/resources/views/components/transfers/template/third.blade.php new file mode 100644 index 000000000..f1799294a --- /dev/null +++ b/resources/views/components/transfers/template/third.blade.php @@ -0,0 +1,191 @@ +@if (!$hideFromAccount && !$hideToAccount) + + + + @if (!$hideFromAccount) + + @endif + + @if (!$hideToAccount) + + @endif + + +
+ + + + + + +
+ @if (!$hideFromAccountTitle) +

+ {{ trans($textFromAccountTitle) }} +

+ @endif + + @if (!$hideFromAccountName) +

+ {{ $transfer->expense_transaction->account->name }} +

+ @endif + + @if (!$hideFromAccountNumber) +

+ {{ trans($textFromAccountNumber) }}: {{ $transfer->expense_transaction->account->number}} +

+ @endif + + @if (!$hideFromAccountBankName) +

+ {{ $transfer->expense_transaction->account->bank_name }} +

+ @endif + + @if (!$hideFromAccountBankPhone) +

+ {{ $transfer->expense_transaction->account->bank_phone }} +

+ @endif + + @if (!$hideFromAccountBankAddress) +

+ {{ $transfer->expense_transaction->account->bank_address }} +

+ @endif +
+
+ + + + + + +
+ @if (!$hideToAccountTitle) +

+ {{ trans($textToAccountTitle) }} +

+ @endif + + @if (!$hideToAccountName) +

+ {{ $transfer->income_transaction->account->name }} +

+ @endif + + @if (!$hideToAccountNumber) +

+ {{ trans($textToAccountNumber) }}: {{ $transfer->income_transaction->account->number }} +

+ @endif + + @if (!$hideToAccountBankName) +

+ {{ $transfer->income_transaction->account->bank_name }} +

+ @endif + + @if (!$hideToAccountBankPhone) +

+ {{ $transfer->income_transaction->account->bank_phone }} +

+ @endif + + @if (!$hideToAccountBankAddress) +

+ {{ $transfer->income_transaction->account->bank_address }} +

+ @endif +
+
+@endif + +@if (!$hideDetails) + @if (!$hideDetailTitle) + + + + +
+

+ {{ trans_choice($textDetailTitle, 2) }} +

+
+ @endif + + + + + + @if (!$hideDetailAmount) + + @endif + +
+ + @if (!$hideDetailDate) + + + + + + @endif + + @if (!$hideDetailPaymentMethod) + + + + + + @endif + + @if (!$hideDetailReference) + + + + + + @endif + + @if (!$hideDetailDescription) + + + + + + @endif +
+ {{ trans($textDetailDate) }}: + + @date($transfer->transferred_at) +
+ {{ trans_choice($textDetailPaymentMethod, 1) }}: + + {{ $payment_methods[$transfer->payment_method] }} +
+ {{ trans($textDetailReference) }}: + + {{ $transfer->reference }} +
+ {{ trans($textDetailDescription) }} + + {{ $transfer->description }} +
+
+ + + + +
+
+ {{ trans($textDetailAmount) }}: +
+ +

+ @money($transfer->amount, $transfer->from_currency_code, true) +

+
+
+@endif