Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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
    )
Esempio n. 4
0
def archive_week (request, **kwargs):
    """Wrapped generic view, per-section customization."""
    return date_based.archive_week (request, **kwargs)