Example #1
0
 public function deleteAction()
 {
     $this->setNoRender();
     $this->disableLayout();
     $request = $this->getRequest();
     if (!$request->isPost()) {
         return;
     }
     $roleId = $request->getPost('role_id');
     $role = Modules_Core_Services_Role::getById($roleId);
     $condition = array('role_id' => $roleId);
     if (null == $role || Modules_Core_Services_User::count($condition) > 0) {
         $this->getResponse()->setBody('RESULT_NOT_OK');
         return;
     }
     /**
      * Delete role's rules
      */
     Modules_Core_Services_Rule::deleteByRole($roleId);
     /**
      * Delete role
      */
     Modules_Core_Services_Role::delete($roleId);
     $this->getResponse()->setBody('RESULT_OK');
 }
Example #2
0
 public function listAction()
 {
     $request = $this->getRequest();
     $perPage = 20;
     $pageIndex = (int) $request->getParam('page_index');
     if (null == $pageIndex || '' == $pageIndex || $pageIndex < 0) {
         $pageIndex = 1;
     }
     $start = ($pageIndex - 1) * $perPage;
     $this->view->pageIndex = $pageIndex;
     $condition = array('status' => 'active', 'search_form' => false);
     $json = new Services_JSON();
     if ($request->isPost()) {
         $condition = $request->getPost('condition');
         $condition['search_form'] = true;
         $params = rawurlencode(base64_encode($json->encodeUnsafe($condition)));
     } else {
         $params = $request->getParam('q');
         $params != null ? $condition = (array) $json->decode(rawurldecode(base64_decode($params))) : ($params = rawurlencode(base64_encode($json->encodeUnsafe($condition))));
     }
     $params = empty($condition) ? null : $params;
     $this->view->condition = $condition;
     $users = Modules_Core_Services_User::find($condition, $start, $perPage);
     $numUsers = Modules_Core_Services_User::count($condition);
     $this->view->users = $users;
     $roles = Modules_Core_Services_Role::getAllRoles();
     $this->view->roles = $roles;
     // Pager
     require_once LIB_DIR . DS . 'PEAR' . DS . 'Pager' . DS . 'Sliding.php';
     $pagerPath = $this->view->url('core_user_list');
     $pagerOptions = array('mode' => 'Sliding', 'append' => false, 'perPage' => $perPage, 'delta' => 5, 'urlVar' => 'page', 'path' => $pagerPath, 'fileName' => null == $params ? 'page-%d' : 'page-%d/?q=' . $params, 'separator' => '', 'nextImg' => '<small class="icon arrow_right"></small>', 'prevImg' => '<small class="icon arrow_left"></small>', 'altNext' => '', 'altPrev' => '', 'altPage' => '', 'totalItems' => $numUsers, 'currentPage' => $pageIndex, 'urlSeparator' => '/', 'spacesBeforeSeparator' => 0, 'spacesAfterSeparator' => 0, 'curPageSpanPre' => '<a href="javascript: void();" class="current">', 'curPageSpanPost' => '</a>');
     $pager = new Pager_Sliding($pagerOptions);
     $this->view->pager = $pager;
 }