diff --git a/tabellio/searchform/advsearch-pfb.pt b/tabellio/searchform/advsearch-pfb.pt
index b9f819f..9fdb308 100644
--- a/tabellio/searchform/advsearch-pfb.pt
+++ b/tabellio/searchform/advsearch-pfb.pt
@@ -56,6 +56,20 @@
+
+
+
diff --git a/tabellio/searchform/form.py b/tabellio/searchform/form.py
index 3bb4420..6fd6767 100644
--- a/tabellio/searchform/form.py
+++ b/tabellio/searchform/form.py
@@ -510,6 +510,55 @@ class DocumentPfbSearchForm(form.Form):
return
+class IAdoptedDocumentPfbSearch(interface.Interface):
+ search_type_is_adopteddocument = schema.TextLine(title=u'Search Type', default=u'1')
+
+ nodoc = schema.TextLine(title=_(u'Document Number'), required=False)
+ l_doctypes = schema.List(title=_(u'Types'), required=False,
+ value_type=schema.Choice(title=_(u'Type'), required=False,
+ values=[_(u'Projets'), _(u'Propositions')]))
+ ttitle = schema.TextLine(title=_(u'Title'), required=False)
+ text = schema.TextLine(title=_(u'Text'), required=False)
+ authors = schema.TextLine(title=_(u'Authors'), required=False)
+ l_polgroups = schema.List(title=_(u'Political Groups'), required=False,
+ value_type=schema.Choice(title=_(u'Political Group'),
+ required=False, source=possible_polgroups))
+ l_topics = schema.List(title=_(u'Topics'), required=False,
+ value_type=schema.Choice(required=False,
+ source=possible_topics));
+ 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)
+ adopted = schema.Bool(title=_(u'Limit to adopted'), required=False, default=True)
+
+ sort_on = schema.Choice(title=_(u'Sort By'), required=True,
+ default=_(u'Session'),
+ values=[_(u'Session'), _(u'Type'), _(u'Number')])
+
+
+class AdoptedDocumentPfbSearchForm(form.Form):
+ prefix = 'adopteddocument'
+ fields = field.Fields(IAdoptedDocumentPfbSearch)
+ fields['authors'].widgetFactory = FieldAuthorsWidget
+ fields['l_doctypes'].widgetFactory = FieldDroppedCheckboxWidget
+ fields['l_polgroups'].widgetFactory = FieldDroppedCheckboxWidget
+ fields['l_topics'].widgetFactory = FieldDroppedCheckboxWidget
+ fields['sort_on'].widgetFactory = FieldRadioboxesWidget
+ ignoreContext = True
+ template = ViewPageTemplateFile('form_templates/view_form.pt')
+
+ def updateWidgets(self):
+ super(AdoptedDocumentPfbSearchForm, self).updateWidgets()
+ self.widgets['adopted'].mode = z3c.form.interfaces.HIDDEN_MODE
+ self.widgets['search_type_is_adopteddocument'].mode = z3c.form.interfaces.HIDDEN_MODE
+
+ @button.buttonAndHandler(_(u'Submit'))
+ def handleApply(self, action):
+ pass
+
+
+
class IDeputySearch(interface.Interface):
search_type_is_deputy = schema.TextLine(title=u'Search Type', default=u'1', required=False)
@@ -555,23 +604,9 @@ class EventSearchForm(form.Form):
pass
-class DeputySearchForm(form.Form):
- prefix = 'deputy'
- fields = field.Fields(IDeputySearch)
- ignoreContext = True
- template = ViewPageTemplateFile('form_templates/view_form.pt')
-
- def updateWidgets(self):
- super(DeputySearchForm, self).updateWidgets()
- self.widgets['search_type_is_deputy'].mode = z3c.form.interfaces.HIDDEN_MODE
-
- @button.buttonAndHandler(_(u'Submit'))
- def handleApply(self, action):
- pass
-
-
class IGlobalSearchForm(interface.Interface):
search_type_is_document = schema.TextLine(title=u'Search Type', required=False)
+ search_type_is_adopteddocument = schema.TextLine(title=u'Search Type', required=False)
search_type_is_dossier = schema.TextLine(title=u'Search Type', required=False)
search_type_is_question = schema.TextLine(title=u'Search Type', required=False)
@@ -663,7 +698,7 @@ class SearchView(BrowserView):
return d
def search_results(self, search_type):
- #print 'search type:', search_type
+ print 'search type:', search_type
if self.request.form.get('document.widgets.search_type_is_document'):
GlobalSearchForm.prefix = 'document'
@@ -671,6 +706,8 @@ class SearchView(BrowserView):
GlobalSearchForm.prefix = 'dossier'
elif self.request.form.get('question.widgets.search_type_is_question'):
GlobalSearchForm.prefix = 'question'
+ elif self.request.form.get('adopteddocument.widgets.search_type_is_adopteddocument'):
+ GlobalSearchForm.prefix = 'adopteddocument'
f = GlobalSearchForm(self.context, self.request)
f.update()
@@ -680,6 +717,7 @@ class SearchView(BrowserView):
if not data.get('search_type_is_%s' % search_type):
return None
+ print 'data:', data
if data.get('ttitle'):
kw['Title'] = data.get('ttitle')
@@ -748,6 +786,8 @@ class SearchView(BrowserView):
if data.get('search_type_is_document'):
kw['portal_type'] = 'tabellio.documents.document'
+ elif data.get('search_type_is_adopteddocument'):
+ kw['portal_type'] = 'tabellio.documents.document'
elif data.get('search_type_is_dossier'):
kw['portal_type'] = 'tabellio.documents.dossier'
elif data.get('search_type_is_question'):
@@ -824,6 +864,8 @@ class SearchView(BrowserView):
if data.get('sort_on') == 'Type':
if data.get('search_type_is_document'):
cmp_function = cmp_doctype
+ elif data.get('search_type_is_adopteddocument'):
+ cmp_function = cmp_doctype
elif data.get('search_type_is_dossier'):
cmp_function = cmp_dostype
elif data.get('search_type_is_question'):
@@ -854,6 +896,14 @@ class SearchView(BrowserView):
def document_search_results(self):
return self.search_results(search_type='document')
+ def adopted_document_pfb_search_form(self):
+ f = AdoptedDocumentPfbSearchForm(self.context, self.request)
+ f.update()
+ return f.render()
+
+ def adopted_document_search_results(self):
+ return self.search_results(search_type='adopteddocument')
+
def dossier_search_form(self):
f = DossierSearchForm(self.context, self.request)
f.update()