Working on datatables on vendor page

This commit is contained in:
Hillel Coren 2016-11-25 16:02:39 +02:00
parent a518e9fba4
commit 12fd825de5
6 changed files with 18 additions and 22 deletions

View File

@ -33,12 +33,12 @@ class BaseController extends Controller
$referer = Request::server('HTTP_REFERER'); $referer = Request::server('HTTP_REFERER');
$entityTypes = Utils::pluralizeEntityType($entityType); $entityTypes = Utils::pluralizeEntityType($entityType);
if (strpos($referer, '/clients/')) {
// when restoring redirect to entity // when restoring redirect to entity
return redirect($referer); if ($action == 'restore' && count($ids) == 1) {
} elseif ($action == 'restore' && count($ids) == 1) {
return redirect("{$entityTypes}/" . $ids[0]); return redirect("{$entityTypes}/" . $ids[0]);
// when viewing from a datatable list // when viewing from a datatable list
} elseif (strpos($referer, '/clients/')) {
return redirect($referer);
} elseif ($isDatatable || ($action == 'archive' || $action == 'delete')) { } elseif ($isDatatable || ($action == 'archive' || $action == 'delete')) {
return redirect("{$entityTypes}"); return redirect("{$entityTypes}");
// when viewing individual entity // when viewing individual entity

View File

@ -206,7 +206,7 @@ Route::group(['middleware' => 'auth:user'], function() {
Route::resource('expenses', 'ExpenseController'); Route::resource('expenses', 'ExpenseController');
Route::get('expenses/create/{vendor_id?}/{client_id?}', 'ExpenseController@create'); Route::get('expenses/create/{vendor_id?}/{client_id?}', 'ExpenseController@create');
Route::get('api/expenses', 'ExpenseController@getDatatable'); Route::get('api/expenses', 'ExpenseController@getDatatable');
Route::get('api/vendor_expenses/{id}', 'ExpenseController@getDatatableVendor'); Route::get('api/expenses/{id}', 'ExpenseController@getDatatableVendor');
Route::post('expenses/bulk', 'ExpenseController@bulk'); Route::post('expenses/bulk', 'ExpenseController@bulk');
Route::get('expense_categories', 'ExpenseCategoryController@index'); Route::get('expense_categories', 'ExpenseCategoryController@index');
Route::get('api/expense_categories', 'ExpenseCategoryController@getDatatable'); Route::get('api/expense_categories', 'ExpenseCategoryController@getDatatable');

View File

@ -82,7 +82,7 @@ class ExpenseService extends BaseService
*/ */
public function getDatatableVendor($vendorPublicId) public function getDatatableVendor($vendorPublicId)
{ {
$datatable = new ExpenseDatatable(false, true); $datatable = new ExpenseDatatable(true, true);
$query = $this->expenseRepo->findVendor($vendorPublicId); $query = $this->expenseRepo->findVendor($vendorPublicId);

View File

@ -82,7 +82,7 @@
@if (isset($values['entityType'])) @if (isset($values['entityType']))
if (window.onDatatableReady_{{ $values['entityType'] }}) { if (window.onDatatableReady_{{ $values['entityType'] }}) {
window.onDatatableReady_{{ $values['entityType'] }}(); window.onDatatableReady_{{ $values['entityType'] }}();
} else { } else if (window.onDatatableReady) {
window.onDatatableReady(); window.onDatatableReady();
} }
@else @else

View File

@ -58,7 +58,7 @@
{!! Button::normal(trans('texts.categories'))->asLinkTo(URL::to('/expense_categories'))->appendIcon(Icon::create('list')) !!} {!! Button::normal(trans('texts.categories'))->asLinkTo(URL::to('/expense_categories'))->appendIcon(Icon::create('list')) !!}
@endif @endif
@if (Auth::user()->can('create', $entityType)) @if (empty($vendorId) && Auth::user()->can('create', $entityType))
{!! Button::primary(trans("texts.new_{$entityType}"))->asLinkTo(url(Utils::pluralizeEntityType($entityType) . '/create'))->appendIcon(Icon::create('plus-sign')) !!} {!! Button::primary(trans("texts.new_{$entityType}"))->asLinkTo(url(Utils::pluralizeEntityType($entityType) . '/create'))->appendIcon(Icon::create('plus-sign')) !!}
@endif @endif
@endif @endif
@ -68,7 +68,7 @@
{!! Datatable::table() {!! Datatable::table()
->addColumn(Utils::trans($datatable->columnFields())) ->addColumn(Utils::trans($datatable->columnFields()))
->setUrl(url('api/' . Utils::pluralizeEntityType($entityType) . '/' . (isset($clientId) ? $clientId : ''))) ->setUrl(url('api/' . Utils::pluralizeEntityType($entityType) . '/' . (isset($clientId) ? $clientId : (isset($vendorId) ? $vendorId : ''))))
->setCustomValues('rightAlign', isset($rightAlign) ? $rightAlign : []) ->setCustomValues('rightAlign', isset($rightAlign) ? $rightAlign : [])
->setCustomValues('entityType', Utils::pluralizeEntityType($entityType)) ->setCustomValues('entityType', Utils::pluralizeEntityType($entityType))
->setCustomValues('clientId', isset($clientId) && $clientId) ->setCustomValues('clientId', isset($clientId) && $clientId)

View File

@ -3,6 +3,9 @@
@section('head') @section('head')
@parent @parent
<script src="{{ asset('js/select2.min.js') }}" type="text/javascript"></script>
<link href="{{ asset('css/select2.css') }}" rel="stylesheet" type="text/css"/>
@if ($vendor->hasAddress()) @if ($vendor->hasAddress())
<style> <style>
#map { #map {
@ -167,22 +170,15 @@
<ul class="nav nav-tabs nav-justified"> <ul class="nav nav-tabs nav-justified">
{!! Form::tab_link('#expenses', trans('texts.expenses')) !!} {!! Form::tab_link('#expenses', trans('texts.expenses')) !!}
</ul> </ul><br/>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane" id="expenses"> <div class="tab-pane" id="expenses">
{!! Datatable::table() @include('list', [
->addColumn( 'entityType' => ENTITY_EXPENSE,
trans('texts.expense_date'), 'datatable' => new \App\Ninja\Datatables\ExpenseDatatable(true, true),
trans('texts.amount'), 'vendorId' => $vendor->public_id,
trans('texts.public_notes')) ])
->setUrl(url('api/vendor_expense/' . $vendor->public_id))
->setCustomValues('entityType', 'expenses')
->setOptions('sPaginationType', 'bootstrap')
->setOptions('bFilter', false)
->setOptions('aaSorting', [['0', 'asc']])
->render('datatable')
!!}
</div> </div>
</div> </div>
@ -199,7 +195,7 @@
}); });
$('.nav-tabs a[href="#expenses"]').tab('show'); $('.nav-tabs a[href="#expenses"]').tab('show');
load_expenses(); //load_expenses();
}); });
function onArchiveClick() { function onArchiveClick() {