Add sitefundgoal to top level view context.
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.
This commit is contained in:
		
							parent
							
								
									e1dfd65c3a
								
							
						
					
					
						commit
						5c4cc1e2e1
					
				
					 12 changed files with 45 additions and 13 deletions
				
			
		|  | @ -5,6 +5,7 @@ from django.views.generic.dates import YearArchiveView, MonthArchiveView, DayArc | |||
| from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger | ||||
| from conservancy.apps.staff.models import Person | ||||
| from django.shortcuts import get_object_or_404, render_to_response | ||||
| from django.template import RequestContext | ||||
| from datetime import datetime | ||||
| 
 | ||||
| def OR_filter(field_name, objs): | ||||
|  | @ -73,7 +74,7 @@ def custom_index(request, queryset, *args, **kwargs): | |||
| 
 | ||||
|     extra_context['blog_entries'] = blog_entries | ||||
| 
 | ||||
|     return render_to_response('blog/entry_list.html', extra_context) | ||||
|     return render_to_response('blog/entry_list.html', extra_context, context_instance=RequestContext(request)) | ||||
| 
 | ||||
| def techblog_redirect(request): | ||||
|     """Redirect from the old 'techblog' to the new blog | ||||
|  | @ -112,7 +113,7 @@ def query(request): | |||
|                          key=last_name) | ||||
|         tags = EntryTag.objects.all().order_by('label') | ||||
|         return render_to_response('blog/query.html', | ||||
|                                   {'authors': authors, 'tags': tags}) | ||||
|                                   {'authors': authors, 'tags': tags}, context_instance=RequestContext(request)) | ||||
| 
 | ||||
| def relative_redirect(request, path): | ||||
|     from django import http | ||||
|  |  | |||
|  | @ -1,4 +1,6 @@ | |||
| from django.shortcuts import render_to_response | ||||
| from conservancy import context_processors as context_processors | ||||
| from django.template import RequestContext | ||||
| from django import forms | ||||
| from conservancy.apps.contacts.models import ContactEntry | ||||
| from django.forms import ModelForm | ||||
|  | @ -18,9 +20,9 @@ def subscribe(request): | |||
|         if form.is_valid(): | ||||
|             form.save() | ||||
|             return render_to_response('contacts/subscribe_success.html', | ||||
|                                       {'form': form.cleaned_data}) | ||||
|                                       {'form': form.cleaned_data}, context_instance=RequestContext(request)) | ||||
|     else: | ||||
|         form = ContactEntryForm() | ||||
| 
 | ||||
|     return render_to_response('contacts/subscribe.html', | ||||
|                               {'form': form}) | ||||
|                               {'form': form}, context_instance=RequestContext(request)) | ||||
|  |  | |||
|  | @ -1,5 +1,7 @@ | |||
| # from django.views.generic.list_detail import object_list | ||||
| from django.shortcuts import render_to_response | ||||
| from conservancy import context_processors as context_processors | ||||
| from django.template import RequestContext | ||||
| from django.http import Http404, HttpResponse | ||||
| from django.template import loader | ||||
| from django.core.exceptions import ObjectDoesNotExist | ||||
|  | @ -20,7 +22,7 @@ def event_detail(request, year, slug, queryset, **kwargs): | |||
|         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}) | ||||
|     return render_to_response('events/event_detail.html', {'event': event}, context_instance=RequestContext(request)) | ||||
| 
 | ||||
| def custom_index(request, queryset, *args, **kwargs): | ||||
|     """Scrollable index of future and past events, with date index. | ||||
|  |  | |||
|  | @ -1,5 +1,7 @@ | |||
| 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 | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,5 +1,7 @@ | |||
| # from django.views.generic.list_detail import object_list | ||||
| from django.views.generic import ListView | ||||
| from django.template import RequestContext | ||||
| from conservancy import context_processors as context_processors | ||||
| from django.shortcuts import render_to_response | ||||
| from django.views.generic.dates import YearArchiveView, MonthArchiveView, DayArchiveView, DateDetailView | ||||
| from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger | ||||
|  | @ -41,7 +43,7 @@ def listing(request, *args, **kwargs): | |||
|         # If page is out of range (e.g. 9999), deliver last page of results. | ||||
|         news = paginator.page(paginator.num_pages) | ||||
| 
 | ||||
|     return render_to_response('news/pressrelease_list.html', {"news": news, "date_list" : date_list}) | ||||
|     return render_to_response('news/pressrelease_list.html', {"news": news, "date_list" : date_list}, context_instance=RequestContext(request)) | ||||
| 
 | ||||
| class NewsYearArchiveView(YearArchiveView): | ||||
|     # queryset = Article.objects.all() | ||||
|  |  | |||
|  | @ -1,5 +1,8 @@ | |||
| from django.shortcuts import render_to_response | ||||
| from conservancy import context_processors as context_processors | ||||
| from django.template import RequestContext | ||||
| from django import forms | ||||
| from django.template import RequestContext | ||||
| from conervancy.apps.summit_registration.models import SummitRegistration | ||||
| 
 | ||||
| def register(request): | ||||
|  | @ -20,9 +23,9 @@ def register(request): | |||
|         if form.is_valid(): | ||||
|             form.save() | ||||
|             return render_to_response('summit_registration/register_success.html', | ||||
|                                       {'form': form.cleaned_data}) | ||||
|                                       {'form': form.cleaned_data}, context_instance=RequestContext(request)) | ||||
|     else: | ||||
|         form = SummitForm() | ||||
| 
 | ||||
|     return render_to_response('summit_registration/register.html', | ||||
|                               {'form': form}) | ||||
|                               {'form': form}, context_instance=RequestContext(request)) | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| from conservancy.apps.supporters.models import Supporter | ||||
| from django.shortcuts import get_object_or_404, render_to_response | ||||
| from conservancy import context_processors as context_processors | ||||
| from django.template import RequestContext | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,7 +2,8 @@ from django.contrib.syndication.views import Feed | |||
| from django.utils.feedgenerator import Rss201rev2Feed  | ||||
| from conservancy.apps.news.models import PressRelease | ||||
| from conservancy.apps.blog.models import Entry as BlogEntry | ||||
| 
 | ||||
| from conservancy import context_processors as context_processors | ||||
| from django.template import RequestContext | ||||
| from django.shortcuts import render_to_response | ||||
| from django.conf import settings | ||||
| from datetime import datetime | ||||
|  | @ -255,4 +256,4 @@ def view(request): | |||
|     """ | ||||
| 
 | ||||
|     feeds = (PressReleaseFeed, BlogFeed, OmnibusFeed) | ||||
|     return render_to_response("feeds.html", {'feeds': feeds}) | ||||
|     return render_to_response("feeds.html", {'feeds': feeds}, context_instance=RequestContext(request)) | ||||
|  |  | |||
|  | @ -1,4 +1,6 @@ | |||
| from django.shortcuts import render_to_response | ||||
| from conservancy import context_processors as context_processors | ||||
| from django.template import RequestContext | ||||
| from conservancy.apps.supporters.models import Supporter as Supporter | ||||
| from conservancy.apps.news.models import PressRelease | ||||
| from conservancy.apps.blog.models import Entry as BlogEntry | ||||
|  | @ -19,4 +21,4 @@ def view(request): | |||
|         'supporters_count': supporters_count, | ||||
|         'blog' : blog | ||||
|     } | ||||
|     return render_to_response("frontpage.html", c) | ||||
|     return render_to_response("frontpage.html", c, context_instance=RequestContext(request)) | ||||
|  |  | |||
							
								
								
									
										11
									
								
								www/conservancy/local_context_processors.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								www/conservancy/local_context_processors.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| from conservancy.apps.fundgoal.models import FundraisingGoal as FundraisingGoal | ||||
| 
 | ||||
| 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 sitefundraiser(request): | ||||
|     return {'sitefundgoal': fundgoal_lookup('supporterrun') } | ||||
|  | @ -1,4 +1,6 @@ | |||
| from django.shortcuts import render_to_response | ||||
| from conservancy import context_processors as context_processors | ||||
| from django.template import RequestContext | ||||
| from conservancy.apps.supporters.models import Supporter as Supporter | ||||
| from datetime import datetime, timedelta | ||||
| 
 | ||||
|  | @ -18,4 +20,4 @@ def view(request): | |||
|         'supporters_count' : supporters_count, | ||||
|         'anonymous_count' : anonymous_count | ||||
|     } | ||||
|     return render_to_response("sponsors.html", c) | ||||
|     return render_to_response("sponsors.html", c, context_instance=RequestContext(request)) | ||||
|  |  | |||
|  | @ -45,10 +45,12 @@ def index(request, *args, **kwargs): | |||
|         return handler404(request) | ||||
|     template = loader.get_template(path) | ||||
| 
 | ||||
|     kwargs = kwargs.copy() | ||||
|     if kwargs.has_key('fundraiser_sought'): | ||||
|         kwargs = kwargs.copy() | ||||
|         kwargs['fundgoal'] = fundgoal_lookup(kwargs['fundraiser_sought']) | ||||
| 
 | ||||
|     kwargs['sitefundgoal'] = fundgoal_lookup('supporterrun') | ||||
| 
 | ||||
|     context = RequestContext(request, kwargs) | ||||
|     return HttpResponse(template.render(context)) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Bradley M. Kuhn
						Bradley M. Kuhn