X-Git-Url: https://scm.cri.ensmp.fr/git/Plinn.git/blobdiff_plain/3c4367d8e03450e9a73e61f4247145d2b6c86a33..959d888c17d1403d2eeecc19bc4b5e2c8d1debf6:/Products/Plinn/skins/control/save_search_as_topic.py diff --git a/Products/Plinn/skins/control/save_search_as_topic.py b/Products/Plinn/skins/control/save_search_as_topic.py new file mode 100755 index 0000000..ec9c355 --- /dev/null +++ b/Products/Plinn/skins/control/save_search_as_topic.py @@ -0,0 +1,25 @@ +##parameters= +from Products.CMFCore.utils import getToolByName +from Products.Plinn.utils import makeValidId +from Products.Plinn.utils import translate +_ = lambda msg: translate(msg, context) +mtool = getToolByName(context, 'portal_membership') +homedir = mtool.getHomeFolder() + +form = context.REQUEST.form.copy() +for k, v in form.items() : + if hasattr(v, 'has_key') : + form[k] = dict(v) + +title = form.pop('topic_title') +topic_id = makeValidId(homedir, title) +id = homedir.invokeFactory('Topic', topic_id, title=title) +topic = getattr(homedir, id) +topic.loadSearchQuery(form) + +context.setStatus(True, _('Topic added.')) +try : + ajax = form.pop('ajax') +except KeyError : + ajax = '' +return context.setRedirect(topic, 'object/view', ajax=ajax, syncFragments = ['Breadcrumbs', 'rightCell'])