From 01aa1811197b56f0773ca9068fef6a7c451e3adc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Tue, 6 Dec 2011 19:27:35 +0100 Subject: [PATCH] factored pfb questions out of common code for topics and authors fields (#1121) --- tabellio/searchform/form.py | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/tabellio/searchform/form.py b/tabellio/searchform/form.py index ea56c04..0558f87 100644 --- a/tabellio/searchform/form.py +++ b/tabellio/searchform/form.py @@ -478,11 +478,40 @@ class QuestionSearchForm(form.Form): def handleApply(self, action): pass -class QuestionPfbSearchForm(QuestionSearchForm): - fields = field.Fields(IQuestionSearch) + +class IQuestionPfbSearch(interface.Interface): + search_type_is_question = schema.TextLine(title=u'Search Type', default=u'1', required=False) + + l_questypes = schema.List(title=_(u'Question Type'), required=False, + value_type=schema.Choice(title=_(u'Type'), required=False, + source=possible_question_types)) + ttitle = schema.TextLine(title=_(u'Title'), required=False) + l_topics = schema.List(title=_(u'Topics'), required=False, + value_type=schema.Choice(required=False, + source=possible_topics)); + authors = schema.TextLine(title=_(u'Authors'), required=False) + session = schema.Choice(title=_(u'Legislature / Session'), required=False, + source=possible_sessions) + start = schema.Date(title=_(u'Start'), required=False) + end = schema.Date(title=_(u'End'), required=False) + + sort_on = schema.Choice(title=_(u'Sort By'), required=True, + default=_(u'Session'), + values=[_(u'Session'), _(u'Type')]) + +class QuestionPfbSearchForm(form.Form): + prefix = 'question' + ignoreContext = True + template = ViewPageTemplateFile('form_templates/view_form.pt') + fields = field.Fields(IQuestionPfbSearch) fields['authors'].title = _(u'Author(s)') - del fields['l_polgroups'] + fields['authors'].widgetFactory = FieldAuthorsWidget fields['l_questypes'].widgetFactory = FieldDroppedCheckboxWidget + fields['l_topics'].widgetFactory = FieldDroppedCheckboxWidget + + def updateWidgets(self): + super(QuestionPfbSearchForm, self).updateWidgets() + self.widgets['search_type_is_question'].mode = z3c.form.interfaces.HIDDEN_MODE @button.buttonAndHandler(_(u'Submit')) def handleApply(self, action):