Example #1
0
 /** 
  * observe Lumen event deleting
  * 1. check if prev day
  * 2. delete logs and process logs
  * 3. act, accept or refuse
  * 
  * @param $model
  * @return bool
  */
 public function deleting($model)
 {
     //1. check if prev day
     if ($model->on->format('Y-m-d') <= Carbon::now()->format('Y-m-d')) {
         $model['errors'] = ['Tidak dapat menghapus log yang sudah lewat dari tanggal hari ini.'];
         return false;
     }
     //2. delete logs and process logs
     $logs = Log::personid($model->person_id)->ondate([$model->on->startOfDay()->format('Y-m-d H:i:s'), $model->on->endOfDay()->format('Y-m-d H:i:s')])->get();
     if ($logs->count() && $logs->count() <= 1) {
         $processes = ProcessLog::personid($model->person_id)->ondate([$model->on->startOfDay()->format('Y-m-d H:i:s'), $model->on->endOfDay()->format('Y-m-d H:i:s')])->get();
         foreach ($processes as $key => $value) {
             if (!$value->delete()) {
                 $model['errors'] = $value->getError();
                 return false;
             }
         }
     }
 }