def delete(cls, expense_id: int): """Удаление дохода. :param expense_id: идентификатор дохода :rtype: None """ GLog.info('Удаление дохода') res = Income().load_from_json({'id': expense_id}) res._delete()
def create(cls, data: dict) -> BaseItem: """Создание дохода. :param data: данные по доходу :rtype: entities.Income """ GLog.info('Создание дохода') res = Income().load_from_json(data) res._create() return res
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()
def create(cls, data: dict) -> BaseItem: """Создание расхода. :param data: данные по расходу :rtype: entities.Expense """ GLog.info('Создание расхода') res = Expense().load_from_json(data) res._create() return res
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)
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)
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
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)
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
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
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)
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)