public function handleActivityPlan(Request $request)
 {
     $occurrences = $request->input('occurrences');
     $eventPatterns = $request->input('patterns');
     // occurrencejen käsittely
     foreach ($occurrences as $occurrence) {
         $eventOccurrence = EventOccurrence::findOrFail($occurrence['id']);
         foreach ($occurrence['activities'] as $activityId) {
             $activity = Activity::findOrFail($activityId);
             $eventOccurrence->activities()->attach($activity);
         }
     }
     // eventPatternien käsittely
     foreach ($eventPatterns as $eventPattern) {
         $eventPatternReal = EventPattern::findOrFail($eventPattern['id']);
         $event = new Event();
         $event->time = Carbon::createFromFormat('d.m.Y H:i', $eventPattern['date']);
         $event->endDate = Carbon::createFromFormat('d.m.Y', $eventPattern['datePart']);
         $event->description = " ";
         $event->place = " ";
         $event->name = $eventPatternReal->name;
         $event->group_id = $request->input('group');
         $event->save();
         $eventOccurrence = new EventOccurrence();
         $eventOccurrence->date = Carbon::createFromFormat('d.m.Y', $eventPattern['datePart']);
         $eventOccurrence->event_id = $event->id;
         $eventOccurrence->save();
         foreach ($eventPattern['activities'] as $activityId) {
             $activity = Activity::findOrFail($activityId);
             $eventOccurrence->activities()->attach($activity);
         }
     }
     return 2;
 }
 public function store(Request $request)
 {
     $messages = ['name.required' => 'Tapahtumapohjalla tulee olla nimi', 'date.required' => 'Tapahtumapohjalla tulee olla aika', 'start.required' => 'Tapahtumapohjalla tulee olla aika', 'end.required' => 'Tapahtumapohjalla tulee olla aika', 'selectedAgeGroups.required' => 'Tapahtumapohjalla tulee olla ikäryhmä'];
     $validator = Validator::make($request->all(), ['name' => 'required', 'date' => 'required_if:start,null', 'start' => 'required_if:date,null', 'end' => 'required_if:date,null', 'selectedAgeGroups' => 'required'], $messages);
     if ($validator->fails()) {
         return redirect('event_patterns/new')->withErrors($validator)->withInput();
     }
     $selected_activities = $request->input('selected_activity');
     $event_pattern = new EventPattern();
     $event_pattern->name = $request->input('name');
     $event_pattern->ageGroups = $request->input('selectedAgeGroups');
     if ($request->input('date') != NULL) {
         $event_pattern->date = Carbon::createFromFormat('d.m.Y', $request->input('date'));
     } else {
         $event_pattern->date = Carbon::createFromFormat('d.m.Y', $request->input('start'));
         $event_pattern->endDate = Carbon::createFromFormat('d.m.Y', $request->input('end'));
     }
     $event_pattern->save();
     for ($i = 0; $i < count($selected_activities); $i++) {
         $activity = Activity::findOrFail($selected_activities[$i]);
         $event_pattern->activities()->attach($activity);
     }
     return redirect('/');
 }