예제 #1
0
    def render(self):
        """ Renders the ical if asked, or the usual template. """
        if not self.is_ical_export:
            return self._template.render(self)
        else:
            if 'search' in self.request.keys():
                calendar = self.catalog.calendar(
                    search=self.request.get('searchtext')
                )
            elif 'filter' in self.request.keys():
                calendar = self.catalog.calendar(
                    filter=self.get_filter_terms()
                )
            else:
                calendar = self.catalog.calendar()

            utils.render_ical_response(self.request, self.context, calendar)
예제 #2
0
    def render(self):
        if not self.is_valid_date:
            raise NotFound()

        if not self.is_ical_export:
            return self._template.render(self)
        else:
            if self.date:
                calendar = construct_icalendar(
                    self.context, [self.occurrence]
                )
                for component in calendar.subcomponents:
                    if 'RRULE' in component:
                        del component['RRULE']
            else:
                calendar = construct_icalendar(
                    self.context, [self.context]
                )

            utils.render_ical_response(self.request, self.context, calendar)
예제 #3
0
    def render(self):
        if not self.is_valid_date:
            raise NotFound()

        if not self.is_ical_export:
            return self._template.render(self)
        else:
            if self.date:
                calendar = construct_icalendar(self.context, [self.occurrence])
                for component in calendar.subcomponents:
                    if 'RRULE' in component:
                        del component['RRULE']
            else:
                calendar = construct_icalendar(self.context, [self.context])

            return utils.render_ical_response(self.request, self.context,
                                              calendar)
예제 #4
0
    def render(self):
        """ Renders the ical/json if asked, or the usual template. """
        search = 'search' in self.request.keys() \
            and self.request.get('searchtext') or None
        term = 'filter' in self.request.keys() \
            and self.get_filter_terms() or None
        max = int(self.request.get('max', 0))
        compact = 'compact' in self.request.keys()
        imported = 'imported' in self.request.keys()

        if self.is_ical_export:
            calendar = self.catalog.calendar(search=search, term=term)
            return utils.render_ical_response(self.request, self.context,
                                              calendar)

        elif self.is_json_export:
            export = self.catalog.export(search=search, term=term, max=max,
                                         imported=imported)
            return utils.render_json_response(self.request, export, compact)

        else:
            return self._template.render(self)