public function cancelEvent() { $existing_ce = CalendarEvent::where('id', '=', Input::get('calendar_event_id'))->first(); if ($existing_ce->type == "volunteer_time") { //Info required to send SMS $volunteer = $existing_ce->volunteerTime()->first()->volunteer()->first(); //To get the first name list($volunteer_name) = explode(" ", $volunteer->name); $user = Volunteer::find($_SESSION['user_id']); list($user_name) = explode(" ", $user->name); //To get correctly formatted date and time $on_date = date("d-M", strtotime($existing_ce->start_time)); $on_time = Input::get('start_time'); $student = Student::find($existing_ce->student_id); $center_name = $student->center()->first()->name; //Send SMS to the volunteer informing them about the class $sms = new SMSController(); switch (Input::get('reason')) { case 'mistaken_entry': $sms->message = "Hi {$volunteer_name},\n\nYour class at {$center_name} on {$on_date} has been cancelled since it was a mistaken entry.\n\nPlease contact {$user_name}({$user->phone}) for more details."; break; case 'volunteer_not_available': $sms->message = "Hi {$volunteer_name},\n\nYour class at {$center_name} on {$on_date} has been cancelled since you are not available.\n\nPlease contact {$user_name}({$user->phone}) for more details."; break; case 'student_not_available': $sms->message = "Hi {$volunteer_name},\n\nYour class at {$center_name} on {$on_date} has been cancelled since the student is not available.\n\nPlease contact {$user_name}({$user->phone}) for more details."; break; } $sms->number = $volunteer->phone; $sms->send(); } if (Input::get('reason') == 'mistaken_entry') { $existing_ce->delete(); } else { $existing_ce->status = 'cancelled'; $existing_ce->save(); $existing_cancelled_ce = CancelledCalendarEvent::where('calendar_event_id', '=', Input::get('calendar_event_id'))->first(); if (!empty($existing_cancelled_ce)) { $existing_cancelled_ce->delete(); } $cancelled_event = new CancelledCalendarEvent(); $cancelled_event->calendar_event_id = $existing_ce->id; $cancelled_event->reason = Input::get('reason'); $cancelled_event->comment = Input::get('comment'); $cancelled_event->save(); } //To check whether the request is coming from the child calendar or the asv calendar if (Request::segment(2) == 'asv') { return Redirect::to(URL::to('/calendar/asv/' . Input::get('volunteer_id'))); } else { return Redirect::to(URL::to('/calendar/' . Input::get('wingman_id') . '/' . Input::get('student_id'))); } }