protected function getDatatableActions($entityType) { return [[trans('texts.edit_client'), function ($model) { return URL::to("clients/{$model->public_id}/edit"); }, function ($model) { return Client::canEditItem($model); }], ['--divider--', function () { return false; }, function ($model) { return Client::canEditItem($model) && (Task::canCreate() || Invoice::canCreate()); }], [trans('texts.new_task'), function ($model) { return URL::to("tasks/create/{$model->public_id}"); }, function ($model) { return Task::canCreate(); }], [trans('texts.new_invoice'), function ($model) { return URL::to("invoices/create/{$model->public_id}"); }, function ($model) { return Invoice::canCreate(); }], [trans('texts.new_quote'), function ($model) { return URL::to("quotes/create/{$model->public_id}"); }, function ($model) { return Auth::user()->isPro() && Invoice::canCreate(); }], ['--divider--', function () { return false; }, function ($model) { return (Task::canCreate() || Invoice::canCreate()) && (Payment::canCreate() || Credit::canCreate() || Expense::canCreate()); }], [trans('texts.enter_payment'), function ($model) { return URL::to("payments/create/{$model->public_id}"); }, function ($model) { return Payment::canCreate(); }], [trans('texts.enter_credit'), function ($model) { return URL::to("credits/create/{$model->public_id}"); }, function ($model) { return Credit::canCreate(); }], [trans('texts.enter_expense'), function ($model) { return URL::to("expenses/create/0/{$model->public_id}"); }, function ($model) { return Expense::canCreate(); }]]; }