class icMemberRole(icRole): """ Пользователь. """ id = 'Member' permissions = icprotector.readonly((icpermission.view_permission, ))
class icRootUser(icBaseUser): """ Root системы. """ roles = icprotector.readonly((icrole.icAdminRole(), )) def __init__(self, user=None, passw=None, *arg, **kwarg): """ Конструктор. """ # Списоск ролей пользователя icBaseUser.__init__(self) if user: self.Login(user, passw) def __is_valid(self, user, passw): """ Проверка соответствия пароля. """ return user == 'root' def Login(self, user, passw=None, *arg, **kwarg): """ Вход в систему. """ if not self.__is_valid(user, passw): raise icexceptions.LoginInvalidException( (coderror.IC_LOGIN_ERROR, 'root login error')) self.username = user return True
class icEditorRole(icRole): """ Редактор. """ id = 'Editor' permissions = icprotector.readonly((icpermission.view_permission, icpermission.edit_permission, ))
class icContributorRole(icRole): """ Пользователь с правами расширения системы. """ id = 'Contributor' permissions = icprotector.readonly((icpermission.view_permission, icpermission.add_permission, icpermission.delete_permission ))
class icAdminRole(icRole): """ Администратор системы. """ id = 'Admin' permissions = icprotector.readonly((icpermission.view_permission, icpermission.edit_permission, icpermission.add_permission, icpermission.delete_permission, ))
class icBaseUser(object): """ Базовый класс пользователя системы. """ roles = icprotector.readonly([]) def __init__(self, *arg, **kwarg): """ Конструктор. """ # Списоск ролей пользователя self.username = None def Login(self, user, passw=None, *arg, **kwarg): """ Вход в систему. """ pass def Logout(self): """ Выход из системы. """ pass def getRoles(self): """ Возвращает список ролей. """ return self.roles def getPermissions(self): """ Возвращает список разрешений для данной роли. """ lst = [] for role in self.roles: lst = lst + list(role.getPermissions()) return lst
def __init__(self, parent, id=-1, component=None, logType=0, evalSpace=None, bCounter=False, progressDlg=None): """ Конструктор. @type parent: C{wx.Window} @param parent: Указатель на родителя @type id: C{int} @param id: Идентификатор @type component: C{dictionary} @param component: Словарь описания компонента @type logType: C{int} @param logType: Тип лога (0 - консоль, 1- файл, 2- окно лога) @param evalSpace: Пространство имен, необходимых для вычисления внешних выражений @type evalSpace: C{dictionary} @type bCounter: C{bool} @param bCounter: Признак отображения в ProgressBar-е. Иногда это не нужно - для создания объектов полученных по ссылки. Т. к. они не учтены при подсчете общего количества объектов. @type progressDlg: C{wx.ProgressDialog} @param progressDlg: Указатель на идикатор создания формы. """ component = util.icSpcDefStruct(self.component_spc, component) icwidget.icSimple.__init__(self, parent, id, component, logType, evalSpace) icrole.icRole.__init__(self, self.name, self.description) # Установить идентификатор роли как имя объекта self.id = self.name icRole.permissions = icprotector.readonly(self._createPermissions())
def __init__(self, parent, id=-1, component=None, logType=0, evalSpace=None, bCounter=False, progressDlg=None): """ Конструктор. @type parent: C{wx.Window} @param parent: Указатель на родителя @type id: C{int} @param id: Идентификатор @type component: C{dictionary} @param component: Словарь описания компонента @type logType: C{int} @param logType: Тип лога (0 - консоль, 1- файл, 2- окно лога) @param evalSpace: Пространство имен, необходимых для вычисления внешних выражений @type evalSpace: C{dictionary} @type bCounter: C{bool} @param bCounter: Признак отображения в ProgressBar-е. Иногда это не нужно - для создания объектов полученных по ссылки. Т. к. они не учтены при подсчете общего количества объектов. @type progressDlg: C{wx.ProgressDialog} @param progressDlg: Указатель на идикатор создания формы. """ component = util.icSpcDefStruct(self.component_spc, component) icwidget.icSimple.__init__(self, parent, id, component, logType, evalSpace) icuser.icUser.__init__( self, ic_file.PathFile(ic_user.icGet('SYS_RES'), icuser.DEFAULT_USERS_RES_FILE)) icUser.roles = icprotector.readonly(self._createRoles())