public function seeBookedAvailabilities()
 {
     $availabilityIds = [];
     foreach (Availability::all() as $availability) {
         if ($availability->hasRequests()) {
             $availabilityIds[] = $availability->id;
         }
     }
     if (!$availabilityIds) {
         $availabilities = null;
         return View::make('admin.active-availabilities', compact(['availabilities']));
     }
     $availabilities = DB::table('availabilities')->select('advisors.first_name as advisor_first_name', 'advisors.last_name as advisor_last_name', 'advisors.email as advisor_email', 'advisors.profile_img as advisor_profile_img', 'requestees.name as requestee_name', 'requestees.email as requestee_email', 'requestees.phone as requestee_phone', 'requestees.notes as requestee_notes', 'availability_day.time as time', 'days.date as date', 'locations.name as location', 'meetings.status as status')->leftJoin('availability_day', 'availabilities.id', '=', 'availability_day.availability_id')->leftJoin('availability_advisor', 'availabilities.id', '=', 'availability_advisor.availability_id')->leftJoin('availability_location', 'availabilities.id', '=', 'availability_location.availability_id')->leftJoin('meeting_availability', 'availabilities.id', '=', 'meeting_availability.availability_id')->leftJoin('meetings', 'meeting_availability.meeting_id', '=', 'meetings.id')->leftJoin('meeting_requestee', 'meetings.id', '=', 'meeting_requestee.meeting_id')->leftJoin('days', 'availability_day.day_id', '=', 'days.id')->leftJoin('advisors', 'availability_advisor.advisor_id', '=', 'advisors.id')->leftJoin('locations', 'availability_location.location_id', '=', 'locations.id')->leftJoin('requestees', 'meeting_requestee.requestee_id', '=', 'requestees.id')->whereIn('availabilities.id', $availabilityIds)->where('availabilities.expired', 0)->orderBy('days.date')->get();
     return View::make('admin.active-availabilities', compact(['availabilities']));
 }
示例#2
0
 public function scrubExpiredAvailabilities()
 {
     $expiredAvailabilities = [];
     foreach (Availability::all() as $availability) {
         if ($availability->days()->first() == null) {
             continue;
         }
         //$time = $availability->days()->first()->pivot->date;
         $time = $availability->days()->first()->pivot->time;
         $date = $availability->days()->first()['date'];
         $dt = Carbon::parse($date . ' ' . $availability->timeToTimeStamp($time));
         if (Carbon::now()->diffInMinutes($dt, false) < 0) {
             $expiredAvailabilities[] = $availability;
         }
     }
     foreach ($expiredAvailabilities as $expAvail) {
         $expAvail->expired = 1;
         $expAvail->save();
     }
 }
 public function getAllAvailabilities()
 {
     $availabilities = Availability::all();
     return \Response::json($availabilities);
 }