def _show_calendar_view(context, request, make_presenter): year, month, day = _date_requested(context, request) focus_datetime = datetime.datetime(year, month, day) now_datetime = _now() # make the calendar presenter for this view url_for = _make_calendar_presenter_url_func(context, request) calendar = make_presenter(focus_datetime, now_datetime, url_for) # find events and paint them on the calendar selected_layer = _calendar_filter(context, request) events = _get_catalog_events(context, request, first_moment=calendar.first_moment, last_moment=calendar.last_moment, layer_name=selected_layer) calendar.paint_events(events) layers = _get_calendar_layers(context) setup_url = _calendar_setup_url(context, request) # render api = TemplateAPI(context, request, calendar.title) return render_template_to_response( calendar.template_filename, api=api, setup_url=setup_url, calendar=calendar, selected_layer = selected_layer, layers = layers, quote = quote, may_create = has_permission(CREATE, context, request), )
def _show_calendar_view(context, request, make_presenter, selection): # Check if we are in /offices/calendar. calendar_layout = _select_calendar_layout(context, request) year, month, day = selection['year'], selection['month'], selection['day'] focus_datetime = datetime.datetime(year, month, day) now_datetime = _now() # make the calendar presenter for this view url_for = _make_calendar_presenter_url_func(context, request) calendar = make_presenter(focus_datetime, now_datetime, url_for) # find events and paint them on the calendar selected_layer = _calendar_filter(context, request) events = _get_catalog_events(context, request, first_moment=calendar.first_moment, last_moment=calendar.last_moment, layer_name=selected_layer) calendar.paint_events(events) layers = _get_calendar_layers(context) setup_url = _calendar_setup_url(context, request) # render api = TemplateAPI(context, request, calendar.title) api.karl_client_data['calendar_selection'] = selection response = render_to_response( calendar.template_filename, dict( calendar_format_class = calendar_layout['calendar_format_class'], calendar_layout_template = calendar_layout['calendar_layout_template'], api=api, setup_url=setup_url, calendar=calendar, selected_layer = selected_layer, layers = layers, quote = quote, may_create = has_permission(CREATE, context, request)), request=request, ) return response