manager: sort roles in add/edit forms (#22244)
This commit is contained in:
parent
a20bfdb254
commit
78c2a6879b
|
@ -18,11 +18,12 @@ import csv
|
|||
import datetime
|
||||
|
||||
from django import forms
|
||||
from django.contrib.auth.models import Group
|
||||
from django.forms import ValidationError
|
||||
from django.utils.timezone import make_aware
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from chrono.agendas.models import (Event, MeetingType, TimePeriod, Desk,
|
||||
from chrono.agendas.models import (Agenda, Event, MeetingType, TimePeriod, Desk,
|
||||
TimePeriodException)
|
||||
|
||||
from . import widgets
|
||||
|
@ -39,6 +40,25 @@ class DateTimeWidget(widgets.DateTimeWidget):
|
|||
super(DateTimeWidget, self).__init__(*args, options=DATETIME_OPTIONS, **kwargs)
|
||||
|
||||
|
||||
class AgendaAddForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Agenda
|
||||
fields = ['label', 'kind', 'edit_role', 'view_role']
|
||||
|
||||
edit_role = forms.ModelChoiceField(
|
||||
label=_('Edit Role'), required=False,
|
||||
queryset=Group.objects.all().order_by('name'))
|
||||
view_role = forms.ModelChoiceField(
|
||||
label=_('View Role'), required=False,
|
||||
queryset=Group.objects.all().order_by('name'))
|
||||
|
||||
|
||||
class AgendaEditForm(AgendaAddForm):
|
||||
class Meta:
|
||||
model = Agenda
|
||||
fields = ['label', 'slug', 'edit_role', 'view_role', 'minimal_booking_delay', 'maximal_booking_delay']
|
||||
|
||||
|
||||
class EventForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Event
|
||||
|
|
|
@ -34,7 +34,7 @@ from django.views.generic import (DetailView, CreateView, UpdateView,
|
|||
from chrono.agendas.models import (Agenda, Event, MeetingType, TimePeriod,
|
||||
Booking, Desk, TimePeriodException, ICSError)
|
||||
|
||||
from .forms import (EventForm, NewMeetingTypeForm, MeetingTypeForm,
|
||||
from .forms import (AgendaAddForm, AgendaEditForm, EventForm, NewMeetingTypeForm, MeetingTypeForm,
|
||||
TimePeriodForm, ImportEventsForm, NewDeskForm, DeskForm, TimePeriodExceptionForm,
|
||||
ExceptionsImportForm)
|
||||
|
||||
|
@ -56,7 +56,7 @@ homepage = HomepageView.as_view()
|
|||
class AgendaAddView(CreateView):
|
||||
template_name = 'chrono/manager_agenda_form.html'
|
||||
model = Agenda
|
||||
fields = ['label', 'kind', 'edit_role', 'view_role']
|
||||
form_class = AgendaAddForm
|
||||
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
if not request.user.is_staff:
|
||||
|
@ -79,7 +79,7 @@ agenda_add = AgendaAddView.as_view()
|
|||
class AgendaEditView(UpdateView):
|
||||
template_name = 'chrono/manager_agenda_form.html'
|
||||
model = Agenda
|
||||
fields = ['label', 'slug', 'edit_role', 'view_role', 'minimal_booking_delay', 'maximal_booking_delay']
|
||||
form_class = AgendaEditForm
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
obj = super(AgendaEditView, self).get_object(queryset=queryset)
|
||||
|
|
Loading…
Reference in New Issue