Files @ 76b653ed8afb
Branch filter:

Location: website/www/conservancy/apps/events/views.py

Denver Gingerich
Lawsuit FAQ now uses ESXi 6.0 and add minor fixes.

The main change here is that the lawsuit FAQ page now shows one how to
verify that VMware combined Linux source code with their binary-only
components using VMware's ESXi 6.0 rather than ESXi 5.5 Update 2.
This required a couple minor path changes and updates to the memory
addresses and SHA-1 checksums. The analysis steps otherwise remained
the same.

The FAQ is now more generic in its discussion of the ESXi versions
that were originally analyzed, in order to avoid confusion with the
analysis provided in the FAQ, which uses a newer version and reaches
the same conclusion.

Some minor, unrelated fixes were also added. These include:
* add period at end of paragraphs where it was previously missing
* convert ">" in <pre> and <code> to "&gt;" so the page is valid HTML
* convert "&" in <pre> to "&amp;" so the page is valid HTML
* add missing 's' to "truct pci_driver"
* fix the "tg.c" filename - this should be "tg3.c"
# from django.views.generic.list_detail import object_list
from django.shortcuts import render_to_response
from django.http import Http404, HttpResponse
from django.template import loader
from django.core.exceptions import ObjectDoesNotExist
from conservancy.apps.events.models import Event
# for debugging...
from django.http import HttpResponse

def event_detail(request, year, slug, queryset, **kwargs):
    """This view shows event detail.

    Nothing special, but it is necessary because
    django.views.generic.date_based.object_detail only works with
    slugs that are unique and specified by day, but we make slugs
    unique by year.
    """

    try:
        event = queryset.get(date__year=year, slug__exact=slug)
    except ObjectDoesNotExist:
        raise Http404, "Event does not exist"
    return render_to_response('events/event_detail.html', {'event': event})

def custom_index(request, queryset, *args, **kwargs):
    """Scrollable index of future and past events, with date index.
    """

    future_events = None
    if not request.GET.has_key("page"):
        future_events = Event.future.all().order_by("date")

    date_list = queryset.dates(kwargs['date_field'], 'year')

    kwargs = dict(kwargs, extra_context={'date_list': date_list,
                                         'future_events': future_events})
    del kwargs['date_field']
    del kwargs['allow_future']

    # return object_list(request, queryset, *args, **kwargs)
    return HttpResponse("FIXME: events must be updated like blog and news.")

def future_event_ics(request, queryset, *args, **kwargs):
    """ICS calendar view of future events

    This view just renders information into a template that looks like
    an ics file.  If in the future we want a 'real' implementation of
    this function, there is a python 'vobject' library that can be
    used.  Search google for details, or see
    http://www.technobabble.dk/2008/mar/06/exposing-calendar-events-using-icalendar-django/
    Hopefully at some point this functionality is integrated into
    django.contrib.
    """

    future_events = Event.future.all().order_by("date")

    return HttpResponse(loader.render_to_string('events/calendar.ics',
                                                {'events': future_events}),
                        mimetype='text/calendar')