Merge branch 'master' of github.com:akaunting/akaunting into 2.1-dev
# Conflicts: # app/Http/Controllers/Common/Items.php # resources/views/modules/item/documentation.blade.php # resources/views/modules/item/show.blade.php # resources/views/partials/admin/header.blade.php # resources/views/purchases/bills/show.blade.php # resources/views/purchases/vendors/show.blade.php # resources/views/sales/customers/show.blade.php # resources/views/sales/invoices/show.blade.php # resources/views/wizard/companies/edit.blade.php # resources/views/wizard/currencies/index.blade.php # resources/views/wizard/finish/index.blade.php # resources/views/wizard/taxes/index.blade.php
This commit is contained in:
@ -5,50 +5,76 @@
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-xl-3">
|
||||
<div class="card">
|
||||
<div class="card-header border-bottom-0 show-transaction-card-header">
|
||||
<a class="text-sm font-weight-600">{{ trans_choice('general.invoices', 2) }}</a> <a class="float-right text-xs">{{ $counts['invoices'] }}</a>
|
||||
</div>
|
||||
<div class="card-footer show-transaction-card-footer">
|
||||
<a class="text-sm font-weight-600">{{ trans_choice('general.transactions', 2) }}</a> <a class="float-right text-xs">{{ $counts['transactions'] }}</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="list-group mb-4">
|
||||
@stack('customer_invoices_count_start')
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center border-0">
|
||||
{{ trans_choice('general.invoices', 2) }}
|
||||
<span class="badge badge-primary badge-pill">{{ $counts['invoices'] }}</span>
|
||||
</li>
|
||||
@stack('customer_invoices_count_end')
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">{{ trans('auth.profile') }}</h4>
|
||||
</div>
|
||||
<div class="card-body d-grid">
|
||||
<a class="text-sm font-weight-600">{{ trans('general.email') }}</a> <a class="text-xs long-texts">{{ $customer->email }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="text-sm font-weight-600">{{ trans('general.phone') }}</a> <a class="text-xs long-texts">{{ $customer->phone }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="text-sm font-weight-600">{{ trans('general.website') }}</a> <a class="text-xs long-texts">{{ $customer->website }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="text-sm font-weight-600">{{ trans('general.tax_number') }}</a> <a class="text-xs long-texts">{{ $customer->tax_number }}</a>
|
||||
@if ($customer->reference)
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="text-sm font-weight-600">{{ trans('general.reference') }}</a> <a class="text-xs long-texts">{{ $customer->reference }}</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@stack('customer_transactions_count_start')
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center border-0 border-top-1">
|
||||
{{ trans_choice('general.transactions', 2) }}
|
||||
<span class="badge badge-primary badge-pill">{{ $counts['transactions'] }}</span>
|
||||
</li>
|
||||
@stack('customer_transactions_count_end')
|
||||
</ul>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">{{ trans('general.address') }}</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<a class="text-xs m-0">
|
||||
{{ $customer->address }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="list-group mb-4">
|
||||
@stack('customer_email_start')
|
||||
<li class="list-group-item border-0">
|
||||
<div class="font-weight-600">{{ trans('general.email') }}</div>
|
||||
<div><small class="long-texts" title="{{ $customer->email }}">{{ $customer->email }}</small></div>
|
||||
</li>
|
||||
@stack('customer_email_end')
|
||||
|
||||
@stack('customer_phone_start')
|
||||
<li class="list-group-item border-0 border-top-1">
|
||||
<div class="font-weight-600">{{ trans('general.phone') }}</div>
|
||||
<div><small class="long-texts" title="{{ $customer->phone }}">{{ $customer->phone }}</small></div>
|
||||
</li>
|
||||
@stack('customer_phone_end')
|
||||
|
||||
@stack('customer_website_start')
|
||||
<li class="list-group-item border-0 border-top-1">
|
||||
<div class="font-weight-600">{{ trans('general.website') }}</div>
|
||||
<div><small class="long-texts" title="{{ $customer->website }}">{{ $customer->website }}</small></div>
|
||||
</li>
|
||||
@stack('customer_website_end')
|
||||
|
||||
@stack('customer_tax_number_start')
|
||||
<li class="list-group-item border-0 border-top-1">
|
||||
<div class="font-weight-600">{{ trans('general.tax_number') }}</div>
|
||||
<div><small class="long-texts" title="{{ $customer->tax_number }}">{{ $customer->tax_number }}</small></div>
|
||||
</li>
|
||||
@stack('customer_tax_number_end')
|
||||
|
||||
@stack('customer_address_start')
|
||||
<li class="list-group-item border-0 border-top-1">
|
||||
<div class="font-weight-600">{{ trans('general.address') }}</div>
|
||||
<div><small>{{ $customer->address }}</small></div>
|
||||
</li>
|
||||
@stack('customer_address_end')
|
||||
|
||||
@if ($customer->reference)
|
||||
@stack('customer_reference_start')
|
||||
<li class="list-group-item border-0 border-top-1">
|
||||
<div class="font-weight-600">{{ trans('general.reference') }}</div>
|
||||
<div><small class="long-texts" title="{{ $customer->reference }}">{{ $customer->reference }}</small></div>
|
||||
</li>
|
||||
@stack('customer_reference_end')
|
||||
@endif
|
||||
</ul>
|
||||
|
||||
@stack('customer_edit_button_start')
|
||||
<a href="{{ route('customers.edit', $customer->id) }}" class="btn btn-info btn-block edit-sv"><b>{{ trans('general.edit') }}</b></a>
|
||||
@stack('customer_edit_button_end')
|
||||
</div>
|
||||
|
||||
<div class="col-xl-9">
|
||||
<div class="row mb--3">
|
||||
@stack('customer_paid_card_start')
|
||||
<div class="col-md-4">
|
||||
<div class="card bg-gradient-success border-0">
|
||||
<div class="card-body">
|
||||
@ -62,7 +88,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('customer_paid_card_end')
|
||||
|
||||
@stack('customer_open_card_start')
|
||||
<div class="col-md-4">
|
||||
<div class="card bg-gradient-warning border-0">
|
||||
<div class="card-body">
|
||||
@ -76,7 +104,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('customer_open_card_end')
|
||||
|
||||
@stack('customer_overdue_card_start')
|
||||
<div class="col-md-4">
|
||||
<div class="card bg-gradient-danger border-0">
|
||||
<div class="card-body">
|
||||
@ -90,40 +120,47 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('customer_overdue_card_end')
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="nav-wrapper">
|
||||
<ul class="nav nav-pills nav-fill flex-column flex-md-row" id="tabs-icons-text" role="tablist">
|
||||
@stack('customer_transactions_tab_start')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link mb-sm-3 mb-md-0 active" id="tabs-header-transactions" data-toggle="tab" href="#tabs-content-transactions" role="tab" aria-controls="tabs-content-transactions" aria-selected="true">{{ trans_choice('general.transactions', 2) }}</a>
|
||||
<a class="nav-link mb-sm-3 mb-md-0 active" id="transactions-tab" data-toggle="tab" href="#transactions-content" role="tab" aria-controls="transactions-content" aria-selected="true">{{ trans_choice('general.transactions', 2) }}</a>
|
||||
</li>
|
||||
@stack('customer_transactions_tab_end')
|
||||
|
||||
@stack('customer_invoices_tab_start')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link mb-sm-3 mb-md-0" id="tabs-invoices" data-toggle="tab" href="#tabs-content-invoices" role="tab" aria-controls="tabs-content-invoices" aria-selected="false">{{ trans_choice('general.invoices', 2) }}</a>
|
||||
<a class="nav-link mb-sm-3 mb-md-0" id="invoices-tab" data-toggle="tab" href="#invoices-content" role="tab" aria-controls="invoices-content" aria-selected="false">{{ trans_choice('general.invoices', 2) }}</a>
|
||||
</li>
|
||||
@stack('customer_invoices_tab_end')
|
||||
</ul>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="tab-content" id="myTabContent">
|
||||
<div class="tab-pane fade show active" id="tabs-content-transactions" role="tabpanel" aria-labelledby="tabs-header-transactions">
|
||||
@stack('customer_transactions_content_start')
|
||||
<div class="tab-pane fade show active" id="transactions-content" role="tabpanel" aria-labelledby="transactions-tab">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-flush table-hover" id="tbl-transactions">
|
||||
<thead class="thead-light">
|
||||
<tr class="row table-head-line">
|
||||
<th class="col-xs-6 col-sm-3">{{ trans('general.date') }}</th>
|
||||
<th class="col-xs-6 col-sm-3 text-right">{{ trans('general.amount') }}</th>
|
||||
<th class="col-sm-3 d-none d-sm-block">{{ trans_choice('general.categories', 1) }}</th>
|
||||
<th class="col-sm-3 d-none d-sm-block">{{ trans_choice('general.accounts', 1) }}</th>
|
||||
<th class="col-xs-6 col-sm-2">{{ trans('general.date') }}</th>
|
||||
<th class="col-xs-6 col-sm-2 text-right">{{ trans('general.amount') }}</th>
|
||||
<th class="col-sm-4 d-none d-sm-block">{{ trans_choice('general.categories', 1) }}</th>
|
||||
<th class="col-sm-4 d-none d-sm-block">{{ trans_choice('general.accounts', 1) }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($transactions as $item)
|
||||
<tr class="row align-items-center border-top-1 tr-py">
|
||||
<td class="col-xs-6 col-sm-3">@date($item->paid_at)</td>
|
||||
<td class="col-xs-6 col-sm-3 text-right">@money($item->amount, $item->currency_code, true)</td>
|
||||
<td class="col-sm-3 d-none d-sm-block">{{ $item->category ? $item->category->name : trans('general.na') }}</td>
|
||||
<td class="col-sm-3 d-none d-sm-block">{{ $item->account->name }}</td>
|
||||
<td class="col-xs-6 col-sm-2">@date($item->paid_at)</td>
|
||||
<td class="col-xs-6 col-sm-2 text-right">@money($item->amount, $item->currency_code, true)</td>
|
||||
<td class="col-sm-4 d-none d-sm-block">{{ $item->category->name }}</td>
|
||||
<td class="col-sm-4 d-none d-sm-block">{{ $item->account->name }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
@ -135,8 +172,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('customer_transactions_content_end')
|
||||
|
||||
<div class="tab-pane fade" id="tabs-content-invoices" role="tabpanel" aria-labelledby="tabs-header-invoices">
|
||||
@stack('customer_invoices_content_start')
|
||||
<div class="tab-pane fade" id="invoices-content" role="tabpanel" aria-labelledby="invoices-tab">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-flush table-hover" id="tbl-invoices">
|
||||
<thead class="thead-light">
|
||||
@ -167,6 +206,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('customer_invoices_content_end')
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -160,7 +160,7 @@
|
||||
@stack('notes_input_start')
|
||||
@if ($invoice->notes)
|
||||
<strong>{{ trans_choice('general.notes', 2) }}</strong><br><br>
|
||||
{{ $invoice->notes }}
|
||||
{!! nl2br($invoice->notes) !!}
|
||||
@endif
|
||||
@stack('notes_input_end')
|
||||
</div>
|
||||
@ -170,25 +170,27 @@
|
||||
<div class="text company pr-2">
|
||||
@foreach ($invoice->totals_sorted as $total)
|
||||
@if ($total->code != 'total')
|
||||
@stack($total->code . '_td_start')
|
||||
<div class="border-top-dashed py-2">
|
||||
<strong class="float-left">{{ trans($total->title) }}:</strong>
|
||||
<span>@money($total->amount, $invoice->currency_code, true)</span>
|
||||
</div>
|
||||
@stack($total->code . '_td_end')
|
||||
@stack($total->code . '_total_tr_start')
|
||||
<div class="border-top-dashed py-2">
|
||||
<strong class="float-left">{{ trans($total->title) }}:</strong>
|
||||
<span>@money($total->amount, $invoice->currency_code, true)</span>
|
||||
</div>
|
||||
@stack($total->code . '_total_tr_end')
|
||||
@else
|
||||
@if ($invoice->paid)
|
||||
@stack('paid_total_tr_start')
|
||||
<div class="border-top-dashed py-2">
|
||||
<strong class="float-left">{{ trans('invoices.paid') }}:</strong>
|
||||
<span>- @money($invoice->paid, $invoice->currency_code, true)</span>
|
||||
</div>
|
||||
@stack('paid_total_tr_end')
|
||||
@endif
|
||||
@stack('grand_total_td_start')
|
||||
<div class="border-top-dashed py-2">
|
||||
<strong class="float-left">{{ trans($total->name) }}:</strong>
|
||||
<span>@money($total->amount - $invoice->paid, $invoice->currency_code, true)</span>
|
||||
</div>
|
||||
@stack('grand_total_td_end')
|
||||
@stack('grand_total_tr_start')
|
||||
<div class="border-top-dashed py-2">
|
||||
<strong class="float-left">{{ trans($total->name) }}:</strong>
|
||||
<span>@money($total->amount - $invoice->paid, $invoice->currency_code, true)</span>
|
||||
</div>
|
||||
@stack('grand_total_tr_end')
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
@ -199,7 +201,7 @@
|
||||
<div class="row mt-1">
|
||||
<div class="col-100">
|
||||
<div class="text company">
|
||||
<strong>{!! $invoice->footer !!}</strong>
|
||||
<strong>{!! nl2br($invoice->footer) !!}</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -148,7 +148,7 @@
|
||||
@if ($invoice->notes)
|
||||
<br>
|
||||
<strong>{{ trans_choice('general.notes', 2) }}</strong><br><br>
|
||||
{{ $invoice->notes }}
|
||||
{!! nl2br($invoice->notes) !!}
|
||||
@endif
|
||||
@stack('notes_input_end')
|
||||
</div>
|
||||
@ -158,25 +158,27 @@
|
||||
<div class="text company">
|
||||
@foreach ($invoice->totals_sorted as $total)
|
||||
@if ($total->code != 'total')
|
||||
@stack($total->code . '_td_start')
|
||||
<div class="border-top-1 py-2">
|
||||
<strong class="float-left">{{ trans($total->title) }}:</strong>
|
||||
<span>@money($total->amount, $invoice->currency_code, true)</span><br>
|
||||
</div>
|
||||
@stack($total->code . '_td_end')
|
||||
@stack($total->code . '_total_tr_start')
|
||||
<div class="border-top-1 py-2">
|
||||
<strong class="float-left">{{ trans($total->title) }}:</strong>
|
||||
<span>@money($total->amount, $invoice->currency_code, true)</span><br>
|
||||
</div>
|
||||
@stack($total->code . '_total_tr_end')
|
||||
@else
|
||||
@if ($invoice->paid)
|
||||
@stack('paid_total_tr_start')
|
||||
<div class="border-top-1 py-2">
|
||||
<strong class="float-left">{{ trans('invoices.paid') }}:</strong>
|
||||
<span>- @money($invoice->paid, $invoice->currency_code, true)</span><br>
|
||||
</div>
|
||||
@stack('paid_total_tr_end')
|
||||
@endif
|
||||
@stack('grand_total_td_start')
|
||||
<div class="border-top-1 py-2">
|
||||
<strong class="float-left">{{ trans($total->name) }}:</strong>
|
||||
<span>@money($total->amount - $invoice->paid, $invoice->currency_code, true)</span>
|
||||
</div>
|
||||
@stack('grand_total_td_end')
|
||||
@stack('grand_total_tr_start')
|
||||
<div class="border-top-1 py-2">
|
||||
<strong class="float-left">{{ trans($total->name) }}:</strong>
|
||||
<span>@money($total->amount - $invoice->paid, $invoice->currency_code, true)</span>
|
||||
</div>
|
||||
@stack('grand_total_tr_end')
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
@ -187,7 +189,7 @@
|
||||
<div class="row mt-4">
|
||||
<div class="col-100 text-left">
|
||||
<div class="text company">
|
||||
<strong>{!! $invoice->footer !!}<strong>
|
||||
<strong>{!! nl2br($invoice->footer) !!}<strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -129,7 +129,7 @@
|
||||
@stack('notes_input_start')
|
||||
@if ($invoice->notes)
|
||||
<strong>{{ trans_choice('general.notes', 2) }}</strong><br><br>
|
||||
{{ $invoice->notes }}
|
||||
{!! nl2br($invoice->notes) !!}
|
||||
@endif
|
||||
@stack('notes_input_end')
|
||||
</div>
|
||||
@ -139,19 +139,21 @@
|
||||
<div class="text company pr-2">
|
||||
@foreach ($invoice->totals_sorted as $total)
|
||||
@if ($total->code != 'total')
|
||||
@stack($total->code . '_td_start')
|
||||
<strong class="float-left">{{ trans($total->title) }}:</strong>
|
||||
<span>@money($total->amount, $invoice->currency_code, true)</span><br><br>
|
||||
@stack($total->code . '_td_end')
|
||||
@stack($total->code . '_total_tr_start')
|
||||
<strong class="float-left">{{ trans($total->title) }}:</strong>
|
||||
<span>@money($total->amount, $invoice->currency_code, true)</span><br><br>
|
||||
@stack($total->code . '_total_tr_end')
|
||||
@else
|
||||
@if ($invoice->paid)
|
||||
@stack('paid_total_tr_start')
|
||||
<strong class="float-left">{{ trans('invoices.paid') }}:</strong>
|
||||
<span>- @money($invoice->paid, $invoice->currency_code, true)</span><br><br>
|
||||
@stack('paid_total_tr_end')
|
||||
@endif
|
||||
@stack('grand_total_td_start')
|
||||
@stack('grand_total_tr_start')
|
||||
<strong class="float-left">{{ trans($total->name) }}:</strong>
|
||||
<span>@money($total->amount - $invoice->paid, $invoice->currency_code, true)</span>
|
||||
@stack('grand_total_td_end')
|
||||
@stack('grandtotal_tr_end')
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
@ -162,7 +164,7 @@
|
||||
<div class="row mt-7">
|
||||
<div class="col-100 py-2" style="background-color:{{ setting('invoice.color') }} !important; -webkit-print-color-adjust: exact;">
|
||||
<div class="text pl-2">
|
||||
<strong class="text-white">{!! $invoice->footer !!}</strong>
|
||||
<strong class="text-white">{!! nl2br($invoice->footer) !!}</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -216,25 +216,27 @@
|
||||
{{ setting('company.name') }}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{!! nl2br(setting('company.address')) !!}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
@if (setting('company.tax_number'))
|
||||
@if (setting('company.address'))
|
||||
<tr>
|
||||
<th>
|
||||
{!! nl2br(setting('company.address')) !!}
|
||||
</th>
|
||||
</tr>
|
||||
@endif
|
||||
@if (setting('company.tax_number'))
|
||||
<tr>
|
||||
<th>
|
||||
{{ trans('general.tax_number') }}: {{ setting('company.tax_number') }}
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
@if (setting('company.phone'))
|
||||
</th>
|
||||
</tr>
|
||||
@endif
|
||||
@if (setting('company.phone'))
|
||||
<tr>
|
||||
<th>
|
||||
{{ setting('company.phone') }}
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
</th>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<th>
|
||||
{{ setting('company.email') }}
|
||||
@ -261,38 +263,50 @@
|
||||
@stack('name_input_end')
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
@stack('address_input_start')
|
||||
{!! nl2br($invoice->contact_address) !!}
|
||||
@stack('address_input_end')
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
@stack('tax_number_input_start')
|
||||
@if ($invoice->contact_tax_number)
|
||||
{{ trans('general.tax_number') }}: {{ $invoice->contact_tax_number }}
|
||||
@endif
|
||||
@stack('tax_number_input_end')
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
@stack('phone_input_start')
|
||||
@if ($invoice->contact_phone)
|
||||
{{ $invoice->contact_phone }}
|
||||
@endif
|
||||
@stack('phone_input_end')
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
@stack('email_start')
|
||||
{{ $invoice->contact_email }}
|
||||
@stack('email_input_end')
|
||||
</th>
|
||||
</tr>
|
||||
@if ($invoice->contact_address || $__env->hasStack('address_input_start', 'address_input_end'))
|
||||
<tr>
|
||||
<th>
|
||||
@stack('address_input_start')
|
||||
@if ($invoice->contact_address)
|
||||
{!! nl2br($invoice->contact_address) !!}
|
||||
@endif
|
||||
@stack('address_input_end')
|
||||
</th>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($invoice->contact_tax_number || $__env->hasStack('tax_number_input_start', 'tax_number_input_end'))
|
||||
<tr>
|
||||
<th>
|
||||
@stack('tax_number_input_start')
|
||||
@if ($invoice->contact_tax_number)
|
||||
{{ trans('general.tax_number') }}: {{ $invoice->contact_tax_number }}
|
||||
@endif
|
||||
@stack('tax_number_input_end')
|
||||
</th>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($invoice->contact_phone || $__env->hasStack('phone_input_start', 'phone_input_end'))
|
||||
<tr>
|
||||
<th>
|
||||
@stack('phone_input_start')
|
||||
@if ($invoice->contact_phone)
|
||||
{{ $invoice->contact_phone }}
|
||||
@endif
|
||||
@stack('phone_input_end')
|
||||
</th>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($invoice->contact_email || $__env->hasStack('email_start', 'email_input_end'))
|
||||
<tr>
|
||||
<th>
|
||||
@stack('email_start')
|
||||
@if ($invoice->contact_email)
|
||||
{{ $invoice->contact_email }}
|
||||
@endif
|
||||
@stack('email_input_end')
|
||||
</th>
|
||||
</tr>
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -387,7 +401,7 @@
|
||||
<tr>
|
||||
<th>
|
||||
<p class="form-control-label">{{ trans_choice('general.notes', 2) }}</p>
|
||||
<p class="text-muted long-texts">{{ $invoice->notes }}</p>
|
||||
<p class="text-muted long-texts">{!! nl2br($invoice->notes) !!}</p>
|
||||
</th>
|
||||
</tr>
|
||||
@endif
|
||||
@ -402,27 +416,29 @@
|
||||
<tbody>
|
||||
@foreach ($invoice->totals_sorted as $total)
|
||||
@if ($total->code != 'total')
|
||||
@stack($total->code . '_td_start')
|
||||
<tr>
|
||||
<th>{{ trans($total->title) }}:</th>
|
||||
<td class="text-right">@money($total->amount, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@stack($total->code . '_td_end')
|
||||
@stack($total->code . '_total_tr_start')
|
||||
<tr>
|
||||
<th>{{ trans($total->title) }}:</th>
|
||||
<td class="text-right">@money($total->amount, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@stack($total->code . '_total_tr_end')
|
||||
@else
|
||||
@if ($invoice->paid)
|
||||
@stack('paid_total_tr_start')
|
||||
<tr>
|
||||
<th class="text-success">
|
||||
{{ trans('invoices.paid') }}:
|
||||
</th>
|
||||
<td class="text-success text-right">- @money($invoice->paid, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@stack('paid_total_tr_end')
|
||||
@endif
|
||||
@stack('grand_total_td_start')
|
||||
<tr>
|
||||
<th>{{ trans($total->name) }}:</th>
|
||||
<td class="text-right">@money($total->amount - $invoice->paid, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@stack('grand_total_td_end')
|
||||
@stack('grand_total_tr_start')
|
||||
<tr>
|
||||
<th>{{ trans($total->name) }}:</th>
|
||||
<td class="text-right">@money($total->amount - $invoice->paid, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@stack('grand_total_tr_end')
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
@ -445,87 +461,93 @@
|
||||
|
||||
<div class="col-xs-12 col-sm-8 text-right">
|
||||
@stack('button_edit_start')
|
||||
@if(!$invoice->reconciled)
|
||||
<a href="{{ route('invoices.edit', $invoice->id) }}" class="btn btn-info header-button-top">
|
||||
{{ trans('general.edit') }}
|
||||
</a>
|
||||
@endif
|
||||
@if(!$invoice->reconciled)
|
||||
<a href="{{ route('invoices.edit', $invoice->id) }}" class="btn btn-info header-button-top">
|
||||
{{ trans('general.edit') }}
|
||||
</a>
|
||||
@endif
|
||||
@stack('button_edit_end')
|
||||
|
||||
@stack('button_print_start')
|
||||
<a href="{{ route('invoices.print', $invoice->id) }}" target="_blank" class="btn btn-success header-button-top">
|
||||
{{ trans('general.print') }}
|
||||
</a>
|
||||
<a href="{{ route('invoices.print', $invoice->id) }}" target="_blank" class="btn btn-success header-button-top">
|
||||
{{ trans('general.print') }}
|
||||
</a>
|
||||
@stack('button_print_end')
|
||||
|
||||
@if ($invoice->status != 'cancelled')
|
||||
@stack('button_share_start')
|
||||
<a href="{{ $signed_url }}" target="_blank" class="btn btn-white header-button-top">
|
||||
{{ trans('general.share') }}
|
||||
</a>
|
||||
@stack('button_share_end')
|
||||
@stack('button_share_start')
|
||||
<a href="{{ $signed_url }}" target="_blank" class="btn btn-white header-button-top">
|
||||
{{ trans('general.share') }}
|
||||
</a>
|
||||
@stack('button_share_end')
|
||||
@endif
|
||||
|
||||
@stack('button_group_start')
|
||||
<div class="dropup header-drop-top">
|
||||
<button type="button" class="btn btn-primary header-button-top" data-toggle="dropdown" aria-expanded="false"><i class="fa fa-chevron-up"></i> {{ trans('general.more_actions') }}</button>
|
||||
<div class="dropdown-menu" role="menu">
|
||||
@if ($invoice->status != 'cancelled')
|
||||
<div class="dropup header-drop-top">
|
||||
<button type="button" class="btn btn-primary header-button-top" data-toggle="dropdown" aria-expanded="false"><i class="fa fa-chevron-up"></i> {{ trans('general.more_actions') }}</button>
|
||||
<div class="dropdown-menu" role="menu">
|
||||
@stack('button_dropdown_start')
|
||||
@if ($invoice->status != 'cancelled')
|
||||
@if ($invoice->status != 'paid')
|
||||
@stack('button_pay_start')
|
||||
@if ($invoice->status != 'paid')
|
||||
@permission('update-sales-invoices')
|
||||
<a class="dropdown-item" href="{{ route('invoices.paid', $invoice->id) }}">{{ trans('invoices.mark_paid') }}</a>
|
||||
@endpermission
|
||||
@permission('update-sales-invoices')
|
||||
<a class="dropdown-item" href="{{ route('invoices.paid', $invoice->id) }}">{{ trans('invoices.mark_paid') }}</a>
|
||||
@endpermission
|
||||
|
||||
@if(empty($invoice->paid) || ($invoice->paid != $invoice->amount))
|
||||
<button class="dropdown-item" id="button-payment" @click="onPayment">{{ trans('invoices.add_payment') }}</button>
|
||||
@endif
|
||||
<div class="dropdown-divider"></div>
|
||||
@endif
|
||||
@if (empty($invoice->paid) || ($invoice->paid != $invoice->amount))
|
||||
<button class="dropdown-item" id="button-payment" @click="onPayment">{{ trans('invoices.add_payment') }}</button>
|
||||
@endif
|
||||
@stack('button_pay_end')
|
||||
|
||||
@stack('button_sent_start')
|
||||
@permission('update-sales-invoices')
|
||||
@if ($invoice->status == 'draft')
|
||||
<a class="dropdown-item" href="{{ route('invoices.sent', $invoice->id) }}">{{ trans('invoices.mark_sent') }}</a>
|
||||
@else
|
||||
<button type="button" class="dropdown-item" disabled="disabled"><span class="text-disabled">{{ trans('invoices.mark_sent') }}</span></button>
|
||||
@endif
|
||||
@endpermission
|
||||
@stack('button_sent_end')
|
||||
|
||||
@stack('button_email_start')
|
||||
@if ($invoice->contact_email)
|
||||
<a class="dropdown-item" href="{{ route('invoices.email', $invoice->id) }}">{{ trans('invoices.send_mail') }}</a>
|
||||
@else
|
||||
<button type="button" class="dropdown-item" disabled="disabled" data-toggle="tooltip" data-placement="right" title="{{ trans('invoices.messages.email_required') }}">
|
||||
<span class="text-disabled">{{ trans('invoices.send_mail') }}</span>
|
||||
</button>
|
||||
@endif
|
||||
@stack('button_email_end')
|
||||
<div class="dropdown-divider"></div>
|
||||
@endif
|
||||
|
||||
@stack('button_pdf_start')
|
||||
<a class="dropdown-item" href="{{ route('invoices.pdf', $invoice->id) }}">{{ trans('invoices.download_pdf') }}</a>
|
||||
@stack('button_pdf_end')
|
||||
@stack('button_dropdown_divider_1')
|
||||
|
||||
@permission('update-sales-invoices')
|
||||
@if ($invoice->status != 'cancelled')
|
||||
@stack('button_cancelled_start')
|
||||
<a class="dropdown-item" href="{{ route('invoices.cancelled', $invoice->id) }}">{{ trans('general.cancel') }}</a>
|
||||
@stack('button_cancelled_end')
|
||||
@stack('button_sent_start')
|
||||
@if ($invoice->status == 'draft')
|
||||
<a class="dropdown-item" href="{{ route('invoices.sent', $invoice->id) }}">{{ trans('invoices.mark_sent') }}</a>
|
||||
@else
|
||||
<button type="button" class="dropdown-item" disabled="disabled"><span class="text-disabled">{{ trans('invoices.mark_sent') }}</span></button>
|
||||
@endif
|
||||
@stack('button_sent_end')
|
||||
@endpermission
|
||||
|
||||
@permission('delete-sales-invoices')
|
||||
@if (!$invoice->reconciled)
|
||||
@stack('button_delete_start')
|
||||
{!! Form::deleteLink($invoice, 'sales/invoices') !!}
|
||||
@stack('button_delete_end')
|
||||
@endif
|
||||
@endpermission
|
||||
</div>
|
||||
@stack('button_email_start')
|
||||
@if ($invoice->contact_email)
|
||||
<a class="dropdown-item" href="{{ route('invoices.email', $invoice->id) }}">{{ trans('invoices.send_mail') }}</a>
|
||||
@else
|
||||
<button type="button" class="dropdown-item" disabled="disabled" data-toggle="tooltip" data-placement="right" title="{{ trans('invoices.messages.email_required') }}">
|
||||
<span class="text-disabled">{{ trans('invoices.send_mail') }}</span>
|
||||
</button>
|
||||
@endif
|
||||
@stack('button_email_end')
|
||||
@endif
|
||||
|
||||
@stack('button_pdf_start')
|
||||
<a class="dropdown-item" href="{{ route('invoices.pdf', $invoice->id) }}">{{ trans('invoices.download_pdf') }}</a>
|
||||
@stack('button_pdf_end')
|
||||
|
||||
@permission('update-sales-invoices')
|
||||
@if ($invoice->status != 'cancelled')
|
||||
@stack('button_cancelled_start')
|
||||
<a class="dropdown-item" href="{{ route('invoices.cancelled', $invoice->id) }}">{{ trans('general.cancel') }}</a>
|
||||
@stack('button_cancelled_end')
|
||||
@endif
|
||||
@endpermission
|
||||
|
||||
@stack('button_dropdown_divider_2')
|
||||
|
||||
@permission('delete-sales-invoices')
|
||||
@if (!$invoice->reconciled)
|
||||
@stack('button_delete_start')
|
||||
{!! Form::deleteLink($invoice, 'sales/invoices') !!}
|
||||
@stack('button_delete_end')
|
||||
@endif
|
||||
@endpermission
|
||||
@stack('button_dropdown_end')
|
||||
</div>
|
||||
</div>
|
||||
@stack('button_group_end')
|
||||
</div>
|
||||
</div>
|
||||
@ -536,7 +558,7 @@
|
||||
|
||||
@stack('row_footer_start')
|
||||
<div class="row">
|
||||
@stack('row_footer_history_start')
|
||||
@stack('row_footer_histories_start')
|
||||
<div class="col-sm-6 col-md-6 col-lg-6 col-xl-6">
|
||||
<div class="accordion">
|
||||
<div class="card">
|
||||
@ -547,20 +569,28 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-flush table-hover">
|
||||
<thead class="thead-light">
|
||||
@stack('row_footer_histories_head_tr_start')
|
||||
<tr class="row table-head-line">
|
||||
<th class="col-xs-4 col-sm-2">{{ trans('general.date') }}</th>
|
||||
@stack('row_footer_histories_head_start')
|
||||
<th class="col-xs-4 col-sm-3">{{ trans('general.date') }}</th>
|
||||
<th class="col-xs-4 col-sm-3 text-left">{{ trans_choice('general.statuses', 1) }}</th>
|
||||
<th class="col-xs-4 col-sm-7 text-left long-texts">{{ trans('general.description') }}</th>
|
||||
<th class="col-xs-4 col-sm-6 text-left long-texts">{{ trans('general.description') }}</th>
|
||||
@stack('row_footer_histories_head_end')
|
||||
</tr>
|
||||
@stack('row_footer_histories_head_tr_end')
|
||||
</thead>
|
||||
<tbody>
|
||||
@stack('row_footer_histories_body_tr_start')
|
||||
@foreach($invoice->histories as $history)
|
||||
<tr class="row align-items-center border-top-1 tr-py">
|
||||
<td class="col-xs-4 col-sm-2">@date($history->created_at)</td>
|
||||
@stack('row_footer_histories_body_td_start')
|
||||
<td class="col-xs-4 col-sm-3">@date($history->created_at)</td>
|
||||
<td class="col-xs-4 col-sm-3 text-left">{{ trans('invoices.statuses.' . $history->status) }}</td>
|
||||
<td class="col-xs-4 col-sm-7 text-left long-texts">{{ $history->description }}</td>
|
||||
<td class="col-xs-4 col-sm-6 text-left long-texts">{{ $history->description }}</td>
|
||||
@stack('row_footer_histories_body_td_end')
|
||||
</tr>
|
||||
@endforeach
|
||||
@stack('row_footer_histories_body_tr_end')
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -568,9 +598,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('row_footer_history_end')
|
||||
@stack('row_footer_histories_end')
|
||||
|
||||
@stack('row_footer_transaction_start')
|
||||
@stack('row_footer_transactions_start')
|
||||
<div class="col-sm-6 col-md-6 col-lg-6 col-xl-6">
|
||||
<div class="accordion">
|
||||
<div class="card">
|
||||
@ -581,17 +611,23 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-flush table-hover">
|
||||
<thead class="thead-light">
|
||||
@stack('row_footer_transactions_head_tr_start')
|
||||
<tr class="row table-head-line">
|
||||
@stack('row_footer_transactions_head_td_start')
|
||||
<th class="col-xs-4 col-sm-3">{{ trans('general.date') }}</th>
|
||||
<th class="col-xs-4 col-sm-3">{{ trans('general.amount') }}</th>
|
||||
<th class="col-sm-3 d-none d-sm-block">{{ trans_choice('general.accounts', 1) }}</th>
|
||||
<th class="col-xs-4 col-sm-3">{{ trans('general.actions') }}</th>
|
||||
@stack('row_footer_transactions_head_td_end')
|
||||
</tr>
|
||||
@stack('row_footer_transactions_head_tr_end')
|
||||
</thead>
|
||||
<tbody>
|
||||
@stack('row_footer_transactions_body_tr_start')
|
||||
@if ($invoice->transactions->count())
|
||||
@foreach($invoice->transactions as $transaction)
|
||||
<tr class="row align-items-center border-top-1 tr-py">
|
||||
@stack('row_footer_transactions_body_td_start')
|
||||
<td class="col-xs-4 col-sm-3">@date($transaction->paid_at)</td>
|
||||
<td class="col-xs-4 col-sm-3">@money($transaction->amount, $transaction->currency_code, true)</td>
|
||||
<td class="col-sm-3 d-none d-sm-block">{{ $transaction->account->name }}</td>
|
||||
@ -615,6 +651,7 @@
|
||||
)) !!}
|
||||
@endif
|
||||
</td>
|
||||
@stack('row_footer_transactions_body_td_end')
|
||||
</tr>
|
||||
@endforeach
|
||||
@else
|
||||
@ -626,6 +663,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@stack('row_footer_transactions_body_tr_end')
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -633,43 +671,13 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('row_footer_transaction_end')
|
||||
@stack('row_footer_transactions_end')
|
||||
</div>
|
||||
@stack('row_footer_end')
|
||||
|
||||
{{ Form::hidden('invoice_id', $invoice->id, ['id' => 'invoice_id']) }}
|
||||
@endsection
|
||||
|
||||
@push('content_content_end')
|
||||
<akaunting-modal
|
||||
class="modal-payment"
|
||||
:show="payment.modal"
|
||||
@cancel="payment.modal = false"
|
||||
:title="'{{ trans('general.title.new', ['type' => trans_choice('general.payments', 1)]) }}'"
|
||||
:message="payment.html"
|
||||
:button_cancel="'{{ trans('general.button.save') }}'"
|
||||
:button_delete="'{{ trans('general.button.cancel') }}'">
|
||||
<template #modal-body>
|
||||
@include('modals.invoices.payment')
|
||||
</template>
|
||||
|
||||
<template #card-footer>
|
||||
<div class="float-right">
|
||||
<button type="button" class="btn btn-outline-secondary" @click="closePayment">
|
||||
{{ trans('general.cancel') }}
|
||||
</button>
|
||||
|
||||
<a href="{{ route('apps.categories.show', 'payment-method') }}" class="btn btn-whitelong-texts">
|
||||
{{ trans('invoices.accept_payments') }}
|
||||
</a>
|
||||
|
||||
<button :disabled="form.loading" type="button" class="btn btn-success" @click="addPayment">
|
||||
<span v-if="form.loading" class="btn-inner--icon"><i class="aka-loader"></i></span>
|
||||
<span :class="[{'ml-0': form.loading}]" class="btn-inner--text">{{ trans('general.confirm') }}</span>
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
</akaunting-modal>
|
||||
@endpush
|
||||
|
||||
@push('scripts_start')
|
||||
<script src="{{ asset('public/js/sales/invoices.js?v=' . version('short')) }}"></script>
|
||||
@endpush
|
||||
|
@ -22,7 +22,7 @@
|
||||
{!! Form::hidden('currency_code', $account_currency_code, ['id' => 'currency_code', 'class' => 'form-control', 'required' => 'required']) !!}
|
||||
{!! Form::hidden('currency_rate', '1', ['id' => 'currency_rate']) !!}
|
||||
|
||||
{{ Form::moneyGroup('amount', trans('general.amount'), 'money-bill-alt', ['required' => 'required', 'autofocus' => 'autofocus', 'currency' => $currency], 0) }}
|
||||
{{ Form::moneyGroup('amount', trans('general.amount'), 'money-bill-alt', ['required' => 'required', 'autofocus' => 'autofocus', 'currency' => $currency, 'dynamic-currency' => 'currency'], 0) }}
|
||||
|
||||
{{ Form::selectAddNewGroup('account_id', trans_choice('general.accounts', 1), 'university', $accounts, setting('default.account'), ['required' => 'required', 'path' => route('modals.accounts.create'), 'change' => 'onChangeAccount']) }}
|
||||
|
||||
|
@ -41,7 +41,7 @@
|
||||
{!! Form::hidden('currency_code', $revenue->currency_code, ['id' => 'currency_code', 'class' => 'form-control', 'required' => 'required']) !!}
|
||||
{!! Form::hidden('currency_rate', null, ['id' => 'currency_rate']) !!}
|
||||
|
||||
{{ Form::moneyGroup('amount', trans('general.amount'), 'money-bill-alt', ['required' => 'required', 'autofocus' => 'autofocus', 'currency' => $currency], $revenue->amount) }}
|
||||
{{ Form::moneyGroup('amount', trans('general.amount'), 'money-bill-alt', ['required' => 'required', 'autofocus' => 'autofocus', 'currency' => $currency, 'dynamic-currency' => 'currency'], $revenue->amount) }}
|
||||
|
||||
{{ Form::selectAddNewGroup('account_id', trans_choice('general.accounts', 1), 'university', $accounts, $revenue->account_id, ['required' => 'required', 'path' => route('modals.accounts.create'), 'change' => 'onChangeAccount']) }}
|
||||
|
||||
|
@ -92,15 +92,17 @@
|
||||
<a class="dropdown-item" href="{{ route('revenues.edit', $item->id) }}">{{ trans('general.edit') }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
@endif
|
||||
@if (empty($item->document_id))
|
||||
@permission('create-sales-revenues')
|
||||
<a class="dropdown-item" href="{{ route('revenues.duplicate', $item->id) }}">{{ trans('general.duplicate') }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
@endpermission
|
||||
@endif
|
||||
@if (!$item->reconciled)
|
||||
@permission('delete-sales-revenues')
|
||||
@if (!$item->reconciled)
|
||||
<div class="dropdown-divider"></div>
|
||||
{!! Form::deleteLink($item, 'revenues.destroy') !!}
|
||||
@endif
|
||||
{!! Form::deleteLink($item, 'revenues.destroy') !!}
|
||||
@endpermission
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
Reference in New Issue
Block a user