def generic_blog_entry_view(request, *args, **kwargs): """ A generic override for the default Django generic views """ blog_slug = kwargs.pop('blog_slug', DEFAULT_BLOG) if request.user.is_staff: queryset = Entry.objects.filter(blog__slug=blog_slug) else: queryset = Entry.objects.published(blog__slug=blog_slug) params = { 'queryset': queryset, 'date_field': 'pub_date', 'allow_empty': True, } params.update(kwargs) if 'slug' in kwargs.keys(): if 'template_name' not in params.keys(): params['template_name'] = get_template(blog_slug, 'entry_detail') params['month_format'] = MONTH_FORMAT params.pop('allow_empty') return object_detail(request, **params) elif 'day' in kwargs.keys(): if 'template_name' not in params.keys(): params['template_name'] = get_template(blog_slug, 'entry_archive_day') params['month_format'] = MONTH_FORMAT return archive_day(request, **params) elif 'month' in kwargs.keys(): if 'template_name' not in params.keys(): params['template_name'] = get_template(blog_slug, 'entry_archive_month') params['month_format'] = MONTH_FORMAT return archive_month(request, **params) elif 'week' in kwargs.keys(): if 'template_name' not in params.keys(): params['template_name'] = get_template(blog_slug, 'entry_archive_week') return archive_week(request, **params) elif 'year' in kwargs.keys(): if 'template_name' not in params.keys(): params['template_name'] = get_template(blog_slug, 'entry_archive_year') return archive_year(request, **params) else: if 'template_name' not in params.keys(): params['template_name'] = get_template(blog_slug, 'entry_archive_today') return archive_today(request, **params)
def event_week(request, year=None, week=None, **kwargs): """Displays the list of calendar for the given week. """ current_day = _current_day(year, week=week) previous_week = current_day - datetime.timedelta(weeks=1) next_week = current_day + datetime.timedelta(weeks=1) return archive_week(request, year=year, week=week, queryset=Event.objects.for_user(request.user), date_field="start", allow_empty=True, allow_future=True, template_name="calendar/event_week.html", extra_context={ 'previous_week': previous_week, 'next_week': next_week, 'current_day': current_day }, **kwargs)
def event_week(request, year=None, week=None, **kwargs): """Displays the list of calendar for the given week. """ current_day = _current_day(year, week=week) previous_week = current_day - datetime.timedelta(weeks=1) next_week = current_day + datetime.timedelta(weeks=1) return archive_week( request, year=year, week=week, queryset=Event.objects.for_user(request.user), date_field="start", allow_empty=True, allow_future=True, template_name="calendar/event_week.html", extra_context={ 'previous_week': previous_week, 'next_week': next_week, 'current_day': current_day }, **kwargs )
def archive_week (request, **kwargs): """Wrapped generic view, per-section customization.""" return date_based.archive_week (request, **kwargs)