| 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 |
|
|
# (u'Saisie des actes', 'actes', True),
|
| 17 |
|
|
# (u'Facturation et décompte', 'facturation', True),
|
| 18 |
|
|
(u'Gestion des personnes', 'personnes', True),
|
| 19 |
|
|
(u'Gestion des ressources', 'ressources', True),
|
| 20 |
c15cd5d6
|
Benjamin Dauvergne
|
)
|
| 21 |
|
|
|
| 22 |
2e9ee32b
|
Benjamin Dauvergne
|
def redirect_to_homepage(request):
|
| 23 |
|
|
service_name = request.COOKIES.get(HOME_SERVICE_COOKIE, 'cmpp').lower()
|
| 24 |
|
|
return redirect('homepage', service=service_name)
|
| 25 |
c15cd5d6
|
Benjamin Dauvergne
|
|
| 26 |
2e9ee32b
|
Benjamin Dauvergne
|
class Homepage(TemplateView):
|
| 27 |
|
|
template_name='calebasse/homepage.html'
|
| 28 |
|
|
|
| 29 |
|
|
def get_context_data(self, **kwargs):
|
| 30 |
|
|
services = Service.objects.values_list('name', 'slug')
|
| 31 |
2fc71f9b
|
Mikaël Ates
|
services = sorted(services, key=lambda tup: tup[0])
|
| 32 |
2e9ee32b
|
Benjamin Dauvergne
|
ctx = super(Homepage, self).get_context_data(**kwargs)
|
| 33 |
1ae7d450
|
Mikaël Ates
|
applications = list(APPLICATIONS)
|
| 34 |
|
|
# user = get_request().user
|
| 35 |
|
|
# if not is_validator(user):
|
| 36 |
|
|
# applications.pop(3)
|
| 37 |
|
|
# applications.pop(4)
|
| 38 |
2e9ee32b
|
Benjamin Dauvergne
|
ctx.update({
|
| 39 |
1ae7d450
|
Mikaël Ates
|
'applications': applications,
|
| 40 |
2e9ee32b
|
Benjamin Dauvergne
|
'services': services,
|
| 41 |
|
|
'service_name': self.service.name,
|
| 42 |
|
|
})
|
| 43 |
|
|
return ctx
|
| 44 |
|
|
|
| 45 |
|
|
homepage = Homepage.as_view()
|