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);
 }
Exemplo n.º 2
0
 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);
 }