Moved the user utilities from the "accounting.database" module to the "accounting.utils.users" module, and simplified its use.
This commit is contained in:
		@@ -24,8 +24,9 @@ from secrets import randbelow
 | 
			
		||||
import click
 | 
			
		||||
from flask.cli import with_appcontext
 | 
			
		||||
 | 
			
		||||
from accounting.database import db, user_utils
 | 
			
		||||
from accounting.database import db
 | 
			
		||||
from accounting.models import BaseAccount, Account, AccountL10n
 | 
			
		||||
from accounting.utils.user import has_user, get_user_pk
 | 
			
		||||
 | 
			
		||||
AccountData = tuple[int, str, int, str, str, str, bool]
 | 
			
		||||
"""The format of the account data, as a list of (ID, base account code, number,
 | 
			
		||||
@@ -45,8 +46,7 @@ def __validate_username(ctx: click.core.Context, param: click.core.Option,
 | 
			
		||||
    value = value.strip()
 | 
			
		||||
    if value == "":
 | 
			
		||||
        raise click.BadParameter("Username empty.")
 | 
			
		||||
    user: user_utils.cls | None = user_utils.get_by_username(value)
 | 
			
		||||
    if user is None:
 | 
			
		||||
    if not has_user(value):
 | 
			
		||||
        raise click.BadParameter(f"User {value} does not exist.")
 | 
			
		||||
    return value
 | 
			
		||||
 | 
			
		||||
@@ -58,7 +58,7 @@ def __validate_username(ctx: click.core.Context, param: click.core.Option,
 | 
			
		||||
@with_appcontext
 | 
			
		||||
def init_accounts_command(username: str) -> None:
 | 
			
		||||
    """Initializes the accounts."""
 | 
			
		||||
    creator_pk: int = user_utils.get_pk(user_utils.get_by_username(username))
 | 
			
		||||
    creator_pk: int = get_user_pk(username)
 | 
			
		||||
 | 
			
		||||
    bases: list[BaseAccount] = BaseAccount.query\
 | 
			
		||||
        .filter(db.func.length(BaseAccount.code) == 4)\
 | 
			
		||||
 
 | 
			
		||||
@@ -22,11 +22,12 @@ from flask_wtf import FlaskForm
 | 
			
		||||
from wtforms import StringField, BooleanField
 | 
			
		||||
from wtforms.validators import DataRequired, ValidationError
 | 
			
		||||
 | 
			
		||||
from accounting.database import db, user_utils
 | 
			
		||||
from accounting.database import db
 | 
			
		||||
from accounting.locale import lazy_gettext
 | 
			
		||||
from accounting.models import BaseAccount, Account
 | 
			
		||||
from accounting.utils.random_id import new_id
 | 
			
		||||
from accounting.utils.strip_text import strip_text
 | 
			
		||||
from accounting.utils.user import get_current_user_pk
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class BaseAccountExists:
 | 
			
		||||
@@ -74,7 +75,7 @@ class AccountForm(FlaskForm):
 | 
			
		||||
        obj.title = self.title.data
 | 
			
		||||
        obj.is_offset_needed = self.is_offset_needed.data
 | 
			
		||||
        if is_new:
 | 
			
		||||
            current_user_pk: int = user_utils.get_pk(user_utils.current_user)
 | 
			
		||||
            current_user_pk: int = get_current_user_pk()
 | 
			
		||||
            obj.created_by_id = current_user_pk
 | 
			
		||||
            obj.updated_by_id = current_user_pk
 | 
			
		||||
        if prev_base_code is not None \
 | 
			
		||||
@@ -87,7 +88,7 @@ class AccountForm(FlaskForm):
 | 
			
		||||
 | 
			
		||||
        :return: None
 | 
			
		||||
        """
 | 
			
		||||
        current_user_pk: int = user_utils.get_pk(user_utils.current_user)
 | 
			
		||||
        current_user_pk: int = get_current_user_pk()
 | 
			
		||||
        obj.updated_by_id = current_user_pk
 | 
			
		||||
        obj.updated_at = sa.func.now()
 | 
			
		||||
        if hasattr(self, "__post_update"):
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user