Merge sponsors.py into supporters app, frontpage.py into views.py
Just a small structural change so that the related functionality is grouped together.
This commit is contained in:
		
							parent
							
								
									44c0a9db32
								
							
						
					
					
						commit
						2ff551147c
					
				
					 11 changed files with 71 additions and 73 deletions
				
			
		
							
								
								
									
										2
									
								
								TODO.md
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								TODO.md
									
										
									
									
									
								
							|  | @ -6,11 +6,11 @@ | ||||||
| * serve a 400 in Apache for a hostname we don't explicitly support | * serve a 400 in Apache for a hostname we don't explicitly support | ||||||
| * replace `internalNavigate` with inline flexbox layout | * replace `internalNavigate` with inline flexbox layout | ||||||
| * add tests for main pages returning 200 | * add tests for main pages returning 200 | ||||||
| * move `sponsors.py` and `sponsors.html` into `supporters` app |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # Done | # Done | ||||||
| 
 | 
 | ||||||
|  | * move `sponsors.py` and `sponsors.html` into `supporters` app | ||||||
| * use `<detail>` elements for supporter page hidden sections, rather than | * use `<detail>` elements for supporter page hidden sections, rather than | ||||||
|   complex jQuery |   complex jQuery | ||||||
| * remove jQuery | * remove jQuery | ||||||
|  |  | ||||||
|  | @ -1,21 +0,0 @@ | ||||||
| from datetime import datetime |  | ||||||
| 
 |  | ||||||
| from django.shortcuts import render |  | ||||||
| 
 |  | ||||||
| from .blog.models import Entry |  | ||||||
| from .news.models import PressRelease |  | ||||||
| from .supporters.models import Supporter |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def view(request): |  | ||||||
|     """Conservancy front page view |  | ||||||
| 
 |  | ||||||
|     Performs all object queries necessary to render the front page. |  | ||||||
|     """ |  | ||||||
|     now = datetime.now() |  | ||||||
|     context = { |  | ||||||
|         'press_releases': PressRelease.objects.all().filter(pub_date__lte=now, sites=2)[:5], |  | ||||||
|         'supporters_count': Supporter.objects.all().filter(display_until_date__gte=now).count(), |  | ||||||
|         'blog': Entry.objects.all().filter(pub_date__lte=now)[:5], |  | ||||||
|     } |  | ||||||
|     return render(request, "frontpage.html", context) |  | ||||||
|  | @ -1,22 +0,0 @@ | ||||||
| from datetime import datetime |  | ||||||
| 
 |  | ||||||
| from django.shortcuts import render |  | ||||||
| 
 |  | ||||||
| from .supporters.models import Supporter |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def view(request): |  | ||||||
|     """Conservancy Sponsors Page view |  | ||||||
| 
 |  | ||||||
|     Performs object queries necessary to render the sponsors page. |  | ||||||
|     """ |  | ||||||
|     supporters = Supporter.objects.all().filter(display_until_date__gte=datetime.now()) |  | ||||||
|     supporters_count = len(supporters) |  | ||||||
|     anonymous_count  = len(supporters.filter(display_name='Anonymous')) |  | ||||||
|     supporters = supporters.exclude(display_name='Anonymous').order_by('ledger_entity_id') |  | ||||||
|     c = { |  | ||||||
|         'supporters' : supporters, |  | ||||||
|         'supporters_count' : supporters_count, |  | ||||||
|         'anonymous_count' : anonymous_count |  | ||||||
|     } |  | ||||||
|     return render(request, "sponsors.html", c) |  | ||||||
|  | @ -1,10 +1,10 @@ | ||||||
| from django.urls import path | from django.urls import path | ||||||
| from django.views.generic import TemplateView | from django.views.generic import TemplateView | ||||||
| 
 | 
 | ||||||
| from . import views as supp_views | from . import views | ||||||
| 
 | 
 | ||||||
| urlpatterns = [ | urlpatterns = [ | ||||||
|     path('', supp_views.index), |     path('', views.sustainers), | ||||||
|     path('banner/', TemplateView.as_view(template_name='supporter/banners.html')), |     path('banner/', TemplateView.as_view(template_name='supporters/banners.html')), | ||||||
|     path('banners/', TemplateView.as_view(template_name='supporter/banners.html')), |     path('banners/', TemplateView.as_view(template_name='supporters/banners.html')), | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | @ -1,9 +1,12 @@ | ||||||
|  | from datetime import datetime | ||||||
|  | 
 | ||||||
| from django.shortcuts import render | from django.shortcuts import render | ||||||
| 
 | 
 | ||||||
| from .. import ParameterValidator | from .. import ParameterValidator | ||||||
|  | from .models import Supporter | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def index(request): | def sustainers(request): | ||||||
|     with ParameterValidator(request.GET, 'upgrade_id') as validator: |     with ParameterValidator(request.GET, 'upgrade_id') as validator: | ||||||
|         try: |         try: | ||||||
|             amount_param = float(request.GET['upgrade']) |             amount_param = float(request.GET['upgrade']) | ||||||
|  | @ -16,4 +19,21 @@ def index(request): | ||||||
|         'partial_amount': partial_amount, |         'partial_amount': partial_amount, | ||||||
|         'minimum_amount': 120 - partial_amount, |         'minimum_amount': 120 - partial_amount, | ||||||
|     } |     } | ||||||
|     return render(request, "supporter/index.html", context) |     return render(request, "supporters/sustainers.html", context) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def sponsors(request): | ||||||
|  |     """Conservancy Sponsors Page view | ||||||
|  | 
 | ||||||
|  |     Performs object queries necessary to render the sponsors page. | ||||||
|  |     """ | ||||||
|  |     supporters = Supporter.objects.all().filter(display_until_date__gte=datetime.now()) | ||||||
|  |     supporters_count = len(supporters) | ||||||
|  |     anonymous_count  = len(supporters.filter(display_name='Anonymous')) | ||||||
|  |     supporters = supporters.exclude(display_name='Anonymous').order_by('ledger_entity_id') | ||||||
|  |     c = { | ||||||
|  |         'supporters' : supporters, | ||||||
|  |         'supporters_count' : supporters_count, | ||||||
|  |         'anonymous_count' : anonymous_count | ||||||
|  |     } | ||||||
|  |     return render(request, "supporters/sponsors.html", c) | ||||||
|  |  | ||||||
|  | @ -20,7 +20,7 @@ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| {% if partial_amount > 0 %} | {% if partial_amount > 0 %} | ||||||
|   {% include "supporter/form_partial.html" with form_id="annual" min_amt=minimum_amount partial_amt=partial_amount article="an" only %} |   {% include "supporters/form_partial.html" with form_id="annual" min_amt=minimum_amount partial_amt=partial_amount article="an" only %} | ||||||
| {% else %} | {% else %} | ||||||
|   <div class="supporter-type-selector"> |   <div class="supporter-type-selector"> | ||||||
|     <strong>Become a Sustainer Now:</strong> |     <strong>Become a Sustainer Now:</strong> | ||||||
|  | @ -29,12 +29,12 @@ | ||||||
|     | <a id="renewalSelector" href="#renewal">Annual Renew</a> |     | <a id="renewalSelector" href="#renewal">Annual Renew</a> | ||||||
|   </div> |   </div> | ||||||
| 
 | 
 | ||||||
|   {% include "supporter/form_partial.html" with form_id="annual" min_amt=120 default_amt=128 article="an" only %} |   {% include "supporters/form_partial.html" with form_id="annual" min_amt=120 default_amt=128 article="an" only %} | ||||||
| 
 | 
 | ||||||
|   {% include "supporter/form_partial.html" with form_id="monthly" min_amt=10 default_amt=12 only %} |   {% include "supporters/form_partial.html" with form_id="monthly" min_amt=10 default_amt=12 only %} | ||||||
| 
 | 
 | ||||||
|   <a name="renew" class="hidden"></a> |   <a name="renew" class="hidden"></a> | ||||||
|   {% include "supporter/form_partial.html" with form_id="renewal" min_amt=120 default_amt=128 verb="renew" article="an" supptype="annual" only %} |   {% include "supporters/form_partial.html" with form_id="renewal" min_amt=120 default_amt=128 verb="renew" article="an" supptype="annual" only %} | ||||||
| {% endif %} | {% endif %} | ||||||
| 
 | 
 | ||||||
| <span id="form-correction-needed" class="form-error">Please ensure all form data above is correct.</span> | <span id="form-correction-needed" class="form-error">Please ensure all form data above is correct.</span> | ||||||
|  | @ -22,12 +22,13 @@ from django.conf.urls.static import static | ||||||
| from django.contrib import admin | from django.contrib import admin | ||||||
| from django.urls import include, path, re_path | from django.urls import include, path, re_path | ||||||
| 
 | 
 | ||||||
| from . import feeds, frontpage, sponsors | from . import feeds | ||||||
| from .fundgoal import views as fundgoal_views | from .fundgoal import views as fundgoal_views | ||||||
| from . import views as static_views | from . import views | ||||||
|  | from conservancy.supporters import views as supporters_views | ||||||
| 
 | 
 | ||||||
| urlpatterns = [ | urlpatterns = [ | ||||||
|     path('', frontpage.view), |     path('', views.frontpage), | ||||||
|     path('admin/', admin.site.urls), |     path('admin/', admin.site.urls), | ||||||
|     path('assignment/', include('conservancy.assignment.urls')), |     path('assignment/', include('conservancy.assignment.urls')), | ||||||
|     path('blog/', include('conservancy.blog.urls')), |     path('blog/', include('conservancy.blog.urls')), | ||||||
|  | @ -41,25 +42,25 @@ urlpatterns = [ | ||||||
|     path('fossy/', include('conservancy.fossy.urls')), |     path('fossy/', include('conservancy.fossy.urls')), | ||||||
|     path('fundraiser_data/', fundgoal_views.view), |     path('fundraiser_data/', fundgoal_views.view), | ||||||
|     path('news/', include('conservancy.news.urls')), |     path('news/', include('conservancy.news.urls')), | ||||||
|     path('sponsors/', sponsors.view), |     path('sponsors/', supporters_views.sponsors), | ||||||
|     path('sponsors/index.html', sponsors.view), |     path('sponsors/index.html', supporters_views.sponsors), | ||||||
|     path('sustainer/', include('conservancy.supporters.urls')), |     path('sustainer/', include('conservancy.supporters.urls')), | ||||||
|     path('usethesource/', include('conservancy.usethesource.urls')), |     path('usethesource/', include('conservancy.usethesource.urls')), | ||||||
| 
 | 
 | ||||||
|     # Directories of templates and files |     # Directories of templates and files | ||||||
|     re_path(r'^about/', static_views.index), |     re_path(r'^about/', views.content), | ||||||
|     re_path(r'^activities/', static_views.index), |     re_path(r'^activities/', views.content), | ||||||
|     re_path(r'^copyleft-compliance/', static_views.index, {'fundraiser_sought': 'vmware-match-0'}), |     re_path(r'^copyleft-compliance/', views.content, {'fundraiser_sought': 'vmware-match-0'}), | ||||||
|     re_path(r'^donate/', static_views.index), |     re_path(r'^donate/', views.content), | ||||||
|     path('fossy/', static_views.index), |     path('fossy/', views.content), | ||||||
|     re_path(r'^GiveUpGitHub/', static_views.index), |     re_path(r'^GiveUpGitHub/', views.content), | ||||||
|     re_path(r'^learn/', static_views.index), |     re_path(r'^learn/', views.content), | ||||||
|     re_path(r'^npoacct/', static_views.index, {'fundraiser_sought': 'npoacct'}), |     re_path(r'^npoacct/', views.content, {'fundraiser_sought': 'npoacct'}), | ||||||
|     re_path(r'^overview/', static_views.index),  # Unused? |     re_path(r'^overview/', views.content),  # Unused? | ||||||
|     re_path(r'^press/', static_views.index), |     re_path(r'^press/', views.content), | ||||||
|     re_path(r'^privacy-policy/', static_views.index), |     re_path(r'^privacy-policy/', views.content), | ||||||
|     re_path(r'^projects/', static_views.index), |     re_path(r'^projects/', views.content), | ||||||
|     re_path(r'^sustainer/', static_views.index), |     re_path(r'^sustainer/', views.content), | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| # Serve uploaded media. Works only when DEBUG == True. Using '/media/' | # Serve uploaded media. Works only when DEBUG == True. Using '/media/' | ||||||
|  |  | ||||||
|  | @ -1,12 +1,32 @@ | ||||||
|  | from datetime import datetime | ||||||
| import mimetypes | import mimetypes | ||||||
| 
 | 
 | ||||||
| from django.conf import settings | from django.conf import settings | ||||||
| from django.http import FileResponse, Http404, HttpResponse, HttpResponseRedirect | from django.http import FileResponse, Http404, HttpResponse, HttpResponseRedirect | ||||||
|  | from django.shortcuts import render | ||||||
| from django.template import RequestContext, Template | from django.template import RequestContext, Template | ||||||
| 
 | 
 | ||||||
|  | from .blog.models import Entry | ||||||
| from .local_context_processors import fundgoal_lookup | from .local_context_processors import fundgoal_lookup | ||||||
|  | from .news.models import PressRelease | ||||||
|  | from .supporters.models import Supporter | ||||||
| 
 | 
 | ||||||
| def index(request, *args, **kwargs): | 
 | ||||||
|  | def frontpage(request): | ||||||
|  |     """Conservancy front page view | ||||||
|  | 
 | ||||||
|  |     Performs all object queries necessary to render the front page. | ||||||
|  |     """ | ||||||
|  |     now = datetime.now() | ||||||
|  |     context = { | ||||||
|  |         'press_releases': PressRelease.objects.all().filter(pub_date__lte=now, sites=2)[:5], | ||||||
|  |         'supporters_count': Supporter.objects.all().filter(display_until_date__gte=now).count(), | ||||||
|  |         'blog': Entry.objects.all().filter(pub_date__lte=now)[:5], | ||||||
|  |     } | ||||||
|  |     return render(request, "frontpage.html", context) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def content(request, *args, **kwargs): | ||||||
|     """Faux CMS: bulk website content stored in templates and document files. |     """Faux CMS: bulk website content stored in templates and document files. | ||||||
| 
 | 
 | ||||||
|     Rationale: Many websites have a CMS and store the majority of their website |     Rationale: Many websites have a CMS and store the majority of their website | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue