alfortville: dg summary table (#10089)
This commit is contained in:
parent
42e4c24cc1
commit
c009f03989
|
@ -21,8 +21,8 @@ from .views import (dgs, dga, copies, copies_ajax, table_info, table_avis,
|
|||
count_avis, count_mandatory_avis)
|
||||
|
||||
urlpatterns = patterns('',
|
||||
url('^dgs/$', dgs, name='alfortville-dgs'),
|
||||
url('^dga/$', dga, name='alfortville-dga'),
|
||||
url(r'^dgs/(?P<table>table/)?$', dgs, name='alfortville-dgs'),
|
||||
url(r'^dga/(?P<table>table/)?$', dga, name='alfortville-dga'),
|
||||
url('^copies/(?P<pk>\w+)/$', copies, name='alfortville-copies'),
|
||||
url('^ajax/copies/(?P<pk>\w+)/$', copies_ajax, name='alfortville-copies-ajax'),
|
||||
url('^table/info/$', table_info, name='alfortville-table-info'),
|
||||
|
|
|
@ -28,12 +28,17 @@ from hobo.agent.common.models import Role
|
|||
from .models import Inbox
|
||||
|
||||
from welco.sources.mail.models import Mail
|
||||
from welco.sources.mail.views import Home as MailHome
|
||||
from welco.sources.mail.views import Home as MailOriginalHome
|
||||
from welco.qualif.models import Association
|
||||
from welco.utils import get_wcs_data, get_wcs_options, response_for_json
|
||||
from welco.views import HomeMail as HomeScreen
|
||||
|
||||
|
||||
class MailHome(MailOriginalHome):
|
||||
def get_template(self):
|
||||
return super(MailHome, self).get_template()
|
||||
|
||||
|
||||
class DgsMailHome(MailHome):
|
||||
display_filter = True
|
||||
allow_reject = False
|
||||
|
@ -41,8 +46,23 @@ class DgsMailHome(MailHome):
|
|||
def get_queryset(self):
|
||||
return Mail.objects.filter(status='done-qualif')
|
||||
|
||||
class Dgs(HomeScreen):
|
||||
|
||||
class DgHomeScreen(HomeScreen):
|
||||
def get_template_names(self):
|
||||
if self.kwargs.get('table') == 'table/':
|
||||
return ['alfortville/dg-table.html']
|
||||
return [self.template_name]
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(DgHomeScreen, self).get_context_data(**kwargs)
|
||||
context['home_screen_title'] = self.home_screen_title
|
||||
context['mails'] = context['source'].get_queryset()
|
||||
return context
|
||||
|
||||
|
||||
class Dgs(DgHomeScreen):
|
||||
source_klass = DgsMailHome
|
||||
home_screen_title = _('DGS Validation')
|
||||
|
||||
def check_user_ok(self):
|
||||
return 'DGS' in [x.name for x in self.request.user.groups.all()]
|
||||
|
@ -71,9 +91,9 @@ class DgaMailHome(MailHome):
|
|||
return Mail.objects.filter(status='done-dgs',
|
||||
associations__formdef_reference__in=formdef_references)
|
||||
|
||||
|
||||
class Dga(HomeScreen):
|
||||
class Dga(DgHomeScreen):
|
||||
source_klass = DgaMailHome
|
||||
home_screen_title = _('DGA Validation')
|
||||
|
||||
def check_user_ok(self):
|
||||
user_roles = [x.name for x in self.request.user.groups.all()]
|
||||
|
|
|
@ -47,6 +47,10 @@ class Association(models.Model):
|
|||
def formdef_name(self):
|
||||
return get_wcs_formdef_details(self.formdef_reference).get('title')
|
||||
|
||||
@property
|
||||
def formdef_category(self):
|
||||
return get_wcs_formdef_details(self.formdef_reference).get('category')
|
||||
|
||||
@property
|
||||
def formdata_url(self):
|
||||
site, formdef = self.formdef_reference.split(':')
|
||||
|
|
|
@ -31,8 +31,9 @@ from .models import CounterPresence
|
|||
class Home(object):
|
||||
source_key = 'counter'
|
||||
|
||||
def __init__(self, request):
|
||||
def __init__(self, request, **kwargs):
|
||||
self.request = request
|
||||
self.kwargs = kwargs
|
||||
|
||||
def render(self):
|
||||
zone = CounterZone()
|
||||
|
|
|
@ -86,6 +86,15 @@ class Mail(models.Model):
|
|||
def html_note(self):
|
||||
return re.sub(r'[\r?\n]+', '<br><br>', self.note, re.DOTALL)
|
||||
|
||||
def categories(self):
|
||||
categories = {}
|
||||
for association in self.associations.all():
|
||||
if association.formdef_category:
|
||||
categories[association.formdef_category] = True
|
||||
if not categories:
|
||||
return '-'
|
||||
return categories.keys()
|
||||
|
||||
|
||||
@receiver(post_save, sender=Mail)
|
||||
def create_thumbnail(sender, instance, created, **kwargs):
|
||||
|
|
|
@ -58,12 +58,16 @@ class Home(object):
|
|||
display_filter = False
|
||||
allow_reject = True
|
||||
|
||||
def __init__(self, request):
|
||||
def __init__(self, request, **kwargs):
|
||||
self.request = request
|
||||
self.kwargs = kwargs
|
||||
|
||||
def get_queryset(self):
|
||||
return Mail.objects.exclude(status__startswith='done-')
|
||||
|
||||
def get_template(self):
|
||||
return 'welco/mail_home.html'
|
||||
|
||||
def render(self):
|
||||
context = RequestContext(self.request)
|
||||
context['mails'] = self.get_queryset().order_by('creation_timestamp')
|
||||
|
@ -73,7 +77,7 @@ class Home(object):
|
|||
if self.allow_reject:
|
||||
context['reject_url'] = reverse('mail-reject')
|
||||
context['display_filter'] = self.display_filter
|
||||
tmpl = template.loader.get_template('welco/mail_home.html')
|
||||
tmpl = template.loader.get_template(self.get_template())
|
||||
return tmpl.render(context)
|
||||
|
||||
|
||||
|
|
|
@ -32,8 +32,9 @@ from .models import PhoneCall, PhoneLine
|
|||
class Home(object):
|
||||
source_key = 'phone'
|
||||
|
||||
def __init__(self, request):
|
||||
def __init__(self, request, **kwargs):
|
||||
self.request = request
|
||||
self.kwargs = kwargs
|
||||
|
||||
def render(self):
|
||||
zone = PhoneZone()
|
||||
|
|
|
@ -7,6 +7,10 @@ body.welco-home div#main-content {
|
|||
height: calc(100vh - 8em);
|
||||
}
|
||||
|
||||
body.mail-dg-table div#main-content {
|
||||
height: calc(100vh - 8em);
|
||||
}
|
||||
|
||||
body.mail-table div#more-user-links,
|
||||
body.dgs-home div#more-user-links,
|
||||
body.welco-home div#more-user-links {
|
||||
|
|
|
@ -301,7 +301,11 @@ $(function() {
|
|||
});
|
||||
|
||||
$('#pdf-viewer').on('load', function() {
|
||||
$('.mails ul li[data-pdf-href]:first-child').trigger('click');
|
||||
if (window.location.search) {
|
||||
$('.mails ul li[data-pdf-href][data-source-pk=' + window.location.search.substr(1) + ']').trigger('click');
|
||||
} else {
|
||||
$('.mails ul li[data-pdf-href]:first-child').trigger('click');
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('gadjo:dialog-done welco:load-mail-note', function(ev) {
|
||||
|
|
|
@ -113,7 +113,7 @@ class ChannelHome(TemplateView):
|
|||
if not self.check_user_ok():
|
||||
raise PermissionDenied()
|
||||
context = super(ChannelHome, self).get_context_data(**kwargs)
|
||||
context['source'] = self.source_klass(self.request)
|
||||
context['source'] = self.source_klass(self.request, **kwargs)
|
||||
context['kb'] = KbHomeZone(self.request)
|
||||
context['contacts'] = ContactsHomeZone(self.request)
|
||||
context['channels'] = []
|
||||
|
|
Loading…
Reference in New Issue