Exemplo n.º 1
0
def canAuthent(Permit_, ResName_, ResType_, ShowMsg_=True):
    """
    Функция определяет ограничения на запрашиваемый ресурс.
    @param Permit_: символ или группа символов,
        определяющий право доступа на действие.
        'u' - использование (ACCESS_USE).
        'v' - отображение  (ACCESS_VIEW).
        'r' - чтение (ACCESS_READ).
        'w' - редактирование (ACCESS_EDIT).
        'a' - добавление (ACCESS_APPEND).
        'd' - удаление (ACCESS_DELETE).
    @param ResName_: имя ресурса.
    @param ResType_: тип ресурса.
    @param ShowMsg_: флаг, описывающий разрешение на отображения
        сообщения о заблокированном ресурсе для данного пользователя.
        Параметр необязателен. По умолчанию сообщение показывается.
    @return: Возвращает True, если ресурс не ограничен,
        запрашиваемыми правами доступа, False - ресурс ограничен.
    """
    # ВНИМАНИЕ!!! Проверка осуществляется только в режиме выполнения
    if ic_mode.isRuntimeMode():
        app = ic_user.icGetRunner()
        if app:
            return app.getUser().CanAuthent(Permit_, ResName_, ResType_,
                                            ShowMsg_)
    return True
Exemplo n.º 2
0
 def getMainWin(self):
     """
     Определить главное окно системы.
     """
     if ic_mode.isRuntimeMode():
         return self.kernel.GetMainWin()
     return None
Exemplo n.º 3
0
    def OnClose(self, event):
        """
        Обработчик закрытия главного окна.
        """
        # Если в режиме редактирования,
        # то при закрытии окно не закрывать приложение
        if not ic_mode.isRuntimeMode():
            event.Skip()
            return

        try:
            ok = True
            if not ic.utils.ic_exec.IsEmptyMethod(self._OnClose):
                ok = ic.utils.ic_exec.ExecuteMethod(self._OnClose, self)
            if ok:  # Обычное закрытие окна
                if self._MainNotebook:
                    self.DelOrg()
                self._destroyAreaSplitter()

                # Остановить основной цикл выполнения приложения
                if self._RunnerApp:
                    if issubclass(self._RunnerApp.__class__, wx.App):
                        self._RunnerApp.ExitMainLoop()
                event.Skip()
            else:
                event.Continue = False
        except:
            io_prnt.outErr(u'Ошибка закрытия главного окна')
            event.Skip()
Exemplo n.º 4
0
 def RegisterJournal(self, UserName_, DBMode_):
     """
     Прописать юзеря в журнале регистрации.
     @param UserName_: Имя пользователя.
     """
     prj_name = ic_user.icGet('PrjName')
     return self._reg_user_journal.register(UserName_, prj_name, DBMode_,
                                            ic_mode.isRuntimeMode())
Exemplo n.º 5
0
def createKernel():
    """
    Создать ядро.
    """
    from ic.utils import ic_mode
    if ic_mode.isRuntimeMode():
        return createRuntimeKernel()
    else:
        return createEditorKernel()
Exemplo n.º 6
0
 def _checkLoginUser(self, UserName_):
     """
     Проверка зарегистрированного пользователя.
     @param UserName_: Имя пользователя.
     """
     if not ic_mode.isRuntimeMode():
         # Если режим конфигурирования, то обязательно
         # проверять уникальность регистрации
         # чтобы проблем с блокировками не было
         if self._login_manager:
             return self._login_manager.isRegUserName(UserName_)
     return False
Exemplo n.º 7
0
def getUserRequisit(UserName_):
    """
    Получить реквизиты пользователя.
    @param UserName_: Имя пользователя.
        Если UserName_ не определено, тогда возвращается
        описание прав доступа текущего пользователя.
        Если UserName определен, тогда возвращается
        описание прав доступа указанного пользователя.
    @return: Функция возвращает реквизиты текущего пользователя.
    """
    if ic_mode.isRuntimeMode():
        # Режим исполнения
        app = ic_user.icGetRunner()
        return app.getUser().GetUserRequisit(UserName_)
    else:
        # Режим редактирования
        return copy.deepcopy(SPC_IC_USER)
Exemplo n.º 8
0
def getAuthent(ResName_, ResType_, ShowMsg_=True):
    """
    Функция возвращает права доступа к ресурсу для текущего пользователя в виде 8-символьной строки.
    @param ResName_: имя ресурса.
    @param ResType_: тип ресурса.
    @param ShowMsg_: флаг, описывающий разрешение на отображение
        сообщения о заблокированном ресурсе для данного пользователя.
        Параметр необязателен. По умолчанию сообщение показывается.
    @return: Возвращает права доступа к ресурсу для текущего пользователя
        в виде 8-символьной строки. Например '----dawr'
    """
    if ic_mode.isRuntimeMode():
        # Режим исполнения
        app = ic_user.icGetRunner()
        return app.getUser().GetAuthent(ResName_, ResType_, ShowMsg_)
    else:
        # Режим редактирования
        return FULL_ACCESS_PERMIT
Exemplo n.º 9
0
    def OnOpen(self, event):
        """
        Обработчик открытия главного окна.
        """
        # Если в режиме редактирования...
        if not ic_mode.isRuntimeMode():
            event.Skip()
            return

        try:
            ok = True
            if not ic.utils.ic_exec.IsEmptyMethod(self._OnOpen) and \
                not self._is_opened:
                ok = ic.utils.ic_exec.ExecuteMethod(self._OnOpen, self)
                self._is_opened = True
            if ok:  # Обычное открытие окна
                event.Skip()
            else:
                event.Continue = False
        except:
            io_prnt.outErr(u'Ошибка открытия главного окна')
            event.Skip()
Exemplo n.º 10
0
 def _exec_on_logout(self, Code_):
     """
     Выполнить при успешном логауте.
     """
     if ic_mode.isRuntimeMode():
         ic_exec.ExecuteMethod(Code_, self)