Пример #1
0
 /**
  * This function is helper function to service_header to handle my action summary.
  * @param integer $login_id  = id of login user
  * @param string $context    = tells which type of call
  * @param string $call       = from where function is calling
  * @return string HTML content
  */
 public static function sd_req_summary($login_id, $context, $call)
 {
     $sd_req_model = new Default_Model_Servicerequests();
     $action_counts = array();
     $url_arr = array();
     $html = "";
     if ($context == 'receiver') {
         $action_counts = $sd_req_model->getRequestsCnt($login_id, 'receiver');
         $grid_type = 2;
         $mapp_cnt = isset($action_counts['Manager approved']) ? $action_counts['Manager approved'] : 0;
         $app_cnt = isset($action_counts['Management approved']) ? $action_counts['Management approved'] : 0;
         $rmapp_cnt = isset($action_counts['Manager rejected']) ? $action_counts['Manager rejected'] : 0;
         $rapp_cnt = isset($action_counts['Management rejected']) ? $action_counts['Management rejected'] : 0;
         $wmapp_cnt = isset($action_counts['To manager approve']) ? $action_counts['To manager approve'] : 0;
         $wapp_cnt = isset($action_counts['To management approve']) ? $action_counts['To management approve'] : 0;
         $pending_cnt = $mapp_cnt + $app_cnt + $rmapp_cnt + $rapp_cnt;
         $waiting_cnt = $wapp_cnt + $wmapp_cnt;
         $url_arr['All'] = array('url' => self::sd_url_builder($grid_type, ''), 'count' => isset($action_counts['all']) ? $action_counts['all'] : 0);
         $url_arr['Open'] = array('url' => self::sd_url_builder($grid_type, '1'), 'count' => isset($action_counts['Open']) ? $action_counts['Open'] : 0);
         $url_arr['Pending'] = array('url' => self::sd_url_builder($grid_type, '8'), 'count' => $pending_cnt);
         $url_arr['Closed'] = array('url' => self::sd_url_builder($grid_type, '2'), 'count' => isset($action_counts['Closed']) ? $action_counts['Closed'] : 0);
         $url_arr['Rejected'] = array('url' => self::sd_url_builder($grid_type, '16'), 'count' => isset($action_counts['Rejected']) ? $action_counts['Rejected'] : 0);
         $url_arr['Cancelled'] = array('url' => self::sd_url_builder($grid_type, '3'), 'count' => isset($action_counts['Cancelled']) ? $action_counts['Cancelled'] : 0);
         $url_arr['Due today'] = array('url' => self::sd_url_builder($grid_type, '5'), 'count' => isset($action_counts['duetoday']) ? $action_counts['duetoday'] : 0);
         $url_arr['Overdue'] = array('url' => self::sd_url_builder($grid_type, '4'), 'count' => isset($action_counts['overdue']) ? $action_counts['overdue'] : 0);
         $url_arr['Sent for approval'] = array('url' => self::sd_url_builder($grid_type, '9'), 'count' => $waiting_cnt);
     } else {
         if ($context == 'reporting') {
             $grid_type = 4;
             $action_counts = $sd_req_model->getRequestsCnt($login_id, 'reporting');
             $app_count = isset($action_counts['Manager approved']) ? $action_counts['Manager approved'] : 0;
             $reject_cnt = isset($action_counts['Manager rejected']) ? $action_counts['Manager rejected'] : 0;
             $rp_rj_cnt = isset($action_counts['Rejected']) ? $action_counts['Rejected'] : 0;
             $rp_cl_cnt = isset($action_counts['Closed']) ? $action_counts['Closed'] : 0;
             $cl_rj_cnt = $rp_cl_cnt + $rp_rj_cnt;
             $url_arr['All'] = array('url' => self::sd_url_builder($grid_type, ''), 'count' => isset($action_counts['all']) ? $action_counts['all'] : 0);
             $url_arr['To approve'] = array('url' => self::sd_url_builder($grid_type, '13'), 'count' => isset($action_counts['To manager approve']) ? $action_counts['To manager approve'] : 0);
             $url_arr['Approved'] = array('url' => self::sd_url_builder($grid_type, '18'), 'count' => $app_count);
             $url_arr['Rejected'] = array('url' => self::sd_url_builder($grid_type, '19'), 'count' => $reject_cnt);
             $url_arr['Closed/Rejected'] = array('url' => self::sd_url_builder($grid_type, '22'), 'count' => $cl_rj_cnt);
         } else {
             if ($context == 'rept_app') {
                 $grid_type = 8;
                 $action_counts = $sd_req_model->getRequestsCnt($login_id, 'rept_app');
                 $mapp_cnt = isset($action_counts['Manager approved']) ? $action_counts['Manager approved'] : 0;
                 $app_cnt = isset($action_counts['Management approved']) ? $action_counts['Management approved'] : 0;
                 $mrej_cnt = isset($action_counts['Manager rejected']) ? $action_counts['Manager rejected'] : 0;
                 $rej_cnt = isset($action_counts['Management rejected']) ? $action_counts['Management rejected'] : 0;
                 $wmapp_cnt = isset($action_counts['To manager approve']) ? $action_counts['To manager approve'] : 0;
                 $wapp_cnt = isset($action_counts['To management approve']) ? $action_counts['To management approve'] : 0;
                 $close_cnt = isset($action_counts['Closed']) ? $action_counts['Closed'] : 0;
                 $reject_cnt = isset($action_counts['Rejected']) ? $action_counts['Rejected'] : 0;
                 $approved_cnt = $mapp_cnt + $app_cnt;
                 $tot_reject_cnt = $mrej_cnt + $rej_cnt;
                 $waiting_cnt = $wapp_cnt + $wmapp_cnt;
                 $tot_close_cnt = $reject_cnt + $close_cnt;
                 $url_arr['All'] = array('url' => self::sd_url_builder($grid_type, ''), 'count' => isset($action_counts['all']) ? $action_counts['all'] : 0);
                 $url_arr['To approve'] = array('url' => self::sd_url_builder($grid_type, '6'), 'count' => $waiting_cnt);
                 $url_arr['Approved'] = array('url' => self::sd_url_builder($grid_type, '20'), 'count' => $approved_cnt);
                 $url_arr['Rejected'] = array('url' => self::sd_url_builder($grid_type, '21'), 'count' => $tot_reject_cnt);
                 $url_arr['Closed/Rejected'] = array('url' => self::sd_url_builder($grid_type, '22'), 'count' => $tot_close_cnt);
             } else {
                 if ($context == 'approver') {
                     $grid_type = 5;
                     $action_counts = $sd_req_model->getRequestsCnt($login_id, 'approver');
                     $app_cnt = isset($action_counts['Management approved']) ? $action_counts['Management approved'] : 0;
                     $rej_cnt = isset($action_counts['Management rejected']) ? $action_counts['Management rejected'] : 0;
                     $wapp_cnt = isset($action_counts['To management approve']) ? $action_counts['To management approve'] : 0;
                     $close_cnt = isset($action_counts['Closed']) ? $action_counts['Closed'] : 0;
                     $reject_cnt = isset($action_counts['Rejected']) ? $action_counts['Rejected'] : 0;
                     $tot_close_cnt = $reject_cnt + $close_cnt;
                     $url_arr['All'] = array('url' => self::sd_url_builder($grid_type, ''), 'count' => isset($action_counts['all']) ? $action_counts['all'] : 0);
                     $url_arr['To approve'] = array('url' => self::sd_url_builder($grid_type, '23'), 'count' => $wapp_cnt);
                     $url_arr['Approved'] = array('url' => self::sd_url_builder($grid_type, '24'), 'count' => $app_cnt);
                     $url_arr['Rejected'] = array('url' => self::sd_url_builder($grid_type, '25'), 'count' => $rej_cnt);
                     $url_arr['Closed/Rejected'] = array('url' => self::sd_url_builder($grid_type, '22'), 'count' => $tot_close_cnt);
                 } else {
                     if ($context == 'rec_rept') {
                         $grid_type = 6;
                         $action_counts = $sd_req_model->getRequestsCnt($login_id, 'rec_rept');
                         $mapp_cnt = isset($action_counts['Manager approved']) ? $action_counts['Manager approved'] : 0;
                         $app_cnt = isset($action_counts['Management approved']) ? $action_counts['Management approved'] : 0;
                         $rmapp_cnt = isset($action_counts['Manager rejected']) ? $action_counts['Manager rejected'] : 0;
                         $rapp_cnt = isset($action_counts['Management rejected']) ? $action_counts['Management rejected'] : 0;
                         $wmapp_cnt = isset($action_counts['To manager approve']) ? $action_counts['To manager approve'] : 0;
                         $wapp_cnt = isset($action_counts['To management approve']) ? $action_counts['To management approve'] : 0;
                         $mrejected_cnt = isset($action_counts['mrejected']) ? $action_counts['mrejected'] : 0;
                         $mclosed_cnt = isset($action_counts['mclosed']) ? $action_counts['mclosed'] : 0;
                         $pending_cnt = $mapp_cnt + $app_cnt + $rmapp_cnt + $rapp_cnt;
                         $waiting_cnt = $wapp_cnt + $wmapp_cnt;
                         $cl_rj_cnt = $mrejected_cnt + $mclosed_cnt;
                         $url_arr['All'] = array('url' => self::sd_url_builder($grid_type, ''), 'count' => isset($action_counts['all']) ? $action_counts['all'] : 0);
                         $url_arr['Open'] = array('url' => self::sd_url_builder($grid_type, '1'), 'count' => isset($action_counts['Open']) ? $action_counts['Open'] : 0);
                         $url_arr['Pending'] = array('url' => self::sd_url_builder($grid_type, '8'), 'count' => $pending_cnt);
                         $url_arr['Closed'] = array('url' => self::sd_url_builder($grid_type, '2'), 'count' => isset($action_counts['Closed']) ? $action_counts['Closed'] : 0);
                         $url_arr['Rejected'] = array('url' => self::sd_url_builder($grid_type, '16'), 'count' => isset($action_counts['Rejected']) ? $action_counts['Rejected'] : 0);
                         $url_arr['Cancelled'] = array('url' => self::sd_url_builder($grid_type, '3'), 'count' => isset($action_counts['Cancelled']) ? $action_counts['Cancelled'] : 0);
                         $url_arr['Due today'] = array('url' => self::sd_url_builder($grid_type, '5'), 'count' => isset($action_counts['duetoday']) ? $action_counts['duetoday'] : 0);
                         $url_arr['Overdue'] = array('url' => self::sd_url_builder($grid_type, '4'), 'count' => isset($action_counts['overdue']) ? $action_counts['overdue'] : 0);
                         $url_arr['Sent for approval'] = array('url' => self::sd_url_builder($grid_type, '9'), 'count' => $waiting_cnt);
                         $url_arr['As a reporting manager'] = array('url' => '', 'count' => 0);
                         $url_arr['To approve'] = array('url' => self::sd_url_builder($grid_type, '10'), 'count' => isset($action_counts['to_approve']) ? $action_counts['to_approve'] : 0);
                         $url_arr['Approved '] = array('url' => self::sd_url_builder($grid_type, '18'), 'count' => isset($action_counts['manager_approved']) ? $action_counts['manager_approved'] : 0);
                         $url_arr['Rejected '] = array('url' => self::sd_url_builder($grid_type, '19'), 'count' => isset($action_counts['manager_rejected']) ? $action_counts['manager_rejected'] : 0);
                         $url_arr['Closed/Rejected'] = array('url' => self::sd_url_builder($grid_type, '22'), 'count' => $cl_rj_cnt);
                     }
                 }
             }
         }
     }
     if (count($url_arr) > 0) {
         if ($call == 'helper') {
             $html .= '<div style="" class="side-menu div_mchilds_' . SERVICEDESK . ' selected_menu_class"><ul>';
         }
         $html .= '<li class="acc_li"><span><b>My action summary</b></span>';
         $html .= '  <ul>';
         foreach ($url_arr as $menu_name => $menu_arr) {
             if ($menu_arr['url'] != '') {
                 $html .= '    <li menu-url="' . $menu_arr['url'] . '" parent-div="div_mchilds_' . SERVICEDESK . '" super-parent="main_parent_' . SERVICEDESK . '"  class="clickable_menu"><a href="' . ($call == 'menusettings' ? "javascript:void(0);" : $menu_arr['url']) . '" ><i class="span_sermenu">' . $menu_name . '</i> <b class="super_cnt">' . $menu_arr['count'] . '</b></a></li>';
             } else {
                 $html .= '<span><b>' . $menu_name . '</b></span>';
             }
         }
         $html .= '  </ul>';
         $html .= '</li>';
         if ($call == 'helper') {
             $html .= '</ul></div>';
         }
     }
     return $html;
 }