Customer show page styling..

This commit is contained in:
Cüneyt Şentürk 2021-06-29 20:05:11 +03:00
parent 43e3a0a08a
commit 6b6bfcbc99
6 changed files with 137 additions and 50 deletions

View File

@ -327,4 +327,11 @@ class Customers extends Controller
return redirect()->route('invoices.create')->withInput($data); return redirect()->route('invoices.create')->withInput($data);
} }
public function createRevenue(Contact $customer)
{
$data['contact'] = $customer;
return redirect()->route('revenues.create')->withInput($data);
}
} }

View File

@ -5,5 +5,6 @@ return [
'revenue_received' => 'Revenue Received', 'revenue_received' => 'Revenue Received',
'paid_by' => 'Paid By', 'paid_by' => 'Paid By',
'related_invoice' => 'Releated Invoice', 'related_invoice' => 'Releated Invoice',
'create_revenue' => 'Create Revenue',
]; ];

View File

@ -47,9 +47,11 @@
<td class="col-sm-2 col-md-1 col-lg-1 col-xl-1 d-none d-sm-block"> <td class="col-sm-2 col-md-1 col-lg-1 col-xl-1 d-none d-sm-block">
{{ Form::bulkActionGroup($item->id, $item->name) }} {{ Form::bulkActionGroup($item->id, $item->name) }}
</td> </td>
<td class="col-xs-4 col-sm-3 col-md-4 col-lg-3 col-xl-3"> <td class="col-xs-4 col-sm-3 col-md-4 col-lg-3 col-xl-3">
<a class="col-aka long-texts d-block" href="{{ route('customers.show', $item->id) }}">{{ $item->name }}</a> <a class="col-aka long-texts d-block" href="{{ route('customers.show', $item->id) }}">{{ $item->name }}</a>
</td> </td>
<td class="col-md-3 col-lg-3 col-xl-3 d-none d-md-block long-texts"> <td class="col-md-3 col-lg-3 col-xl-3 d-none d-md-block long-texts">
<el-tooltip content="{{ !empty($item->phone) ? $item->phone : trans('general.na') }}" <el-tooltip content="{{ !empty($item->phone) ? $item->phone : trans('general.na') }}"
effect="dark" effect="dark"
@ -57,9 +59,11 @@
<span>{{ !empty($item->email) ? $item->email : trans('general.na') }}</span> <span>{{ !empty($item->email) ? $item->email : trans('general.na') }}</span>
</el-tooltip> </el-tooltip>
</td> </td>
<td class="col-lg-2 col-xl-2 d-none d-lg-block text-right long-texts"> <td class="col-lg-2 col-xl-2 d-none d-lg-block text-right long-texts">
@money($item->unpaid, setting('default.currency'), true) @money($item->unpaid, setting('default.currency'), true)
</td> </td>
<td class="col-xs-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 text-center"> <td class="col-xs-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 text-center">
@if (user()->can('update-sales-customers')) @if (user()->can('update-sales-customers'))
{{ Form::enabledGroup($item->id, $item->name, $item->enabled) }} {{ Form::enabledGroup($item->id, $item->name, $item->enabled) }}
@ -71,21 +75,34 @@
@endif @endif
@endif @endif
</td> </td>
<td class="col-xs-4 col-sm-2 col-md-2 col-lg-1 col-xl-1 text-center"> <td class="col-xs-4 col-sm-2 col-md-2 col-lg-1 col-xl-1 text-center">
<div class="dropdown"> <div class="dropdown">
<a class="btn btn-neutral btn-sm text-light items-align-center py-2" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="btn btn-neutral btn-sm text-light items-align-center py-2" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-ellipsis-h text-muted"></i> <i class="fa fa-ellipsis-h text-muted"></i>
</a> </a>
<div class="dropdown-menu dropdown-menu-right dropdown-menu-arrow"> <div class="dropdown-menu dropdown-menu-right dropdown-menu-arrow">
<a class="dropdown-item" href="{{ route('customers.show', $item->id) }}">{{ trans('general.show') }}</a> <a class="dropdown-item" href="{{ route('customers.show', $item->id) }}">
<a class="dropdown-item" href="{{ route('customers.edit', $item->id) }}">{{ trans('general.edit') }}</a> {{ trans('general.show') }}
</a>
@can('create-sales-customers')
<a class="dropdown-item" href="{{ route('customers.edit', $item->id) }}">
{{ trans('general.edit') }}
</a>
@endcan
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
@can('create-sales-customers') @can('create-sales-customers')
<a class="dropdown-item" href="{{ route('customers.duplicate', $item->id) }}">{{ trans('general.duplicate') }}</a> <a class="dropdown-item" href="{{ route('customers.duplicate', $item->id) }}">
{{ trans('general.duplicate') }}
</a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
@endcan @endcan
@can('delete-sales-customers') @can('delete-sales-customers')
{!! Form::deleteLink($item, 'customers.destroy') !!} {!! Form::deleteLink($item, 'customers.destroy') !!}
@endcan @endcan

View File

@ -2,6 +2,62 @@
@section('title', $customer->name) @section('title', $customer->name)
@section('new_button')
<div class="dropup header-drop-top">
<button type="button" class="btn btn-white btn-sm" data-toggle="dropdown" aria-expanded="false">
<i class="fa fa-chevron-down"></i>&nbsp; {{ trans('general.more_actions') }}
</button>
<div class="dropdown-menu" role="menu">
@stack('button_dropdown_start')
@stack('duplicate_button_start')
@can('create-sales-customers')
<a class="dropdown-item" href="{{ route('customers.duplicate', $customer->id) }}">
{{ trans('general.duplicate') }}
</a>
@endcan
@stack('duplicate_button_end')
<div class="dropdown-divider"></div>
@stack('invoice_button_start')
@can('create-sales-invoices')
<a class="dropdown-item" href="{{ route('customers.create-invoice', $customer->id) }}">
{{ trans('invoices.create_invoice') }}
</a>
@endcan
@stack('invoice_button_end')
@stack('revenue_button_start')
@can('create-sales-revenues')
<a class="dropdown-item" href="{{ route('customers.create-revenue', $customer->id) }}">
{{ trans('revenues.create_revenue') }}
</a>
@endcan
@stack('revenue_button_end')
<div class="dropdown-divider"></div>
@stack('delete_button_start')
@can('delete-sales-customers')
{!! Form::deleteLink($customer, 'customers.destroy') !!}
@endcan
@stack('delete_button_end')
@stack('button_dropdown_end')
</div>
</div>
@stack('edit_button_start')
@can('update-sales-customers')
<a href="{{ route('customers.edit', $customer->id) }}" class="btn btn-white btn-sm">
{{ trans('general.edit') }}
</a>
@endcan
@stack('edit_button_end')
@endsection
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col-xl-3"> <div class="col-xl-3">
@ -68,12 +124,7 @@
</ul> </ul>
@stack('customer_edit_button_start') @stack('customer_edit_button_start')
<a href="{{ route('customers.edit', $customer->id) }}" class="btn btn-info btn-block"><b>{{ trans('general.edit') }}</b></a>
@stack('customer_edit_button_end') @stack('customer_edit_button_end')
@stack('customer_create_invoice_button_start')
<a href="{{ route('customers.create-invoice', $customer->id) }}" class="btn btn-white btn-block"><b>{{ trans('invoices.create_invoice') }}</b></a>
@stack('customer_create_invoice_button_end')
</div> </div>
<div class="col-xl-9"> <div class="col-xl-9">
@ -131,55 +182,28 @@
<div class="col-md-12"> <div class="col-md-12">
<div class="nav-wrapper"> <div class="nav-wrapper">
<ul class="nav nav-pills nav-fill flex-column flex-md-row" id="tabs-icons-text" role="tablist"> <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="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') @stack('customer_invoices_tab_start')
<li class="nav-item"> <li class="nav-item">
<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> <a class="nav-link mb-sm-3 mb-md-0 active" id="invoices-tab" data-toggle="tab" href="#invoices-content" role="tab" aria-controls="invoices-content" aria-selected="true">
{{ trans_choice('general.invoices', 2) }}
</a>
</li> </li>
@stack('customer_invoices_tab_end') @stack('customer_invoices_tab_end')
@stack('customer_transactions_tab_start')
<li class="nav-item">
<a class="nav-link mb-sm-3 mb-md-0" id="transactions-tab" data-toggle="tab" href="#transactions-content" role="tab" aria-controls="transactions-content" aria-selected="false">
{{ trans_choice('general.transactions', 2) }}
</a>
</li>
@stack('customer_transactions_tab_end')
</ul> </ul>
</div> </div>
<div class="card">
<div class="tab-content" id="myTabContent">
@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-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-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>
</table>
</div>
<div class="card-footer py-4 table-action">
<div class="row">
@include('partials.admin.pagination', ['items' => $transactions, 'type' => 'transactions'])
</div>
</div>
</div>
@stack('customer_transactions_content_end')
<div class="card">
<div class="tab-content" id="cutomer-tab-content">
@stack('customer_invoices_content_start') @stack('customer_invoices_content_start')
<div class="tab-pane fade" id="invoices-content" role="tabpanel" aria-labelledby="invoices-tab"> <div class="tab-pane fade show active" id="invoices-content" role="tabpanel" aria-labelledby="invoices-tab">
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-flush table-hover" id="tbl-invoices"> <table class="table table-flush table-hover" id="tbl-invoices">
<thead class="thead-light"> <thead class="thead-light">
@ -191,6 +215,7 @@
<th class="col-xs-4 col-sm-2">{{ trans_choice('general.statuses', 1) }}</th> <th class="col-xs-4 col-sm-2">{{ trans_choice('general.statuses', 1) }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@foreach($invoices as $item) @foreach($invoices as $item)
<tr class="row align-items-center border-top-1 tr-py"> <tr class="row align-items-center border-top-1 tr-py">
@ -204,6 +229,7 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="card-footer py-4 table-action"> <div class="card-footer py-4 table-action">
<div class="row"> <div class="row">
@include('partials.admin.pagination', ['items' => $invoices, 'type' => 'invoices']) @include('partials.admin.pagination', ['items' => $invoices, 'type' => 'invoices'])
@ -211,6 +237,40 @@
</div> </div>
</div> </div>
@stack('customer_invoices_content_end') @stack('customer_invoices_content_end')
@stack('customer_transactions_content_start')
<div class="tab-pane fade" 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-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-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>
</table>
</div>
<div class="card-footer py-4 table-action">
<div class="row">
@include('partials.admin.pagination', ['items' => $transactions, 'type' => 'transactions'])
</div>
</div>
</div>
@stack('customer_transactions_content_end')
</div> </div>
</div> </div>
</div> </div>

View File

@ -26,7 +26,7 @@
{{ Form::selectAddNewGroup('account_id', trans_choice('general.accounts', 1), 'university', $accounts, setting('default.account'), ['required' => 'required', 'path' => route('modals.accounts.create'), 'change' => 'onChangeAccount']) }} {{ Form::selectAddNewGroup('account_id', trans_choice('general.accounts', 1), 'university', $accounts, setting('default.account'), ['required' => 'required', 'path' => route('modals.accounts.create'), 'change' => 'onChangeAccount']) }}
{{ Form::selectRemoteAddNewGroup('contact_id', trans_choice('general.customers', 1), 'user', $customers, null, ['path' => route('modals.customers.create'), 'remote_action' => route('customers.index')]) }} {{ Form::selectRemoteAddNewGroup('contact_id', trans_choice('general.customers', 1), 'user', $customers, old('contact.id', old('contact_id', null)), ['path' => route('modals.customers.create'), 'remote_action' => route('customers.index')]) }}
{{ Form::textareaGroup('description', trans('general.description')) }} {{ Form::textareaGroup('description', trans('general.description')) }}

View File

@ -97,6 +97,7 @@ Route::group(['prefix' => 'sales'], function () {
Route::get('customers/{customer}/disable', 'Sales\Customers@disable')->name('customers.disable'); Route::get('customers/{customer}/disable', 'Sales\Customers@disable')->name('customers.disable');
Route::get('customers/{customer}/currency', 'Sales\Customers@currency')->name('customers.currency'); Route::get('customers/{customer}/currency', 'Sales\Customers@currency')->name('customers.currency');
Route::get('customers/{customer}/create-invoice', 'Sales\Customers@createInvoice')->name('customers.create-invoice'); Route::get('customers/{customer}/create-invoice', 'Sales\Customers@createInvoice')->name('customers.create-invoice');
Route::get('customers/{customer}/create-revenue', 'Sales\Customers@createRevenue')->name('customers.create-revenue');
Route::resource('customers', 'Sales\Customers'); Route::resource('customers', 'Sales\Customers');
}); });
@ -128,6 +129,7 @@ Route::group(['prefix' => 'purchases'], function () {
Route::get('vendors/{vendor}/currency', 'Purchases\Vendors@currency')->name('vendors.currency'); Route::get('vendors/{vendor}/currency', 'Purchases\Vendors@currency')->name('vendors.currency');
Route::get('vendors/{vendor}/disable', 'Purchases\Vendors@disable')->name('vendors.disable'); Route::get('vendors/{vendor}/disable', 'Purchases\Vendors@disable')->name('vendors.disable');
Route::get('vendors/{vendor}/create-bill', 'Purchases\Vendors@createBill')->name('vendors.create-bill'); Route::get('vendors/{vendor}/create-bill', 'Purchases\Vendors@createBill')->name('vendors.create-bill');
Route::get('vendors/{vendor}/create-payment', 'Purchases\Vendors@createPayment')->name('vendors.create-payment');
Route::resource('vendors', 'Purchases\Vendors', ['middleware' => ['dropzone']]); Route::resource('vendors', 'Purchases\Vendors', ['middleware' => ['dropzone']]);
}); });