Ejemplo n.º 1
0
 public function addSchedule(Request $request, Skill $skill)
 {
     $input = $request->all();
     $validator = Validator::make($request->all(), ['start_time' => 'required | date_format:H:i', 'end_time' => 'required | after:start_time', 'week_day' => 'required | integer', 'title' => 'required']);
     if ($validator->fails()) {
         return ['hasCallback' => 0, 'callback' => '', 'hasMsg' => 1, 'msg' => trans('profile.invalidSchedule'), 'msgType' => 'danger', 'returns' => $validator->errors()->all()];
     }
     $conflict = $skill->schedules()->whereRaw('((start_time <= ? AND end_time >= ?) OR (start_time >= ? AND start_time <= ?) OR (end_time >= ? AND end_time <= ?) OR (start_time >= ? AND end_time <= ?)) AND (week_day = ?) ', [$input['start_time'], $input['end_time'], $input['start_time'], $input['end_time'], $input['start_time'], $input['end_time'], $input['start_time'], $input['end_time'], $input['week_day']])->count();
     if (!$conflict) {
         $skill->schedules()->create($request->all());
         return ['hasCallback' => '1', 'callback' => 'skill_schedules', 'hasMsg' => 0, 'msg' => '', 'returns' => $skill->schedules()->get()];
     } else {
         return ['hasCallback' => 0, 'callback' => '', 'hasMsg' => 1, 'msg' => trans('profile.conflictSchedule'), 'msgType' => 'danger', 'returns' => ''];
     }
 }