def update(self):
        need(ICalendarResources)
        self.now = datetime.now(self.context.get_timezone())
        self.selected_month = self.get_int_param('month', self.now.month)
        self.selected_year = self.get_int_param('year', self.now.year)
        try:
            self.selected_day = datetime(
                self.selected_year,
                self.selected_month,
                self.get_selected_day(self.now),
                tzinfo=self.context.get_timezone())
        except ValueError:
            self.selected_day = self.now
            self.selected_year = self.now.year
            self.selected_month = self.now.month

        self.start = datetimeutils.start_of_month(self.selected_day)
        self.end = datetimeutils.end_of_month(self.selected_day)

        self._day_events = self._selected_day_events()
        self.calendar = self.build_calendar(
            self.selected_day.date(), self.start, self.end, self.now.date())

        if self.should_display_prev_link():
            self.calendar.prev_link = \
                '<a class="prevmonth caljump" href="%s">&lt;</a>' % \
                    self.prev_month_url()
        if self.should_display_next_link():
            self.calendar.next_link = \
                '<a class="nextmonth caljump" href="%s">&gt;</a>' % \
                    self.next_month_url()
Example #2
0
    def _get_items_by_date(
        self, month, year, timezone=local_timezone, meta_types=None,
        public_only=True, filter_items=True):
        """ This does not play well with recurrence, this should not be used
        with agenda items
        """

        month = int(month)
        year = int(year)
        startdate = datetimeutils.start_of_month(
            datetime(year, month, 1, tzinfo=timezone))
        enddate = datetimeutils.end_of_month(startdate)
        return self._get_items_by_date_range(startdate, enddate,
            meta_types=meta_types, public_only=public_only,
            filter_items=filter_items)