From d49f7858d32ac74f46903d10e1ed9d52d057fe43 Mon Sep 17 00:00:00 2001 From: klmp200 Date: Sun, 10 Dec 2017 21:37:50 +0100 Subject: [PATCH] Better ui for group selection on election and wiki --- core/views/forms.py | 16 ++++++---------- election/views.py | 13 ++++++------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/core/views/forms.py b/core/views/forms.py index bff849b9..c1f64a9c 100644 --- a/core/views/forms.py +++ b/core/views/forms.py @@ -2,8 +2,7 @@ # # Copyright 2016,2017 # - Skia -# - Sli -# +# - Sli # # Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, # http://ae.utbm.fr. # @@ -33,6 +32,7 @@ from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext from phonenumber_field.widgets import PhoneNumberInternationalFallbackWidget from ajax_select.fields import AutoCompleteSelectField +from ajax_select import make_ajax_field import re @@ -261,10 +261,8 @@ class PagePropForm(forms.ModelForm): class Meta: model = Page fields = ['parent', 'name', 'owner_group', 'edit_groups', 'view_groups', ] - widgets = { - 'edit_groups': CheckboxSelectMultiple, - 'view_groups': CheckboxSelectMultiple, - } + edit_groups = make_ajax_field(Page, 'edit_groups', 'groups', help_text="", label=_("edit groups")) + view_groups = make_ajax_field(Page, 'view_groups', 'groups', help_text="", label=_("view groups")) def __init__(self, *arg, **kwargs): super(PagePropForm, self).__init__(*arg, **kwargs) @@ -276,10 +274,8 @@ class PageForm(forms.ModelForm): class Meta: model = Page fields = ['parent', 'name', 'owner_group', 'edit_groups', 'view_groups'] - widgets = { - 'edit_groups': CheckboxSelectMultiple, - 'view_groups': CheckboxSelectMultiple, - } + edit_groups = make_ajax_field(Page, 'edit_groups', 'groups', help_text="", label=_("edit groups")) + view_groups = make_ajax_field(Page, 'view_groups', 'groups', help_text="", label=_("view groups")) def __init__(self, *args, **kwargs): super(PageForm, self).__init__(*args, **kwargs) diff --git a/election/views.py b/election/views.py index 8b0106d7..b562a1cb 100644 --- a/election/views.py +++ b/election/views.py @@ -16,6 +16,7 @@ from core.views.forms import SelectDateTime from election.models import Election, Role, Candidature, ElectionList, Vote from ajax_select.fields import AutoCompleteSelectField +from ajax_select import make_ajax_field # Custom form field @@ -123,13 +124,11 @@ class ElectionForm(forms.ModelForm): 'start_date', 'end_date', 'edit_groups', 'view_groups', 'vote_groups', 'candidature_groups'] - widgets = { - 'edit_groups': CheckboxSelectMultiple, - 'view_groups': CheckboxSelectMultiple, - 'edit_groups': CheckboxSelectMultiple, - 'vote_groups': CheckboxSelectMultiple, - 'candidature_groups': CheckboxSelectMultiple - } + + edit_groups = make_ajax_field(Election, 'edit_groups', 'groups', help_text="", label=_("edit groups")) + view_groups = make_ajax_field(Election, 'view_groups', 'groups', help_text="", label=_("view groups")) + vote_groups = make_ajax_field(Election, 'vote_groups', 'groups', help_text="", label=_("vote groups")) + candidature_groups = make_ajax_field(Election, 'candidature_groups', 'groups', help_text="", label=_("candidature groups")) start_date = forms.DateTimeField(['%Y-%m-%d %H:%M:%S'], label=_("Start date"), widget=SelectDateTime, required=True)