Пример #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;
 }
Пример #2
0
 /**
  *
  * @param string $name
  * @param array $fields
  * @param Zend_Paginator_Instance $paginator
  * @param array $extracolumn
  * @param Bool  $sorting
  *
  * @return string
  */
 public function generateGrid($dataArray, $paginator, $extracolumn = array(), $sorting = false, $formgrid = 'false', $addaction = '', $menuName = '', $addpermission, $sortStr = '', $actnArr)
 {
     $view_link = isset($dataArray['view_link']) ? $dataArray['view_link'] : "";
     $name = isset($dataArray['objectname']) ? $dataArray['objectname'] : "";
     $by = isset($dataArray['by']) ? $dataArray['by'] : "";
     $search_filters = isset($dataArray['search_filters']) ? $dataArray['search_filters'] : array();
     $fields = isset($dataArray['tableheader']) ? $dataArray['tableheader'] : array();
     $searchArray = isset($dataArray['searchArray']) ? $dataArray['searchArray'] : array();
     $jsGridFnname = isset($dataArray['jsGridFnName']) ? $dataArray['jsGridFnName'] : "";
     $perPage = isset($dataArray['perPage']) ? $dataArray['perPage'] : "20";
     $page = isset($dataArray['pageNo']) ? $dataArray['pageNo'] : "1";
     $call = isset($dataArray['call']) ? $dataArray['call'] : "";
     $dashboardCall = isset($dataArray['dashboardcall']) ? $dataArray['dashboardcall'] : "No";
     $sortname = isset($dataArray['sort']) ? $dataArray['sort'] : "";
     $grid_type = isset($dataArray['grid_type']) ? $dataArray['grid_type'] : "";
     $status_value = isset($dataArray['status_value']) ? $dataArray['status_value'] : "";
     $add_link = isset($dataArray['add_link']) ? $dataArray['add_link'] : "";
     $sd_req_model = new Default_Model_Servicerequests();
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $request = Zend_Controller_Front::getInstance();
     $params = $request->getRequest()->getParams();
     $dataclass = '';
     // Store Extra Columns
     $this->extra = $extracolumn;
     $sortIconStr = "";
     $sort = Zend_Controller_Front::getInstance()->getRequest()->getParam('sort', 'DESC');
     // checking and handling sorting.
     if ($sort == "") {
         $sortIconStr = "<span class='s-ico'>\r\n\t\t\t<span class='ui-icon-desc ui-state-disabled ui-icon ui-icon-triangle-1-n'></span>\r\n\t\t\t<span class='ui-icon-asc ui-state-disabled ui-icon ui-icon-triangle-1-s'></span></span>";
     } else {
         if ($sort == 'ASC') {
             $sort = 'DESC';
             //For Sort Icons....
             $sortIconStr = "<span class='s-ico'>\r\n\t\t\t<span class='ui-icon-desc ui-icon ui-icon-triangle-1-n'></span>\r\n\t\t\t</span>";
         } else {
             $sort = 'ASC';
             //For Sort Icons....
             $sortIconStr = "<span class='s-ico'>\r\n\t\t\t<span class='ui-icon-asc  ui-icon ui-icon-triangle-1-s'></span></span>";
         }
     }
     if ($call != "ajaxcall") {
         $sortIconStr = "";
     }
     if ($addaction != '') {
         $action = $addaction;
     }
     $con = '';
     $output = "<div class='table-header'><span>" . $menuName . "</span>";
     if ($addaction != '') {
         $output .= "<div class='add-btn-div'>";
         if ($add_link != '') {
             $output .= "<input type='button' title = 'Raise a Request' onclick='window.location.href=\"" . $add_link . "\"' value='Raise a Request' class='sprite addrequest' />";
         } else {
             $output .= "<input type='button' title = 'Raise a Request' onclick='window.location.href=\"" . DOMAIN . $name . '/' . $action . "\"' value='Raise a Request' class='sprite addrequest' />";
         }
         $output .= "</div>";
     }
     $output .= "</div>";
     if ($addpermission == 'false') {
         $output = "<div class='table-header'><span>" . $menuName . "</span></div>";
     }
     $output .= "<div id='" . $name . "' class='details_data_display_block newtablegrid'>";
     $output .= "<table class='grid' align='center'  width='100%' cellspacing='0' cellpadding='4' border='0'><thead><tr>";
     // this foreach loop display the column header  in �th� tag.
     $colinr = 0;
     if (!empty($fields)) {
         $tabindx = 0;
         if (empty($actnArr)) {
             unset($fields['action']);
         }
         foreach ($fields as $key => $value) {
             if (isset($value['align'])) {
                 $align = $value['align'] != '' ? 'align="' . $value['align'] . '" ' : '';
             }
             if (isset($value['sortkey'])) {
                 $sortkey = $value['sortkey'] != '' ? 'align="' . $value['sortkey'] . '" ' : '';
             }
             if (isset($value['style'])) {
                 $style = $value['style'] != '' ? 'style="' . $value['style'] . '" ' : '';
             }
             $value = is_array($value) && !isset($value['sortkey']) ? $value['value'] : $value;
             if ($value == 'Action') {
                 $width = 'width=90';
             } else {
                 $width = '';
             }
             $output .= "<th " . $width . ">";
             // Check if Sorting is set to True
             if ($sorting) {
                 // Disable Sorting if Key is in Extra Columns
                 if (@$this->extra[$key]['name'] != '' && !is_array($value)) {
                     if ($value == "Action") {
                         $output .= "<span class='action-text'>Action</span>";
                     } else {
                         $output .= $value;
                     }
                 } else {
                     if (is_array($value)) {
                         $key = $value['sortkey'];
                         $value = $value['value'];
                     }
                     $welcome = 'false';
                     $urlString = $_SERVER['REQUEST_URI'];
                     if (strpos($urlString, 'welcome') !== false) {
                         $welcome = 'true';
                     }
                     if ($formgrid == 'true') {
                         $output .= "<a href='javascript:void(0);' onclick=javascript:paginationndsorting('" . DOMAIN . $name . "/index/sort/" . $sort . "/by/" . $key . "/objname/" . $name . "/page/" . $page . "/per_page/" . $perPage . "/call/ajaxcall/{$con}/');>" . $value . "</a>";
                         //For Sort Icons....
                         if ($key == $sortStr) {
                             $output .= $sortIconStr;
                         }
                     } else {
                         if ($welcome == 'true') {
                             $output .= "<a href='javascript:void(0);' onclick=javascript:paginationndsorting('" . DOMAIN . $name . "/index/sort/" . $sort . "/by/" . $key . "/objname/" . $name . "/page/" . $page . "/per_page/" . $perPage . "/call/ajaxcall/{$con}/');>" . $value . "</a>";
                             //For Sort Icons....
                             if ($key == $sortStr) {
                                 $output .= $sortIconStr;
                             }
                         } else {
                             $output .= "<a href='javascript:void(0);' onclick=javascript:paginationndsorting('" . $this->view->url(array('sort' => $sort, 'by' => $key, 'objname' => $name, 'page' => $page, 'per_page' => $perPage)) . "');>" . $value . "</a>";
                             //For Sort Icons....
                             if ($key == $sortStr) {
                                 $output .= $sortIconStr;
                             }
                         }
                     }
                 }
             } else {
                 //For Sort Icons....
                 if ($key == $sortStr) {
                     $output .= $sortIconStr;
                 }
                 $output .= $value;
             }
             $output .= "</th>";
             $colinr++;
             $tabindx++;
         }
         //end of for each loop
         $output .= "</tr><tr id='search_tr_{$name}'>";
         $tabindx = 0;
         foreach ($fields as $key => $value) {
             if (isset($value['align'])) {
                 $align = @$value['align'] != '' ? 'align="' . $value['align'] . '" ' : '';
             }
             if (isset($value['sortkey'])) {
                 $sortkey = @$value['sortkey'] != '' ? 'align="' . $value['sortkey'] . '" ' : '';
             }
             if (isset($value['style'])) {
                 $style = @$value['style'] != '' ? 'style="' . $value['style'] . '" ' : '';
             }
             $value = is_array($value) && !isset($value['sortkey']) ? $value['value'] : $value;
             if ($value == 'Action') {
                 $width = 'width=90';
             } else {
                 $width = '';
             }
             $output .= "<th " . $width . ">";
             // Check if Sorting is set to True
             if ($sorting) {
                 // Disable Sorting if Key is in Extra Columns
                 if (@$this->extra[$key]['name'] != '' && !is_array($value)) {
                     if ($value == "Action") {
                         $output .= "<span class='action-text'></span>";
                     } else {
                         $output .= $value;
                     }
                 } else {
                     if (is_array($value)) {
                         $key = $value['sortkey'];
                         $value = $value['value'];
                     }
                     $welcome = 'false';
                     $urlString = $_SERVER['REQUEST_URI'];
                     if ($key != 'id') {
                         $sText = '';
                         if (!empty($searchArray)) {
                             $display = 'display: block;';
                         } else {
                             $display = 'display: none;';
                         }
                         if (is_array($searchArray)) {
                             if (array_key_exists($key, $searchArray)) {
                                 $sText = $searchArray[$key];
                             } else {
                                 $sText = '';
                             }
                         }
                         if (isset($search_filters[$key])) {
                             $search_function = 'getsearchdata("' . $name . '","",this.id,event';
                             $output .= sapp_Global::grid_data($search_filters, $key, $name, $display, $sText, $tabindx, $search_function);
                         } else {
                             $output .= "<input tabIndex={$tabindx} type='text' name='{$name}' id='{$key}' style='{$display}' class='searchtxtbox_{$name} table_inputs grid_search_inputs' value='{$sText}' onkeydown='getsearchdata(\"{$name}\",\"\",this.id,event,\"text\")' />";
                         }
                     }
                 }
             } else {
                 //For Sort Icons....
                 if ($key == $sortStr) {
                     $output .= $sortIconStr;
                 }
                 $output .= $value;
             }
             $output .= "</th>";
             $colinr++;
             $tabindx++;
         }
         //end of for each loop
     }
     if ($grid_type != '') {
         $output .= "<input type='hidden' id='service_grid' value='" . sapp_Global::_encrypt($grid_type) . "' />";
     }
     if ($status_value != '') {
         $output .= "<input type='hidden' id='service_grid_status' value='" . sapp_Global::_encrypt($status_value) . "' />";
     }
     $output .= "</tr></thead>";
     $output .= "<tbody>";
     // Start Looping Data
     $ii = 0;
     foreach ($paginator as $p) {
         $cell_color = $ii % 2 == 0 ? "row1" : "row2";
         $ii++;
         $bodyCount = 0;
         //$output.="<tr onclick='window.location=\"" . $this->_parseString($view_link, $p) . "\"' class='$cell_color cursor'>";
         $output .= "<tr class='{$cell_color} '>";
         // Reset Fields Array to Top
         if (!empty($fields)) {
             reset($fields);
             foreach ($fields as $k => $v) {
                 $tdclass = '';
                 // Look for additional attributes
                 $characterlimit = 40;
                 if (is_array($v)) {
                     $class = @$v['class'] != '' ? 'class="' . $v['class'] . '" ' : '';
                     $align = @$v['align'] != '' ? 'align="' . $v['align'] . '" ' : '';
                     $valign = @$v['valign'] != '' ? 'valign="' . $v['valign'] . '" ' : '';
                     if (isset($v['characterlimit'])) {
                         $characterlimit = $v['characterlimit'];
                     }
                     $output .= "<td {$tdclass}{$align}{$valign}>";
                 } else {
                     if ($k == 'description' && $menuName == 'Screening Types') {
                         $characterlimit = 80;
                     }
                     $output .= "<td {$tdclass}>";
                 }
                 // Check to see if this Field is in Extra Columns
                 if (isset($this->extra[$k]['value'])) {
                     $output .= $this->_parseExtra($k, $p);
                 } else {
                     $valToInclude = strlen(trim($p[$k])) > $characterlimit ? substr(trim($p[$k]), 0, $characterlimit) . ".." : trim($p[$k]);
                     if ($k == 'executor_id') {
                         if (!empty($valToInclude)) {
                             #$output .= "<span " . $dataclass . " title='" . htmlentities(trim($p[$k]), ENT_QUOTES, "UTF-8") . "' ><a onclick='displaydeptform(\'' . DOMAIN . $name . '/assignservicerequestpopup/id/{{id}}') name='{{id}}'>Allocate Executor</a></span>";
                             $isAdmin = $sd_req_model->IsAdminForServiceTicket($loginUserId, $p["ticket_number"]);
                             if ($isAdmin == "1") {
                                 $output .= "<span " . $dataclass . " title='" . htmlentities(trim($p[$k]), ENT_QUOTES, "UTF-8") . "' ><a href='" . DOMAIN . $name . '/assignservicerequestpopup/id/' . $p["id"] . "' target='_blank'>" . ($valToInclude == -1 ? "Allocate" : "Reallocate") . " Executor</a></span>";
                             }
                         }
                     } else {
                         if ($k == 'ticket_number') {
                             if (!empty($valToInclude)) {
                                 $temp_ticketnumber = "<span " . $dataclass . " title='" . htmlentities(trim($p[$k]), ENT_QUOTES, "UTF-8") . "' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</span>";
                                 $output .= "<span " . $dataclass . " title='" . htmlentities(trim($p[$k]), ENT_QUOTES, "UTF-8") . "' ><a href='" . $this->_parseString($view_link, $p) . "'>" . $temp_ticketnumber . "</a></span>";
                             }
                         } else {
                             $p = (array) $p;
                             if (isset($p[$k])) {
                                 $output .= "<span " . $dataclass . " title='" . htmlentities(trim($p[$k]), ENT_QUOTES, "UTF-8") . "' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</span>";
                             }
                             // Customize grid fields data - END
                         }
                     }
                 }
                 $dataclass = '';
                 $output .= "</td>";
                 $bodyCount++;
             }
         }
         // Close the Table Row
         $output .= "</tr>";
     }
     if ($ii == 0) {
         $output .= "<tr><td colspan='{$colinr}' class='no-data-td'><p class='no-data'>No data found</p></td></tr>";
     }
     $output .= "</tbody>";
     $output .= "</table>\r\n                    <script type='text/javascript' language='javascript'>\r\n                    \$(document).ready(function(){                                                                        \r\n                        if(\$('.searchtxtbox_" . $name . "').is(':visible'))\r\n                        {                                        \r\n                            \$('#search_tr_" . $name . "').show();\t\r\n                        }\r\n                        else                                         \r\n                            \$('#search_tr_" . $name . "').hide();\t\r\n                    });\r\n                </script>    \r\n                </div>";
     // Attach Pagination
     if ($paginator) {
         $params = array();
         $params['jsGridFnName'] = $jsGridFnname;
         $params['perPage'] = $perPage;
         $params['objname'] = $name;
         $params['searchArray'] = $searchArray;
         $params['formgrid'] = $formgrid;
         $params['con'] = $con;
         $params['dashboardcall'] = $dashboardCall;
         $params['sortname'] = $sortname;
         $params['by'] = $by;
         $output .= $this->view->paginationControl($paginator, 'Sliding', 'partials/pagination.phtml', $params);
     }
     $output .= "<script type='text/javascript' language='javascript'>\$('#{$name}').slimScrollHorizontal({\r\n\t\t\t\t\t\t\t\t\t  alwaysVisible: false,\r\n\t\t\t\t\t\t\t\t\t  start: 'left',\r\n\t\t\t\t\t\t\t\t\t  position: 'bottom',\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t}).css({ background: '#ccc', paddingBottom: '10px' }); </script>";
     $output .= "<script type='text/javascript' language='javascript'>\r\n\t\t\t\t\t\tvar id = \$('#columnId').val();\r\n\t\t\t\t\t\tvar coldata = \$('#'+id).val();\r\n\t\t\t\t\t\tvar focusID = \$('#columnId').val();\r\n                                                var fval = \$('#'+focusID).attr('data-focus');\r\n                                                if(fval == '' || fval == null)\r\n\t\t\t\t\t\t\$('#'+focusID).focus().val('').val(coldata);\r\n                                                \r\n\t\t\t\t\t</script>";
     return $output;
 }
 /**
  * 
  */
 public function interviewcalendarAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $repModel = new Default_Model_Servicerequests();
     $InterviewCalendarDetails = $repModel->getInterviewCalendarDetails($loginUserId, $loginuserRole, $loginuserGroup);
     $eventData = "";
     foreach ($InterviewCalendarDetails as $ts) {
         $txt = sprintf("{\n                                title: '%s',\n                                start: '%s',\n                                end: '%s'\n                                }", $ts['candidate_name'], $ts['StartTime'], $ts['EndTime']);
         if (strlen(trim($eventData)) <= 0) {
             $eventData = $txt;
         } else {
             $eventData = $eventData . "," . $txt;
         }
     }
     /* $eventData = "{
        title: 'Meeting-1',
        start: '2015-05-12 10:30:00',
        end: '2015-05-12 12:30:00'
        },
        {
        title: 'Meeting-2',
        start: '2015-05-12T18:00:00',
        end: '2015-05-12T18:30:00'
        },
        {
        title: 'Meeting-3',
        start: '2015-05-12T13:30:00',
        end: '2015-05-12T14:30:00'
        }
        ,{
        title: 'Meeting-4',
        start: '2015-05-12T10:30:00',
        end: '2015-05-12T12:00:00'
        }"; */
     if ($this->getRequest()->getPost()) {
     }
     $this->view->eventData = $eventData;
 }
 /**
  * 
  */
 public function changestatusAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $id = $this->_request->getParam('objid');
     $status = $this->_getParam('status', null);
     $grid_type = $this->_getParam('grid_type', null);
     $messages['message'] = '';
     $messages['msgtype'] = '';
     $actionflag = 3;
     if ($id != '') {
         $sd_req_model = new Default_Model_Servicerequests();
         $grid_type_arr = $sd_req_model->getGridtypearr_rev();
         $display_status = array('Cancelled' => 'cancelled', 'To manager approve' => ' sent for manager approve ', 'To management approve' => ' sent for approve', 'Closed' => 'closed');
         $data = array('status' => $status, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId);
         if ($status != 'Cancelled') {
             $data['executor_id'] = $loginUserId;
         }
         if ($status == 'To manager approve') {
             $reporting_manager = $sd_req_model->getReptId($id);
             if ($reporting_manager != '') {
                 $data['reporting_manager_id'] = $reporting_manager;
             }
             if ($reporting_manager != "" && $reporting_manager == $loginUserId) {
                 $messages['message'] = 'Service desk request cannot be sent for manager approve.';
                 $messages['msgtype'] = 'error';
                 $messages['flagtype'] = 'dont_redirect';
                 $messages['grid_type'] = sapp_Global::_encrypt($grid_type_arr[$grid_type]);
                 $this->_helper->json($messages);
             }
         } else {
             if ($status == 'To management approve') {
                 $approver_arr = $sd_req_model->getApprovers($id, 'request');
                 $data = $data + $approver_arr;
             }
         }
         $where = array('id=?' => $id);
         $trDb = Zend_Db_Table::getDefaultAdapter();
         // starting transaction
         $trDb->beginTransaction();
         try {
             $Id = $sd_req_model->SaveorUpdateRequestData($data, $where);
             if ($Id == 'update') {
                 $result = sapp_Global::logManager(SERVICEDESKREQUEST, $actionflag, $loginUserId, $id);
                 if ($status != 'Cancelled') {
                     $this->send_req_mails($id);
                 }
                 $messages['message'] = 'Service desk request ' . $display_status[$status] . ' successfully.';
                 $messages['msgtype'] = 'success';
                 $messages['flagtype'] = 'sd_request';
                 $messages['grid_type'] = sapp_Global::_encrypt($grid_type_arr[$grid_type]);
             } else {
                 $messages['message'] = 'Service desk request cannot be ' . $display_status[$status] . '.';
                 $messages['msgtype'] = 'error';
                 $messages['flagtype'] = 'sd_request';
                 $messages['grid_type'] = sapp_Global::_encrypt($grid_type_arr[$grid_type]);
             }
             $trDb->commit();
         } catch (Exception $e) {
             $trDb->rollBack();
             $messages['message'] = 'Service desk request cannot be ' . $display_status[$status] . '.';
             $messages['msgtype'] = 'error';
             $messages['flagtype'] = 'sd_request';
             $messages['grid_type'] = sapp_Global::_encrypt($grid_type_arr[$grid_type]);
         }
     } else {
         $messages['message'] = 'Service desk request cannot be ' . $display_status[$status] . '.';
         $messages['msgtype'] = 'error';
         $messages['flagtype'] = 'sd_request';
         $messages['grid_type'] = sapp_Global::_encrypt($grid_type_arr[$grid_type]);
     }
     $this->_helper->json($messages);
 }