From 6268e4db20317e02703504340fe1e1244cba519c Mon Sep 17 00:00:00 2001 From: kaiyou <pierre@jaury.eu> Date: Wed, 26 Aug 2020 23:06:25 +0200 Subject: [PATCH] Move format to the root package This avoids circular dependencies, as username formats are a general concept --- hiboo/{profile => }/format.py | 0 hiboo/profile/login.py | 6 +++--- hiboo/service/forms.py | 11 ++++++++--- 3 files changed, 11 insertions(+), 6 deletions(-) rename hiboo/{profile => }/format.py (100%) diff --git a/hiboo/profile/format.py b/hiboo/format.py similarity index 100% rename from hiboo/profile/format.py rename to hiboo/format.py diff --git a/hiboo/profile/login.py b/hiboo/profile/login.py index cd0b9e53..b6a0e242 100644 --- a/hiboo/profile/login.py +++ b/hiboo/profile/login.py @@ -1,5 +1,5 @@ -from hiboo.profile import blueprint, forms, formats -from hiboo import models, utils, security +from hiboo.profile import blueprint, forms +from hiboo import models, utils, security, format from hiboo import user as hiboo_user from passlib import context, hash from flask_babel import lazy_gettext as _ @@ -25,7 +25,7 @@ def create(service_uuid, create_for=False, quick=False): service = models.Service.query.get(service_uuid) or flask.abort(404) status = models.Profile.ACTIVE is_admin = flask_login.current_user.is_admin - format = formats[service.profile_format] + format = format.ProfileFormat.registry[service.profile_format] # If the admin passed a user uuid, use that one, otherwise ignore it user = hiboo_user.get_user(intent="profile.create_for", create_for=None) if (create_for and is_admin) else flask_login.current_user # Check that profile creation is allowed diff --git a/hiboo/service/forms.py b/hiboo/service/forms.py index 0d57f757..cc218243 100644 --- a/hiboo/service/forms.py +++ b/hiboo/service/forms.py @@ -1,7 +1,7 @@ from wtforms import validators, fields, widgets from flask_babel import lazy_gettext as _ -from hiboo import models, application, profile +from hiboo import models, application, format import flask_wtf @@ -16,8 +16,13 @@ class ServiceForm(flask_wtf.FlaskForm): [validators.NumberRange(1, 1000)]) profile_format = fields.SelectField(_('Profile username format'), choices=( - [("", _("Default ({})".format(profile.formats[None].message)))] + - [(name, format.message.capitalize()) for name, format in profile.formats.items() if name] + [("", _("Default ({})".format( + format.ProfileFormat.registry[None].message)) + )] + + [(name, format.message.capitalize()) + for name, format in format.ProfileFormat.registry.items() + if name is not None + ] ) ) single_profile = fields.BooleanField(_('Enable single-profile behavior (no custom username, no additional profile)')) -- GitLab