diff --git a/www/conservancy/static/views.py b/www/conservancy/static/views.py index 417666c8971fef645aa465c39f6156881b049c82..a605b617291423632c00ce5abcedd0e69af02b9b 100644 --- a/www/conservancy/static/views.py +++ b/www/conservancy/static/views.py @@ -39,6 +39,17 @@ def index(request, *args, **kwargs): context = RequestContext(request, kwargs) return HttpResponse(template.render(context)) +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_with_fundraiser_data(request, *args, **kwargs): + kwargs['fundgoal'] = fundgoal_lookup(kwargs['fundraiser_sought']) + return index(request, kwargs) + def debug(request): path = request.get_full_path() path = path.lstrip('/') diff --git a/www/conservancy/urls.py b/www/conservancy/urls.py index a94bf2fc6c115bba3254c5475da7b25463da1347..d220351bff016235663cd645c08c137d49fded90 100644 --- a/www/conservancy/urls.py +++ b/www/conservancy/urls.py @@ -37,13 +37,6 @@ handler404 = 'conservancy.static.views.handler404' admin.autodiscover() -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 - urlpatterns = patterns('', (r'^$', 'conservancy.frontpage.view'), (r'^sponsors$', 'conservancy.frontpage.view'), @@ -61,9 +54,11 @@ urlpatterns = patterns('', (r'^error', 'conservancy.static.views.index'), (r'^about', 'conservancy.static.views.index'), (r'^donate', 'conservancy.static.views.index'), - (r'^linux-compliance', 'conservancy.static.views.index', {'fundgoal' : fundgoal_lookup('vmware-match-0')}), + (r'^linux-compliance', 'conservancy.static.views.index_with_fundraiser_data', + {'fundraiser_sought' : 'vmware-match-0'}), (r'^members', 'conservancy.static.views.index'), - (r'^npoacct', 'conservancy.static.views.index', {'fundgoal' : fundgoal_lookup('npoacct')}), + (r'^npoacct', 'conservancy.static.views.index_with_fundraiser_data', + {'fundraiser_sought' : 'npoacct'}), (r'^overview', 'conservancy.static.views.index'), (r'^privacy-policy', 'conservancy.static.views.index'), (r'^supporter', 'conservancy.static.views.index'),