fix bug: TalkForm proposes topics of current site

This commit is contained in:
Élie Bouttier 2016-07-18 00:36:34 +02:00
parent 6730972485
commit c3c09c1674
2 changed files with 11 additions and 3 deletions

View File

@ -7,8 +7,16 @@ from django_select2.forms import Select2TagWidget
from proposals.models import Talk, Topic
TalkForm = modelform_factory(Talk, fields=['title', 'description', 'topics', 'event', 'speakers'],
widgets={'topics': CheckboxSelectMultiple(), 'speakers': Select2TagWidget()})
class TalkForm(ModelForm):
def __init__(self, *args, **kwargs):
site = kwargs.pop('site')
super(TalkForm, self).__init__(*args, **kwargs)
self.fields['topics'].queryset = Topic.objects.filter(site=site)
class Meta:
model = Talk
fields = ['title', 'description', 'topics', 'event', 'speakers']
widgets = {'topics': CheckboxSelectMultiple(), 'speakers': Select2TagWidget()}
class TopicCreateForm(ModelForm):

View File

@ -43,7 +43,7 @@ def talk_edit(request, talk=None):
talk = get_object_or_404(Talk, slug=talk, site=get_current_site(request))
if not talk.is_editable_by(request.user):
raise PermissionDenied()
form = TalkForm(request.POST or None, instance=talk)
form = TalkForm(request.POST or None, instance=talk, site=get_current_site(request))
if talk:
form.fields['title'].disabled = True
form.fields['topics'].disabled = True