![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/ts.corals.io/corals-api/Corals/modules/Timesheet/Services/ |
<?php namespace Corals\Modules\Timesheet\Services; use Corals\Foundation\Services\BaseServiceClass; use Corals\Modules\Timesheet\Classes\BagParameters; use Corals\Modules\Timesheet\Classes\InvoiceGenerator; use Corals\Modules\Timesheet\Facades\Timesheet; use Corals\Modules\Timesheet\Models\Client; use Illuminate\Support\Arr; class ClientService extends BaseServiceClass { protected $excludedRequestParams = [ 'user_id' ]; /** * @param Client $client * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Model */ public function generateInvoice(Client $client) { $bagParameters = new BagParameters([ 'client' => $client ]); return (new InvoiceGenerator($bagParameters))->generate(); } /** * @param $request * @param $additionalData */ public function postStoreUpdate($request, &$additionalData) { $userIds = Arr::wrap(data_get($request, 'user_id')); $this->model->users()->sync($userIds); } /** * @return array */ public function getFormData() { if (!user()->canAny(['create', 'update'], new Client())) { return []; } return [ 'users' => Timesheet::getUsersFormData('client'), 'status_options' => apiPluck(config('timesheet.models.client.status_options'), 'id', 'label'), ]; } }