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); }
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); }