fix bug: TalkForm proposes topics of current site
This commit is contained in:
parent
6730972485
commit
c3c09c1674
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue