Beispiel #1
0
 function render()
 {
     $active_worker = PortSensorApplication::getActiveWorker();
     $visit = PortSensorApplication::getVisit();
     $tpl = DevblocksPlatform::getTemplateService();
     $tpl->assign('path', $this->_TPL_PATH);
     $response = DevblocksPlatform::getHttpResponse();
     $tpl->assign('request_path', implode('/', $response->path));
     // Remember the last tab/URL
     if (null == ($selected_tab = @$response->path[1])) {
         $selected_tab = $visit->get(PortSensorVisit::KEY_HOME_SELECTED_TAB, 'notifications');
     }
     $tpl->assign('selected_tab', $selected_tab);
     $tab_manifests = DevblocksPlatform::getExtensions('portsensor.home.tab', false);
     $tpl->assign('tab_manifests', $tab_manifests);
     // Custom workspaces
     $workspaces = DAO_Worklist::getWorkspaces($active_worker->id);
     $tpl->assign('workspaces', $workspaces);
     // ====== Who's Online
     $whos_online = DAO_Worker::getAllOnline();
     if (!empty($whos_online)) {
         $tpl->assign('whos_online', $whos_online);
         $tpl->assign('whos_online_count', count($whos_online));
     }
     $tpl->display('file:' . $this->_TPL_PATH . 'home/index.tpl');
 }
Beispiel #2
0
 function render()
 {
     $active_worker = FegApplication::getActiveWorker();
     $visit = FegApplication::getVisit();
     $tpl = DevblocksPlatform::getTemplateService();
     $tpl->assign('path', $this->_TPL_PATH);
     $response = DevblocksPlatform::getHttpResponse();
     $tpl->assign('request_path', implode('/', $response->path));
     // ====== Who's Online
     $whos_online = DAO_Worker::getAllOnline();
     if (!empty($whos_online)) {
         $tpl->assign('whos_online', $whos_online);
         $tpl->assign('whos_online_count', count($whos_online));
     }
     $tpl->display('file:' . $this->_TPL_PATH . 'stats/index.tpl');
 }
Beispiel #3
0
 function render()
 {
     $tpl = DevblocksPlatform::getTemplateService();
     $tpl->assign('path', $this->_TPL_PATH);
     $active_worker = FegApplication::getActiveWorker();
     $visit = FegApplication::getVisit();
     $response = DevblocksPlatform::getHttpResponse();
     $translate = DevblocksPlatform::getTranslationService();
     $url = DevblocksPlatform::getUrlService();
     $stack = $response->path;
     @array_shift($stack);
     // customer
     @($customer_id = array_shift($stack));
     @($customer = DAO_CustomerAccount::get($customer_id));
     if (empty($customer)) {
         echo "<H1>" . $translate->_('customer.display.invalid_customer') . "</H1>";
         return;
     }
     $tpl->assign('customer_id', $customer_id);
     // Tabs
     $tab_manifests = DevblocksPlatform::getExtensions('feg.customer.tab', false);
     $tpl->assign('tab_manifests', $tab_manifests);
     @($tab_selected = array_shift($stack));
     if (empty($tab_selected)) {
         $tab_selected = 'property';
     }
     $tpl->assign('tab_selected', $tab_selected);
     switch ($tab_selected) {
         case 'property':
             @($tab_parm = array_shift($stack));
             break;
     }
     // ====== Who's Online
     $whos_online = DAO_Worker::getAllOnline();
     if (!empty($whos_online)) {
         $tpl->assign('whos_online', $whos_online);
         $tpl->assign('whos_online_count', count($whos_online));
     }
     $tpl->display('file:' . $this->_TPL_PATH . 'customer/index.tpl');
 }
Beispiel #4
0
 function showOverviewTabAction()
 {
     $tpl = DevblocksPlatform::getTemplateService();
     $tpl->assign('path', $this->_TPL_PATH);
     $db = DevblocksPlatform::getDatabaseService();
     $visit = CerberusApplication::getVisit();
     $translate = DevblocksPlatform::getTranslationService();
     // Remember the tab
     $visit->set(CerberusVisit::KEY_MAIL_MODE, 'overview');
     $views = array();
     // Request path
     @($request = DevblocksPlatform::importGPC($_REQUEST['request'], 'string', ''));
     $response_path = explode('/', $request);
     @array_shift($response_path);
     // tickets
     @($controller = array_shift($response_path));
     // overview
     // Make sure the global URL was for us
     if (0 != strcasecmp('overview', $controller)) {
         $response_path = null;
     }
     $workers = DAO_Worker::getAll();
     $tpl->assign('workers', $workers);
     $active_worker = CerberusApplication::getActiveWorker();
     $groups = DAO_Group::getAll();
     $tpl->assign('groups', $groups);
     $group_buckets = DAO_Bucket::getTeams();
     $tpl->assign('group_buckets', $group_buckets);
     $workers = DAO_Worker::getAll();
     $tpl->assign('workers', $workers);
     $memberships = $active_worker->getMemberships();
     // Totals
     $group_counts = DAO_Overview::getGroupTotals();
     $tpl->assign('group_counts', $group_counts);
     $waiting_counts = DAO_Overview::getWaitingTotals();
     $tpl->assign('waiting_counts', $waiting_counts);
     $worker_counts = DAO_Overview::getWorkerTotals();
     $tpl->assign('worker_counts', $worker_counts);
     // All Open
     $defaults = new C4_AbstractViewModel();
     $defaults->class_name = 'C4_TicketView';
     $defaults->id = CerberusApplication::VIEW_OVERVIEW_ALL;
     $defaults->name = $translate->_('mail.overview.all_groups');
     $defaults->view_columns = array(SearchFields_Ticket::TICKET_LAST_ACTION_CODE, SearchFields_Ticket::TICKET_UPDATED_DATE, SearchFields_Ticket::TICKET_TEAM_ID, SearchFields_Ticket::TICKET_CATEGORY_ID, SearchFields_Ticket::TICKET_NEXT_WORKER_ID);
     $defaults->renderLimit = 10;
     $defaults->renderSortBy = SearchFields_Ticket::TICKET_UPDATED_DATE;
     $defaults->renderSortAsc = 0;
     $title = $translate->_('mail.overview.all_groups');
     $overView = C4_AbstractViewLoader::getView(CerberusApplication::VIEW_OVERVIEW_ALL, $defaults);
     $overView->renderPage = 0;
     // Filter persistence
     if (empty($response_path)) {
         @($response_path = explode('/', $visit->get(CerberusVisit::KEY_OVERVIEW_FILTER, 'all')));
     } else {
         // View Filter
         $visit->set(CerberusVisit::KEY_OVERVIEW_FILTER, implode('/', $response_path));
     }
     @($filter = array_shift($response_path));
     switch ($filter) {
         case 'group':
             @($filter_group_id = array_shift($response_path));
             $overView->params = array(SearchFields_Ticket::TICKET_CLOSED => new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_CLOSED, '=', CerberusTicketStatus::OPEN), SearchFields_Ticket::TICKET_WAITING => new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_WAITING, '=', 0));
             if (!is_null($filter_group_id) && isset($groups[$filter_group_id])) {
                 $tpl->assign('filter_group_id', $filter_group_id);
                 $title = $groups[$filter_group_id]->name;
                 $overView->params[SearchFields_Ticket::TICKET_TEAM_ID] = new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_TEAM_ID, '=', $filter_group_id);
                 @($filter_bucket_id = array_shift($response_path));
                 if (!is_null($filter_bucket_id)) {
                     $tpl->assign('filter_bucket_id', $filter_bucket_id);
                     @($title .= ': ' . ($filter_bucket_id == 0 ? $translate->_('common.inbox') : $group_buckets[$filter_group_id][$filter_bucket_id]->name));
                     $overView->params[SearchFields_Ticket::TICKET_CATEGORY_ID] = new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_CATEGORY_ID, '=', $filter_bucket_id);
                 }
             }
             break;
         case 'waiting':
             @($filter_group_id = array_shift($response_path));
             $overView->params = array(SearchFields_Ticket::TICKET_CLOSED => new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_CLOSED, '=', CerberusTicketStatus::OPEN), SearchFields_Ticket::TICKET_WAITING => new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_WAITING, '=', 1));
             if (!is_null($filter_group_id) && isset($groups[$filter_group_id])) {
                 $tpl->assign('filter_group_id', $filter_group_id);
                 $title = vsprintf($translate->_('mail.overview.waiting.title'), $groups[$filter_group_id]->name);
                 $overView->params[SearchFields_Ticket::TICKET_TEAM_ID] = new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_TEAM_ID, '=', $filter_group_id);
             }
             break;
         case 'worker':
             @($filter_worker_id = array_shift($response_path));
             $overView->params = array(SearchFields_Ticket::TICKET_CLOSED => new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_CLOSED, '=', CerberusTicketStatus::OPEN), SearchFields_Ticket::TICKET_WAITING => new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_WAITING, '=', 0), $overView->params[SearchFields_Ticket::TICKET_TEAM_ID] = new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_TEAM_ID, 'in', array_keys($memberships)));
             if (!is_null($filter_worker_id)) {
                 $title = vsprintf($translate->_('mail.overview.assigned.title'), $workers[$filter_worker_id]->getName());
                 $overView->params[SearchFields_Ticket::TICKET_NEXT_WORKER_ID] = new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_NEXT_WORKER_ID, '=', $filter_worker_id);
                 @($filter_group_id = array_shift($response_path));
                 if (!is_null($filter_group_id) && isset($groups[$filter_group_id])) {
                     $overView->params[SearchFields_Ticket::TICKET_TEAM_ID] = new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_TEAM_ID, '=', $filter_group_id);
                 }
             }
             break;
         case 'all':
         default:
             $overView->params = array(SearchFields_Ticket::TICKET_CLOSED => new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_CLOSED, '=', CerberusTicketStatus::OPEN), SearchFields_Ticket::TICKET_WAITING => new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_WAITING, '=', 0), SearchFields_Ticket::TICKET_TEAM_ID => new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_TEAM_ID, 'in', array_keys($memberships)));
             break;
     }
     $overView->name = $title;
     C4_AbstractViewLoader::setView($overView->id, $overView);
     $views[] = $overView;
     $tpl->assign('views', $views);
     // Log activity
     DAO_Worker::logActivity($active_worker->id, new Model_Activity('activity.mail.overview', array('<i>' . $overView->name . '</i>')));
     // ====== Who's Online
     $whos_online = DAO_Worker::getAllOnline();
     if (!empty($whos_online)) {
         $tpl->assign('whos_online', $whos_online);
         $tpl->assign('whos_online_count', count($whos_online));
     }
     $tpl->display('file:' . $this->_TPL_PATH . 'tickets/overview/index.tpl');
 }