manager: refactor agenda day view (#21326)
This commit is contained in:
parent
22d137836f
commit
102beb5b4a
|
@ -148,8 +148,7 @@ class AgendaView(DetailView):
|
|||
agenda_view = AgendaView.as_view()
|
||||
|
||||
|
||||
class AgendaDayView(DayArchiveView):
|
||||
template_name = 'chrono/manager_agenda_day_view.html'
|
||||
class AgendaDateView(object):
|
||||
model = Event
|
||||
month_format = '%m'
|
||||
date_field = 'start_datetime'
|
||||
|
@ -168,15 +167,10 @@ class AgendaDayView(DayArchiveView):
|
|||
self.date = make_aware(datetime.datetime.strptime(
|
||||
'%s-%s-%s 06:00' % (self.get_year(), self.get_month(), self.get_day()),
|
||||
'%Y-%m-%d %H:%M'))
|
||||
return super(AgendaDayView, self).dispatch(request, *args, **kwargs)
|
||||
|
||||
def get_queryset(self):
|
||||
queryset = super(AgendaDayView, self).get_queryset()
|
||||
queryset = queryset.filter(agenda=self.agenda).prefetch_related('booking_set')
|
||||
return queryset
|
||||
return super(AgendaDateView, self).dispatch(request, *args, **kwargs)
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(AgendaDayView, self).get_context_data(**kwargs)
|
||||
context = super(AgendaDateView, self).get_context_data(**kwargs)
|
||||
context['agenda'] = self.agenda
|
||||
try:
|
||||
context['hour_span'] = max(60 // self.agenda.get_base_meeting_duration(), 1)
|
||||
|
@ -185,6 +179,25 @@ class AgendaDayView(DayArchiveView):
|
|||
context['user_can_manage'] = self.agenda.can_be_managed(self.request.user)
|
||||
return context
|
||||
|
||||
def get_queryset(self):
|
||||
queryset = super(AgendaDateView, self).get_queryset()
|
||||
queryset = queryset.filter(agenda=self.agenda).prefetch_related('booking_set')
|
||||
return queryset
|
||||
|
||||
def get_days(self):
|
||||
return [str(x) for x in range(1, 32)]
|
||||
|
||||
def get_months(self):
|
||||
return [(str(x), MONTHS[x]) for x in range(1, 13)]
|
||||
|
||||
def get_years(self):
|
||||
year = now().year
|
||||
return [str(x) for x in range(year-1, year+5)]
|
||||
|
||||
|
||||
class AgendaDayView(AgendaDateView, DayArchiveView):
|
||||
template_name = 'chrono/manager_agenda_day_view.html'
|
||||
|
||||
def get_previous_day_url(self):
|
||||
previous_day = self.date.date() - datetime.timedelta(days=1)
|
||||
return reverse('chrono-manager-agenda-day-view',
|
||||
|
@ -252,16 +265,6 @@ class AgendaDayView(DayArchiveView):
|
|||
current_date += interval
|
||||
first = False
|
||||
|
||||
def get_days(self):
|
||||
return [str(x) for x in range(1, 32)]
|
||||
|
||||
def get_months(self):
|
||||
return [(str(x), MONTHS[x]) for x in range(1, 13)]
|
||||
|
||||
def get_years(self):
|
||||
year = now().year
|
||||
return [str(x) for x in range(year-1, year+5)]
|
||||
|
||||
agenda_day_view = AgendaDayView.as_view()
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue