Changeset - 41dc93198d55
[Not reviewed]
Merge
2 9 2
Patrick Altman - 9 years ago 2015-08-03 12:59:44
paltman@gmail.com
Merge pull request #88 from miurahr/sponsorship-admin-contacts

admin contact
1 file changed with 13 insertions and 1 deletions:
0 comments (0 inline, 0 general)
symposion/sponsorship/admin.py
Show inline comments
 
from django.contrib import admin
 
from django.utils.html import escape
 
from django.utils.safestring import mark_safe
 
from django.utils.translation import ugettext_lazy as _
 

	
 
from symposion.sponsorship.models import SponsorLevel, Sponsor, Benefit, BenefitLevel, \
 
    SponsorBenefit
 

	
 

	
 
class BenefitLevelInline(admin.TabularInline):
 
    model = BenefitLevel
 
    extra = 0
 

	
 

	
 
class SponsorBenefitInline(admin.StackedInline):
 
    model = SponsorBenefit
...
 
@@ -34,25 +37,34 @@ class SponsorAdmin(admin.ModelAdmin):
 
                ("level", "active"),
 
                "external_url",
 
                "annotation",
 
                ("contact_name", "contact_email")
 
            ]
 
        }),
 
        ("Metadata", {
 
            "fields": ["added"],
 
            "classes": ["collapse"]
 
        })
 
    ]
 
    inlines = [SponsorBenefitInline]
 
    list_display = ["name", "external_url", "level", "active"]
 
    list_display = ["name", "external_url", "level", "active", "contact", "applicant_field"]
 

	
 
    def contact(self, sponsor):
 
        return mark_safe('<a href="mailto:%s">%s</a>' % (escape(sponsor.contact_email), escape(sponsor.contact_name)))
 

	
 
    def applicant_field(self, sponsor):
 
        name = sponsor.applicant.get_full_name()
 
        email = sponsor.applicant.email
 
        return mark_safe('<a href="mailto:%s">%s</a>' % (escape(email), escape(name)))
 
    applicant_field.short_description = _(u"Applicant")
 

	
 
    def get_form(self, *args, **kwargs):
 
        # @@@ kinda ugly but using choices= on NullBooleanField is broken
 
        form = super(SponsorAdmin, self).get_form(*args, **kwargs)
 
        form.base_fields["active"].widget.choices = [
 
            (u"1", "unreviewed"),
 
            (u"2", "approved"),
 
            (u"3", "rejected")
 
        ]
 
        return form
 

	
 

	
0 comments (0 inline, 0 general)