Order submitter and supporter fields by full name in ApplicationManagerForm.
This commit is contained in:
parent
66c078b333
commit
a23164a906
@ -10,12 +10,30 @@
|
|||||||
:license: GNU GPL, see LICENSE for more details.
|
:license: GNU GPL, see LICENSE for more details.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from django.forms import ModelForm, Form, CharField, Textarea, TextInput
|
from django.forms import ModelForm, Form, CharField, Textarea, TextInput, ModelMultipleChoiceField, ModelChoiceField
|
||||||
|
from django.contrib.auth.models import User
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
|
|
||||||
from openslides.application.models import Application
|
from openslides.application.models import Application
|
||||||
|
|
||||||
|
|
||||||
|
class UserModelChoiceField(ModelChoiceField):
|
||||||
|
"""
|
||||||
|
Extend ModelChoiceField for users so that the choices are
|
||||||
|
listed as 'first_name last_name' instead of just 'username'.
|
||||||
|
"""
|
||||||
|
def label_from_instance(self, obj):
|
||||||
|
return obj.get_full_name()
|
||||||
|
|
||||||
|
class UserModelMultipleChoiceField(ModelMultipleChoiceField):
|
||||||
|
"""
|
||||||
|
Extend ModelMultipleChoiceField for users so that the choices are
|
||||||
|
listed as 'first_name last_name' instead of just 'username'.
|
||||||
|
"""
|
||||||
|
def label_from_instance(self, obj):
|
||||||
|
return obj.get_full_name()
|
||||||
|
|
||||||
|
|
||||||
class ApplicationForm(Form):
|
class ApplicationForm(Form):
|
||||||
error_css_class = 'error'
|
error_css_class = 'error'
|
||||||
required_css_class = 'required'
|
required_css_class = 'required'
|
||||||
@ -29,6 +47,10 @@ class ApplicationManagerForm(ModelForm):
|
|||||||
error_css_class = 'error'
|
error_css_class = 'error'
|
||||||
required_css_class = 'required'
|
required_css_class = 'required'
|
||||||
|
|
||||||
|
users = User.objects.all().exclude(profile=None).order_by("first_name")
|
||||||
|
submitter = UserModelChoiceField(queryset=users, label=_("Submitter"))
|
||||||
|
supporter = UserModelMultipleChoiceField(queryset=users, label=_("Supporters"))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Application
|
model = Application
|
||||||
exclude = ('number', 'status', 'permitted', 'log')
|
exclude = ('number', 'status', 'permitted', 'log')
|
||||||
|
Loading…
Reference in New Issue
Block a user