Revision 0f0cacbb
Added by Jérôme Schneider over 12 years ago
calebasse/agenda/templates/agenda/index.html | ||
---|---|---|
89 | 89 |
<input type="text"/> |
90 | 90 |
</div> |
91 | 91 |
<dl> |
92 |
<dt>Assistants</dt> |
|
92 |
{% for workers_type in workers_types %} |
|
93 |
<dt>{{ workers_type.type }}</dt> |
|
93 | 94 |
<dd><ul> |
94 |
<li class="person-item" data-target=".andika-triwidada.agenda">Andika Triwidada</li> |
|
95 |
<li class="person-item" data-target=".andika-triwidada.agenda">Paolo Bacchilega</li> |
|
96 |
</ul></dd> |
|
97 |
<dt>Orthophonistes</dt> |
|
98 |
<dd><ul> |
|
99 |
<li class="person-item active" data-target=".sandy-kilo.agenda">Sandy Kilo <span title="cliquer pour déselectionner">(-)</span></li> |
|
100 |
<li class="person-item active" data-target=".bob-leponge.agenda">Bob Léponge <span title="cliquer pour déselectionner">(-)</span></li> |
|
101 |
<li class="person-item active">Pol Lepoulpe</li> |
|
95 |
{% for worker in workers_type.workers %} |
|
96 |
<li class="person-item" data-target=".andika-triwidada.agenda">{{ worker.display_name }}</li> |
|
97 |
{% endfor %} |
|
102 | 98 |
</ul></dd> |
99 |
{% endfor %} |
|
103 | 100 |
</dl> |
104 | 101 |
</div> |
105 | 102 |
{% endblock %} |
calebasse/agenda/urls.py | ||
---|---|---|
3 | 3 |
from django.conf.urls import url, patterns, include |
4 | 4 |
|
5 | 5 |
from calebasse.cbv import TemplateView |
6 |
from views import redirect_today |
|
6 |
from views import redirect_today, AgendaHomepageView
|
|
7 | 7 |
|
8 | 8 |
|
9 | 9 |
agenda_patterns = patterns('', |
10 | 10 |
url(r'^$', |
11 |
TemplateView.as_view(
|
|
11 |
AgendaHomepageView.as_view(
|
|
12 | 12 |
template_name='agenda/index.html'), |
13 | 13 |
name='agenda'), |
14 | 14 |
url(r'^activite-du-service/$', |
... | ... | |
28 | 28 |
urlpatterns = patterns('', |
29 | 29 |
url(r'^$', redirect_today), |
30 | 30 |
url(r'^(?P<date>[^/]*)/', include(agenda_patterns))) |
31 |
|
calebasse/agenda/views.py | ||
---|---|---|
1 |
import ipdb |
|
1 | 2 |
import datetime |
2 | 3 |
|
3 | 4 |
from django.shortcuts import redirect |
4 | 5 |
|
5 | 6 |
from calebasse.cbv import TemplateView |
6 | 7 |
from calebasse.personnes.models import Worker |
8 |
from calebasse.ressources.models import WorkerType |
|
7 | 9 |
|
8 | 10 |
def redirect_today(request, service): |
9 | 11 |
'''If not date is given we redirect on the agenda for today''' |
... | ... | |
11 | 13 |
service=service) |
12 | 14 |
|
13 | 15 |
class AgendaHomepageView(TemplateView): |
16 |
|
|
14 | 17 |
template_name = 'agenda/index.html' |
15 | 18 |
|
16 | 19 |
def get_context_data(self, **kwargs): |
17 | 20 |
context = super(AgendaHomepageView, self).get_context_data(**kwargs) |
18 |
#context['therapeutes'] = Therapeute.objects.for_service(self.service) |
|
19 |
#context['personnels'] = Personnel.objects.for_service(self.service) |
|
21 |
context['workers_types'] = [] |
|
22 |
for worker_type in WorkerType.objects.all(): |
|
23 |
data = {'type': worker_type.name, 'workers': Worker.objects.for_service(self.service, worker_type) } |
|
24 |
context['workers_types'].append(data) |
|
20 | 25 |
return context |
calebasse/personnes/models.py | ||
---|---|---|
3 | 3 |
from django.db import models |
4 | 4 |
from django.contrib.auth.models import User |
5 | 5 |
|
6 |
from calebasse.ressources.models import WorkerType |
|
6 | 7 |
from calebasse.models import WeekdayField, BaseModelMixin |
7 | 8 |
|
8 | 9 |
class People(BaseModelMixin, models.Model): |
... | ... | |
18 | 19 |
def __unicode__(self): |
19 | 20 |
return self.display_name |
20 | 21 |
|
22 |
class WorkerManager(models.Manager): |
|
23 |
|
|
24 |
def for_service(self, service, type=None): |
|
25 |
if type: |
|
26 |
return self.filter(services__in=[service]).filter(type=type) |
|
27 |
else: |
|
28 |
return self.filter(services__in=[service]) |
|
29 |
|
|
30 |
|
|
21 | 31 |
class Worker(People): |
32 |
objects = WorkerManager() |
|
33 |
# TODO : use manytomany here ? |
|
22 | 34 |
type = models.ForeignKey('ressources.WorkerType', |
23 | 35 |
verbose_name=u'Type de personnel') |
24 | 36 |
services = models.ManyToManyField('ressources.Service') |
Also available in: Unified diff
Agenda: begin graphic integration