diff --git a/app/config/version.php b/app/config/version.php index 05e6c43052..26f1c46129 100644 --- a/app/config/version.php +++ b/app/config/version.php @@ -1,5 +1,5 @@ 'v2.0-280', - 'hash_version' => 'v2.0-280-g7a306cd', + 'app_version' => 'v2.0-282', + 'hash_version' => 'v2.0-282-g7087e86', ); \ No newline at end of file diff --git a/app/controllers/admin/AssetMaintenancesController.php b/app/controllers/admin/AssetMaintenancesController.php index 846b8ff153..85147a24b1 100644 --- a/app/controllers/admin/AssetMaintenancesController.php +++ b/app/controllers/admin/AssetMaintenancesController.php @@ -45,71 +45,63 @@ * @author Vincent Sposato * @version v1.0 */ - public function getDatatable() - { - $assetMaintenances = AssetMaintenance::orderBy( 'created_at', 'DESC' ) - ->get(); + public function getDatatable() + { + $maintenances = AssetMaintenance::with('asset','supplier') + ->whereNull('deleted_at'); - $actions = new \Chumper\Datatable\Columns\FunctionColumn( 'actions', function ( $assetMaintenances ) { + if (Input::has('search')) { + $maintenances = $maintenances->TextSearch(e(Input::get('search'))); + } - return ''; - } ); + if (Input::has('offset')) { + $offset = e(Input::get('offset')); + } else { + $offset = 0; + } - return Datatable::collection( $assetMaintenances ) - ->addColumn( 'asset', function ( $assetMaintenances ) { + if (Input::has('limit')) { + $limit = e(Input::get('limit')); + } else { + $limit = 50; + } - return link_to( '/hardware/' . $assetMaintenances->asset_id . '/view', - mb_strimwidth( $assetMaintenances->asset->name, 0, 50, "..." ) ); - } ) - ->addColumn( 'supplier', function ( $assetMaintenances ) { + $allowed_columns = ['id','title','asset_maintenance_time','asset_maintenance_type','cost','start_date','completion_date','notes']; + $order = Input::get('order') === 'asc' ? 'asc' : 'desc'; + $sort = in_array(Input::get('sort'), $allowed_columns) ? Input::get('sort') : 'created_at'; - return link_to( '/admin/settings/suppliers/' . $assetMaintenances->supplier_id - . '/view', - mb_strimwidth( $assetMaintenances->supplier->name, 0, 50, "..." ) ); - } ) - ->addColumn( 'asset_maintenance_type', function ( $assetMaintenances ) { + $maintenances->orderBy($sort, $order); - return $assetMaintenances->asset_maintenance_type; - } ) - ->addColumn( 'title', function ( $assetMaintenances ) { + $maintenancesCount = $maintenances->count(); + $maintenances = $maintenances->skip($offset)->take($limit)->get(); - return link_to( '/admin/asset_maintenances/' . $assetMaintenances->id . '/view', - mb_strimwidth( $assetMaintenances->title, 0, 50, "..." ) ); - } ) - ->addColumn( 'start_date', function ( $assetMaintenances ) { + $rows = array(); - return $assetMaintenances->start_date; - } ) - ->addColumn( 'completion_date', function ( $assetMaintenances ) { + foreach($maintenances as $maintenance) { - return $assetMaintenances->completion_date; - } ) - ->addColumn( 'asset_maintenance_time', function ( $assetMaintenances ) { + $actions = ''; - if (is_null( $assetMaintenances->asset_maintenance_time )) { - $assetMaintenances->asset_maintenance_time = Carbon::now() - ->diffInDays( Carbon::parse( $assetMaintenances->start_date ) ); - } + $rows[] = array( + 'id' => $maintenance->id, + 'asset_name' => $maintenance->asset->showAssetName(), + 'title' => $maintenance->title, + 'notes' => $maintenance->notes, + 'supplier' => $maintenance->supplier->name, + 'cost' => ($maintenance->cost) ? $maintenance->asset->assetloc->currency.''.$maintenance->cost : $maintenance->cost , + 'asset_maintenance_type' => e($maintenance->asset_maintenance_type), + 'start_date' => $maintenance->start_date, + 'time' => $maintenance->asset_maintenance_time, + 'completion_date' => $maintenance->completion_date, + 'actions' => $actions + ); + } - return intval( $assetMaintenances->asset_maintenance_time ); - } ) - ->addColumn( 'cost', function ( $assetMaintenances ) { + $data = array('total' => $maintenancesCount, 'rows' => $rows); - return sprintf( Lang::get( 'general.currency' ) . '%01.2f', $assetMaintenances->cost ); - } ) - ->addColumn( $actions ) - ->searchColumns( 'asset', 'supplier', 'asset_maintenance_type', 'title', 'start_date', - 'completion_date', 'asset_maintenance_time', 'cost', 'actions' ) - ->orderColumns( 'asset', 'supplier', 'asset_maintenance_type', 'title', 'start_date', - 'completion_date', 'asset_maintenance_time', 'cost', 'actions' ) - ->make(); - } + return $data; + + } /** * getCreate @@ -461,4 +453,4 @@ return View::make( 'backend/asset_maintenances/view')->with('assetMaintenance', $assetMaintenance); } - } \ No newline at end of file + } diff --git a/app/lang/en/admin/asset_maintenances/form.php b/app/lang/en/admin/asset_maintenances/form.php index 785d06b08f..2aa005c45f 100755 --- a/app/lang/en/admin/asset_maintenances/form.php +++ b/app/lang/en/admin/asset_maintenances/form.php @@ -1,14 +1,14 @@ 'Asset Maintenance Type', + 'asset_maintenance_type' => 'Maintenance Type', 'title' => 'Title', - 'start_date' => 'Start Date', - 'completion_date' => 'Completion Date', + 'start_date' => 'Started', + 'completion_date' => 'Completed', 'cost' => 'Cost', 'is_warranty' => 'Warranty Improvement', - 'asset_maintenance_time' => 'Asset Maintenance Time (in days)', + 'asset_maintenance_time' => 'Days', 'notes' => 'Notes', - 'update' => 'Update Asset Maintenance', - 'create' => 'Create Asset Maintenance' + 'update' => 'Update', + 'create' => 'Create' ]; diff --git a/app/lang/en/admin/asset_maintenances/table.php b/app/lang/en/admin/asset_maintenances/table.php index 02e9060bf6..5b83539914 100755 --- a/app/lang/en/admin/asset_maintenances/table.php +++ b/app/lang/en/admin/asset_maintenances/table.php @@ -2,8 +2,8 @@ return [ 'title' => 'Asset Maintenance', - 'asset_name' => 'Asset Name', - 'supplier_name' => 'Supplier Name', + 'asset_name' => 'Asset', + 'supplier_name' => 'Supplier', 'is_warranty' => 'Warranty', 'dl_csv' => 'Download CSV' - ]; \ No newline at end of file + ]; diff --git a/app/models/AssetMaintenance.php b/app/models/AssetMaintenance.php index 9d42f381ba..9a99c8d99f 100644 --- a/app/models/AssetMaintenance.php +++ b/app/models/AssetMaintenance.php @@ -81,4 +81,26 @@ return $query->whereNotNull( 'deleted_at' ); } - } \ No newline at end of file + + /** + * Query builder scope to search on text + * + * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param text $search Search term + * + * @return Illuminate\Database\Query\Builder Modified query builder + */ + public function scopeTextSearch($query, $search) + { + + return $query->where(function($query) use ($search) + { + $query->where('title', 'LIKE', '%'.$search.'%') + ->orWhere('notes', 'LIKE', '%'.$search.'%') + ->orWhere('asset_maintenance_type', 'LIKE', '%'.$search.'%') + ->orWhere('cost', 'LIKE', '%'.$search.'%') + ->orWhere('start_date', 'LIKE', '%'.$search.'%') + ->orWhere('completion_date', 'LIKE', '%'.$search.'%'); + }); + } + } diff --git a/app/views/backend/asset_maintenances/index.blade.php b/app/views/backend/asset_maintenances/index.blade.php index f3bbe4c6f4..57601f1491 100644 --- a/app/views/backend/asset_maintenances/index.blade.php +++ b/app/views/backend/asset_maintenances/index.blade.php @@ -20,49 +20,70 @@
- {{ Datatable::table() - ->addColumn(Lang::get('admin/asset_maintenances/table.asset_name'), - Lang::get('admin/asset_maintenances/table.supplier_name'), - Lang::get('admin/asset_maintenances/form.asset_maintenance_type'), - Lang::get('admin/asset_maintenances/form.title'), - Lang::get('admin/asset_maintenances/form.start_date'), - Lang::get('admin/asset_maintenances/form.completion_date'), - Lang::get('admin/asset_maintenances/form.asset_maintenance_time'), - Lang::get('admin/asset_maintenances/form.cost'), - Lang::get('table.actions')) - ->setOptions( - [ - 'language' => [ - 'search' => Lang::get('general.search'), - 'lengthMenu' => Lang::get('general.page_menu'), - 'loadingRecords' => Lang::get('general.loading'), - 'zeroRecords' => Lang::get('general.no_results'), - 'info' => Lang::get('general.pagination_info'), - 'processing' => Lang::get('general.processing'), - 'paginate'=> [ - 'first'=>Lang::get('general.first'), - 'previous'=>Lang::get('general.previous'), - 'next'=>Lang::get('general.next'), - 'last'=>Lang::get('general.last'), - ], - ], - 'sAjaxSource'=>route('api.asset_maintenances.list'), - 'dom' =>'CT<"clear">lfrtip', - 'colVis'=> ['showAll'=>'Show All','restore'=>'Restore','activate'=>'mouseover'], - 'columnDefs'=> [ - ['bSortable'=>false,'targets'=>[8]], - ['width'=>'12%','targets'=>[8]], - ], - 'order'=>[[0,'asc']], - ] - ) - ->render() }} + + + + + + + + + + + + + + + + +
@lang('general.id')@lang('admin/asset_maintenances/table.asset_name')@lang('admin/asset_maintenances/table.supplier_name')@lang('admin/asset_maintenances/form.asset_maintenance_type')@lang('admin/asset_maintenances/form.title')@lang('admin/asset_maintenances/form.start_date')@lang('admin/asset_maintenances/form.completion_date')@lang('admin/asset_maintenances/form.asset_maintenance_time')@lang('admin/asset_maintenances/form.cost')@lang('admin/asset_maintenances/form.notes'){{ Lang::get('table.actions') }}
@section('moar_scripts') - - - + + + + + + + +@stop @stop -@stop diff --git a/app/views/backend/categories/index.blade.php b/app/views/backend/categories/index.blade.php index 56716b5852..0362ee9f9a 100755 --- a/app/views/backend/categories/index.blade.php +++ b/app/views/backend/categories/index.blade.php @@ -19,7 +19,7 @@
-