transformDatatables($array, $total); } public function transformConsumable (Consumable $consumable) { $array = [ 'category' => ($consumable->category) ? ['id' => $consumable->category->id, 'name' => $consumable->category->name] : null, 'company' => ($consumable->company) ? ['id' => $consumable->company->id, 'name' => $consumable->company->name] : null, 'id' => $consumable->id, 'item_no' => $consumable->item_no, 'location' => ($consumable->location) ? ['id' => $consumable->location->id, 'name' => $consumable->location->name] : null, 'manufacturer' => ($consumable->manufacturer) ? ['id' => $consumable->manufacturer->id, 'name' => $consumable->manufacturer->name] : null, 'min_amt' => $consumable->min_amt, 'model_number' => $consumable->model_number, 'name' => $consumable->name, 'remaining' => $consumable->numRemaining(), 'order_number' => $consumable->order_number, 'purchase_cost' => Helper::formatCurrencyOutput($consumable->purchase_cost), 'purchase_date' => Helper::getFormattedDateObject($consumable->purchase_date, 'date'), 'qty' => $consumable->qty, 'created_at' => Helper::getFormattedDateObject($consumable->created_at, 'datetime'), 'updated_at' => Helper::getFormattedDateObject($consumable->updated_at, 'datetime'), ]; $permissions_array['user_can_checkout'] = false; if ($consumable->numRemaining() > 0) { $permissions_array['user_can_checkout'] = true; } $permissions_array['available_actions'] = [ 'checkout' => Gate::allows('checkout', Consumable::class) ? true : false, 'checkin' => Gate::allows('checkin', Consumable::class) ? true : false, 'update' => Gate::allows('update', Consumable::class) ? true : false, 'delete' => Gate::allows('delete', Consumable::class) ? true : false, ]; $array += $permissions_array; return $array; } public function transformCheckedoutConsumables (Collection $consumables_users, $total) { $array = array(); foreach ($consumables_users as $user) { $array[] = (new UsersTransformer)->transformUser($user); } return (new DatatablesTransformer)->transformDatatables($array, $total); } }