Changeset - 0f32fdcb74ad
[Not reviewed]
0 3 1
James Tauber - 12 years ago 2012-10-18 16:38:03
jtauber@jtauber.com
allow staff to add sponsors directly via interface
4 files changed with 61 insertions and 15 deletions:
0 comments (0 inline, 0 general)
symposion/sponsorship/urls.py
Show inline comments
...
 
@@ -5,5 +5,6 @@ from django.views.generic.simple import direct_to_template
 
urlpatterns = patterns("symposion.sponsorship.views",
 
    url(r"^$", direct_to_template, {"template": "sponsorship/list.html"}, name="sponsor_list"),
 
    url(r"^apply/$", "sponsor_apply", name="sponsor_apply"),
 
    url(r"^add/$", "sponsor_add", name="sponsor_add"),
 
    url(r"^(?P<pk>\d+)/$", "sponsor_detail", name="sponsor_detail"),
 
)
symposion/sponsorship/views.py
Show inline comments
 
from django.http import Http404
 
from django.shortcuts import render_to_response, redirect, get_object_or_404
 
from django.template import RequestContext
 

	
...
 
@@ -23,6 +24,26 @@ def sponsor_apply(request):
 
    }, context_instance=RequestContext(request))
 

	
 

	
 
@login_required
 
def sponsor_add(request):
 
    if not request.user.is_staff:
 
        raise Http404()
 
    
 
    if request.method == "POST":
 
        form = SponsorApplicationForm(request.POST, user=request.user)
 
        if form.is_valid():
 
            sponsor = form.save(commit=False)
 
            sponsor.active = True
 
            sponsor.save()
 
            return redirect("dashboard")
 
    else:
 
        form = SponsorApplicationForm(user=request.user)
 
    
 
    return render_to_response("sponsorship/add.html", {
 
        "form": form,
 
    }, context_instance=RequestContext(request))
 

	
 

	
 
@login_required
 
def sponsor_detail(request, pk):
 
    sponsor = get_object_or_404(Sponsor, pk=pk)
...
 
@@ -44,9 +65,9 @@ def sponsor_detail(request, pk):
 
            form.save()
 
            formset.save()
 
            
 
            messages.success(request, "Your sponsorship application has been submitted!")
 
            messages.success(request, "Sponsorship details have been updated")
 
            
 
            return redirect(request.path)
 
            return redirect("dashboard")
 
    else:
 
        form = SponsorDetailsForm(instance=sponsor)
 
        formset = SponsorBenefitsFormSet(**formset_kwargs)
symposion/templates/sponsorship/add.html
Show inline comments
 
new file 100644
 
{% extends "site_base.html" %}
 

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

	
 
{% block head_title %}{% trans "Add a Sponsor" %}{% endblock %}
 

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

	
 
{% block body %}
 
    <form method="POST" action="{% url sponsor_add %}" class="form-horizontal">
 
        {% csrf_token %}
 
        <legend>{% trans "Add a Sponsor" %}</legend>
 
        {{ form|as_bootstrap }}
 
        <div class="form-actions">
 
            <input class="btn btn-primary" type="submit" value="Add" />
 
            <a class="btn" href="{% url dashboard %}">Cancel</a>
 
        </div>
 
    </form>
 

	
 
{% endblock %}
symposion/templates/sponsorship/list.html
Show inline comments
...
 
@@ -20,20 +20,22 @@
 
                    <h3>{{ level.name }}</h3>
 

	
 
                    {% for sponsor in level.sponsors %}
 
                        <div class="row">
 
                            <div class="span2">
 
                                <h2>
 
                                    <a href="{{ sponsor.external_url }}">
 
                                        <img src="{% thumbnail sponsor.website_logo '150x80' %}" alt="{{ sponsor.name }}" />
 
                                    </a>
 
                                </h2>
 
                        {% if sponsor.website_logo %}
 
                            <div class="row">
 
                                <div class="span2">
 
                                    <h2>
 
                                        <a href="{{ sponsor.external_url }}">
 
                                            <img src="{% thumbnail sponsor.website_logo '150x80' %}" alt="{{ sponsor.name }}" />
 
                                        </a>
 
                                    </h2>
 
                                </div>
 
                                <div class="span10">
 
                                    <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 class="span10">
 
                                <h5>{{ sponsor.name }}</h5>
 
                                <p><a href="{{ sponsor.external_url }}">{{ sponsor.external_url }}</a></p>
 
                                <p>{{ sponsor.listing_text|urlize|linebreaks }}</p>
 
                            </div>
 
                        </div>
 
                        {% endif %}
 
                    {% endfor %}
 
                {% endif %}
 
            {% endfor %}
0 comments (0 inline, 0 general)