Ejemplo n.º 1
0
 public function executeJsonDelete(sfWebRequest $request)
 {
     $request->checkCSRFProtection();
     $id = $request->getParameter('id');
     $cur_user = $this->getUser();
     if ($id == 1 || $cur_user->getId() == $id) {
         $msg_i18n = $this->getContext()->getI18N()->__(sfGuardUserPeer::_ERR_CANNOT_DELETE_, array('%id%' => $id));
         $error = array('success' => false, 'agent' => sfConfig::get('config_acronym'), 'error' => $msg_i18n, 'info' => $msg_i18n);
         // if is browser request return text renderer
         $error = $this->setJsonError($error);
         return $this->renderText($error);
     }
     if (!($sf_user = sfGuardUserPeer::retrieveByPK($id))) {
         $msg_i18n = $this->getContext()->getI18N()->__(sfGuardUserPeer::_ERR_NOTFOUND_ID_, array('%id%' => $id));
         $error = array('success' => false, 'agent' => sfConfig::get('config_acronym'), 'error' => $msg_i18n, 'info' => $msg_i18n);
         // if is browser request return text renderer
         $error = $this->setJsonError($error);
         return $this->renderText($error);
     }
     // remove existing permissions for the given user
     $users = EtvaPermissionUserQuery::create()->filterByUserId($id)->delete();
     $sf_user->delete();
     $result = array('success' => true);
     $return = json_encode($result);
     $this->getResponse()->setHttpHeader('Content-type', 'application/json');
     return $this->renderText($return);
 }
Ejemplo n.º 2
0
 public function executeJsonPermsWithGroupsUsers($request)
 {
     $isAjax = $request->isXmlHttpRequest();
     //        if(!$isAjax) return $this->redirect('@homepage');
     $level = $request->getParameter('level');
     $id = $request->getParameter('id');
     $p_permtype = $request->getParameter('permtype');
     $u = new Criteria();
     $g = new Criteria();
     $elements = array();
     $elements['id'] = 1;
     // if has node level, find clusterid
     if ($level == 'node') {
         $c = new Criteria();
         $c->add(EtvaNodePeer::ID, $id);
         $node = EtvaNodePeer::doSelectOne($c);
         $id = $node->getClusterId();
         $level = 'cluster';
     }
     if ($level == 'server') {
         $users = EtvaPermissionUserQuery::create()->useEtvaPermissionQuery()->filterByPermType($p_permtype)->useEtvaPermissionServerQuery()->filterByServerId($id)->endUse()->endUse()->find();
         foreach ($users as $user) {
             $elements['etva_permission_user_list'][] = $user->getUserId();
         }
         $groups = EtvaPermissionGroupQuery::create()->useEtvaPermissionQuery()->filterByPermType($p_permtype)->useEtvaPermissionServerQuery()->filterByServerId($id)->endUse()->endUse()->find();
         foreach ($groups as $group) {
             $elements['etva_permission_group_list'][] = $group->getGroupId();
         }
     } elseif ($level == 'cluster') {
         $users = EtvaPermissionUserQuery::create()->useEtvaPermissionQuery()->filterByPermType($p_permtype)->useEtvaPermissionClusterQuery()->filterByClusterId($id)->endUse()->endUse()->find();
         foreach ($users as $user) {
             $elements['etva_permission_user_list'][] = $user->getUserId();
         }
         $groups = EtvaPermissionGroupQuery::create()->useEtvaPermissionQuery()->filterByPermType($p_permtype)->useEtvaPermissionClusterQuery()->filterByClusterId($id)->endUse()->endUse()->find();
         foreach ($groups as $group) {
             $elements['etva_permission_group_list'][] = $group->getGroupId();
         }
     } else {
         $info = array('success' => false, 'error' => 'Wrong parameters');
         $error = $this->setJsonError($info);
         return $this->renderText($error);
     }
     $final = array('total' => 1, 'data' => $elements);
     $result = json_encode($final);
     $this->getResponse()->setHttpHeader('Content-type', 'application/json');
     return $this->renderText($result);
 }