Project

General

Profile

Download (1.85 KB) Statistics
| Branch: | Tag: | Revision:
c15cd5d6 Benjamin Dauvergne
# -*- coding: utf-8 -*-

2e9ee32b Benjamin Dauvergne
from django.shortcuts import render, redirect
c15cd5d6 Benjamin Dauvergne
from django.template.defaultfilters import slugify

2e9ee32b Benjamin Dauvergne
from cbv import HOME_SERVICE_COOKIE, TemplateView
c15cd5d6 Benjamin Dauvergne
2e9ee32b Benjamin Dauvergne
from calebasse.ressources.models import Service
1ae7d450 Mikaël Ates
from calebasse.middleware.request import get_request
from calebasse.utils import is_validator

c15cd5d6 Benjamin Dauvergne
APPLICATIONS = (
87abc503 Mikaël Ates
(u'Gestion des dossiers', 'dossiers', False),
(u'Agenda', 'agenda', False),
90ff0811 Jérôme Schneider
(u'Saisie des actes', 'actes', True),
64ec5b79 Mikaël Ates
(u'Facturation et décompte', 'facturation', True),
87abc503 Mikaël Ates
(u'Gestion des personnes', 'personnes', True),
(u'Gestion des ressources', 'ressources', True),
5178d952 Mikaël Ates
(u'Statistiques', 'statistics', True),
c15cd5d6 Benjamin Dauvergne
)

2e9ee32b Benjamin Dauvergne
def redirect_to_homepage(request):
service_name = request.COOKIES.get(HOME_SERVICE_COOKIE, 'cmpp').lower()
return redirect('homepage', service=service_name)
c15cd5d6 Benjamin Dauvergne
2e9ee32b Benjamin Dauvergne
class Homepage(TemplateView):
template_name='calebasse/homepage.html'
23bca0c9 Serghei MIHAI
cookies_to_clear = [('agenda-tabs', )]
efe3f40d Serghei MIHAI
def dispatch(self, request, **kwargs):
if 'service' in kwargs:
23bca0c9 Serghei MIHAI
self.cookies_to_clear = [('agenda-tabs',
0cbf950f Serghei MIHAI
'/%s/agenda' % kwargs['service']),
('agenda-ressource-tabs',
'/%s/agenda' % kwargs['service']),
efe3f40d Serghei MIHAI
]
return super(Homepage, self).dispatch(request, **kwargs)
2e9ee32b Benjamin Dauvergne
def get_context_data(self, **kwargs):
services = Service.objects.values_list('name', 'slug')
2fc71f9b Mikaël Ates
services = sorted(services, key=lambda tup: tup[0])
2e9ee32b Benjamin Dauvergne
ctx = super(Homepage, self).get_context_data(**kwargs)
1ae7d450 Mikaël Ates
applications = list(APPLICATIONS)
2e9ee32b Benjamin Dauvergne
ctx.update({
1ae7d450 Mikaël Ates
'applications': applications,
2e9ee32b Benjamin Dauvergne
'services': services,
'service_name': self.service.name,
})
return ctx

homepage = Homepage.as_view()