Major update

This commit is contained in:
root 2012-07-11 17:39:20 +02:00
parent 8e1bf7b705
commit 2479b0a24d
33 changed files with 1194 additions and 110 deletions

View file

@ -3,6 +3,9 @@
from django.contrib import admin
from gestioncof.models import Survey, SurveyQuestion, SurveyQuestionAnswer
from gestioncof.models import Event, EventOption, EventOptionChoice
from gestioncof.models import CofProfile
from django.contrib.auth.models import User
from django.contrib.auth.admin import UserAdmin
from django.core.urlresolvers import reverse
from django.utils.safestring import mark_safe
@ -41,12 +44,11 @@ class SurveyAdmin(admin.ModelAdmin):
SurveyQuestionInline,
]
@add_link_field()
class EventOptionChoiceInline(admin.StackedInline):
class EventOptionChoiceInline(admin.TabularInline):
model = EventOptionChoice
@add_link_field()
class EventOptionInline(admin.StackedInline):
@add_link_field(desc_text = lambda x: "Choix", link_text = lambda x: "Éditer les choix")
class EventOptionInline(admin.TabularInline):
model = EventOption
class EventOptionAdmin(admin.ModelAdmin):
@ -59,7 +61,40 @@ class EventAdmin(admin.ModelAdmin):
EventOptionInline,
]
class CofProfileInline(admin.StackedInline):
model = CofProfile
inline_classes = ("collapse open",)
class UserProfileAdmin(UserAdmin):
def login_clipper(self, obj):
try:
return obj.get_profile().login_clipper
except UserProfile.DoesNotExist:
return ""
def is_buro(self, obj):
try:
return obj.get_profile().is_buro
except UserProfile.DoesNotExist:
return False
is_buro.short_description = 'Membre du Buro'
is_buro.boolean = True
def is_cof(self, obj):
try:
return obj.get_profile().is_cof
except UserProfile.DoesNotExist:
return False
is_cof.short_description = 'Membre du COF'
is_cof.boolean = True
list_display = UserAdmin.list_display + ('login_clipper','is_cof','is_buro',)
list_filter = UserAdmin.list_filter + ('profile__is_cof', 'profile__is_buro')
inlines = [
CofProfileInline,
]
admin.site.register(Survey, SurveyAdmin)
admin.site.register(SurveyQuestion, SurveyQuestionAdmin)
admin.site.register(Event, EventAdmin)
admin.site.register(EventOption, EventOptionAdmin)
admin.site.unregister(User)
admin.site.register(User, UserProfileAdmin)
admin.site.register(CofProfile)