コード例 #1
0
ファイル: views.py プロジェクト: glader/zilant
def make_pdf_data(template, day):
    places = models.Place.active().order_by('order')
    changes = {(change.event_id, change.place_id, change.day): change
               for change in models.CalendarPlacement.objects.filter(calendar=template)}

    current_date = settings.ZILANT_FIRST_DAY + timedelta(days=day)
    placements = list(models.Placement.objects.filter(day=current_date))
    calendar = list()

    calendar.append([human_date(current_date)])
    for n in range(10, 22):
        calendar[0].extend([{'text': str(n), 'span': 4}, "", "", ""])
    calendar.append([""] + ['00', '15', '30', '45'] * 12)

    for number, place in enumerate(places):
        row = make_pdf_row(template, place, [placement for placement in placements if placement.place_id == place.id], changes)

        calendar.append(row)

    return calendar
コード例 #2
0
ファイル: views.py プロジェクト: glader/zilant
def make_department_data(department):
    placements = list(
        models.Placement.objects.filter(event__department=department)
        .order_by('day', 'start', 'place')
        .select_related('event')
    )
    schedule = []
    styles = []

    for day, places in groupby(placements, key=lambda p: p.day):
        schedule.append([human_date(day), '', ''])
        styles.append('bold')

        for placement, style in izip(places, cycle(['odd', 'even'])):
            schedule.append([placement.start, placement.place.title, placement.calendar_title or placement.event.title])
            styles.append(style)

        schedule.append(['', '', ''])
        styles.append('odd')

    return schedule, styles
コード例 #3
0
ファイル: models.py プロジェクト: glader/zilant
 def get_date(self):
     placement = self.get_placement()
     if placement:
         return human_date(placement.day)
     else:
         return ''