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 cd0b9e534aee69253d420a8c37b1b82429634b08..b6a0e242c888f0de1a9ca7fdf9a93e9a2dfc63cb 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 0d57f7577beb725db5fcfdaf52b86a2e7b683156..cc21824335d1afa6f59897251e257e392e2e2215 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)'))