Added ability to sort on qty and remaining for consumables

Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
snipe 2024-09-09 03:49:58 +01:00
parent e1fcfc8dc1
commit 7d9a0eba04
3 changed files with 19 additions and 2 deletions

View file

@ -86,6 +86,9 @@ class ConsumablesController extends Controller
case 'company': case 'company':
$consumables = $consumables->OrderCompany($order); $consumables = $consumables->OrderCompany($order);
break; break;
case 'remaining':
$consumables = $consumables->OrderRemaining($order);
break;
case 'supplier': case 'supplier':
$consumables = $consumables->OrderSupplier($order); $consumables = $consumables->OrderSupplier($order);
break; break;

View file

@ -425,6 +425,20 @@ class Consumable extends SnipeModel
return $query->leftJoin('companies', 'consumables.company_id', '=', 'companies.id')->orderBy('companies.name', $order); return $query->leftJoin('companies', 'consumables.company_id', '=', 'companies.id')->orderBy('companies.name', $order);
} }
/**
* Query builder scope to order on remaining
*
* @param \Illuminate\Database\Query\Builder $query Query builder instance
* @param string $order Order
*
* @return \Illuminate\Database\Query\Builder Modified query builder
*/
public function scopeOrderRemaining($query, $order)
{
$order_by = 'consumables.qty - consumables_users_count ' . $order;
return $query->orderByRaw($order_by);
}
/** /**
* Query builder scope to order on supplier * Query builder scope to order on supplier
* *

View file

@ -75,13 +75,13 @@ class ConsumablePresenter extends Presenter
], [ ], [
'field' => 'qty', 'field' => 'qty',
'searchable' => false, 'searchable' => false,
'sortable' => false, 'sortable' => true,
'title' => trans('admin/components/general.total'), 'title' => trans('admin/components/general.total'),
'visible' => true, 'visible' => true,
], [ ], [
'field' => 'remaining', 'field' => 'remaining',
'searchable' => false, 'searchable' => false,
'sortable' => false, 'sortable' => true,
'title' => trans('admin/components/general.remaining'), 'title' => trans('admin/components/general.remaining'),
'visible' => true, 'visible' => true,
], [ ], [