From f3007b7b1e1afddb74ade97456b87c6f3b95cb64 Mon Sep 17 00:00:00 2001 From: Steven H Johnson <shjohnson.pi@gmail.com> Date: Thu, 23 Jun 2016 21:47:07 -0400 Subject: [PATCH] Allow individual patron sponsors to just be a document --- .../templates/sponsors/view_sponsors.html | 26 ++++++++++++------- sponsors/views.py | 8 ++++++ usta/admin.py | 2 +- ...itesettings_individual_patrons_document.py | 22 ++++++++++++++++ usta/models.py | 6 +++++ 5 files changed, 53 insertions(+), 11 deletions(-) create mode 100644 usta/migrations/0021_sitesettings_individual_patrons_document.py diff --git a/sponsors/templates/sponsors/view_sponsors.html b/sponsors/templates/sponsors/view_sponsors.html index fdcaa8d..3c39bd7 100644 --- a/sponsors/templates/sponsors/view_sponsors.html +++ b/sponsors/templates/sponsors/view_sponsors.html @@ -1,5 +1,5 @@ {% extends "usta/base.html" %} -{% load staticfiles %} +{% load staticfiles htmleditor_tags %} {% block title %}{{ block.super }} | Sponsors{% endblock %} @@ -59,15 +59,21 @@ {% endif %} </div> <div id="individual-patrons" class="content"> - <table> - {% for individual in individuals %} - <tr> - <td> - {{ individual }} - </td> - </tr> - {% endfor %} - </table> + {% if individual_patrons %} + {% if perms.htmleditor.change_document %}<h1><a href="{% url 'admin:htmleditor_document_change' individual_patrons.pk %}?next={{ request.get_full_path|urlencode }}">Edit {{ individual_patrons.name }} <img alt="Pencil" title="Edit" src="{% static 'usta/edit.png' %}"></a></h1>{% endif %} + + {% docreplace individual_patrons.content %} + {% else %} + <table> + {% for individual in individuals %} + <tr> + <td> + {{ individual }} + </td> + </tr> + {% endfor %} + </table> + {% endif %} </div> <div id="advertisers" class="content"> <ol class="company-list"> diff --git a/sponsors/views.py b/sponsors/views.py index 3f1811e..6a5aed6 100644 --- a/sponsors/views.py +++ b/sponsors/views.py @@ -3,6 +3,7 @@ from django.shortcuts import render from django.template import RequestContext from sponsors.models import Company, Individual +from usta.models import get_site_settings def view_sponsors(request): @@ -19,6 +20,12 @@ def view_sponsors(request): sponsor_level=Company.LEVEL_CORP_PATRON_STANDARD) advertisers = Company.objects.filter(advertiser=True) individuals = Individual.objects.all() + + site_settings = get_site_settings() + + individual_patrons = site_settings.get_setting( + 'individual_patrons_document', None) + return render(request, 'sponsors/view_sponsors.html', { 'sponsors_1': sponsors_1, 'sponsors_2': sponsors_2, @@ -27,6 +34,7 @@ def view_sponsors(request): 'patrons_2': patrons_2, 'advertisers': advertisers, 'individuals': individuals, + 'individual_patrons': individual_patrons, 'title': 'Sponsors', 'show_generic': True, }) diff --git a/usta/admin.py b/usta/admin.py index 2a69641..87f9df8 100644 --- a/usta/admin.py +++ b/usta/admin.py @@ -323,7 +323,7 @@ class SiteSettingsAdmin(SingleInstanceAdminMixin, admin.ModelAdmin): 'fields': ('volunteer_node',) }), ('Sponsors', { - 'fields': ('sponsor_node',) + 'fields': ('sponsor_node', 'individual_patrons_document') }), ('Home Page', { 'fields': ('home_page_document',) diff --git a/usta/migrations/0021_sitesettings_individual_patrons_document.py b/usta/migrations/0021_sitesettings_individual_patrons_document.py new file mode 100644 index 0000000..a37602c --- /dev/null +++ b/usta/migrations/0021_sitesettings_individual_patrons_document.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.1 on 2016-06-24 01:41 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('htmleditor', '0024_banner_sort'), + ('usta', '0020_tournamentdate_end_date'), + ] + + operations = [ + migrations.AddField( + model_name='sitesettings', + name='individual_patrons_document', + field=models.ForeignKey(blank=True, help_text='The document that is shown on the sponsors page for individual patrons.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='htmleditor.Document'), + ), + ] diff --git a/usta/models.py b/usta/models.py index 938e4b9..376f3f6 100644 --- a/usta/models.py +++ b/usta/models.py @@ -553,6 +553,12 @@ class SiteSettings(GetSettingMixin, SingleInstanceMixin, models.Model): blank=True, null=True, help_text="The node that contains how sponsors can sign up. This link is shown on the sponsor banners where the level is.", related_name='+') + individual_patrons_document = models.ForeignKey('htmleditor.Document', + models.SET_NULL, + blank=True, null=True, + help_text="The document that is shown on the sponsors page for " + + "individual patrons.", + related_name='+') # -- Home Page Settings --------------------------------------------------- home_page_document = models.ForeignKey('htmleditor.Document', models.SET_NULL, -- GitLab