Пример #1
0
    def delete(cls, expense_id: int):
        """Удаление дохода.

        :param expense_id:   идентификатор дохода
        :rtype: None
        """
        GLog.info('Удаление дохода')
        res = Income().load_from_json({'id': expense_id})
        res._delete()
Пример #2
0
    def create(cls, data: dict) -> BaseItem:
        """Создание дохода.

        :param data:     данные по доходу
        :rtype: entities.Income
        """
        GLog.info('Создание дохода')
        res = Income().load_from_json(data)
        res._create()
        return res
Пример #3
0
    def delete(cls, user_id: int):
        """Удаление пользователя.

        :param user_id:   идентификатор пользователя
        :rtype: None
        """
        GLog.info('Удаление пользователя')
        res = User().load_from_json(
            {'id': cls.check_int(user_id, 'идентификатор пользователя')})
        res._delete()
Пример #4
0
    def create(cls, data: dict) -> BaseItem:
        """Создание расхода.

        :param data:     данные по расходу
        :rtype: entities.Expense
        """
        GLog.info('Создание расхода')
        res = Expense().load_from_json(data)
        res._create()
        return res
Пример #5
0
    def list(cls) -> BaseList:
        """Список доходов.

        :rtype entities.Incomes
        """
        GLog.info('Запрос списка доходов')

        db = create_sqlite_driver()
        sql = 'SELECT * FROM "incomes" ORDER BY "date" DESC;'
        args = []
        return db.select(sql, args, list_type=cls, item_type=Income)
Пример #6
0
    def list(cls) -> BaseList:
        """Список пользователей.

        :rtype entities.Users
        """
        GLog.info('Запрос списка пользователей')

        db = create_sqlite_driver()
        sql = 'SELECT * FROM "users";'
        args = []
        return db.select(sql, args, list_type=cls, item_type=User)
Пример #7
0
    def create(cls, data: dict) -> BaseItem:
        """Создание пользователя.

        :param role_id:  идентификатор роли пользователя
        :param data:     данные пользователя
        :rtype: entities.User
        """
        GLog.info('Создание пользователя')
        res = User().load_from_json(data)
        res._create()
        return res
Пример #8
0
    def list(cls) -> BaseList:
        """Список расходов.

        :rtype entities.Users
        """
        GLog.info('Запрос списка расходов')

        db = create_sqlite_driver()
        sql = 'SELECT * FROM "expenses" ORDER BY "date" DESC;'
        args = []
        return db.select(sql, args, list_type=cls, item_type=Expense)
Пример #9
0
    def edit(cls, income_id: int, data: dict) -> BaseItem:
        """Изменение дохода.

        :param income_id:  идентификатор дохода
        :param data:       данные дохода
        :rtype: entities.Income
        """
        GLog.info('Изменение дохода')
        data.update({'id': income_id})
        res = Income().load_from_json(data)
        res._update()
        return res
Пример #10
0
    def edit(cls, expense_id: int, data: dict) -> BaseItem:
        """Изменение расхода.

        :param expense_id:       идентификатор расхода
        :param data:     данные расхода
        :rtype: entities.Expense
        """
        GLog.info('Изменение расхода')
        data.update({'id': expense_id})
        res = Expense().load_from_json(data)
        res._update()
        return res
Пример #11
0
    def edit(cls, user_id: int, data: dict) -> BaseItem:
        """Изменение пользователя.

        :param user_id:       идентификатор пользователя
        :param data:     данные пользователя
        :rtype: entities.User
        """
        GLog.info('Изменение пользователя')
        data.update(
            {'id': cls.check_int(user_id, 'идентификатор пользователя')})
        res = User().load_from_json(data)
        res._update()
        return res
 def on_login(self):
     GLog.debug("ui.LoginForm.on_login")
     login = self.inputLogin.text()
     password = self.inputPass.text()
     GLog.info(f"ui.LoginForm.on_login :: try to login as: {login}")
     try:
         user = User.select_by_credentials(login, password)
         if user.ID > 0:
             state.State[state.STATE_KEY_USER] = user
             state.State[
                 state.
                 STATE_KEY_SECTION] = state.STATE_SECTION_MAIN_EXPENSES
             self.on_login_success()
     except Exception as e:
         GLog.error("ui.LoginForm.on_login :: error: %s", e)
Пример #13
0
    def select_by_credentials(cls, login: str, password: str) -> BaseItem:
        """Создание пользователя.

        :param login:       логин пользователя
        :param password:    пароль пользователя
        :rtype: entities.User
        """
        GLog.info('Выборка пользователя по логину/паролю')
        password = cls.check_str(password, arg='Пароль пользователя')
        password = sha256(password.encode('utf-8')).hexdigest()
        db = create_sqlite_driver()
        sql = '''
            SELECT * FROM "users" 
            WHERE "login" = ? AND "passw" = ?;
        '''
        args = [login, password]
        return db.select(sql, args, one_row=True, item_type=User)