v2 first commit
This commit is contained in:
86
resources/views/portal/dashboard/index.blade.php
Normal file
86
resources/views/portal/dashboard/index.blade.php
Normal file
@ -0,0 +1,86 @@
|
||||
@extends('layouts.portal')
|
||||
|
||||
@section('title', trans('general.dashboard'))
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-header pb-0">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="progress-info">
|
||||
<div class="progress-label-danger">
|
||||
<span>{{ trans('general.unpaid') }}</span>
|
||||
</div>
|
||||
<div class="progress-percentage">
|
||||
<span>{{ $progress['total'] }} / {{ $progress['unpaid'] }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="progress h-25">
|
||||
<div class="progress-bar bg-danger" role="progressbar" aria-valuenow="{{ !empty($progress['total']) ? (100 / $progress['total']) * $progress['unpaid'] : '0' }}" aria-valuemin="0" aria-valuemax="100" style="width: {{ !empty($progress['total']) ? (100 / $progress['total']) * $progress['unpaid'] : '0' }}%">
|
||||
{{ !empty($progress['total']) ? (100 / $progress['total']) * $progress['unpaid'] : '0' }} %
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="progress-info">
|
||||
<div class="progress-label-success">
|
||||
<span>{{ trans('general.paid') }}</span>
|
||||
</div>
|
||||
<div class="progress-percentage">
|
||||
<span>{{ $progress['total'] }} / {{ $progress['paid'] }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="progress h-25">
|
||||
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="{{ !empty($progress['total']) ? (100 / $progress['total']) * $progress['paid'] : '0' }}" aria-valuemin="0" aria-valuemax="100" style="width: {{ !empty($progress['total']) ? (100 / $progress['total']) * $progress['paid'] : '0' }}%">
|
||||
{{ !empty($progress['total']) ? (100 / $progress['total']) * $progress['paid'] : '0' }}%
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="progress-info">
|
||||
<div class="progress-label-warning">
|
||||
<span>{{ trans('general.overdue') }}</span>
|
||||
</div>
|
||||
<div class="progress-percentage">
|
||||
<span>{{ $progress['total'] }} / {{ $progress['overdue'] }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="progress h-25">
|
||||
<div class="progress-bar bg-warning" role="progressbar" aria-valuenow="{{ !empty($progress['total']) ? (100 / $progress['total']) * $progress['overdue'] : '0' }}" aria-valuemin="0" aria-valuemax="100" style="width: {{ !empty($progress['total']) ? (100 / $progress['total']) * $progress['overdue'] : '0' }}%">
|
||||
{{ !empty($progress['total']) ? (100 / $progress['total']) * $progress['overdue'] : '0' }}%
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="progress-info">
|
||||
<div class="progress-label-info">
|
||||
<span>{{ trans('general.partially_paid') }}</span>
|
||||
</div>
|
||||
<div class="progress-percentage">
|
||||
<span>{{ $progress['total'] }} / {{ $progress['partially_paid'] }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="progress h-25">
|
||||
<div class="progress-bar bg-info" role="progressbar" aria-valuenow="{{ !empty($progress['total']) ? (100 / $progress['total']) * $progress['partially_paid'] : '0' }}" aria-valuemin="0" aria-valuemax="100" style="width: {{ !empty($progress['total']) ? (100 / $progress['total']) * $progress['partially_paid'] : '0' }}%">
|
||||
{{ !empty($progress['total']) ? (100 / $progress['total']) * $progress['partially_paid'] : '0' }}%
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body" id="chart">
|
||||
{!! $chart->container() !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('body_js')
|
||||
{!! $chart->script() !!}
|
||||
@endpush
|
61
resources/views/portal/invoices/index.blade.php
Normal file
61
resources/views/portal/invoices/index.blade.php
Normal file
@ -0,0 +1,61 @@
|
||||
@extends('layouts.portal')
|
||||
|
||||
@section('title', trans_choice('general.invoices', 2))
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
<div class="card-header border-bottom-0">
|
||||
{!! Form::open([
|
||||
'route' => 'portal.invoices.index',
|
||||
'role' => 'form',
|
||||
'method' => 'GET',
|
||||
'class' => 'mb-0'
|
||||
]) !!}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 card-header-search card-header-space">
|
||||
<span class="table-text hidden-lg card-header-search-text">{{ trans('general.search') }}:</span>
|
||||
<akaunting-search></akaunting-search>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-flush table-hover">
|
||||
<thead class="thead-light">
|
||||
<tr class="row table-head-line">
|
||||
<th class="col-xs-4 col-sm-4 col-md-3">@sortablelink('invoice_number', trans('invoices.invoice_number'))</th>
|
||||
<th class="col-xs-4 col-sm-2 col-md-2 text-right">@sortablelink('amount', trans('general.amount'))</th>
|
||||
<th class="col-sm-3 col-md-3 hidden-sm">@sortablelink('invoiced_at', trans('invoices.invoice_date'))</th>
|
||||
<th class="col-md-2 hidden-md">@sortablelink('due_at', trans('invoices.due_date'))</th>
|
||||
<th class="col-xs-4 col-sm-3 col-md-2 text-center">@sortablelink('status.name', trans_choice('general.statuses', 1))</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($invoices as $item)
|
||||
<tr class="row align-items-center border-top-1">
|
||||
<td class="col-xs-4 col-sm-4 col-md-3"><a class="text-success" href="{{ route('portal.invoices.show', $item->id) }}">{{ $item->invoice_number }}</a></td>
|
||||
<td class="col-xs-4 col-sm-2 col-md-2 text-right">@money($item->amount, $item->currency_code, true)</td>
|
||||
<td class="col-sm-3 col-md-3 hidden-sm">@date($item->invoiced_at)</td>
|
||||
<td class="col-md-2 hidden-md">@date($item->due_at)</td>
|
||||
<td class="col-xs-4 col-sm-3 col-md-2 text-center"><span class="badge badge-pill badge-{{ $item->status->label }}">{{ trans('invoices.status.' . $item->status->code) }}</span></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="card-footer table-action">
|
||||
<div class="row">
|
||||
@include('partials.admin.pagination', ['items' => $invoices, 'type' => 'invoices'])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts_start')
|
||||
<script src="{{ asset('public/js/portal/invoices.js?v=' . version('short')) }}"></script>
|
||||
@endpush
|
135
resources/views/portal/invoices/invoice.blade.php
Normal file
135
resources/views/portal/invoices/invoice.blade.php
Normal file
@ -0,0 +1,135 @@
|
||||
@extends('layouts.portal')
|
||||
|
||||
@section('title', trans_choice('general.invoices', 1) . ': ' . $invoice->invoice_number)
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
@if ($logo)
|
||||
<img src="{{ $logo }}" class="invoice-logo" />
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-5 invoice-company">
|
||||
<address>
|
||||
<strong>{{ setting('company.name') }}</strong><br>
|
||||
{{ setting('company.address') }}<br>
|
||||
@if (setting('company.tax_number'))
|
||||
{{ trans('general.tax_number') }}: {{ setting('company.tax_number') }}<br>
|
||||
@endif
|
||||
<br>
|
||||
@if (setting('company.phone'))
|
||||
{{ setting('company.phone') }}<br>
|
||||
@endif
|
||||
{{ setting('company.email') }}
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
{{ trans('invoices.bill_to') }}
|
||||
<address>
|
||||
<strong>{{ $invoice->contact_name }}</strong><br>
|
||||
{{ $invoice->contact_address }}<br>
|
||||
@if ($invoice->contact_tax_number)
|
||||
{{ trans('general.tax_number') }}: {{ $invoice->contact_tax_number }}<br>
|
||||
@endif
|
||||
<br>
|
||||
@if ($invoice->contact_phone)
|
||||
{{ $invoice->contact_phone }}<br>
|
||||
@endif
|
||||
{{ $invoice->contact_email }}
|
||||
</address>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="table-responsive">
|
||||
<table class="table no-border">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>{{ trans('invoices.invoice_number') }}:</th>
|
||||
<td class="text-right">{{ $invoice->invoice_number }}</td>
|
||||
</tr>
|
||||
@if ($invoice->order_number)
|
||||
<tr>
|
||||
<th>{{ trans('invoices.order_number') }}:</th>
|
||||
<td class="text-right">{{ $invoice->order_number }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<th>{{ trans('invoices.invoice_date') }}:</th>
|
||||
<td class="text-right">@date($invoice->invoiced_at)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ trans('invoices.payment_due') }}:</th>
|
||||
<td class="text-right">@date($invoice->due_At)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12 table-responsive">
|
||||
<table class="table table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>{{ trans_choice('general.items', 1) }}</th>
|
||||
<th class="text-center">{{ trans('invoices.quantity') }}</th>
|
||||
<th class="text-right">{{ trans('invoices.price') }}</th>
|
||||
<th class="text-right">{{ trans('invoices.total') }}</th>
|
||||
</tr>
|
||||
@foreach($invoice->items as $item)
|
||||
<tr>
|
||||
<td>
|
||||
{{ $item->name }}
|
||||
</td>
|
||||
<td class="text-center">{{ $item->quantity }}</td>
|
||||
<td class="text-right">@money($item->price, $invoice->currency_code, true)</td>
|
||||
<td class="text-right">@money($item->total, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
@if ($invoice->notes)
|
||||
<p class="lead">{{ trans_choice('general.notes', 2) }}</p>
|
||||
|
||||
<p class="text-muted well well-sm no-shadow" style="margin-top: 10px;">
|
||||
{{ $invoice->notes }}
|
||||
</p>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
@foreach($invoice->totals as $total)
|
||||
@if($total->code != 'total')
|
||||
<tr>
|
||||
<th>{{ trans($total['name']) }}:</th>
|
||||
<td class="text-right">@money($total->amount, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@else
|
||||
@if ($invoice->paid)
|
||||
<tr class="text-success">
|
||||
<th>{{ trans('invoices.paid') }}:</th>
|
||||
<td class="text-right">- @money($invoice->paid, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<th>{{ trans($total['name']) }}:</th>
|
||||
<td class="text-right">@money($total->amount - $invoice->paid, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
315
resources/views/portal/invoices/show.blade.php
Normal file
315
resources/views/portal/invoices/show.blade.php
Normal file
@ -0,0 +1,315 @@
|
||||
@extends('layouts.portal')
|
||||
|
||||
@section('title', trans_choice('general.invoices', 1) . ': ' . $invoice->invoice_number)
|
||||
|
||||
@section('content')
|
||||
@stack('invoice_start')
|
||||
<div class="card">
|
||||
@stack('invoice_status_start')
|
||||
<div class="card-header status-{{ $invoice->status->label }}">
|
||||
<h3 class="text-white mb-0 float-right">{{ trans('invoices.status.' . $invoice->status->code) }}</h3>
|
||||
</div>
|
||||
@stack('invoice_status_end')
|
||||
|
||||
<div class="card-body">
|
||||
@stack('invoice_header_start')
|
||||
<div class="row mx--4">
|
||||
<div class="col-md-7 border-bottom-1">
|
||||
<div class="table-responsive mt-2">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
@if (setting('invoice.logo'))
|
||||
<img src="{{ Storage::url(setting('invoice.logo')) }}" class="invoice-logo" />
|
||||
@elseif (setting('company.logo'))
|
||||
<img src="{{ Storage::url(setting('company.logo')) }}" class="invoice-logo" />
|
||||
@else
|
||||
<span class="avatar avatar-size rounded-circle bg-primary">
|
||||
<i class="fas fa-building"></i>
|
||||
</span>
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5 border-bottom-1">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
{{ setting('company.name') }}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{!! nl2br(setting('company.address')) !!}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
@if (setting('company.tax_number'))
|
||||
{{ trans('general.tax_number') }}: {{ setting('company.tax_number') }}<br>
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
@if (setting('company.phone'))
|
||||
{{ setting('company.phone') }}
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{{ setting('company.email') }}
|
||||
</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('invoice_header_end')
|
||||
|
||||
@stack('invoice_information_start')
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
{{ trans('invoices.bill_to') }}
|
||||
@stack('name_input_start')
|
||||
<strong class="d-block">{{ $invoice->contact_name }}</strong>
|
||||
@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 }}<br>
|
||||
@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>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
@stack('invoice_number_input_start')
|
||||
<tr>
|
||||
<th>{{ trans('invoices.invoice_number') }}:</th>
|
||||
<td class="text-right">{{ $invoice->invoice_number }}</td>
|
||||
</tr>
|
||||
@stack('invoice_number_input_end')
|
||||
|
||||
@stack('order_number_input_start')
|
||||
@if ($invoice->order_number)
|
||||
<tr>
|
||||
<th>{{ trans('invoices.order_number') }}:</th>
|
||||
<td class="text-right">{{ $invoice->order_number }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@stack('order_number_input_end')
|
||||
|
||||
@stack('invoiced_at_input_start')
|
||||
<tr>
|
||||
<th>{{ trans('invoices.invoice_date') }}:</th>
|
||||
<td class="text-right">@date($invoice->invoiced_at)</td>
|
||||
</tr>
|
||||
@stack('invoiced_at_input_end')
|
||||
|
||||
@stack('due_at_input_start')
|
||||
<tr>
|
||||
<th>{{ trans('invoices.payment_due') }}:</th>
|
||||
<td class="text-right">@date($invoice->invoiced_at)</td>
|
||||
</tr>
|
||||
@stack('due_at_input_end')
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('invoice_information_end')
|
||||
|
||||
@stack('invoice_item_start')
|
||||
<div class="row show-table">
|
||||
<div class="col-md-12">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped">
|
||||
<tbody>
|
||||
<tr class="row">
|
||||
@stack('name_th_start')
|
||||
<th class="col-xs-4 col-sm-3 pl-5">{{ trans_choice($text_override['items'], 2) }}</th>
|
||||
@stack('name_th_end')
|
||||
|
||||
@stack('quantity_th_start')
|
||||
<th class="col-xs-4 col-sm-3 text-center">{{ trans($text_override['quantity']) }}</th>
|
||||
@stack('quantity_th_end')
|
||||
|
||||
@stack('price_th_start')
|
||||
<th class="col-sm-3 text-center hidden-sm pl-5">{{ trans($text_override['price']) }}</th>
|
||||
@stack('price_th_end')
|
||||
|
||||
@stack('total_th_start')
|
||||
<th class="col-xs-4 col-sm-3 text-right pr-5">{{ trans('invoices.total') }}</th>
|
||||
@stack('total_th_end')
|
||||
</tr>
|
||||
@foreach($invoice->items as $item)
|
||||
<tr class="row">
|
||||
@stack('name_td_start')
|
||||
<td class="col-xs-4 col-sm-3 pl-5">{{ $item->name }}</td>
|
||||
@stack('name_td_end')
|
||||
|
||||
@stack('quantity_td_start')
|
||||
<td class="col-xs-4 col-sm-3 text-center">{{ $item->quantity }}</td>
|
||||
@stack('quantity_td_end')
|
||||
|
||||
@stack('price_td_start')
|
||||
<td class="col-sm-3 text-center hidden-sm pl-5">@money($item->price, $invoice->currency_code, true)</td>
|
||||
@stack('price_td_end')
|
||||
|
||||
@stack('total_td_start')
|
||||
<td class="col-xs-4 col-sm-3 text-right pr-5">@money($item->total, $invoice->currency_code, true)</td>
|
||||
@stack('total_td_end')
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('invoice_item_end')
|
||||
|
||||
@stack('invoice_total_start')
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
@stack('notes_input_start')
|
||||
<tr>
|
||||
<th>
|
||||
@if ($invoice->notes)
|
||||
<p class="form-control-label">{{ trans_choice('general.notes', 2) }}</p>
|
||||
<p class="form-control text-muted show-note">{{ $invoice->notes }}</p>
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
@stack('notes_input_end')
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-5">
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
@foreach ($invoice->totals 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')
|
||||
@else
|
||||
@if ($invoice->paid)
|
||||
<tr class="text-success">
|
||||
<th>{{ trans('invoices.paid') }}:</th>
|
||||
<td class="text-right">- @money($invoice->paid, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@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')
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('invoice_total_end')
|
||||
</div>
|
||||
|
||||
@stack('card_footer_start')
|
||||
<div class="card-footer">
|
||||
<div class="float-right">
|
||||
@stack('button_print_start')
|
||||
<a href="{{ route('portal.invoices.print', $invoice->id) }}" target="_blank" class="btn btn-success header-button-top">
|
||||
<i class="fa fa-print"></i> {{ trans('general.print') }}
|
||||
</a>
|
||||
@stack('button_print_end')
|
||||
|
||||
@stack('button_pdf_start')
|
||||
<a href="{{ route('portal.invoices.pdf', $invoice->id) }}" class="btn btn-white header-button-top" data-toggle="tooltip" title="{{ trans('invoices.download_pdf') }}">
|
||||
<i class="fa fa-file-pdf"></i> {{ trans('general.download') }}
|
||||
</a>
|
||||
@stack('button_pdf_end')
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
@if($invoice->invoice_status_code != 'paid')
|
||||
@if ($payment_methods)
|
||||
{!! Form::open([
|
||||
'id' => 'invoice-payment',
|
||||
'role' => 'form',
|
||||
'autocomplete' => "off",
|
||||
'novalidate' => 'true'
|
||||
]) !!}
|
||||
{{ Form::selectGroup('payment_method', '', 'money el-icon-money', $payment_methods, '', ['change' => 'onChangePaymentMethod', 'id' => 'payment-method', 'class' => 'form-control', 'placeholder' => trans('general.form.select.field', ['field' => trans_choice('general.payment_methods', 1)])], 'col-md-12') }}
|
||||
{!! Form::hidden('invoice_id', $invoice->id, ['v-model' => 'form.invoice_id']) !!}
|
||||
{!! Form::close() !!}
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div id="confirm" class="col-md-12">
|
||||
<component v-bind:is="method_show_html" @interface="onRedirectConfirm"></component>
|
||||
</div>
|
||||
</div>
|
||||
@stack('card_footer_end')
|
||||
</div>
|
||||
@stack('invoice_end')
|
||||
@endsection
|
||||
|
||||
@push('scripts_start')
|
||||
<script src="{{ asset('public/js/portal/invoices.js?v=' . version('short')) }}"></script>
|
||||
@endpush
|
245
resources/views/portal/invoices/signed.blade.php
Normal file
245
resources/views/portal/invoices/signed.blade.php
Normal file
@ -0,0 +1,245 @@
|
||||
@extends('layouts.signed')
|
||||
|
||||
@section('title', trans_choice('general.invoices', 1) . ': ' . $invoice->invoice_number)
|
||||
|
||||
@section('new_button')
|
||||
<span class="new-button"><a href="{{ route('portal.dashboard') }}" class="btn btn-success btn-sm"><span class="fa fa-user"></span> {{ trans('invoices.all_invoices') }}</a></span>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
<div class="card-header status-{{ $invoice->status->label }}">
|
||||
<h3 class="text-white mb-0 float-right pr-4">{{ trans('invoices.status.' . $invoice->status->code) }}</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="row mx--4">
|
||||
<div class="col-md-7 border-bottom-1">
|
||||
<div class="table-responsive mt-2">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
@if (setting('invoice.logo'))
|
||||
<img src="{{ Storage::url(setting('invoice.logo')) }}" class="invoice-logo" />
|
||||
@elseif (setting('company.logo'))
|
||||
<img src="{{ Storage::url(setting('company.logo')) }}" class="invoice-logo" />
|
||||
@else
|
||||
<span class="avatar avatar-size rounded-circle bg-primary">
|
||||
<i class="fas fa-building"></i>
|
||||
</span>
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5 border-bottom-1">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
{{ setting('company.name') }}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{{ setting('company.address') }}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
@if (setting('company.tax_number'))
|
||||
{{ trans('general.tax_number') }}: {{ setting('company.tax_number') }}<br>
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
@if (setting('company.phone'))
|
||||
{{ setting('company.phone') }}<br>
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{{ setting('company.email') }}
|
||||
</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
{{ trans('invoices.bill_to') }}
|
||||
<strong class="d-block">{{ $invoice->contact_name }}</strong>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{{ $invoice->contact_address }}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
@if ($invoice->contact_tax_number)
|
||||
{{ trans('general.tax_number') }}: {{ $invoice->contact_tax_number }}
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
@if ($invoice->contact_phone)
|
||||
{{ $invoice->contact_phone }}<br>
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
{{ $invoice->contact_email }}
|
||||
</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>{{ trans('invoices.invoice_number') }}:</th>
|
||||
<td class="text-right">{{ $invoice->invoice_number }}</td>
|
||||
</tr>
|
||||
@if ($invoice->order_number)
|
||||
<tr>
|
||||
<th>{{ trans('invoices.order_number') }}:</th>
|
||||
<td class="text-right">{{ $invoice->order_number }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<th>{{ trans('invoices.invoice_date') }}:</th>
|
||||
<td class="text-right">@date($invoice->invoiced_at)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ trans('invoices.payment_due') }}:</th>
|
||||
<td class="text-right">@date($invoice->due_at)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12 table-responsive">
|
||||
<table class="table table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="pl-5">{{ trans_choice('general.items', 1) }}</th>
|
||||
<th class="text-center">{{ trans('invoices.quantity') }}</th>
|
||||
<th class="text-center pl-7">{{ trans('invoices.price') }}</th>
|
||||
<th class="text-right pr-5">{{ trans('invoices.total') }}</th>
|
||||
</tr>
|
||||
@foreach($invoice->items as $item)
|
||||
<tr>
|
||||
<td class="pl-5">{{ $item->name }}</td>
|
||||
<td class="text-center">{{ $item->quantity }}</td>
|
||||
<td class="text-center pl-7">@money($item->price, $invoice->currency_code, true)</td>
|
||||
<td class="text-right pr-5">@money($item->total, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
@if ($invoice->notes)
|
||||
<p class="form-control-label pl-4">{{ trans_choice('general.notes', 2) }}</p>
|
||||
<p class="form-control text-muted show-note ml-4">{{ $invoice->notes }}</p>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
@foreach($invoice->totals as $total)
|
||||
@if($total->code != 'total')
|
||||
<tr>
|
||||
<th>{{ trans($total['name']) }}:</th>
|
||||
<td class="text-right">@money($total->amount, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@else
|
||||
@if ($invoice->paid)
|
||||
<tr class="text-success">
|
||||
<th>{{ trans('invoices.paid') }}:</th>
|
||||
<td class="text-right">- @money($invoice->paid, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<th>{{ trans($total['name']) }}:</th>
|
||||
<td class="text-right">@money($total->amount - $invoice->paid, $invoice->currency_code, true)</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-footer">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
@if($invoice->invoice_status_code != 'paid')
|
||||
@if ($payment_methods)
|
||||
{!! Form::open([
|
||||
'id' => 'invoice-payment',
|
||||
'role' => 'form',
|
||||
'autocomplete' => "off",
|
||||
'novalidate' => 'true'
|
||||
]) !!}
|
||||
{{ Form::selectGroup('payment_method', '', 'fas fa-wallet', $payment_methods, '', ['change' => 'onChangePaymentMethodSigned', 'id' => 'payment-method', 'class' => 'form-control', 'placeholder' => trans('general.form.select.field', ['field' => trans_choice('general.payment_methods', 1)])], 'mb-0') }}
|
||||
{!! Form::hidden('invoice_id', $invoice->id, ['v-model' => 'form.invoice_id']) !!}
|
||||
{!! Form::close() !!}
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-8 text-right">
|
||||
<a href="{{ $print_action }}" target="_blank" class="btn btn-success">
|
||||
<i class="fa fa-print"></i> {{ trans('general.print') }}
|
||||
</a>
|
||||
<a href="{{ $pdf_action }}" class="btn btn-white" data-toggle="tooltip" title="{{ trans('invoices.download_pdf') }}">
|
||||
<i class="fa fa-file-pdf"></i> {{ trans('general.download') }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12" id="confirm" >
|
||||
<component v-bind:is="method_show_html" @interface="onRedirectConfirm"></component>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('footer_start')
|
||||
<script src="{{ asset('public/js/portal/invoices.js?v=' . version('short')) }}"></script>
|
||||
<script>
|
||||
var payment_action_path = {!! json_encode($payment_actions) !!};
|
||||
</script>
|
||||
@endpush
|
59
resources/views/portal/payments/index.blade.php
Normal file
59
resources/views/portal/payments/index.blade.php
Normal file
@ -0,0 +1,59 @@
|
||||
@extends('layouts.portal')
|
||||
|
||||
@section('title', trans_choice('general.payments', 1))
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
<div class="card-header border-bottom-0">
|
||||
{!! Form::open([
|
||||
'route' => 'portal.payments.index',
|
||||
'role' => 'form',
|
||||
'method' => 'GET',
|
||||
'class' => 'mb-0'
|
||||
]) !!}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 card-header-search card-header-space">
|
||||
<span class="table-text hidden-lg card-header-search-text">{{ trans('general.search') }}:</span>
|
||||
<akaunting-search></akaunting-search>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-flush table-hover">
|
||||
<thead class="thead-light">
|
||||
<tr class="row table-head-line">
|
||||
<th class="col-xs-3 col-sm-3">@sortablelink('paid_at', trans('general.date'))</th>
|
||||
<th class="col-xs-3 col-sm-3">@sortablelink('amount', trans('general.amount'))</th>
|
||||
<th class="col-sm-3 hidden-sm">@sortablelink('category.name', trans_choice('general.categories', 1))</th>
|
||||
<th class="col-xs-6 col-sm-3">@sortablelink('payment_method', trans_choice('general.payment_methods', 1))</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($payments as $item)
|
||||
<tr class="row align-items-center border-top-1">
|
||||
<td class="col-xs-3 col-sm-3"><a class="text-success" href="{{ route('portal.payments.show', $item->id) }}">@date($item->paid_at)</a></td>
|
||||
<td class="col-xs-3 col-sm-3">@money($item->amount, $item->currency_code, true)</td>
|
||||
<td class="col-sm-3 hidden-sm">{{ $item->category ? $item->category->name : trans('general.na') }}</td>
|
||||
<td class="col-xs-6 col-sm-3">{{ $payment_methods[$item->payment_method] }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="card-footer table-action">
|
||||
<div class="row">
|
||||
@include('partials.admin.pagination', ['items' => $payments, 'type' => 'payments'])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts_start')
|
||||
<script src="{{ asset('public/js/customers/payments.js?v=' . version('short')) }}"></script>
|
||||
@endpush
|
139
resources/views/portal/payments/show.blade.php
Normal file
139
resources/views/portal/payments/show.blade.php
Normal file
@ -0,0 +1,139 @@
|
||||
@extends('layouts.portal')
|
||||
|
||||
@section('title', trans_choice('general.invoices', 1))
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="m-0 float-right">{{ $payment->category->name }}</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="row mb-4">
|
||||
<div class="col-md-7">
|
||||
<h2>{{ $payment->contact->name }}</h2>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<h2 class="float-right">{{ trans('general.date') }}: @date($payment->paid_at)</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<a class="text-sm font-weight-600">{{ trans('general.from') }}:</a> <a class="text-xs o-y"> {{ setting('company.name') }}</a>
|
||||
</div>
|
||||
|
||||
<div class="card-body d-grid">
|
||||
<a class="text-sm font-weight-600">{{ trans('general.address') }}:</a>
|
||||
<a class="text-xs o-y"> {{ setting('company.address') }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
|
||||
<a class="text-sm font-weight-600">{{ trans('general.phone') }}:</a>
|
||||
<a class="text-xs o-y"> {{ setting('company.phone') }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
|
||||
<a class="text-sm font-weight-600">{{ trans('general.email') }}:</a>
|
||||
<a class="text-xs o-y"> {{ setting('company.email') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<a class="text-sm font-weight-600">{{ trans('general.to') }}:</a> <a class="text-xs o-y"> {{ $payment->contact->name }}</a>
|
||||
</div>
|
||||
|
||||
<div class="card-body d-grid">
|
||||
<a class="text-sm font-weight-600">{{ trans('general.address') }}:</a>
|
||||
<a class="text-xs o-y"> {{ $payment->contact->address }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
|
||||
<a class="text-sm font-weight-600">{{ trans('general.phone') }}:</a>
|
||||
<a class="text-xs o-y"> {{ $payment->contact->phone }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
|
||||
<a class="text-sm font-weight-600">{{ trans('general.email') }}:</a>
|
||||
<a class="text-xs o-y"> {{ $payment->contact->email }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<a class="text-sm font-weight-600">{{ trans('invoices.payment_due') }}:</a> <a class="text-xs o-y"> @date($payment->paid_at)</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($payment->description)
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<p class="lead">{{ trans('general.description') }}:</p>
|
||||
|
||||
<p class="text-muted">{{ $payment->description }}</p>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table align-items-center table-flush">
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th>{{ trans_choice('general.categories', 1) }}</th>
|
||||
<th>{{ trans_choice('general.payment_methods', 1) }}</th>
|
||||
<th>{{ trans('general.reference') }}</th>
|
||||
<th>{{ trans('general.amount') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{ $payment->category->name }}</td>
|
||||
<td>{{ $payment_methods[$payment->payment_method] }}</td>
|
||||
<td>{{ $payment->reference }}</td>
|
||||
<td>@money($payment->amount, $payment->currency_code, true)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@if ($payment->attachment)
|
||||
<div class="card-footer">
|
||||
<ul class="mailbox-attachments">
|
||||
@if (1)
|
||||
<li>
|
||||
<span class="mailbox-attachment-icon"><i class="fa fa-file-pdf-o"></i></span>
|
||||
|
||||
<div class="mailbox-attachment-info">
|
||||
<a href="#" class="mailbox-attachment-name"><i class="fa fa-paperclip"></i> {{ basename($payment->attachment) }}</a>
|
||||
<span class="mailbox-attachment-size">
|
||||
<a href="#" class="btn btn-default btn-xs pull-right"><i class="fa fa-cloud-download"></i></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
@else
|
||||
<li>
|
||||
<span class="mailbox-attachment-icon has-img"><img src="{{ asset($payment->attachment) }}" alt="Attachment"></span>
|
||||
|
||||
<div class="mailbox-attachment-info">
|
||||
<a href="#" class="mailbox-attachment-name"><i class="fa fa-camera"></i> {{ basename($payment->attachment) }}</a>
|
||||
<span class="mailbox-attachment-size">
|
||||
<a href="#" class="btn btn-default btn-xs pull-right"><i class="fa fa-cloud-download"></i></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts_start')
|
||||
<script src="{{ asset('public/js/customers/payments.js?v=' . version('short')) }}"></script>
|
||||
@endpush
|
95
resources/views/portal/profile/edit.blade.php
Normal file
95
resources/views/portal/profile/edit.blade.php
Normal file
@ -0,0 +1,95 @@
|
||||
@extends('layouts.portal')
|
||||
|
||||
@section('title', trans('general.title.edit', ['type' => trans('auth.profile')]))
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
{!! Form::model($user, [
|
||||
'method' => 'PATCH',
|
||||
'files' => true,
|
||||
'url' => 'portal/profile/update',
|
||||
'role' => 'form',
|
||||
'class' => 'form-loading-button'
|
||||
]) !!}
|
||||
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
{{ Form::textGroup('name', trans('general.name'), 'user') }}
|
||||
|
||||
{{ Form::emailGroup('email', trans('general.email'), 'envelope') }}
|
||||
|
||||
{{ Form::textGroup('tax_number', trans('general.tax_number'), 'percent', []) }}
|
||||
|
||||
{{ Form::textGroup('phone', trans('general.phone'), 'phone', []) }}
|
||||
|
||||
{{ Form::textareaGroup('address', trans('general.address')) }}
|
||||
|
||||
{{ Form::passwordGroup('password', trans('auth.password.current'), 'key', []) }}
|
||||
|
||||
{{ Form::passwordGroup('password_confirmation', trans('auth.password.current_confirm'), 'key', []) }}
|
||||
|
||||
{{ Form::selectGroup('locale', trans_choice('general.languages', 1), 'flag', language()->allowed(), $user->locale) }}
|
||||
|
||||
{{ Form::fileGroup('picture', trans_choice('general.pictures', 1)) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@permission(['update-portal-profile'])
|
||||
<div class="card-footer">
|
||||
<div class="row float-right">
|
||||
{{ Form::saveButtons('portal') }}
|
||||
</div>
|
||||
</div>
|
||||
@endpermission
|
||||
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('js')
|
||||
<script src="{{ asset('public/js/bootstrap-fancyfile.js') }}"></script>
|
||||
@endpush
|
||||
|
||||
@push('css')
|
||||
<link rel="stylesheet" href="{{ asset('public/css/bootstrap-fancyfile.css') }}">
|
||||
@endpush
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$("#locale").select2({
|
||||
placeholder: "{{ trans('general.form.select.field', ['field' => trans_choice('general.languages', 1)]) }}"
|
||||
});
|
||||
|
||||
$('#picture').fancyfile({
|
||||
text : '{{ trans('general.form.select.file') }}',
|
||||
style : 'btn-default',
|
||||
@if($user->picture)
|
||||
placeholder : '{{ $user->picture->basename }}'
|
||||
@else
|
||||
placeholder : '{{ trans('general.form.no_file_selected') }}'
|
||||
@endif
|
||||
});
|
||||
|
||||
@if($user->picture)
|
||||
$.ajax({
|
||||
url: '{{ url('uploads/' . $user->picture->id . '/show') }}',
|
||||
type: 'GET',
|
||||
data: {column_name: 'picture'},
|
||||
dataType: 'JSON',
|
||||
success: function(json) {
|
||||
if (json['success']) {
|
||||
$('.fancy-file').after(json['html']);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@permission('delete-common-uploads')
|
||||
$(document).on('click', '#remove-picture', function (e) {
|
||||
confirmDelete("#picture-{!! $user->picture->id !!}", "{!! trans('general.attachment') !!}", "{!! trans('general.delete_confirm', ['name' => '<strong>' . $user->picture->basename . '</strong>', 'type' => strtolower(trans('general.attachment'))]) !!}", "{!! trans('general.cancel') !!}", "{!! trans('general.delete') !!}");
|
||||
});
|
||||
@endpermission
|
||||
@endif
|
||||
});
|
||||
</script>
|
||||
@endpush
|
59
resources/views/portal/transactions/index.blade.php
Normal file
59
resources/views/portal/transactions/index.blade.php
Normal file
@ -0,0 +1,59 @@
|
||||
@extends('layouts.portal')
|
||||
|
||||
@section('title', trans_choice('general.transactions', 2))
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
<div class="card-header border-bottom-0">
|
||||
{!! Form::open([
|
||||
'route' => 'portal.transactions.index',
|
||||
'role' => 'form',
|
||||
'method' => 'GET',
|
||||
'class' => 'mb-0'
|
||||
]) !!}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 card-header-search card-header-space">
|
||||
<span class="table-text hidden-lg card-header-search-text">{{ trans('general.search') }}:</span>
|
||||
<akaunting-search></akaunting-search>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-flush">
|
||||
<thead class="thead-light">
|
||||
<tr class="row table-head-line">
|
||||
<th class="col-md-2 hidden-md">@sortablelink('paid_at', trans('general.date'))</th>
|
||||
<th class="col-xs-5 col-sm-3 col-md-2">@sortablelink('account.name', trans('accounts.account_name'))</th>
|
||||
<th class="col-xs-3 col-sm-3 col-md-2">@sortablelink('type', trans_choice('general.types', 1))</th>
|
||||
<th class="col-sm-3 col-md-2 hidden-sm">@sortablelink('category.name', trans_choice('general.categories', 1))</th>
|
||||
<th class="col-md-2 hidden-md">@sortablelink('description', trans('general.description'))</th>
|
||||
<th class="col-xs-4 col-sm-3 col-md-2">@sortablelink('amount', trans('general.amount'))</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($transactions as $item)
|
||||
<tr class="row align-items-center border-top-1">
|
||||
<td class="col-md-2 hidden-md">@date($item->date)</td>
|
||||
<td class="col-xs-5 col-sm-3 col-md-2">{{ $item->account->name }}</td>
|
||||
<td class="col-xs-3 col-sm-3 col-md-2">{{ trans_choice('general.payments', 1) }}</td>
|
||||
<td class="col-sm-3 col-md-2 hidden-sm">{{ $item->category->name }}</td>
|
||||
<td class="col-md-2 hidden-md">{{ $item->description }}</td>
|
||||
<td class="col-xs-4 col-sm-3 col-md-2">@money($item->amount, $item->currency_code, true)</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="card-footer table-action"></div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts_start')
|
||||
<script src="{{ asset('public/js/customers/transactions.js?v=' . version('short')) }}"></script>
|
||||
@endpush
|
Reference in New Issue
Block a user