def __checkPermDependencies(self, admin_obj, perm_name): dep_list = perm_loader.getLoader()[perm_name].getDependencies() for dep in dep_list: if not admin_obj.hasPerm(dep): raise GeneralException( errorText("PERMISSION", "DEPENDENCY_NOT_SATISFIED") % (dep, perm_name))
def __changePermValue(self,admin_obj,perm_name,perm_value): perm_obj=perm_loader.getLoader()[perm_name] if perm_obj.getValueType()=="MULTIVALUE": admin_perm_obj=admin_obj.getPerms()[perm_name] if admin_perm_obj.multi_value.hasValue(perm_value): raise GeneralException(errorText("PERMISSION","PERMISSION_ALREADY_HAS_VALUE")%(perm_name,perm_value)) perm_value=admin_perm_obj.multi_value.addNewValue(perm_value) elif perm_obj.getValueType()=="NOVALUE": raise GeneralException(errorText("PERMISSION","ALREADY_HAS_PERMISSION")%perm_name) #this is really there's no value to change self.__changePermValueDB(admin_obj,perm_name,perm_value)
def __loadAdminObj(self, admin_id): """ get admin information from db(including basic info,perms and locks), Create an object of these information, and return the object """ admin_info = self.__getAdminBasicInfoDB(admin_id) admin_obj = self.__createAdminObj(admin_info) admin_perms = perm_loader.getLoader().getPermsOfAdmin(admin_obj) admin_locks = self.__getAdminLocks(admin_id) admin_obj.setPerms(admin_perms) admin_obj.setLocks(admin_locks) return admin_obj
def __loadAdminObj(self,admin_id): """ get admin information from db(including basic info,perms and locks), Create an object of these information, and return the object """ admin_info=self.__getAdminBasicInfoDB(admin_id) admin_obj=self.__createAdminObj(admin_info) admin_perms=perm_loader.getLoader().getPermsOfAdmin(admin_obj) admin_locks=self.__getAdminLocks(admin_id) admin_obj.setPerms(admin_perms) admin_obj.setLocks(admin_locks) return admin_obj
def __changePermValue(self, admin_obj, perm_name, perm_value): perm_obj = perm_loader.getLoader()[perm_name] if perm_obj.getValueType() == "MULTIVALUE": admin_perm_obj = admin_obj.getPerms()[perm_name] if admin_perm_obj.multi_value.hasValue(perm_value): raise GeneralException( errorText("PERMISSION", "PERMISSION_ALREADY_HAS_VALUE") % (perm_name, perm_value)) perm_value = admin_perm_obj.multi_value.addNewValue(perm_value) elif perm_obj.getValueType() == "NOVALUE": raise GeneralException( errorText("PERMISSION", "ALREADY_HAS_PERMISSION") % perm_name) #there's no value to change self.__changePermValueDB(admin_obj, perm_name, perm_value)
def getAllPerms(self,request): """ return a list of dics of all perms sorted by permission name optional argument category tells handler to return only permission of specified category each dic has "name, description, value_type, category, affected_pages, dependencies" keys """ request.needAuthType(request.ADMIN) request.getAuthNameObj().canDo("CHANGE ADMIN PERMISSIONS") all_perms_dic=perm_loader.getLoader().getAllPerms() if request.has_key("category"): category=request["category"] else: category="all" all_perms_list=self.__getPermsListFromPerms(all_perms_dic,category) sorted=SortedList(all_perms_list) sorted.sortByPostText('["name"]',0) return sorted.getList()
def getAllPerms(self, request): """ return a list of dics of all perms sorted by permission name optional argument category tells handler to return only permission of specified category each dic has "name, description, value_type, category, affected_pages, dependencies" keys """ request.needAuthType(request.ADMIN) request.getAuthNameObj().canDo("CHANGE ADMIN PERMISSIONS") all_perms_dic = perm_loader.getLoader().getAllPerms() if request.has_key("category"): category = request["category"] else: category = "all" all_perms_list = self.__getPermsListFromPerms(all_perms_dic, category) sorted = SortedList(all_perms_list) sorted.sortByPostText('["name"]', 0) return sorted.getList()
def init(): perm_loader.getLoader().registerPerm("LIMIT MAIL DOMAIN", LimitMailDomain)
def init(): perm_loader.getLoader().registerPerm("CHARGE ACCESS",ChargeAccess)
def init(): perm_loader.getLoader().registerPerm("SEE REALTIME SNAPSHOTS", SeeRealTimeSnapShots)
def init(): perm_loader.getLoader().registerPerm("CLEAR USER",ClearUser)
def init(): perm_loader.getLoader().registerPerm("CHANGE IBS DEFINITIONS", ChangeIbsDefinitions)
def init(): perm_loader.getLoader().registerPerm("DELETE USER", DeleteUser)
def __changePermissionCheckInput(self, admin_username, perm_name, perm_value): self.__checkAdminUsernameAndPerm(admin_username, perm_name) perm_loader.getLoader()[perm_name].checkNewValue(perm_value)
def init(): perm_loader.getLoader().registerPerm("CHANGE USER CREDIT",ChangeUserCredit)
def init(): perm_loader.getLoader().registerPerm("CLEAR USER", ClearUser)
def init(): perm_loader.getLoader().registerPerm("VIEW MESSAGES",ViewMessages)
def init(): perm_loader.getLoader().registerPerm("KILL USER",KillUser)
def init(): perm_loader.getLoader().registerPerm("CHANGE USERS OWNER",ChangeUsersOwner)
def init(): perm_loader.getLoader().registerPerm("CHANGE BANDWIDTH MANAGER",ChangeBandwidthManager)
def init(): perm_loader.getLoader().registerPerm("NO DEPOSIT LIMIT",NoDepositLimit)
def init(): perm_loader.getLoader().registerPerm("ADD NEW GROUP",AddNewGroup)
def init(): perm_loader.getLoader().registerPerm("ADD NEW ADMIN",AddNewAdmin)
def init(): perm_loader.getLoader().registerPerm("SEE VOIP TARIFF", SeeVoIPTariff)
def init(): perm_loader.getLoader().registerPerm("SEE VOIP TARIFF",SeeVoIPTariff)
def __checkAdminUsernameAndPerm(self, admin_username, perm_name): """ check if admin_username and perm are valid """ admin_main.getLoader().checkAdminName(admin_username) perm_loader.getLoader().checkPermName(perm_name)
def init(): perm_loader.getLoader().registerPerm("ADD NEW USER",AddNewUser)
def init(): perm_loader.getLoader().registerPerm("CHANGE ADMIN PASSWORD",ChangeAdminPassword)
def init(): perm_loader.getLoader().registerPerm("CHANGE RAS",ChangeRas)
def init(): perm_loader.getLoader().registerPerm("CHANGE ADMIN PASSWORD", ChangeAdminPassword)
def init(): perm_loader.getLoader().registerPerm("SEE ADMIN PERMISSIONS",SeeAdminPermissions)
def init(): perm_loader.getLoader().registerPerm("CHANGE IPPOOL", ChangeIPpool)
def __createAdminPermsFromRawPerms(self, raw_perms): return perm_loader.getLoader().getPermsOfAdminFromRawPermList( raw_perms)
def init(): perm_loader.getLoader().registerPerm("ACCESS ALL CHARGES",ListAllCharges)
def init(): perm_loader.getLoader().registerPerm("LIST IPPOOL",ListIPpool)
def init(): perm_loader.getLoader().registerPerm("SEE ONLINE USERS",SeeOnlineUsers)
def init(): perm_loader.getLoader().registerPerm("SEE CREDIT CHANGES", SeeCreditChanges)
def init(): perm_loader.getLoader().registerPerm("DELETE ADMIN", DeleteAdmin)
def init(): perm_loader.getLoader().registerPerm("SEE CREDIT CHANGES",SeeCreditChanges)
def init(): perm_loader.getLoader().registerPerm("CHANGE ADMIN INFO", ChangeAdminInfo)
def __checkAdminUsernameAndPerm(self,admin_username,perm_name): """ check if admin_username and perm are valid """ admin_main.getLoader().checkAdminName(admin_username) perm_loader.getLoader().checkPermName(perm_name)
def init(): perm_loader.getLoader().registerPerm("CHANGE CHARGE",ChangeCharge)
def __changePermissionCheckInput(self,admin_username,perm_name,perm_value): self.__checkAdminUsernameAndPerm(admin_username,perm_name) perm_loader.getLoader()[perm_name].checkNewValue(perm_value)
def init(): perm_loader.getLoader().registerPerm("KILL USER", KillUser)
def init(): perm_loader.getLoader().registerPerm("SEE ADMIN INFO", SeeAdminInfo)
def init(): perm_loader.getLoader().registerPerm("ADD NEW USER", AddNewUser)
def __createAdminPermsFromRawPerms(self,raw_perms): return perm_loader.getLoader().getPermsOfAdminFromRawPermList(raw_perms)
def __checkPermDependencies(self,admin_obj,perm_name): dep_list=perm_loader.getLoader()[perm_name].getDependencies() for dep in dep_list: if not admin_obj.hasPerm(dep): raise GeneralException(errorText("PERMISSION","DEPENDENCY_NOT_SATISFIED")%(dep,perm_name))
def init(): perm_loader.getLoader().registerPerm("CHANGE VOIP TARIFF",ChangeVoIPTariff)
def init(): perm_loader.getLoader().registerPerm("CHANGE VOIP USER ATTRIBUTES", ChangeNormalUserAttrs)
def init(): perm_loader.getLoader().registerPerm("POST MESSAGES", PostMessages)
def init(): perm_loader.getLoader().registerPerm("CHANGE ADMIN DEPOSIT",ChangeAdminDeposit)
def init(): perm_loader.getLoader().registerPerm("CHANGE IPPOOL",ChangeIPpool)
def init(): perm_loader.getLoader().registerPerm("SEE CONNETION LOGS",SeeConnectionLogs)