예제 #1
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function edit($id)
 {
     $reminder = Reminder::findOrFail($id);
     return view('admin.edit', compact('reminder'));
 }
예제 #2
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     $reminder = Reminder::findOrFail($id);
     $validator = Validator::make($request->all(), ['title' => "required|between:2,30", 'date' => "required|date", 'time' => "required", 'timezone' => "required|timezone"], ['title.required' => 'You need to provide a title!', 'date.required' => 'You need to provide a date!', 'time.required' => 'You need to provide a time!', 'timezone.required' => "The timezone is a required field - please don't remove it...", 'title.between' => 'The title must be between :min - :max characters long.', 'date.date' => 'The date needs to be formatted as a date dd/mm/yyyy', 'timezone.timezone' => 'The timezone was already formatted to your timezone, the one you have changed it to is not a supported timezone...']);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     }
     $userDateTime = \Carbon\Carbon::createFromFormat('Y-m-d H:i', $request->date . $request->time, $request->timezone);
     $utcDateTime = clone $userDateTime;
     $utcDateTime->setTimeZone('UTC');
     $currentDateTime = \Carbon\Carbon::now()->format('Y-m-d H:i');
     if ($utcDateTime < $currentDateTime) {
         $validator->getMessageBag()->add('oldate', 'The date and time provided is in the past, please provide a future date and time.');
         return Redirect::back()->withErrors($validator)->withInput();
     }
     $reminder->title = $request->title;
     $reminder->userReminderDate = $userDateTime;
     $reminder->utcReminderDate = $utcDateTime;
     $reminder->description = $request->description;
     $reminder->save();
     flash()->success('Your reminder was successfully updated.');
     return redirect('/remindr');
 }