/** * observe personschedule event deleted * 1. check employee on that day logs * 2. act, accept or refuse * * @param $model * @return bool */ public function deleted($model) { $errors = new MessageBag(); //1. check employee on that day logs if ($model->person()->count()) { $log = \App\Models\Log::ondate($model->on->format('Y-m-d'))->personid($model->person_id)->first(); if ($log) { $log->created_by = $model->created_by; if (!$log->save()) { $errors->add('Log', $log->getError()); } } } if ($errors->count()) { $model['errors'] = $errors; return false; } return true; }
/** * observe schedule event deleted * 1. check employee doesn't have schedule on the day * 2. act, accept or refuse * * @param $model * @return bool */ public function deleted($model) { $errors = new MessageBag(); //1. check employee doesn't have schedule on the day if ($model->calendar()->count()) { $logs = \App\Models\Log::ondate($model->on->format('Y-m-d'))->JoinPersonHasNoScheduleOn($model->on)->joinworkfrompersonon($model->on)->groupby('logs.person_id')->first(); if ($logs->count()) { foreach ($logs as $key => $value) { //update schedule $value->created_by = $model->created_by; if (!$value->save()) { $errors->add('Log', $value->getError()); } } } } if ($errors->count()) { $model['errors'] = $errors; return false; } return true; }