5c4cc1e2e1
The base template now has access to the fund-raising goal that will be displayed site-wide. The view here must provide it in the context for access everywhere. Furthermore, we need a local context processor to make sure it's in context everywhere, and we have to make sure that context is properly passed along. This code is a bit cargo-culted in, based on what I read in various places about adding the Request context.
25 lines
976 B
Python
25 lines
976 B
Python
from conservancy.apps.fundgoal.models import FundraisingGoal
|
|
from django.shortcuts import get_object_or_404, render_to_response
|
|
from conservancy import context_processors as context_processors
|
|
from django.template import RequestContext
|
|
from django.http import JsonResponse
|
|
|
|
|
|
def view(request):
|
|
"""JSON version of request
|
|
"""
|
|
keysForJSON = [ 'fundraiser_goal_amount', 'fundraiser_so_far_amount', 'fundraiser_donation_count',
|
|
'fundraiser_donation_count_disclose_threshold' ]
|
|
GET = request.GET
|
|
codeNames = []
|
|
if 'code_name' in GET: codeNames += GET.getlist('code_name')
|
|
|
|
returnDict = {}
|
|
for fundGoal in FundraisingGoal.objects.filter(fundraiser_code_name__in=codeNames):
|
|
codeName = fundGoal.fundraiser_code_name
|
|
returnDict[codeName] = {}
|
|
for kk in keysForJSON:
|
|
if hasattr(fundGoal, kk):
|
|
returnDict[codeName][kk] = getattr(fundGoal, kk)
|
|
|
|
return JsonResponse( returnDict)
|