148 |
148 |
agenda_view = AgendaView.as_view()
|
149 |
149 |
|
150 |
150 |
|
151 |
|
class AgendaDayView(DayArchiveView):
|
152 |
|
template_name = 'chrono/manager_agenda_day_view.html'
|
|
151 |
class AgendaDateView(object):
|
153 |
152 |
model = Event
|
154 |
153 |
month_format = '%m'
|
155 |
154 |
date_field = 'start_datetime'
|
... | ... | |
168 |
167 |
self.date = make_aware(datetime.datetime.strptime(
|
169 |
168 |
'%s-%s-%s 06:00' % (self.get_year(), self.get_month(), self.get_day()),
|
170 |
169 |
'%Y-%m-%d %H:%M'))
|
171 |
|
return super(AgendaDayView, self).dispatch(request, *args, **kwargs)
|
172 |
|
|
173 |
|
def get_queryset(self):
|
174 |
|
queryset = super(AgendaDayView, self).get_queryset()
|
175 |
|
queryset = queryset.filter(agenda=self.agenda).prefetch_related('booking_set')
|
176 |
|
return queryset
|
|
170 |
return super(AgendaDateView, self).dispatch(request, *args, **kwargs)
|
177 |
171 |
|
178 |
172 |
def get_context_data(self, **kwargs):
|
179 |
|
context = super(AgendaDayView, self).get_context_data(**kwargs)
|
|
173 |
context = super(AgendaDateView, self).get_context_data(**kwargs)
|
180 |
174 |
context['agenda'] = self.agenda
|
181 |
175 |
try:
|
182 |
176 |
context['hour_span'] = max(60 / self.agenda.get_base_meeting_duration(), 1)
|
... | ... | |
185 |
179 |
context['user_can_manage'] = self.agenda.can_be_managed(self.request.user)
|
186 |
180 |
return context
|
187 |
181 |
|
|
182 |
def get_queryset(self):
|
|
183 |
queryset = super(AgendaDateView, self).get_queryset()
|
|
184 |
queryset = queryset.filter(agenda=self.agenda).prefetch_related('booking_set')
|
|
185 |
return queryset
|
|
186 |
|
|
187 |
def get_days(self):
|
|
188 |
return [str(x) for x in range(1, 32)]
|
|
189 |
|
|
190 |
def get_months(self):
|
|
191 |
return [(str(x), MONTHS[x]) for x in range(1, 13)]
|
|
192 |
|
|
193 |
def get_years(self):
|
|
194 |
year = now().year
|
|
195 |
return [str(x) for x in range(year-1, year+5)]
|
|
196 |
|
|
197 |
|
|
198 |
class AgendaDayView(AgendaDateView, DayArchiveView):
|
|
199 |
template_name = 'chrono/manager_agenda_day_view.html'
|
|
200 |
|
188 |
201 |
def get_previous_day_url(self):
|
189 |
202 |
previous_day = self.date.date() - datetime.timedelta(days=1)
|
190 |
203 |
return reverse('chrono-manager-agenda-day-view',
|
... | ... | |
252 |
265 |
current_date += interval
|
253 |
266 |
first = False
|
254 |
267 |
|
255 |
|
def get_days(self):
|
256 |
|
return [str(x) for x in range(1, 32)]
|
257 |
|
|
258 |
|
def get_months(self):
|
259 |
|
return [(str(x), MONTHS[x]) for x in range(1, 13)]
|
260 |
|
|
261 |
|
def get_years(self):
|
262 |
|
year = now().year
|
263 |
|
return [str(x) for x in range(year-1, year+5)]
|
264 |
|
|
265 |
268 |
agenda_day_view = AgendaDayView.as_view()
|
266 |
269 |
|
267 |
270 |
|
268 |
|
-
|