mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-22 07:52:15 +00:00
Entirely new concept
This commit is contained in:
@@ -30,8 +30,7 @@ class Calendar(HTMLCalendar):
|
||||
# formats a day as a td
|
||||
# filter events by day
|
||||
def formatday(self, day, events, subhires):
|
||||
events_per_day = events.order_by("start_date").filter(start_date__day__lte=day, end_date__day__gte=day)
|
||||
subhires_per_day = subhires.order_by("start_date").filter(start_date__day__lte=day, end_date__day__gte=day)
|
||||
|
||||
d = get_html(events_per_day, day) + get_html(subhires_per_day, day)
|
||||
if day != 0:
|
||||
return f"<td valign='top' class='days'><span class='date'>{day}</span><br>{d}</td>"
|
||||
@@ -44,17 +43,25 @@ class Calendar(HTMLCalendar):
|
||||
week += self.formatday(d, events, subhires)
|
||||
return f'<tr> {week} </tr>'
|
||||
|
||||
# formats a month as a table
|
||||
# filter events by year and month
|
||||
def formatmonth(self, withyear=True):
|
||||
events = Event.objects.filter(start_date__year=self.year, start_date__month=self.month)
|
||||
subhires = Subhire.objects.filter(start_date__year=self.year, start_date__month=self.month)
|
||||
weeks = self.monthdays2calendar(self.year, self.month)
|
||||
data = []
|
||||
|
||||
cal = f'<table cellpadding="0" cellspacing="0" class="calendar">\n'
|
||||
cal += f'{self.formatweekheader()}\n'
|
||||
for week in self.monthdays2calendar(self.year, self.month):
|
||||
cal += f'{self.formatweek(week, events, subhires)}\n'
|
||||
return cal
|
||||
for week in weeks:
|
||||
weeks_events = []
|
||||
for day in week:
|
||||
events_per_day = events.order_by("start_date").filter(start_date__day=day[0])
|
||||
subhires_per_day = subhires.order_by("start_date").filter(start_date__day=day[0])
|
||||
event_html = ""
|
||||
for event in events_per_day:
|
||||
event_html += f"<a href='{event.get_edit_url()}' style='display: contents;'><div class='event event-start event-end bg-{event.color}' data-span='{event.length}'>{event}</div></a>"
|
||||
for sh in subhires_per_day:
|
||||
event_html += f"<div class='event event-start event-end bg-{sh.color}' data-span='{sh.length}'>{sh}</div>"
|
||||
weeks_events.append((day[0], day[1], event_html))
|
||||
data.append(weeks_events)
|
||||
return data
|
||||
|
||||
|
||||
def get_date(req_day):
|
||||
|
||||
Reference in New Issue
Block a user