Changeset - 9d367667f2f6
[Not reviewed]
0 4 5
James Tauber - 12 years ago 2012-07-13 12:59:25
jtauber@jtauber.com
got sponsorship app flow working, adding missing templates, etc
9 files changed with 226 insertions and 16 deletions:
0 comments (0 inline, 0 general)
fixtures/sponsor_levels.json
Show inline comments
 
new file 100644
 
[
 
    {
 
        "pk": 1, 
 
        "model": "sponsorship.sponsorlevel", 
 
        "fields": {
 
            "conference": 1,
 
            "description": "", 
 
            "cost": 10000, 
 
            "name": "Gold", 
 
            "order": 0
 
        }
 
    }, 
 
    {
 
        "pk": 2, 
 
        "model": "sponsorship.sponsorlevel", 
 
        "fields": {
 
            "conference": 1,
 
            "description": "", 
 
            "cost": 5000, 
 
            "name": "Silver", 
 
            "order": 1
 
        }
 
    }, 
 
    {
 
        "pk": 3, 
 
        "model": "sponsorship.sponsorlevel", 
 
        "fields": {
 
            "conference": 1,
 
            "description": "", 
 
            "cost": 2000, 
 
            "name": "Bronze", 
 
            "order": 2
 
        }
 
    }
 
]
symposion/sponsorship/models.py
Show inline comments
...
 
@@ -26,7 +26,7 @@ class SponsorLevel(models.Model):
 
        verbose_name_plural = _("sponsor levels")
 
    
 
    def __unicode__(self):
 
        return u"%s %s" % (self.conference, self.name)
 
        return self.name
 
    
 
    def sponsors(self):
 
        return self.sponsor_set.filter(active=True).order_by("added")
...
 
@@ -62,6 +62,48 @@ class Sponsor(models.Model):
 
            return reverse("sponsor_detail", kwargs={"pk": self.pk})
 
        return reverse("sponsor_list")
 

	
 
    def reset_benefits(self):
 
        """
 
        Reset all benefits for this sponsor to the defaults for their
 
        sponsorship level.
 
        """
 
        level = None
 
        
 
        try:
 
            level = self.level
 
        except SponsorLevel.DoesNotExist:
 
            pass
 
        
 
        allowed_benefits = []
 
        if level:
 
            for benefit_level in level.benefit_levels.all():
 
                # Create all needed benefits if they don't exist already
 
                sponsor_benefit, created = SponsorBenefit.objects.get_or_create(
 
                    sponsor=self, benefit=benefit_level.benefit)
 
                
 
                # and set to default limits for this level.
 
                sponsor_benefit.max_words = benefit_level.max_words
 
                sponsor_benefit.other_limits = benefit_level.other_limits
 
                
 
                # and set to active
 
                sponsor_benefit.active = True
 
                
 
                # @@@ We don't call sponsor_benefit.clean here. This means
 
                # that if the sponsorship level for a sponsor is adjusted
 
                # downwards, an existing too-long text entry can remain,
 
                # and won't raise a validation error until it's next
 
                # edited.
 
                sponsor_benefit.save()
 
                
 
                allowed_benefits.append(sponsor_benefit.pk)
 
        
 
        # Any remaining sponsor benefits that don't normally belong to
 
        # this level are set to inactive
 
        self.sponsor_benefits.exclude(pk__in=allowed_benefits).update(active=False, max_words=None, other_limits="")
 

	
 
    def send_coordinator_emails(self):
 
        pass  # @@@ should this just be done centrally?
 

	
 

	
 
BENEFIT_TYPE_CHOICES = [
 
    ("text", "Text"),
symposion_project/templates/_default_sidebar.html
Show inline comments
 
new file 100644
 
{% load sponsorship_tags %}
 
{% load thumbnail %}
 

	
 
{% sponsor_levels as levels %}
 

	
 
<h2>Sponsors</h2>
 

	
 
<div class="sponsor-list">
 
    {% for level in levels %}
 
        {% if level.sponsors %}
 
            <h3 style="margin-top: 3em;">{{ level.name }}</h3>
 
            
 
            {% for sponsor in level.sponsors %}
 
                <div style="margin: 10px 0;">
 
                    <a href="{{ sponsor.external_url }}">
 
                        <img src="{% thumbnail sponsor.website_logo '100x60' %}" alt="{{ sponsor.name }}" />
 
                    </a>
 
                </div>
 
            {% endfor %}
 
        {% endif %}
 
    {% endfor %}
 
</div>
symposion_project/templates/dashboard.html
Show inline comments
...
 
@@ -81,7 +81,7 @@
 
    <section id="dashboard_sponsorship" class="dashboard-section well">
 
        <h3>{% trans "Sponsorship" %}</h3>
 
        {% if not user.sponsorships.exists %}
 
            <a href="{# {% url sponsor_apply %} #}" class="btn">
 
            <a href="{% url sponsor_apply %}" class="btn">
 
                Apply to be a sponsor
 
            </a>
 
        {% else %}
...
 
@@ -90,7 +90,7 @@
 
                {% for sponsorship in user.sponsorships.all %}
 
                    <li>
 
                        {% if sponsorship.active %}
 
                            <a href="{# {% url sponsor_detail sponsorship.pk %}" #}><b>{{ sponsorship.name }}</b></a>
 
                            <a href="{% url sponsor_detail sponsorship.pk %}"><b>{{ sponsorship.name }}</b></a>
 
                            ({{ sponsorship.level }})
 
                        {% else %}
 
                            <b>{{ sponsorship.name }}</b>
symposion_project/templates/site_base.html
Show inline comments
...
 
@@ -66,20 +66,19 @@
 
            {# {% sitetree_breadcrumbs from "main" %} #}
 
        {# {% endblock %} #}
 
        
 
        <div class="row">
 
            <div class="span9">
 
                {% block body %}
 
                {% endblock %}
 
            </div>
 
            <div class="span3">
 
                <h4>Sponsors</h4>
 
                <img src="http://placekitten.com/g/200/100"></img><br /><br />
 
                <img src="http://placekitten.com/g/200/101"></img><br /><br />
 
                <img src="http://placekitten.com/g/200/98"></img><br /><br />
 
                <img src="http://placekitten.com/g/200/99"></img><br /><br />
 
                <img src="http://placekitten.com/g/200/102"></img><br /><br />
 
        {% block body_outer %}
 
            <div class="row">
 
                <div class="span9">
 
                    {% block body %}
 
                    {% endblock %}
 
                </div>
 
                <div class="span3">
 
                    {% block sidebar %}
 
                        {% include "_default_sidebar.html" %}
 
                    {% endblock %}
 
                </div>
 
            </div>
 
        </div>
 
        {% endblock %}
 
    </div>
 
{% endblock %}
 

	
symposion_project/templates/sponsorship/apply.html
Show inline comments
 
new file 100644
 
{% extends "site_base.html" %}
 

	
 
{% load bootstrap_tags %}
 
{% load i18n %}
 
{% load boxes_tags %}
 

	
 
{% block head_title %}{% trans "Apply to be a Sponsor" %}{% endblock %}
 

	
 
{% block body_class %}sponsors{% endblock %}
 

	
 
{% block body %}
 

	
 
    {% box "sponsorship-apply" %}
 

	
 
    <form method="POST" action="" class="form-horizontal">
 
        {% csrf_token %}
 
        <legend>{% trans "Apply to Be a Sponsor" %}</legend>
 
        {{ form|as_bootstrap }}
 
        <div class="form-actions">
 
            <input class="btn btn-primary" type="submit" value="Apply" />
 
            <a class="btn" href="{% url dashboard %}">Cancel</a>
 
            <p class="help-block">
 
                <small>By submitting this sponsor application you are agreeing to the <a href="{% url cms_page "sponsor/terms/" %}" target="_blank">terms and conditions</a>.</small>
 
            </p>
 
        </div>
 
    </form>
 

	
 
{% endblock %}
symposion_project/templates/sponsorship/detail.html
Show inline comments
 
new file 100644
 
{% extends "site_base.html" %}
 

	
 
{% load bootstrap_tags %}
 
{% load i18n %}
 

	
 
{% block head_title %}{{ sponsor }}{% endblock %}
 

	
 
{% block page_title %}{% trans "Sponsorship" %}{% endblock %}
 

	
 
{% block body %}
 
    <h2>{{ sponsor.name }} ({{ sponsor.level }})</h2>
 

	
 
    <form enctype="multipart/form-data" method="POST" action="" class="form-horizontal">
 
        {% csrf_token %}
 
        <fieldset>
 
            {{ form|as_bootstrap }}
 
        </fieldset>
 

	
 
        <h3>{{ sponsor.level }} Sponsor Benefits</h3>
 

	
 
        {{ formset.management_form }}
 
        {{ formset.non_form_errors }}
 

	
 
        {% for form in formset.forms %}
 
            <div class="control-group">
 
                <label class="control-label">{{ form.instance.benefit }}</label>
 
                <div class="controls">
 
                    {{ form }}
 
                    <p class="help-block">{{ form.instance.benefit.description }}</p>
 
                </div>
 
            </div>
 
        {% endfor %}
 

	
 
        <div class="form-actions">
 
            <input class="btn btn-primary" type="submit" value="Save" />
 
            <a class="btn" href="{% url dashboard %}">Cancel</a>
 
        </div>
 

	
 
    </form>
 
{% endblock %}
...
 
\ No newline at end of file
symposion_project/templates/sponsorship/list.html
Show inline comments
 
new file 100644
 
{% extends "site_base.html" %}
 

	
 
{% load sponsorship_tags %}
 
{% load thumbnail %}
 
{% load i18n %}
 

	
 
{% block head_title %}{% trans "About Our Sponsors" %}{% endblock %}
 

	
 
{% block body_class %}sponsors{% endblock %}
 

	
 
{% sponsor_levels as levels %}
 

	
 
{% block body_outer %}
 
    <div class="row">
 
        <div class="span12">
 
            <h1>{% trans "About Our Sponsors" %}</h1>
 
            <a href="{% url cms_page "sponsors/prospectus/" %}" class="btn">Learn how to become a sponsor <span class="arrow"></span></a>
 

	
 
            {% for level in levels %}
 
                <h3>{{ level.name }}</h3>
 

	
 
                <div class="row">
 
                    {% for sponsor in level.sponsors %}
 
                        <div class="span4">
 
                            <div class="sponsor" id="sponsor-{{ sponsor.id }}">
 
                                <div class="sponsor-content">
 
                                    <h2>
 
                                        <a href="{{ sponsor.external_url }}">
 
                                            <img src="{% thumbnail sponsor.website_logo '150x80' %}" alt="{{ sponsor.name }}" />
 
                                        </a>
 
                                    </h2>
 
                                    <h5>{{ sponsor.name }}</h5>
 
                                    <p><a href="{{ sponsor.external_url }}">{{ sponsor.external_url }}</a></p>
 
                                    <p>{{ sponsor.listing_text|urlize|linebreaks }}</p>
 
                                </div>
 
                            </div>
 
                        </div>
 
                    {% endfor %}
 
                </div>
 
            {% endfor %}
 
        </div>
 
    </div>
 
{% endblock %}
symposion_project/urls.py
Show inline comments
...
 
@@ -23,6 +23,7 @@ urlpatterns = patterns("",
 
    url(r"^dashboard/", symposion.views.dashboard, name="dashboard"),
 
    url(r"^speaker/", include("symposion.speakers.urls")),
 
    url(r"^proposals/", include("symposion.proposals.urls")),
 
    url(r"^sponsors/", include("symposion.sponsorship.urls")),
 
    url(r"^boxes/", include("symposion.boxes.urls")),
 
    url(r"^markitup/", include("markitup.urls")),
 
    
0 comments (0 inline, 0 general)