diff --git a/cfp/forms.py b/cfp/forms.py
index efb5122..1579aab 100644
--- a/cfp/forms.py
+++ b/cfp/forms.py
@@ -98,6 +98,23 @@ class TalkFilterForm(forms.Form):
self.fields['track'].choices = [('none', _('Not assigned'))] + list(tracks.values_list('slug', 'name'))
+class TalkActionForm(forms.Form):
+ talks = forms.MultipleChoiceField(choices=[])
+ decision = forms.NullBooleanField(label=_('Accept talk?'))
+ track = forms.ChoiceField(required=False, choices=[], label=_('Assign to a track'))
+ room = forms.ChoiceField(required=False, choices=[], label=_('Put in a room'))
+
+ def __init__(self, *args, **kwargs):
+ site = kwargs.pop('site')
+ talks = kwargs.pop('talks')
+ super().__init__(*args, **kwargs)
+ self.fields['talks'].choices = [(talk.token, None) for talk in talks.all()]
+ tracks = Track.objects.filter(site=site)
+ self.fields['track'].choices = [(None, "---------")] + list(tracks.values_list('slug', 'name'))
+ rooms = Room.objects.filter(site=site)
+ self.fields['room'].choices = [(None, "---------")] + list(rooms.values_list('slug', 'name'))
+
+
ParticipantForm = modelform_factory(Participant, fields=('name', 'email', 'biography'))
diff --git a/cfp/templates/cfp/staff/talk_list.html b/cfp/templates/cfp/staff/talk_list.html
index 6503f4c..36025d1 100644
--- a/cfp/templates/cfp/staff/talk_list.html
+++ b/cfp/templates/cfp/staff/talk_list.html
@@ -31,11 +31,13 @@
+
+
{% endblock %}
diff --git a/cfp/urls.py b/cfp/urls.py
index fb0cd70..7db0878 100644
--- a/cfp/urls.py
+++ b/cfp/urls.py
@@ -28,27 +28,5 @@ urlpatterns = [
url(r'^staff/rooms/(?P[-\w]+)/edit/$', views.RoomUpdate.as_view(), name='room-edit'),
url(r'^staff/add-user/$', views.create_user, name='create-user'),
url(r'^staff/select2/$', views.Select2View.as_view(), name='django_select2-json'),
-
#url(r'^markdown/$', views.markdown_preview, name='markdown'),
- #url(r'^$', views.home, name='home'),
- #url(r'^staff/$', views.staff, name='staff'),
- #url(r'^conference/$', views.conference, name='edit-conference'),
- #url(r'^talk/propose/$', views.participate, name='participate-as-speaker'),
- #url(r'^talk/$', views.talk_list, name='list-talks'),
- #url(r'^talk/add/$', views.talk_edit, name='add-talk'),
- #url(r'^talk/edit/(?P[-\w]+)$', views.talk_edit, name='edit-talk'),
- #url(r'^talk/vote/(?P[-\w]+)/(?P[-0-2]+)$', views.vote, name='vote'),
- #url(r'^talk/details/(?P[-\w]+)$', views.TalkDetail.as_view(), name='show-talk'),
- #url(r'^talk/accept/(?P[-\w]+)/$', views.talk_decide, {'accepted': True}, name='accept-talk'),
- #url(r'^talk/decline/(?P[-\w]+)/$', views.talk_decide, {'accepted': False}, name='decline-talk'),
- #url(r'^talk/assign-to-track/(?P[-\w]+)/(?P