Project

General

Profile

Download (1.85 KB) Statistics
| Branch: | Tag: | Revision:

calebasse / calebasse / views.py @ 05a6bb20

1 c15cd5d6 Benjamin Dauvergne
# -*- coding: utf-8 -*-
2
3 2e9ee32b Benjamin Dauvergne
from django.shortcuts import render, redirect
4 c15cd5d6 Benjamin Dauvergne
from django.template.defaultfilters import slugify
5
6 2e9ee32b Benjamin Dauvergne
from cbv import HOME_SERVICE_COOKIE, TemplateView
7 c15cd5d6 Benjamin Dauvergne
8 2e9ee32b Benjamin Dauvergne
from calebasse.ressources.models import Service
9 1ae7d450 Mikaël Ates
from calebasse.middleware.request import get_request
10
from calebasse.utils import is_validator
11
12 c15cd5d6 Benjamin Dauvergne
13
APPLICATIONS = (
14 87abc503 Mikaël Ates
        (u'Gestion des dossiers', 'dossiers', False),
15
        (u'Agenda', 'agenda', False),
16 90ff0811 Jérôme Schneider
        (u'Saisie des actes', 'actes', True),
17 64ec5b79 Mikaël Ates
        (u'Facturation et décompte', 'facturation', True),
18 87abc503 Mikaël Ates
        (u'Gestion des personnes', 'personnes', True),
19
        (u'Gestion des ressources', 'ressources', True),
20 5178d952 Mikaël Ates
        (u'Statistiques', 'statistics', True),
21 c15cd5d6 Benjamin Dauvergne
)
22
23 2e9ee32b Benjamin Dauvergne
def redirect_to_homepage(request):
24
    service_name = request.COOKIES.get(HOME_SERVICE_COOKIE, 'cmpp').lower()
25
    return redirect('homepage', service=service_name)
26 c15cd5d6 Benjamin Dauvergne
27 2e9ee32b Benjamin Dauvergne
class Homepage(TemplateView):
28
    template_name='calebasse/homepage.html'
29 23bca0c9 Serghei MIHAI
    cookies_to_clear = [('agenda-tabs', )]
30 efe3f40d Serghei MIHAI
31
    def dispatch(self, request, **kwargs):
32
        if 'service' in kwargs:
33 23bca0c9 Serghei MIHAI
            self.cookies_to_clear = [('agenda-tabs',
34 0cbf950f Serghei MIHAI
                                      '/%s/agenda' % kwargs['service']),
35
                                     ('agenda-ressource-tabs',
36
                                      '/%s/agenda' % kwargs['service']),
37 efe3f40d Serghei MIHAI
                                     ]
38
        return super(Homepage, self).dispatch(request, **kwargs)
39 2e9ee32b Benjamin Dauvergne
40
    def get_context_data(self, **kwargs):
41
        services = Service.objects.values_list('name', 'slug')
42 2fc71f9b Mikaël Ates
        services = sorted(services, key=lambda tup: tup[0])
43 2e9ee32b Benjamin Dauvergne
        ctx = super(Homepage, self).get_context_data(**kwargs)
44 1ae7d450 Mikaël Ates
        applications = list(APPLICATIONS)
45 2e9ee32b Benjamin Dauvergne
        ctx.update({
46 1ae7d450 Mikaël Ates
            'applications': applications,
47 2e9ee32b Benjamin Dauvergne
            'services': services,
48
            'service_name': self.service.name,
49
        })
50
        return ctx
51
52
homepage = Homepage.as_view()