public function events()
 {
     $tCalendarData = [];
     $tCalendarData['success'] = 1;
     // Calendar has no time zone conversion AND has no concept of daylight savings time. :(
     $Offset = 6 * 60 * 60 * 1000;
     // TODO:  Add from / to restraints
     $tVacations = \App\VacationRequest::all();
     foreach ($tVacations as $objVacation) {
         $tResult = [];
         $tResult['id'] = $objVacation->id;
         if ($objVacation->type == \App\VacationRequest::TYPE_HOLIDAY) {
             $tResult['class'] = 'event-special';
             $tResult['url'] = "/admin/vacations/holidays/edit/{$objVacation->id}";
             $tResult['title'] = "HOLIDAY: {$objVacation->comments}";
         } else {
             if ($objVacation->status == \App\VacationRequest::STATUS_DENIED) {
                 continue;
             }
             $tResult['class'] = $objVacation->status == \App\VacationRequest::STATUS_PENDING ? 'event-warning' : 'event-success';
             $PreText = $objVacation->status == \App\VacationRequest::STATUS_PENDING ? 'PENDING VACATION REQUEST' : 'APPROVED VACATION REQUEST';
             $tResult['url'] = "/admin/vacations/edit/{$objVacation->id}";
             $tResult['title'] = "{$PreText}: {$objVacation->User->name}: {$objVacation->comments}";
         }
         $tResult['start'] = (int) strtotime($objVacation->from) . '000' + $Offset;
         $tResult['end'] = (int) strtotime($objVacation->to) . '000' + $Offset;
         $tCalendarData['result'][] = $tResult;
     }
     $tClients = \App\User::clients()->get();
     foreach ($tClients as $objClient) {
         $tResult = [];
         $tResult['id'] = $objClient->id;
         $tResult['class'] = 'event-info';
         $tResult['url'] = "/admin/users/edit/{$objClient->id}";
         $tResult['title'] = "New Client Signup:  {$objClient->name}";
         $tResult['start'] = (int) strtotime($objClient->created_at) . '000' + $Offset;
         $tResult['end'] = (int) strtotime($objClient->created_at) . '000' + $Offset;
         $tCalendarData['result'][] = $tResult;
     }
     $tBlogPosts = \App\BlogPost::all();
     foreach ($tBlogPosts as $objPost) {
         $tResult = [];
         $tResult['id'] = $objPost->id;
         $tResult['class'] = 'event-info';
         $tResult['url'] = "/admin/blog/edit/{$objPost->id}";
         $tResult['title'] = "New Blog Post:  {$objPost->title}";
         $tResult['start'] = (int) strtotime($objPost->created_at) . '000' + $Offset;
         $tResult['end'] = (int) strtotime($objPost->created_at) . '000' + $Offset;
         $tCalendarData['result'][] = $tResult;
     }
     echo json_encode($tCalendarData);
     die;
 }
Example #2
0
 public function index()
 {
     $tUpcomingVacations = \App\VacationRequest::upcomingvacations()->get();
     $tUpcomingHolidays = \App\VacationRequest::upcomingholidays()->get();
     $tVacationRequests = \App\VacationRequest::requests()->get();
     $tNewInvoices = \App\Invoice::perminvoices($this->objLoggedInUser)->new()->get();
     $tActiveGalleryImages = \App\GalleryImage::all();
     $tAllClients = \App\User::clients()->get();
     $BlogCount = \App\BlogPost::count();
     $tNewClients = \App\User::newclients()->get();
     View::share('tUpcomingVacations', $tUpcomingVacations);
     View::share('tUpcomingHolidays', $tUpcomingHolidays);
     View::share('tVacationRequests', $tVacationRequests);
     View::share('tNewInvoices', $tNewInvoices);
     View::share('tActiveGalleryImages', $tActiveGalleryImages);
     View::share('tAllClients', $tAllClients);
     View::share('BlogCount', $BlogCount);
     View::share('tNewClients', $tNewClients);
     return view('admin.index');
 }
 public function store()
 {
     // TODO:  Add From < To date validation
     // TODO:  Should only be able to save in certain circumstances?
     $Input = Request::all();
     $objVacation = $Input['VacationID'] ? \App\VacationRequest::findOrFail($Input['VacationID']) : new \App\VacationRequest();
     $VacationID = $Input['VacationID'] ?: 'new';
     $Validator = Validator::make($Input, ['From' => 'required|date', 'To' => 'required|date']);
     if ($Validator->fails()) {
         return redirect('/admin/vacations/edit/' . $VacationID)->withErrors($Validator);
     }
     $objUser = \Auth::User();
     $objVacation->from = date('Y-m-d H:i:s', strtotime($Input['From']));
     $objVacation->to = date('Y-m-d H:i:s', strtotime($Input['To']));
     $objVacation->comments = $Input['Comments'];
     // Set once from person creating it, and that is the only time it can be edited.
     if (!$objVacation->id) {
         $objVacation->user_id = $objUser->id;
     }
     if (Request::get('Type') == VacationRequest::TYPE_HOLIDAY) {
         $objVacation->status = \App\VacationRequest::STATUS_APPROVED;
     } else {
         // Only admins can change status and status always starts pending.
         if ($objUser->role == \App\User::ROLE_ADMIN && $VacationID != 'new') {
             if ($Input['Status'] != \App\VacationRequest::STATUS_PENDING) {
                 $objVacation->approved_by = $objUser->id;
             }
             $objVacation->status = $Input['Status'] ?: \App\VacationRequest::STATUS_PENDING;
         }
     }
     $objVacation->type = $Input['Type'];
     $objVacation->save();
     if ($Input['Type'] == \App\VacationRequest::TYPE_HOLIDAY) {
         $Path = Request::get('ReturnTo') == 'Dashboard' ? '' : '/vacations/holidays';
     } else {
         $Path = Request::get('ReturnTo') == 'Dashboard' ? '' : '/vacations';
     }
     return redirect("/admin{$Path}")->with('FormResponse', ['ResponseType' => static::MESSAGE_SUCCESS, 'Content' => Request::get('Type') . ' saved successfully']);
 }