#25142: Refactor access mixins to allow customisation --------------------------------------+------------------------------------ Reporter: dfunckt | Owner: dfunckt Type: Cleanup/optimization | Status: assigned Component: contrib.auth | Version: master Severity: Normal | Resolution: Keywords: | Triage Stage: Accepted Has patch: 1 | Needs documentation: 0 Needs tests: 1 | Patch needs improvement: 0 Easy pickings: 1 | UI/UX: 0 --------------------------------------+------------------------------------ Description changed by dfunckt:
Old description: > Extending from PermissionRequiredMixin to implement a mixin for checking > for *object* permissions means that you can't call super in .dispatch > because PermissionRequiredMixin will do another check for model-level > permissions. > > I propose to delegate the check for permissions in > PermissionRequiredMixin.dispatch to an instance method. This way, we are > able to provide a hook for code to check for object permissions without > having to re-implement the whole class. > > PR coming shortly. New description: Extending from PermissionRequiredMixin to implement a mixin for checking for *object* permissions means that you can't call super in .dispatch because PermissionRequiredMixin will do another check for model-level permissions. I propose to delegate the check for permissions in PermissionRequiredMixin.dispatch to an instance method. This way, we are able to provide a hook for code to check for object permissions without having to re-implement the whole class. PR coming shortly. ---- I have went ahead and generalised the ticket and patch to refactor all access mixins. -- -- Ticket URL: <https://code.djangoproject.com/ticket/25142#comment:7> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/065.4ae27d5003935cb9a97fec9d25ebb086%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.