def __changeGroupAttr(self,ibs_query,attrs,group_obj): for attr_name in attrs: if group_obj.hasAttr(attr_name): ibs_query+=group_main.getActionManager().updateGroupAttrQuery(group_obj.getGroupID(),attr_name,attrs[attr_name]) else: ibs_query+=group_main.getActionManager().insertGroupAttrQuery(group_obj.getGroupID(),attr_name,attrs[attr_name]) return ibs_query
def __checkPoolUsageInGroups(self, ippool_obj): group_ids = group_main.getActionManager().getGroupIDsWithAttr( "ippool", ippool_obj.getIPpoolID()) if len(group_ids) > 0: raise GeneralException( errorText("IPPOOL", "IPPOOL_USED_IN_GROUP") % ",".join(map(str, group_ids)))
def delGroup(self,request): """ delete a group group_name(string): name of group to be deleted """ request.needAuthType(request.ADMIN) request.checkArgs("group_name") requester=request.getAuthNameObj() requester.canDo("ADD NEW GROUP") return group_main.getActionManager().delGroup(request["group_name"])
def __checkChargeUsageInGroups(self, charge_obj, attr_name): group_ids = group_main.getActionManager().getGroupIDsWithAttr( attr_name, charge_obj.getChargeID()) if len(group_ids) > 0: raise GeneralException( errorText("CHARGES", "CHARGE_USED_IN_GROUP") % (charge_obj.getChargeName(), ",".join( map( lambda _id: group_main.getLoader().getGroupByID(_id). getGroupName(), group_ids))))
def _changeGroupAttr(self, ibs_query, attrs, group_obj, admin_obj): for attr_name in attrs: if group_obj.hasAttr(attr_name): ibs_query += group_main.getActionManager( ).updateGroupAttrQuery(group_obj.getGroupID(), attr_name, attrs[attr_name]) old_value = group_obj.getAttr(attr_name) else: ibs_query += group_main.getActionManager( ).insertGroupAttrQuery(group_obj.getGroupID(), attr_name, attrs[attr_name]) old_value = self.AUDIT_LOG_NOVALUE if self.__generate_query_audit_log: self.genQueryAuditLogQuery(ibs_query, attr_name, old_value, attrs[attr_name], False, group_obj, admin_obj) return ibs_query
def addNewGroup(self,request): """ add a new group group_name(string): name of new group, group_name is unique for each group comment(string): """ request.needAuthType(request.ADMIN) request.checkArgs("group_name","comment") requester=request.getAuthNameObj() requester.canDo("ADD NEW GROUP") return group_main.getActionManager().addGroup(request["group_name"],request["comment"],requester.getAdminID())
def updateGroup(self,request): """ update group information group_id(integer): id of group that will be updated group_name(string): new group name comment(string): new group comment owner_name(strin): name of admin owner of group """ request.needAuthType(request.ADMIN) request.checkArgs("group_id","group_name","comment","owner_name") request.getAuthNameObj().canDo("CHANGE GROUP",request["group_name"]) return group_main.getActionManager().updateGroup(to_int(request["group_id"],"group id"),request["group_name"],request["comment"],request["owner_name"])
def _deleteGroupAttr(self, ibs_query, attrs, group_obj, admin_obj): for attr_name in attrs: if group_obj.hasAttr(attr_name): ibs_query += group_main.getActionManager( ).deleteGroupAttrQuery(group_obj.getGroupID(), attr_name) if self.__generate_query_audit_log: old_value = group_obj.getAttr(attr_name) self.genQueryAuditLogQuery(ibs_query, attr_name, old_value, self.AUDIT_LOG_NOVALUE, False, group_obj, admin_obj) return ibs_query
def updateGroupAttrs(self,request): """ update group attributes group_name(string): group name that attributes will be changed attrs(dic): dictionary of attr_name:attr_value. We say we want attr_name value to be attr_value to_del_attrs(dic): dic of attributes that should be deleted """ request.needAuthType(request.ADMIN) request.checkArgs("group_name","attrs","to_del_attrs") request.getAuthNameObj().canDo("CHANGE GROUP",request["group_name"]) to_del_attrs=requestDicToList(request["to_del_attrs"]) return group_main.getActionManager().updateGroupAttrs(request["group_name"], request["attrs"], to_del_attrs, request.getAuthNameObj())
def __deleteGroupAttr(self,ibs_query,attrs,group_obj): for attr_name in attrs: ibs_query+=group_main.getActionManager().deleteGroupAttrQuery(group_obj.getGroupID(),attr_name) return ibs_query
def __checkChargeUsageInGroups(self,charge_obj,attr_name): group_ids=group_main.getActionManager().getGroupIDsWithAttr(attr_name,charge_obj.getChargeID()) if len(group_ids)>0: raise GeneralException(errorText("CHARGES","CHARGE_USED_IN_GROUP")%(charge_obj.getChargeName(), ",".join(map(str,group_ids))))
def __checkPoolUsageInGroups(self,ippool_obj): group_ids=group_main.getActionManager().getGroupIDsWithAttr("ippool",ippool_obj.getIPpoolID()) if len(group_ids)>0: raise GeneralException(errorText("IPPOOL","IPPOOL_USED_IN_GROUP")% ",".join(map(str,group_ids)))