public function update($id, Request $request)
 {
     $event = Availability::find($id);
     $event->start_time = Common::formatDateTimeForSQL($request->input('new_time_start'));
     $event->end_time = Common::formatDateTimeForSQL($request->input('new_time_end'));
     $event->save();
     return response()->json(['msg' => 'Time updated'], 200);
 }
 public function update(Request $request, $user_id)
 {
     $this->validate($request, ['real_start.*' => ['regex:/[0-9]{2}\\/[0-9]{2}\\/[0-9]{4}\\s[0-9]{1,2}:[0-9]{2}\\s(AM|PM)\\s-\\s[0-9]{2}\\/[0-9]{2}\\/[0-9]{4}\\s[0-9]{1,2}:[0-9]{2}\\s(AM|PM)/'], 'real_end.*' => ['regex:/[0-9]{2}\\/[0-9]{2}\\/[0-9]{4}\\s[0-9]{1,2}:[0-9]{2}\\s(AM|PM)\\s-\\s[0-9]{2}\\/[0-9]{2}\\/[0-9]{4}\\s[0-9]{1,2}:[0-9]{2}\\s(AM|PM)/']]);
     $start_times_arr = $request->get('real_start');
     $end_times_arr = $request->get('real_end');
     if (count(array_filter($start_times_arr)) > 0) {
         foreach ($start_times_arr as $roster_id => $time) {
             $start = $time;
             $end = $end_times_arr[$roster_id];
             $roster = Roster::find($roster_id)->users();
             //return var_dump($roster->pivot);
             if ($start != null && $start != "") {
                 $roster->updateExistingPivot($user_id, ['real_start_time' => Common::formatDateTimeForSQL($start)]);
             }
             if ($end != null && $end != "") {
                 $roster->updateExistingPivot($user_id, ['real_end_time' => Common::formatDateTimeForSQL($end)]);
             }
             //$roster->save();
         }
     }
     return redirect()->back()->with(['message' => 'Data successfully updated']);
 }
 public function paymentCustomStore($company_id, Request $request)
 {
     $this->validatesRequestErrorBag = 'custom';
     $this->validate($request, ['time_range' => ['regex:/[0-9]{2}\\/[0-9]{2}\\/[0-9]{4}\\s[0-9]{1,2}:[0-9]{2}\\s(AM|PM)\\s-\\s[0-9]{2}\\/[0-9]{2}\\/[0-9]{4}\\s[0-9]{1,2}:[0-9]{2}\\s(AM|PM)/'], 'amount' => 'numeric']);
     list($start, $end) = explode(' - ', $request->input('time_range'));
     $payment = new CustomPayment();
     $payment->company_id = $company_id;
     $payment->time_start = Common::formatDateTimeForSQL($start);
     $payment->time_end = Common::formatDateTimeForSQL($end);
     $payment->amount = $request->input('amount');
     $payment->description = $request->input('description');
     $payment->save();
     return redirect('/companies/' . $company_id . '/payment#')->with(['custom_message' => 'The custom payment is added successfully.']);
 }
 public function addUsers($id, Request $request)
 {
     $users = $request->input('users');
     $roster_data = Roster::where('id', '=', $id)->first();
     $roster = Roster::find($id)->users();
     foreach ($users as $user) {
         $roster->attach($user);
         Notification::add($user, 'CREATE_EVENT', ['start' => Common::formatDateTimeForSQL($roster_data->start_time), 'end' => Common::formatDateTimeForSQL($roster_data->end_time), 'admin_id' => Auth::user()->id]);
     }
     return response()->json(Roster::where('id', $id)->with('users')->first()->toArray()['users'], 200);
 }