calebasse/calebasse/views.py @ b0cd758c
| 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()
|