/** 
  * 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;
 }
Esempio n. 2
0
 /** 
  * 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;
 }