/** * 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')); }
/** * 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'); }