From 14c90858871b4787912877a6b3f32b480fde1c46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Tue, 23 Aug 2016 22:15:31 +0200 Subject: [PATCH] =?UTF-8?q?Emp=C3=AAche=20d'assigner=20un=20respo=20non=20?= =?UTF-8?q?membre=20du=20club?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dans l'interface admin --- gestioncof/admin.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/gestioncof/admin.py b/gestioncof/admin.py index 342317f3..7aedf089 100644 --- a/gestioncof/admin.py +++ b/gestioncof/admin.py @@ -4,6 +4,7 @@ from __future__ import division from __future__ import print_function from __future__ import unicode_literals +from django import forms from django.contrib import admin from gestioncof.models import SurveyQuestionAnswer, SurveyQuestion, \ CofProfile, EventOption, EventOptionChoice, Event, Club, CustomMail, \ @@ -232,6 +233,25 @@ class PetitCoursDemandeAdmin(admin.ModelAdmin): class CustomMailAdmin(admin.ModelAdmin): search_fields = ('shortname', 'title') + +class ClubAdminForm(forms.ModelForm): + def clean(self): + cleaned_data = super(ClubAdminForm, self).clean() + respos = cleaned_data.get('respos') + members = cleaned_data.get('membres') + for respo in respos.all(): + if respo not in members: + raise forms.ValidationError( + "Erreur : le respo %s n'est pas membre du club." + % respo.get_full_name()) + return cleaned_data + + +class ClubAdmin(admin.ModelAdmin): + list_display = ['name'] + form = ClubAdminForm + + admin.site.register(Survey, SurveyAdmin) admin.site.register(SurveyQuestion, SurveyQuestionAdmin) admin.site.register(Event, EventAdmin) @@ -239,7 +259,7 @@ admin.site.register(EventOption, EventOptionAdmin) admin.site.unregister(User) admin.site.register(User, UserProfileAdmin) admin.site.register(CofProfile) -admin.site.register(Club) +admin.site.register(Club, ClubAdmin) admin.site.register(CustomMail) admin.site.register(PetitCoursSubject) admin.site.register(PetitCoursAbility, PetitCoursAbilityAdmin)