46 lines
1.8 KiB
Python
46 lines
1.8 KiB
Python
from zope import interface, schema
|
|
from z3c.form import form, field, button
|
|
from plone.z3cform.layout import wrap_form
|
|
|
|
from z3c.form.ptcompat import ViewPageTemplateFile
|
|
|
|
from z3c.relationfield.schema import RelationChoice, RelationList
|
|
from plone.formwidget.contenttree import ObjPathSourceBinder
|
|
|
|
from tabellio.searchform.interfaces import MessageFactory as _
|
|
|
|
class ISearch(interface.Interface):
|
|
nodoc = schema.TextLine(title=_(u'Document Number'), required=False)
|
|
nosuite = schema.TextLine(title=_(u'Suite Number'), required=False)
|
|
doctype = schema.Set(title=_(u'Type'), required=False,
|
|
value_type=schema.Choice(values=[_(u'Lorem'), _(u'Ipsum')]))
|
|
#subjects =
|
|
ttitle = schema.TextLine(title=_(u'Title'), required=False)
|
|
text = schema.TextLine(title=_(u'Text'), required=False)
|
|
authors = RelationList(title=_(u'Authors'), default=[], required=False,
|
|
value_type=RelationChoice(title=_(u'Author'),
|
|
source=ObjPathSourceBinder(
|
|
portal_type=['themis.datatypes.deputy'])))
|
|
# polgroups
|
|
# session
|
|
start = schema.Date(title=_(u'Start'), required=False)
|
|
end = schema.Date(title=_(u'End'), required=False)
|
|
|
|
|
|
class SearchForm(form.Form):
|
|
fields = field.Fields(ISearch)
|
|
ignoreContext = True
|
|
template = ViewPageTemplateFile('form_templates/view_effectivesearch.pt')
|
|
|
|
@button.buttonAndHandler(u'Search')
|
|
def handleApply(self, action):
|
|
data, errors = self.extractData()
|
|
if not errors and False:
|
|
plone_utils = getToolByName(self.context.context, 'plone_utils')
|
|
plone_utils.addPortalMessage(_('Your search has been completed!'))
|
|
return self.request.response.redirect('./')
|
|
return
|
|
|
|
SearchView = wrap_form(SearchForm)
|
|
|