Exemple #1
0
 public function destroy($id)
 {
     $group = \App\Group::FindOrFail($id);
     $group->delete();
     \Session::flash('flash_message', 'Group has been deleted.');
     return redirect('groups');
 }
 public function storeNoRedirect(Request $request)
 {
     $this->validate($request, ['name' => 'required|max:64', 'date' => 'required|date_format:d.m.Y|after:' . Carbon::now(), 'time' => 'required|date_format:H:i', 'place' => 'required|max:128']);
     $event = new Event();
     $event->name = $request->input('name');
     $event->time = Carbon::createFromFormat('d.m.Y H:i', $request->input('date') . ' ' . $request->input('time'));
     $event->place = $request->input('place');
     $event->description = $request->input('description');
     $event->group_id = $request->input('groupId');
     $group = Group::FindOrFail($request->input('groupId'));
     if (Gate::allows('manageForGroup', $group)) {
         $days = collect($request->input('days'));
         $date = Carbon::createFromFormat('d.m.Y', $request->input('date'));
         $endDate = $date->copy();
         $startDate = $date->copy();
         $interval = $request->input('interval');
         if ($request->input('repeat') != NULL) {
             $ending = $request->input('ending');
             $endDate = $ending == "afterYear" ? $endDate->addYear() : Carbon::createFromFormat('d.m.Y', $request->input('endDate'));
         }
         $event->endDate = $endDate;
         $event->save();
         do {
             if ($days->contains($date->dayOfWeek) && $startDate->diffInWeeks($date) % $interval == 0 || $request->input('repeat') == NULL) {
                 $occurrence = new EventOccurrence();
                 $occurrence->event_id = $event->id;
                 $occurrence->date = $date;
                 $occurrence->save();
             }
             $date->addDay();
         } while ($date < $endDate);
         return redirect('activity_planning/planner');
     } else {
         return abort(403);
     }
 }