Files @ 40339994ee8d
Branch filter:

Location: website/www/conservancy/static/views.py

bkuhn
Add ODT and PDF of FSA template.

These are the currently in production versions of the FSA. The LaTeX
version is sadly not being maintained by those in charge of drafting
changes now.
import os.path
from django.http import HttpResponse
from django.template import RequestContext, loader
from conservancy.apps.fundgoal.models import FundraisingGoal as FundraisingGoal

def handler(request, errorcode):
    STATIC_ROOT = '/home/www/website/www/conservancy/static/'
    path = 'error/' + errorcode + '/index.html'
    fullpath = STATIC_ROOT + path
    if not os.path.exists(fullpath):
        return HttpResponse("Internal error: " + path)
    template = loader.get_template(path)
    context = RequestContext(request)
    return HttpResponse(template.render(context))

def handler401(request):
    return handler(request, '401')

def handler403(request):
    return handler(request, '403')

def handler404(request):
    return handler(request, '404')

def handler500(request):
    return handler(request, '500')

def fundgoal_lookup(fundraiser_sought):
    try:
        return FundraisingGoal.objects.get(fundraiser_code_name=fundraiser_sought)
    except FundraisingGoal.DoesNotExist:
     # we have no object!  do something
        return None

def index(request, *args, **kwargs):
    # return HttpResponse("Hello, static world: " + request.get_full_path())
    path = request.get_full_path()
    path = path.lstrip('/')
    if path[-1:] == '/':
        path += 'index.html'
    STATIC_ROOT = '/home/www/website/www/conservancy/static/'
    fullpath = STATIC_ROOT + path
    if not os.path.exists(fullpath):
        # return HttpResponse("Sorry that's a 404: " + path)
        return handler404(request)
    template = loader.get_template(path)

    if kwargs.has_key('fundraiser_sought'):
        kwargs = kwargs.copy()
        kwargs['fundgoal'] = fundgoal_lookup(kwargs['fundraiser_sought'])

    context = RequestContext(request, kwargs)
    return HttpResponse(template.render(context))

def debug(request):
    path = request.get_full_path()
    path = path.lstrip('/')
    return HttpResponse("Hello, static world: " + path)