public function store_group(Request $request) { $this->validate($request, ['register_date' => 'required|date', 'attendance_confirm_date' => 'date', 'registration_confirm_date' => 'date', 'canceled_at' => 'date', 'arrived_at' => 'date', 'departed_at' => 'date', 'event_id' => 'required|integer|min:0', 'group_id' => 'required|integer|min:0', 'deposit' => 'required|numeric|min:0|max:10000']); $retreat = \montserrat\Retreat::findOrFail($request->input('event_id')); $group_members = \montserrat\GroupContact::whereGroupId($request->input('group_id'))->whereStatus('Added')->get(); foreach ($group_members as $group_member) { //ensure that it is a valid room (not N/A) $registration = new \montserrat\Registration(); $registration->event_id = $request->input('event_id'); $registration->contact_id = $group_member->contact_id; $registration->register_date = $request->input('register_date'); $registration->attendance_confirm_date = $request->input('attendance_confirm_date'); if (!empty($request->input('canceled_at'))) { $registration->canceled_at = $request->input('canceled_at'); } if (!empty($request->input('arrived_at'))) { $registration->arrived_at = $request->input('arrived_at'); } if (!empty($request->input('departed_at'))) { $registration->departed_at = $request->input('departed_at'); } $registration->room_id = 0; $registration->registration_confirm_date = $request->input('registration_confirm_date'); $registration->confirmed_by = $request->input('confirmed_by'); $registration->deposit = $request->input('deposit'); $registration->notes = $request->input('notes'); $registration->save(); //TODO: verify that the newly created room assignment does not conflict with an existing one } return Redirect::action('RetreatsController@show' . '', $retreat->id); }
public function store_group(Request $request) { // $this->validate($request, ['group_id' => 'required|integer|min:0', 'touched_at' => 'required|date', 'staff_id' => 'required|integer|min:0', 'type' => 'in:Email,Call,Letter,Face,Other']); $group_id = $request->input('group_id'); $group_members = \montserrat\GroupContact::whereGroupId($group_id)->whereStatus('Added')->get(); foreach ($group_members as $group_member) { $touchpoint = new \montserrat\Touchpoint(); $touchpoint->person_id = $group_member->contact_id; $touchpoint->staff_id = $request->input('staff_id'); $touchpoint->touched_at = Carbon::parse($request->input('touched_at')); $touchpoint->type = $request->input('type'); $touchpoint->notes = $request->input('notes'); $touchpoint->save(); } return Redirect::action('GroupsController@show', $touchpoint->group_id); }