alfortville: check DGS and DGA roles

This commit is contained in:
Frédéric Péters 2015-10-09 16:44:05 +02:00
parent 03b09a3264
commit ae42e903db
2 changed files with 18 additions and 0 deletions

View File

@ -39,6 +39,12 @@ class DgsMailHome(MailHome):
class Dgs(HomeScreen):
source_klass = DgsMailHome
def check_user_ok(self):
mellon = self.request.session['mellon_session']
params = {'NameID': mellon['name_id_content']}
user_roles = get_wcs_data('api/user/', params).get('user_roles')
return 'DGS' in [x.get('name') for x in user_roles]
dgs = login_required(Dgs.as_view())
@ -50,6 +56,12 @@ class DgaMailHome(MailHome):
class Dga(HomeScreen):
source_klass = DgaMailHome
def check_user_ok(self):
mellon = self.request.session['mellon_session']
params = {'NameID': mellon['name_id_content']}
user_roles = get_wcs_data('api/user/', params).get('user_roles')
return any([x for x in user_roles if x['name'].startswith('DGA')])
dga = login_required(Dga.as_view())

View File

@ -22,6 +22,7 @@ from django.contrib.auth import logout as auth_logout
from django.contrib.auth import views as auth_views
from django.contrib.auth.decorators import login_required
from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import reverse
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import resolve_url
@ -91,7 +92,12 @@ class Home(TemplateView):
template_name = 'welco/home.html'
source_klass = MailHome
def check_user_ok(self):
return True
def get_context_data(self, **kwargs):
if not self.check_user_ok():
raise PermissionDenied()
context = super(Home, self).get_context_data(**kwargs)
context['source'] = self.source_klass(self.request)
context['kb'] = KbHomeZone(self.request)