Commit b7a5b6ab authored by averybigant's avatar averybigant Committed by Tim Graham
Browse files

Fixed #23750 -- Allowed core.checks.register to be used as a function

parent b3fd39f7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -561,6 +561,7 @@ answer newbie questions, and generally made Django that much better:
    Raúl Cumplido <raulcumplido@gmail.com>
    Remco Wendt <remco.wendt@gmail.com>
    Renaud Parent <renaud.parent@gmail.com>
    Renbi Yu <averybigant@gmail.com>
    Reza Mohammadi <reza@zeerak.ir>
    rhettg@gmail.com
    Ricardo Javier Cárdenes Medina <ricardo.cardenes@gmail.com>
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ class SimpleAdminConfig(AppConfig):
    verbose_name = _("Administration")

    def ready(self):
        checks.register(checks.Tags.admin)(check_admin_app)
        checks.register(check_admin_app, checks.Tags.admin)


class AdminConfig(SimpleAdminConfig):
+1 −1
Original line number Diff line number Diff line
@@ -10,4 +10,4 @@ class AuthConfig(AppConfig):
    verbose_name = _("Authentication and Authorization")

    def ready(self):
        checks.register(checks.Tags.models)(check_user_model)
        checks.register(check_user_model, checks.Tags.models)
+1 −1
Original line number Diff line number Diff line
@@ -9,4 +9,4 @@ class ContentTypesConfig(AppConfig):
    verbose_name = _("Content Types")

    def ready(self):
        checks.register(checks.Tags.models)(check_generic_foreign_keys)
        checks.register(check_generic_foreign_keys, checks.Tags.models)
+12 −5
Original line number Diff line number Diff line
@@ -23,11 +23,11 @@ class CheckRegistry(object):
        self.registered_checks = []
        self.deployment_checks = []

    def register(self, *tags, **kwargs):
    def register(self, check=None, *tags, **kwargs):
        """
        Decorator. Register given function `f` labeled with given `tags`. The
        function should receive **kwargs and return list of Errors and
        Warnings.
        Can be used as a function or a decorator. Register given function
        `f` labeled with given `tags`. The function should receive **kwargs
        and return list of Errors and Warnings.

        Example::

@@ -36,6 +36,8 @@ class CheckRegistry(object):
            def my_check(apps, **kwargs):
                # ... perform checks and collect `errors` ...
                return errors
            # or
            registry.register(my_check, 'mytag', 'anothertag')

        """
        kwargs.setdefault('deploy', False)
@@ -49,6 +51,11 @@ class CheckRegistry(object):
                self.registered_checks.append(check)
            return check

        if callable(check):
            return inner(check)
        else:
            if check:
                tags += (check, )
            return inner

    def run_checks(self, app_configs=None, tags=None, include_deployment_checks=False):
Loading