switch role checking to local hobo table instead of querying wcs
This commit is contained in:
parent
b5b28efd08
commit
86e808d1f2
|
@ -19,6 +19,8 @@ from django.contrib.contenttypes import generic
|
|||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from hobo.agent.common.models import Role
|
||||
|
||||
from welco.utils import get_wcs_data
|
||||
|
||||
|
||||
|
@ -40,5 +42,4 @@ class Inbox(models.Model):
|
|||
comments = models.TextField(blank=True, null=True, verbose_name=_('Comments'))
|
||||
|
||||
def role_name(self):
|
||||
return [x for x in get_wcs_data('api/roles').get('data')
|
||||
if x['slug'] == self.role_slug][0]['name']
|
||||
return Role.objects.get(uuid=self.role_slug).name
|
||||
|
|
|
@ -22,6 +22,8 @@ from django.http import HttpResponse, HttpResponseRedirect
|
|||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.views.generic import TemplateView, DetailView
|
||||
|
||||
from hobo.agent.common.models import Role
|
||||
|
||||
from .models import Inbox
|
||||
|
||||
from welco.sources.mail.models import Mail
|
||||
|
@ -42,10 +44,7 @@ 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]
|
||||
return 'DGS' in [x.name for x in self.request.user.groups.all()]
|
||||
|
||||
dgs = login_required(Dgs.as_view())
|
||||
|
||||
|
@ -73,9 +72,7 @@ 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')
|
||||
user_roles = [x.name for x in self.request.user.groups.all()]
|
||||
return any([x for x in user_roles if x['name'].startswith('DGA')])
|
||||
|
||||
dga = login_required(Dga.as_view())
|
||||
|
@ -148,7 +145,7 @@ class MailTable(TemplateView):
|
|||
mellon = self.request.session['mellon_session']
|
||||
params['NameID'] = mellon['name_id_content']
|
||||
|
||||
user_roles = [x['slug'] for x in get_wcs_data('api/user/', params=params).get('user_roles')]
|
||||
user_roles = [x.uuid for x in Role.objects.filter(user=self.request.user)]
|
||||
|
||||
mails = Mail.objects.filter(status='done-dga')
|
||||
content_type = ContentType.objects.get_for_model(Mail)
|
||||
|
|
Loading…
Reference in New Issue