From 46bf42acfe5d9254c261953d9eaf1979c84ad713 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Wed, 23 Nov 2011 10:51:13 +0100 Subject: [PATCH] refactor various templates --- tabellio/searchform/advsearch-pfb.pt | 40 +-------- tabellio/searchform/docsearch.pt | 81 +++---------------- tabellio/searchform/docsearchpfb.pt | 74 +---------------- tabellio/searchform/form.py | 38 +++++++-- tabellio/searchform/form_templates/view.pt | 40 --------- .../form_templates/view_deputy_search.pt | 8 -- .../form_templates/view_dossier_search.pt | 9 --- .../form_templates/view_effectivesearch.pt | 8 -- .../form_templates/view_pfbdocsearch.pt | 8 -- .../form_templates/view_question_search.pt | 8 -- tabellio/searchform/simple-pfb.pt | 24 +----- tabellio/searchform/simple.pt | 39 ++++----- tabellio/searchform/simple.py | 38 ++++++++- 13 files changed, 103 insertions(+), 312 deletions(-) delete mode 100644 tabellio/searchform/form_templates/view.pt delete mode 100644 tabellio/searchform/form_templates/view_deputy_search.pt delete mode 100644 tabellio/searchform/form_templates/view_dossier_search.pt delete mode 100644 tabellio/searchform/form_templates/view_effectivesearch.pt delete mode 100644 tabellio/searchform/form_templates/view_pfbdocsearch.pt delete mode 100644 tabellio/searchform/form_templates/view_question_search.pt diff --git a/tabellio/searchform/advsearch-pfb.pt b/tabellio/searchform/advsearch-pfb.pt index 2d4ca4c..b9f819f 100644 --- a/tabellio/searchform/advsearch-pfb.pt +++ b/tabellio/searchform/advsearch-pfb.pt @@ -53,45 +53,9 @@
+ diff --git a/tabellio/searchform/docsearchpfb.pt b/tabellio/searchform/docsearchpfb.pt index 13a85af..6fa5a4a 100644 --- a/tabellio/searchform/docsearchpfb.pt +++ b/tabellio/searchform/docsearchpfb.pt @@ -103,79 +103,7 @@
- + diff --git a/tabellio/searchform/form.py b/tabellio/searchform/form.py index 87f48e1..c0ebb28 100644 --- a/tabellio/searchform/form.py +++ b/tabellio/searchform/form.py @@ -22,6 +22,7 @@ from z3c.form.browser.radio import RadioWidget from z3c.relationfield.schema import RelationChoice, RelationList from plone.formwidget.contenttree import ObjPathSourceBinder +import plone.directives.form from tabellio.searchform.interfaces import MessageFactory as _ @@ -278,6 +279,28 @@ def possible_polgroups(context): terms.append(SimpleVocabulary.createTerm(polgroup_id, polgroup_id, polgroup_str)) return SimpleVocabulary(terms) +@grok.provider(IContextSourceBinder) +def possible_active_polgroups(context): + terms = [] + + current = getToolByName(context, 'portal_url').getPortalObject() + settings = component.getUtility(IRegistry).forInterface(ITabellioSettings, False) + for part in settings.polgroupsPath.split('/'): + if not part: + continue + current = getattr(current, part) + + for object in current.objectValues(): + if object.portal_type != 'themis.datatypes.polgroup': + continue + if not object.active: + continue + polgroup_id = object.id + polgroup_str = object.Title() + terms.append(SimpleVocabulary.createTerm(polgroup_id, polgroup_id, polgroup_str)) + return SimpleVocabulary(terms) + + @grok.provider(IContextSourceBinder) def possible_topics(context): @@ -320,7 +343,7 @@ class DocumentSearchForm(form.Form): fields['topics'].widgetFactory = FieldTopicsWidget fields['sort_on'].widgetFactory = FieldRadioboxesWidget ignoreContext = True - template = ViewPageTemplateFile('form_templates/view_effectivesearch.pt') + template = ViewPageTemplateFile('form_templates/view_form.pt') def updateWidgets(self): super(DocumentSearchForm, self).updateWidgets() @@ -369,7 +392,7 @@ class DossierSearchForm(form.Form): fields['topics'].widgetFactory = FieldTopicsWidget fields['sort_on'].widgetFactory = FieldRadioboxesWidget ignoreContext = True - template = ViewPageTemplateFile('form_templates/view_dossier_search.pt') + template = ViewPageTemplateFile('form_templates/view_form.pt') def updateWidgets(self): super(DossierSearchForm, self).updateWidgets() @@ -412,7 +435,7 @@ class QuestionSearchForm(form.Form): fields['topics'].widgetFactory = FieldTopicsWidget fields['sort_on'].widgetFactory = FieldRadioboxesWidget ignoreContext = True - template = ViewPageTemplateFile('form_templates/view_question_search.pt') + template = ViewPageTemplateFile('form_templates/view_form.pt') def updateWidgets(self): super(QuestionSearchForm, self).updateWidgets() @@ -464,7 +487,7 @@ class DocumentPfbSearchForm(form.Form): fields['l_topics'].widgetFactory = FieldDroppedCheckboxWidget fields['sort_on'].widgetFactory = FieldRadioboxesWidget ignoreContext = True - template = ViewPageTemplateFile('form_templates/view_pfbdocsearch.pt') + template = ViewPageTemplateFile('form_templates/view_form.pt') def updateWidgets(self): super(DocumentPfbSearchForm, self).updateWidgets() @@ -485,14 +508,14 @@ class IDeputySearch(interface.Interface): name = schema.TextLine(title=_(u'Name'), required=False) polgroup = schema.Choice(title=_(u'Political Group'), - required=False, source=possible_polgroups) + required=False, source=possible_active_polgroups) class DeputySearchForm(form.Form): prefix = 'deputy' fields = field.Fields(IDeputySearch) ignoreContext = True - template = ViewPageTemplateFile('form_templates/view_deputy_search.pt') + template = ViewPageTemplateFile('form_templates/view_form.pt') def updateWidgets(self): super(DeputySearchForm, self).updateWidgets() @@ -529,7 +552,7 @@ class DeputySearchForm(form.Form): prefix = 'deputy' fields = field.Fields(IDeputySearch) ignoreContext = True - template = ViewPageTemplateFile('form_templates/view_deputy_search.pt') + template = ViewPageTemplateFile('form_templates/view_form.pt') def updateWidgets(self): super(DeputySearchForm, self).updateWidgets() @@ -591,6 +614,7 @@ class GlobalSearchForm(form.Form): class SearchView(BrowserView): batch_macros = ViewPageTemplateFile('batch_macros.pt') + js_macros = ViewPageTemplateFile('js_macros.pt') def portal_url(self): return getToolByName(self.context, 'portal_url').getPortalPath() diff --git a/tabellio/searchform/form_templates/view.pt b/tabellio/searchform/form_templates/view.pt deleted file mode 100644 index b18baed..0000000 --- a/tabellio/searchform/form_templates/view.pt +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -
-

-
- -
-
Documents parlementaires
-
-
-
-
Dossiers parlementaires
-
-
-
Questions & interpellations
-
-
-
Décrets
-
-
-
- - -
- - - - - - diff --git a/tabellio/searchform/form_templates/view_deputy_search.pt b/tabellio/searchform/form_templates/view_deputy_search.pt deleted file mode 100644 index 824f8fe..0000000 --- a/tabellio/searchform/form_templates/view_deputy_search.pt +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - diff --git a/tabellio/searchform/form_templates/view_dossier_search.pt b/tabellio/searchform/form_templates/view_dossier_search.pt deleted file mode 100644 index 5f3bcfd..0000000 --- a/tabellio/searchform/form_templates/view_dossier_search.pt +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - diff --git a/tabellio/searchform/form_templates/view_effectivesearch.pt b/tabellio/searchform/form_templates/view_effectivesearch.pt deleted file mode 100644 index 824f8fe..0000000 --- a/tabellio/searchform/form_templates/view_effectivesearch.pt +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - diff --git a/tabellio/searchform/form_templates/view_pfbdocsearch.pt b/tabellio/searchform/form_templates/view_pfbdocsearch.pt deleted file mode 100644 index a0e5e97..0000000 --- a/tabellio/searchform/form_templates/view_pfbdocsearch.pt +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - diff --git a/tabellio/searchform/form_templates/view_question_search.pt b/tabellio/searchform/form_templates/view_question_search.pt deleted file mode 100644 index 824f8fe..0000000 --- a/tabellio/searchform/form_templates/view_question_search.pt +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - diff --git a/tabellio/searchform/simple-pfb.pt b/tabellio/searchform/simple-pfb.pt index 5d2bb1e..1f11df5 100644 --- a/tabellio/searchform/simple-pfb.pt +++ b/tabellio/searchform/simple-pfb.pt @@ -152,30 +152,8 @@
- -function load_results(elem) -{ - var base = $(elem).parents('.results-var'); - var base_spec = ' #' + $(elem).parents('.results-var').parent()[0].id + ' .results-var > div'; - jQuery.get($(elem).attr('href'), null, function(data, textStatus, jqXHR) { - if (textStatus == 'notmodified') - return; - if (textStatus == 'success') { - $(base).html($(data).find(base_spec)); - console.log('ici:', $(base).find('.listingBar a')); - $(base).find('.listingBar a').click(function() { return load_results($(this)); }); - } - }); - return false; -} - -(function($) { - $().ready(function() { - $('.results-var .listingBar a').click(function() { return load_results($(this)); }); - }); -})(jQuery); - diff --git a/tabellio/searchform/simple.pt b/tabellio/searchform/simple.pt index 83905ad..a267c3d 100644 --- a/tabellio/searchform/simple.pt +++ b/tabellio/searchform/simple.pt @@ -40,6 +40,9 @@
Nombre de résultats : Filtre avancé +
+
+
@@ -76,6 +79,9 @@
Nombre de résultats : Filtre avancé +
+
+
@@ -102,6 +108,9 @@
Nombre de résultats : Filtre avancé +
+
+
@@ -110,15 +119,17 @@
  • -
    +
    @@ -149,27 +160,17 @@
    + + diff --git a/tabellio/searchform/simple.py b/tabellio/searchform/simple.py index 24d2fb1..6b470f1 100644 --- a/tabellio/searchform/simple.py +++ b/tabellio/searchform/simple.py @@ -1,5 +1,5 @@ from zope import interface, schema -from z3c.form import form, field, button +from z3c.form import field, button from plone.z3cform.layout import wrap_form from Products.CMFCore.utils import getToolByName @@ -13,8 +13,41 @@ from tabellio.searchform.interfaces import MessageFactory as _ from Products.Five import BrowserView from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile +import form + class SimpleSearchView(BrowserView): batch_macros = ViewPageTemplateFile('batch_macros.pt') + js_macros = ViewPageTemplateFile('js_macros.pt') + + def deputy_search_form(self): + f = form.DeputySearchForm(self.context, self.request) + f.update() + return f.render() + + def document_pfb_search_form(self): + f = form.DocumentPfbSearchForm(self.context, self.request) + f.update() + return f.render() + + def document_search_form(self): + f = form.DocumentSearchForm(self.context, self.request) + f.update() + return f.render() + + def dossier_search_form(self): + f = form.DossierSearchForm(self.context, self.request) + f.update() + return f.render() + + def question_search_form(self): + f = form.QuestionSearchForm(self.context, self.request) + f.update() + return f.render() + + def event_search_form(self): + f = form.EventSearchForm(self.context, self.request) + f.update() + return f.render() def deputy_form_url(self): catalog = getToolByName(self.context, 'portal_catalog') @@ -81,7 +114,8 @@ class SimpleSearchView(BrowserView): return catalog( portal_type=['tabellio.agenda.parlevent', 'tabellio.agenda.event', 'tabellio.agenda.comevent'], - SearchableText=self.request.form.get('SearchableText')) + SearchableText=self.request.form.get('SearchableText'), + sort_on='start', sort_order='descending') def get_batchlinkparams(self): d = dict()