def test_basics(self): tuesday = "RRULE:FREQ=WEEKLY;BYDAY=TU" wednesday = "RRULE:FREQ=WEEKLY;BYDAY=WE" thursday = "RRULE:FREQ=WEEKLY;BYDAY=TH" friday = "RRULE:FREQ=WEEKLY;BYDAY=FR" event1 = RegularEventFactory.create(pattern=tuesday) event2 = RegularEventFactory.create(pattern=friday) RegularEventFactory.create(pattern=wednesday) RegularEventFactory.create(pattern=thursday) schedule = get_schedule() self.assertTrue(hasattr(schedule, 'calendar_entries')) self.assertEqual(len(schedule.calendar_entries), 7) entries = schedule.calendar_entries days_of_week = [d[1] for d in diary.DAYS_OF_WEEK] self.assertEqual(days_of_week, [s.dayname for s in entries]) self.assertEqual(range(0, 7), [s.day for s in entries]) self.assertEqual([len(e.regular_events) for e in entries], [0, 1, 1, 1, 1, 0, 0]) self.assertEqual(entries[1].regular_events[0], event1) self.assertEqual(entries[4].regular_events[0], event2)
def render(self, request, *args, **kwargs): thedate = self.get_date(request, *args, **kwargs) schedule = get_schedule(thedate) tmpl = 'kanisa/management/diary/_diary_page.html' return render_to_response(tmpl, {'calendar': schedule.calendar_entries}, context_instance=RequestContext(request))
def render(self, request, *args, **kwargs): thedate = self.get_date(request, *args, **kwargs) schedule = get_schedule(thedate) tmpl = 'kanisa/management/diary/_diary_page.html' return render(request, tmpl, {'calendar': schedule.calendar_entries})
def get_context_data(self, **kwargs): context = super(DiaryEventIndexView, self).get_context_data(**kwargs) thedate = self.date_from_yyymmdd() schedule = get_schedule(thedate) context['previousdate'] = (schedule.monday - timedelta(days=7)).strftime("%Y%m%d") context['nextdate'] = (schedule.monday + timedelta(days=7)).strftime("%Y%m%d") context['monday'] = schedule.monday context['calendar'] = schedule.calendar_entries context['events_to_schedule'] = schedule.events_to_schedule return context
def get_context_data(self, **kwargs): context = super(DiaryEventIndexView, self).get_context_data(**kwargs) thedate = self.date_from_yyymmdd() schedule = get_schedule(thedate) context['previousdate'] = (schedule.monday - timedelta(days=7)).strftime("%Y%m%d") context['nextdate'] = (schedule.monday + timedelta(days=7)).strftime("%Y%m%d") context['monday'] = schedule.monday context['calendar'] = schedule.calendar_entries context['events_to_schedule'] = schedule.events_to_schedule form = FindEventForm() form.fields['date'].widget = forms.HiddenInput() context['find_event_form'] = form return context
def test_scheduled(self): tuesday = "RRULE:FREQ=WEEKLY;BYDAY=TU" event1 = RegularEventFactory.create(pattern=tuesday) RegularEventFactory.create(pattern="RRULE:FREQ=WEEKLY;BYDAY=WE") event1.schedule(date(2012, 1, 1), date(2012, 1, 8)) self.assertEqual(len(ScheduledEvent.objects.all()), 1) instance = ScheduledEvent.objects.get(pk=1) self.assertEqual(instance.date, date(2012, 1, 3)) schedule = get_schedule(date(2012, 1, 4)) entries = schedule.calendar_entries # Regular events is a weekday aligned list of regular events # which are not yet scheduled. self.assertEqual([len(e.regular_events) for e in entries], [0, 0, 1, 0, 0, 0, 0]) # Scheduled events is a weekday aligned list of scheduled # events which are scheduled. self.assertEqual([len(e.scheduled_events) for e in entries], [0, 1, 0, 0, 0, 0, 0])