diff --git a/bt5/erp5_knowledge_pad_ui_test/SkinTemplateItem/portal_skins/erp5_knowledge_pad_ui_test/Zuite_AddGadgetToActivePad.xml b/bt5/erp5_knowledge_pad_ui_test/SkinTemplateItem/portal_skins/erp5_knowledge_pad_ui_test/Zuite_AddGadgetToActivePad.xml new file mode 100644 index 0000000000000000000000000000000000000000..6b36e4847a5362ca85b73d79f9dfcba5c305d37d --- /dev/null +++ b/bt5/erp5_knowledge_pad_ui_test/SkinTemplateItem/portal_skins/erp5_knowledge_pad_ui_test/Zuite_AddGadgetToActivePad.xml @@ -0,0 +1,159 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_body</string> </key> + <value> <string>"""\n + Add (if not present) gadgets to current knowledge pad.\n +"""\n +\n +all_pads = [x for x in context.ERP5Site_getKnowledgePadListForUser(mode, default_pad_group)]\n +if mode.startswith(\'web\'):\n + active_pad, all_pads = context.WebSite_getActiveKnowledgePadForUser(all_pads, default_pad_group)\n +else:\n + active_pad, all_pads = context.ERP5Site_getActiveKnowledgePadForUser(all_pads)\n +\n +active_pad = active_pad.getObject()\n +gadget_list = active_pad.contentValues(filter={\'portal_type\': \'Knowledge Box\'})\n +contained_gadgets = [x.getSpecialiseValue().getRelativeUrl() \\\n + for x in gadget_list if x.getValidationState() in (\'visible\', \'invisible\',)]\n +if gadget_relative_url not in contained_gadgets:\n + # add only if not there\n + knowledge_box = active_pad.newContent(portal_type=\'Knowledge Box\')\n + knowledge_box.setSpecialiseValue(gadget_relative_url)\n + knowledge_box.visible()\n +else:\n + # reuse gadget\n + knowledge_box = [x for x in gadget_list if x.getSpecialiseValue().getRelativeUrl()==gadget_relative_url][0]\n +\n +context.REQUEST.set(\'portal_status_message\', knowledge_box.getRelativeUrl())\n +return context.view()\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>gadget_relative_url, mode=\'erp5_front\', default_pad_group=None</string> </value> + </item> + <item> + <key> <string>errors</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>func_code</string> </key> + <value> + <object> + <klass> + <global name="FuncCode" module="Shared.DC.Scripts.Signature"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>co_argcount</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>gadget_relative_url</string> + <string>mode</string> + <string>default_pad_group</string> + <string>append</string> + <string>$append0</string> + <string>_getiter_</string> + <string>_getattr_</string> + <string>context</string> + <string>x</string> + <string>all_pads</string> + <string>active_pad</string> + <string>gadget_list</string> + <string>contained_gadgets</string> + <string>knowledge_box</string> + <string>_getitem_</string> + </tuple> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>func_defaults</string> </key> + <value> + <tuple> + <string>erp5_front</string> + <none/> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Zuite_AddGadgetToActivePad</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_knowledge_pad_ui_test/SkinTemplateItem/portal_skins/erp5_knowledge_pad_ui_test/Zuite_getGadgetIdByRelativeUrl.xml b/bt5/erp5_knowledge_pad_ui_test/SkinTemplateItem/portal_skins/erp5_knowledge_pad_ui_test/Zuite_getGadgetIdByRelativeUrl.xml new file mode 100644 index 0000000000000000000000000000000000000000..2eb4413f51ea2618c7a77e56f1b03cdf59157c89 --- /dev/null +++ b/bt5/erp5_knowledge_pad_ui_test/SkinTemplateItem/portal_skins/erp5_knowledge_pad_ui_test/Zuite_getGadgetIdByRelativeUrl.xml @@ -0,0 +1,125 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_body</string> </key> + <value> <string>"""\n + XXX: Turn relative url into dom_id and pass through page with portal_status_message.\n + This is used in Selenium tests and is a bit dirty way to have it handled.\n +"""\n +context.REQUEST.set(\'portal_status_message\', knowledge_box_url.replace(\'/\',\'_\'))\n +return context.view()\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>knowledge_box_url</string> </value> + </item> + <item> + <key> <string>errors</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>func_code</string> </key> + <value> + <object> + <klass> + <global name="FuncCode" module="Shared.DC.Scripts.Signature"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>co_argcount</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>knowledge_box_url</string> + <string>_getattr_</string> + <string>context</string> + </tuple> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>func_defaults</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Zuite_getGadgetIdByRelativeUrl</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/revision b/bt5/erp5_knowledge_pad_ui_test/bt/revision index bf0d87ab1b2b0ec1a11a3973d2845b42413d9767..7813681f5b41c028345ca62a2be376bae70b7f61 100644 --- a/bt5/erp5_knowledge_pad_ui_test/bt/revision +++ b/bt5/erp5_knowledge_pad_ui_test/bt/revision @@ -1 +1 @@ -4 \ No newline at end of file +5 \ No newline at end of file