From 2acea0e625abbae7a3f9a205ba7907c6f833ccc4 Mon Sep 17 00:00:00 2001 From: artus40 Date: Thu, 29 Dec 2016 13:26:22 +0100 Subject: [PATCH] cleaned up code in website, utilisateurs --- suivi/templates/suivi/index.html | 5 +++++ utilisateurs/models.py | 4 +++- website/backends.py | 26 ++++++++++++-------------- website/mixins.py | 12 +----------- 4 files changed, 21 insertions(+), 26 deletions(-) diff --git a/suivi/templates/suivi/index.html b/suivi/templates/suivi/index.html index d5e32f6..72b1b75 100644 --- a/suivi/templates/suivi/index.html +++ b/suivi/templates/suivi/index.html @@ -1,3 +1,8 @@ +
+

Ces derniers temps

+

Vigilance

+
+

Créer une note :

diff --git a/utilisateurs/models.py b/utilisateurs/models.py index 1720123..323b9bd 100644 --- a/utilisateurs/models.py +++ b/utilisateurs/models.py @@ -52,7 +52,9 @@ class MaraudeurManager(UserManager): 'first_name': first_name, 'last_name': last_name, 'email': "%s@alsa68.org" % username, - } + 'is_staff': True, + 'is_active': True, + } return super().create_user(username, **data) diff --git a/website/backends.py b/website/backends.py index 297fca7..da822d4 100644 --- a/website/backends.py +++ b/website/backends.py @@ -2,24 +2,22 @@ from django.contrib.auth.backends import ModelBackend from utilisateurs.models import Maraudeur + +def user_models(): + return (Maraudeur,) + class MyBackend(ModelBackend): - def authenticate(self, **kwargs): - print('authenticate using MyBackend') - return super().authenticate(**kwargs) - def get_user(self, user_id): - """ Retourne la classe enfant de l'utilisateur connecté - s'il en a une, sinon le User par défaut. + """ Essaye de récupérer une classe enfant de User existante, telle que + définie dans 'utilisateurs.models'. Fallback to default user. """ - print('use MyBackend: get_user', user_id) - try: - user = Maraudeur.objects.get(pk=user_id) - except Maraudeur.DoesNotExist: - print('no Maraudeur found. Using base user class') - user = super().get_user(user_id) - print("found:", user, user.__class__) - return user + for user_model in user_models(): + try: + return user_model.objects.get(pk=user_id) + except user_model.DoesNotExist: + print('Tried %s.' % user_model.__class__) + return super().get_user(user_id) def has_perm(self, *args, **kwargs): print('call has_perm', args, kwargs) diff --git a/website/mixins.py b/website/mixins.py index ffd1ba5..cb1454e 100644 --- a/website/mixins.py +++ b/website/mixins.py @@ -2,8 +2,6 @@ import datetime from django.utils import timezone from django.core.exceptions import ImproperlyConfigured from django.apps import apps -#TODO: remove next line -from django.contrib.auth.decorators import login_required, permission_required from django.contrib.auth.decorators import user_passes_test from django.template import Template, Context from django.views.generic.base import ContextMixin, TemplateResponseMixin @@ -12,13 +10,6 @@ from django.views.generic.base import ContextMixin, TemplateResponseMixin ## Mixins ## -class PermissionRequiredMixin(object): - permissions = [] - @classmethod - def as_view(cls, **initkwargs): - view = super(PermissionRequiredMixin, cls).as_view(**initkwargs) - return permission_required(cls.permissions)(view) - def special_user_required(authorized_users): valid_cls = tuple(authorized_users) @@ -54,7 +45,7 @@ class TemplateFieldsMetaclass(type): def user_processor(request, context): - context['user_group'] = request.user.groups.first() + context['user_group'] = request.user.__class__.__qualname__ return context @@ -83,7 +74,6 @@ class NavbarMixin(object): app_config.menu_icon = APP_ICONS[name] #TODO: Seems unsafe (only need module perm) app_config.disabled = not self.request.user.has_module_perms(name) - print(self.request.user, app_config, '-> has perm:', not app_config.disabled) self._apps.append(app_config) return self._apps