Project

General

Profile

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

calebasse / calebasse / agenda / appointments.py @ 5f372104

1

    
2
from calebasse.agenda.models import Occurence
3
from calebasse.personnes.models import TimeTable
4

    
5
class Appointment(object):
6

    
7
    def __init__(self, title=None, begin_hour=None, type=None,
8
            length=None, description=None, room=None, convocation_sent=None,
9
            service_name=None):
10
        """ """
11
        self.title = title
12
        self.begin_hour = begin_hour
13
        self.type = type
14
        self.length = length
15
        self.description = description
16
        self.room = room
17
        self.convocation_sent = None
18
        self.service_name = None
19

    
20
    def load_from_occurence(self, occurence, service):
21
        """ """
22
        delta = occurence.end_time - occurence.start_time
23
        self.length = (delta.hours * 60) + dela.minutes
24
        self.title = occurence.title
25
        self.begin_hour = occurence.start_time.hours
26
        if service in occurence.services:
27
            self.type = "busy-here"
28
        else:
29
            self.type = "busy-elsewhere"
30
            self.service_name = service.name
31
        self.room = occurence.room.name
32
        self.convocation_sent = occurence.convocation_sent
33
        self.description = occurence.description
34

    
35
def get_daily_appointments(date, worker, service):
36
    """
37
    """
38
    weekday_mapping = {
39
            '0': 'dimanche',
40
            '1': 'lundi',
41
            '2': 'mardi',
42
            '3': 'mercredi',
43
            '4': 'jeudi',
44
            '5': 'vendredi'
45
            '6': 'samedi'
46
            }
47
    weekday = weekday_mapping[date.strftime("%w")]
48
    time_tables = TimeTable.objects.filter(worker=worker).\
49
            filter(service=service).\
50
            filter(weekday=weekday).\
51
            filter(start_date__lte=date).\
52
            filter(end_date__gte=date)
53
    occurences = Occurence.objects.daily_occurrences(date, [worker])
54

    
55

    
(3-3/8)