Просмотр исходного кода

Add hook for registration form modification

Alec Nikolas Reiter 7 лет назад
Родитель
Сommit
7b91f7e83a
4 измененных файлов с 14 добавлено и 4 удалено
  1. 1 0
      docs/hooks.rst
  2. 1 0
      flaskbb/auth/views.py
  3. 3 4
      flaskbb/core/auth/registration.py
  4. 9 0
      flaskbb/plugins/spec.py

+ 1 - 0
docs/hooks.rst

@@ -82,6 +82,7 @@ FlaskBB Form Hooks
 .. autofunction:: flaskbb_form_new_post
 .. autofunction:: flaskbb_form_new_topic
 .. autofunction:: flaskbb_form_new_topic_save
+.. autofunction:: flaskbb_form_registration
 
 
 Template Hooks

+ 1 - 0
flaskbb/auth/views.py

@@ -122,6 +122,7 @@ class Register(MethodView):
         self.registration_service_factory = registration_service_factory
 
     def form(self):
+        current_app.pluggy.hook.flaskbb_form_registration(form=RegisterForm)
         form = RegisterForm()
 
         form.language.choices = get_available_languages()

+ 3 - 4
flaskbb/core/auth/registration.py

@@ -33,8 +33,7 @@ class UserRegistrationInfo(object):
 class UserValidator(ABC):
     """
     Used to validate user registrations and stop the registration process
-    by raising a
-    :class:`ValidationError<flaskbb.core.exceptions.ValidationError>`.
+    by raising a :class:`~flaskbb.core.exceptions.ValidationError`.
     """
 
     @abstractmethod
@@ -43,7 +42,7 @@ class UserValidator(ABC):
         This method is abstract.
 
         :param user_info: The provided registration information.
-        :type user_info: :class:`UserRegistrationInfo<flaskbb.core.auth.registration.UserRegistrationInfo>`
+        :type user_info: :class:`~flaskbb.core.auth.registration.UserRegistrationInfo`
         """
 
     def __call__(self, user_info):
@@ -63,6 +62,6 @@ class UserRegistrationService(ABC):
         This method is abstract.
 
         :param user_info: The provided user registration information.
-        :type user_info: :class:`UserRegistrationInfo<flaskbb.core.auth.registration.UserRegistrationInfo>`
+        :type user_info: :class:`~flaskbb.core.auth.registration.UserRegistrationInfo`
         """
         pass

+ 9 - 0
flaskbb/plugins/spec.py

@@ -387,6 +387,15 @@ def flaskbb_form_new_topic_save(form, topic):
     """
 
 
+@spec
+def flaskbb_form_registration(form):
+    """
+    Hook for modifying the :class:`~flaskbb.auth.forms.RegisterForm`.
+
+    :param form: The form class
+    """
+
+
 # Template Hooks
 @spec
 def flaskbb_tpl_navigation_before():