Example #1
0
 /**
  * @overrides get() from RestResource
  */
 public function get()
 {
     if (parent::get() !== false) {
         $res = new Default_Model_Categories();
         if (is_numeric($this->getParam("id"))) {
             $res->filter->id->numequals($this->getParam("id"));
         } elseif (substr($this->getParam("id"), 0, 2) === "s:") {
             $res->filter->name->ilike(substr($this->getParam("id"), 2));
         } else {
             return false;
         }
         $res->refresh("xml", true);
         return new XMLFragmentRestResponse($res->items, $this);
     } else {
         return false;
     }
 }
 public function getCategory()
 {
     if ($this->_category === null) {
         $Categories = new Default_Model_Categories();
         $Categories->filter->id->equals($this->getCategoryID());
         if ($Categories->count() > 0) {
             $this->_category = $Categories->items[0];
         }
     }
     return $this->_category;
 }
Example #3
0
 /**
  ** Function to display Policy documents categories
  ** Based on privileges for View/Manage Policy documents, categories are listed as menu items
  ** 1. get categories created for policy documents
  ** 2. build menu with respective urls
  **/
 public static function viewPolicyDocuments($call)
 {
     /**
      * Instantiate categories model
      * to get categories and documents count for each category
      **/
     $categoriesModel = new Default_Model_Categories();
     $dataObj = $categoriesModel->getCategories('menu');
     $categoriesObj = $documentsObj = '';
     $documentsCntArr = array();
     if (!empty($dataObj)) {
         $categoriesObj = $dataObj['res'];
         $documentsObj = $dataObj['docs'];
         /** 
          ** looping through documents object
          ** to build an array with category_id as index and documents count as value
          **/
         if (!empty($documentsObj)) {
             for ($i = 0; $i < sizeof($documentsObj); $i++) {
                 $documentsCntArr[$documentsObj[$i]['category_id']] = $documentsObj[$i]['doccnt'];
             }
         }
     }
     $html = '';
     /**
      ** looping through categories object
      ** to build menu items under Organization > Policy documents
      ** with documents count for each category/menu item
      **/
     if (!empty($categoriesObj)) {
         $html .= '    <ul>';
         for ($c = 0; $c < sizeof($categoriesObj); $c++) {
             $catId = $categoriesObj[$c]['id'];
             $url = BASE_URL . 'policydocuments/id/' . $catId;
             $html .= '<li menu-url="' . $url . '" parent-div="div_mchilds_' . ORGANIZATION . '" super-parent="main_parent_' . ORGANIZATION . '" class="clickable_menu set_over_text" primary_parent="' . POLICY_DOCUMENTS . '"><a href="' . ($call == 'menusettings' ? "javascript:void(0);" : $url) . '"><i class="span_sermenu">' . $categoriesObj[$c]['category'] . '</i> ';
             if (isset($documentsCntArr[$catId]) && !empty($documentsCntArr[$catId])) {
                 $html .= '<b class="super_cnt">' . $documentsCntArr[$catId] . '</b></a></li>';
             } else {
                 $html .= '<b class="super_cnt">0</b></a></li>';
             }
         }
         $html .= '    </ul>';
     }
     return $html;
 }
 /**
  ** Function used to allow adding of multiple policy documents at a time
  **/
 public function addmultipleAction()
 {
     try {
         /**
          ** to display "Add Multiple Documents" link, check add privileges for the logged in user 
          **/
         $popConfigPermission = array();
         if (sapp_Global::_checkprivileges(MANAGE_POLICY_DOCS, $this->loggedInUserGroup, $this->loggedInUserRole, 'add') == 'Yes') {
             /**
              ** capturing referral URL, to redirect after adding policy document
              **/
             $redirectUrl = '';
             if (isset($_SERVER['HTTP_REFERER'])) {
                 $httpReferrer = $_SERVER['HTTP_REFERER'];
                 $redirectUrl = str_replace(BASE_URL, '', $httpReferrer);
                 if (strpos($redirectUrl, 'addmultiple') === false) {
                     $this->view->redirectUrl = $redirectUrl;
                 }
             }
             /** capture category id **/
             $category_id = $this->getRequest()->getParam('id');
             $category_id = (int) $category_id;
             /**
              ** if category id is available
              ** load the form
              ** else redirect to invalid url page
              **/
             if ($category_id) {
                 /**
                  ** Initiating category form
                  ** and assigning action
                  **/
                 $multipleDocsForm = new Default_Form_Policydocuments();
                 $this->view->form = $multipleDocsForm;
                 $multipleDocsForm->setAttrib('action', BASE_URL . 'policydocuments/addmultiple/' . $category_id);
                 /**
                  ** Get category by id
                  ** populate category in select control
                  **/
                 $categoriesModel = new Default_Model_Categories();
                 $categoriesObj = $categoriesModel->getCategoryById($category_id);
                 if (!empty($categoriesObj)) {
                     $multipleDocsForm->category_id->addMultiOption($categoriesObj['id'], utf8_encode($categoriesObj['category']));
                 }
                 $multipleDocsForm->setDefault('category_id', $category_id);
                 $this->view->category_id = $category_id;
                 if ($this->getRequest()->getPost()) {
                     $this->saveMultipleDoc($multipleDocsForm, $category_id, $redirectUrl);
                 }
             } else {
                 $this->view->ermsg = 'invalidUrl';
                 return;
             }
         } else {
             $this->view->ermsg = 'noprivilege';
         }
     } catch (Exceptin $e) {
         //print_r($e);
     }
 }