From a62e66c980a99154cc77a98e017b6f82cc516e96 Mon Sep 17 00:00:00 2001 From: David Rousselie Date: Mon, 8 Oct 2007 18:17:30 +0200 Subject: [PATCH] Change form type for commands ("form" instead of "result") sending forms darcs-hash:20071008161730-86b55-1541ee0fddcf365e25b51dab41aead1f27022dfa.gz --- src/jcl/jabber/command.py | 26 ++++++------ src/jcl/jabber/tests/command.py | 75 +++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+), 13 deletions(-) diff --git a/src/jcl/jabber/command.py b/src/jcl/jabber/command.py index 586d670..680dac7 100644 --- a/src/jcl/jabber/command.py +++ b/src/jcl/jabber/command.py @@ -291,7 +291,7 @@ class JCLCommandManager(CommandManager): def add_form_select_users_jids(self, command_node, form_title, form_desc, field_users_jids_label): - result_form = Form(xmlnode_or_type="result", + result_form = Form(xmlnode_or_type="form", title=form_title, instructions=form_desc) result_form.add_field(name="user_jids", @@ -303,7 +303,7 @@ class JCLCommandManager(CommandManager): def add_form_select_user_jid(self, command_node, form_title, form_desc, field_user_jid_label): - result_form = Form(xmlnode_or_type="result", + result_form = Form(xmlnode_or_type="form", title=form_title, instructions=form_desc) result_form.add_field(name="user_jid", @@ -334,7 +334,7 @@ class JCLCommandManager(CommandManager): Add a form to select accounts for user JIDs contained in session_context[\"user_jids\"] """ - result_form = Form(xmlnode_or_type="result", + result_form = Form(xmlnode_or_type="form", title=form_title, instructions=form_desc) field = result_form.add_field(name="account_names", @@ -354,7 +354,7 @@ class JCLCommandManager(CommandManager): Add a form to select account for user JIDs contained in session_context[\"user_jids\"] """ - result_form = Form(xmlnode_or_type="result", + result_form = Form(xmlnode_or_type="form", title=form_title, instructions=form_desc) field = result_form.add_field(name="account_name", @@ -368,7 +368,7 @@ class JCLCommandManager(CommandManager): def add_form_select_max(self, command_node, lang_class): self.add_actions(command_node, [ACTION_COMPLETE]) - result_form = Form(xmlnode_or_type="result") + result_form = Form(xmlnode_or_type="form") result_form.add_field(field_type="hidden", name="FORM_TYPE", value="http://jabber.org/protocol/admin") @@ -384,7 +384,7 @@ class JCLCommandManager(CommandManager): def add_form_list_accounts(self, command_node, var_name, var_label, filter=None, limit=None): - result_form = Form(xmlnode_or_type="result") + result_form = Form(xmlnode_or_type="form") result_form.add_field(field_type="hidden", name="FORM_TYPE", value="http://jabber.org/protocol/admin") @@ -452,7 +452,7 @@ class JCLCommandManager(CommandManager): command_node, lang_class): self.__logger.debug("Executing command 'add-user' step 1") self.add_actions(command_node, [ACTION_NEXT]) - result_form = Form(xmlnode_or_type="result", + result_form = Form(xmlnode_or_type="form", title=lang_class.command_add_user, instructions=lang_class.command_add_user_1_description) field = result_form.add_field(name="account_type", @@ -889,7 +889,7 @@ class JCLCommandManager(CommandManager): def execute_announce_1(self, info_query, session_context, command_node, lang_class): self.add_actions(command_node, [ACTION_COMPLETE]) - result_form = Form(xmlnode_or_type="result", + result_form = Form(xmlnode_or_type="form", title=lang_class.command_announce, instructions=lang_class.command_announce_1_description) result_form.add_field(field_type="hidden", @@ -925,7 +925,7 @@ class JCLCommandManager(CommandManager): def execute_set_motd_1(self, info_query, session_context, command_node, lang_class, motd=""): self.add_actions(command_node, [ACTION_COMPLETE]) - result_form = Form(xmlnode_or_type="result", + result_form = Form(xmlnode_or_type="form", title=lang_class.command_set_motd, instructions=lang_class.command_set_motd_1_description) result_form.add_field(field_type="hidden", @@ -989,7 +989,7 @@ class JCLCommandManager(CommandManager): def execute_set_welcome_1(self, info_query, session_context, command_node, lang_class): self.add_actions(command_node, [ACTION_COMPLETE]) - result_form = Form(xmlnode_or_type="result", + result_form = Form(xmlnode_or_type="form", title=lang_class.command_set_welcome, instructions=lang_class.command_set_welcome_1_description) result_form.add_field(field_type="hidden", @@ -1028,7 +1028,7 @@ class JCLCommandManager(CommandManager): def execute_edit_admin_1(self, info_query, session_context, command_node, lang_class): self.add_actions(command_node, [ACTION_COMPLETE]) - result_form = Form(xmlnode_or_type="result", + result_form = Form(xmlnode_or_type="form", title=lang_class.command_edit_admin, instructions=lang_class.command_edit_admin_1_description) result_form.add_field(field_type="hidden", @@ -1057,7 +1057,7 @@ class JCLCommandManager(CommandManager): def execute_restart_1(self, info_query, session_context, command_node, lang_class): self.add_actions(command_node, [ACTION_COMPLETE]) - result_form = Form(xmlnode_or_type="result", + result_form = Form(xmlnode_or_type="form", title=lang_class.command_restart, instructions=lang_class.command_restart_1_description) result_form.add_field(field_type="hidden", @@ -1118,7 +1118,7 @@ class JCLCommandManager(CommandManager): def execute_shutdown_1(self, info_query, session_context, command_node, lang_class): self.add_actions(command_node, [ACTION_COMPLETE]) - result_form = Form(xmlnode_or_type="result", + result_form = Form(xmlnode_or_type="form", title=lang_class.command_shutdown, instructions=lang_class.command_shutdown_1_description) result_form.add_field(field_type="hidden", diff --git a/src/jcl/jabber/tests/command.py b/src/jcl/jabber/tests/command.py index d5817cf..6c53da9 100644 --- a/src/jcl/jabber/tests/command.py +++ b/src/jcl/jabber/tests/command.py @@ -241,6 +241,11 @@ class JCLCommandManager_TestCase(JCLTestCase): self.command_manager.add_form_select_users_jids(command_node, "title", "description", Lang.en.field_users_jids) + x_data = info_query.xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") user_jid_field = info_query.xpath_eval("c:command/data:x/data:field[1]", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -258,6 +263,11 @@ class JCLCommandManager_TestCase(JCLTestCase): self.command_manager.add_form_select_user_jid(command_node, "title", "description", Lang.en.field_user_jid) + x_data = info_query.xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") user_jid_field = info_query.xpath_eval("c:command/data:x/data:field[1]", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -303,6 +313,11 @@ class JCLCommandManager_TestCase(JCLTestCase): command_node, Lang.en, "title", "description") + x_data = info_query.xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") fields = info_query.xpath_eval("c:command/data:x/data:field", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -373,6 +388,11 @@ class JCLCommandManager_TestCase(JCLTestCase): Lang.en, "title", "description", Account.q.enabled==True) + x_data = info_query.xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") fields = info_query.xpath_eval("c:command/data:x/data:field", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -436,6 +456,11 @@ class JCLCommandManager_TestCase(JCLTestCase): command_node, Lang.en, "title", "description") + x_data = info_query.xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") fields = info_query.xpath_eval("c:command/data:x/data:field", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -476,6 +501,11 @@ class JCLCommandManager_TestCase(JCLTestCase): self.assertEquals(xml_command.prop("status"), "executing") self.assertNotEquals(xml_command.prop("sessionid"), None) self.__check_actions(result[0], ["next"]) + x_data = result[0].xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") options = result[0].xpath_eval("c:command/data:x/data:field[1]/data:option", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -522,6 +552,11 @@ class JCLCommandManager_TestCase(JCLTestCase): self.assertEquals(xml_command.prop("status"), "executing") self.assertEquals(xml_command.prop("sessionid"), session_id) self.__check_actions(result[0], ["prev", "complete"], 1) + x_data = result[0].xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") fields = result[0].xpath_eval("c:command/data:x/data:field", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -1864,6 +1899,11 @@ class JCLCommandManager_TestCase(JCLTestCase): self.assertEquals(xml_command.prop("status"), "completed") self.assertNotEquals(xml_command.prop("sessionid"), None) self.__check_actions(result[0]) + x_data = result[0].xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") fields = result[0].xpath_eval("c:command/data:x/data:field", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -1914,6 +1954,11 @@ class JCLCommandManager_TestCase(JCLTestCase): self.assertEquals(xml_command.prop("status"), "executing") self.assertNotEquals(xml_command.prop("sessionid"), None) self.__check_actions(result[0], ["complete"]) + x_data = result[0].xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") fields = result[0].xpath_eval("c:command/data:x/data:field", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -2374,6 +2419,11 @@ class JCLCommandManager_TestCase(JCLTestCase): self.assertEquals(xml_command.prop("status"), "executing") self.assertNotEquals(xml_command.prop("sessionid"), None) self.__check_actions(result[0], ["complete"]) + x_data = result[0].xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") fields = result[0].xpath_eval("c:command/data:x/data:field", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -2482,6 +2532,11 @@ class JCLCommandManager_TestCase(JCLTestCase): self.assertEquals(xml_command.prop("status"), "executing") self.assertNotEquals(xml_command.prop("sessionid"), None) self.__check_actions(result[0], ["complete"]) + x_data = result[0].xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") fields = result[0].xpath_eval("c:command/data:x/data:field", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -2703,6 +2758,11 @@ class JCLCommandManager_TestCase(JCLTestCase): self.assertEquals(xml_command.prop("status"), "executing") self.assertNotEquals(xml_command.prop("sessionid"), None) self.__check_actions(result[0], ["complete"]) + x_data = result[0].xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") fields = result[0].xpath_eval("c:command/data:x/data:field", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -2833,6 +2893,11 @@ class JCLCommandManager_TestCase(JCLTestCase): self.assertEquals(xml_command.prop("status"), "executing") self.assertNotEquals(xml_command.prop("sessionid"), None) self.__check_actions(result[0], ["complete"]) + x_data = result[0].xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") fields = result[0].xpath_eval("c:command/data:x/data:field", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -2919,6 +2984,11 @@ class JCLCommandManager_TestCase(JCLTestCase): self.assertEquals(xml_command.prop("status"), "executing") self.assertNotEquals(xml_command.prop("sessionid"), None) self.__check_actions(result[0], ["complete"]) + x_data = result[0].xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") fields = result[0].xpath_eval("c:command/data:x/data:field", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"}) @@ -3070,6 +3140,11 @@ class JCLCommandManager_TestCase(JCLTestCase): self.assertEquals(xml_command.prop("status"), "executing") self.assertNotEquals(xml_command.prop("sessionid"), None) self.__check_actions(result[0], ["complete"]) + x_data = result[0].xpath_eval("c:command/data:x", + {"c": "http://jabber.org/protocol/commands", + "data": "jabber:x:data"}) + self.assertEquals(len(x_data), 1) + self.assertEquals(x_data[0].prop("type"), "form") fields = result[0].xpath_eval("c:command/data:x/data:field", {"c": "http://jabber.org/protocol/commands", "data": "jabber:x:data"})