From 977690b211a64e70ef4b24a9c42f6b40a1d9bb70 Mon Sep 17 00:00:00 2001 From: David Rousselie Date: Mon, 8 Oct 2007 21:28:10 +0200 Subject: [PATCH] support 'next' action when applying commands darcs-hash:20071008192810-86b55-f529492d795ef403f19112cee9b83a764a97db52.gz --- src/jcl/jabber/command.py | 7 +++++++ src/jcl/jabber/tests/command.py | 2 +- src/jcl/model/account.py | 23 +++++++++++++++++------ 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/jcl/jabber/command.py b/src/jcl/jabber/command.py index 680dac7..7674342 100644 --- a/src/jcl/jabber/command.py +++ b/src/jcl/jabber/command.py @@ -121,12 +121,16 @@ class CommandManager(object): return getattr(self, action_command_method)(info_query, short_command_name) else: + self.__logger.error("Action '" + str(action) + "' unknown") return [info_query.make_error_response(\ "feature-not-implemented")] else: + self.__logger.error(unicode(info_query.get_from().bare()) + " must " + + "be in admin list") return [info_query.make_error_response(\ "forbidden")] else: + self.__logger.error("Command " + str(command_name) + " not found") return [info_query.make_error_response(\ "feature-not-implemented")] @@ -137,6 +141,8 @@ class CommandManager(object): lambda session_id: (self.sessions[session_id][0] + 1, self.sessions[session_id][1])) + apply_next_command = apply_execute_command + def apply_prev_command(self, info_query, short_command_name): return self.execute_multi_step_command(\ info_query, @@ -205,6 +211,7 @@ class CommandManager(object): def execute_multi_step_command(self, info_query, short_node, update_step_func): + self.__logger.debug("Executing multi-step command " + str(short_node)) (response, command_node, session_id) = self._create_response(info_query, diff --git a/src/jcl/jabber/tests/command.py b/src/jcl/jabber/tests/command.py index 6c53da9..a6cc9a4 100644 --- a/src/jcl/jabber/tests/command.py +++ b/src/jcl/jabber/tests/command.py @@ -544,7 +544,7 @@ class JCLCommandManager_TestCase(JCLTestCase): submit_form.as_xml(command_node) result = self.command_manager.apply_command_action(info_query, "http://jabber.org/protocol/admin#add-user", - "execute") + "next") self.assertNotEquals(result, None) self.assertEquals(len(result), 1) xml_command = result[0].xpath_eval("c:command", diff --git a/src/jcl/model/account.py b/src/jcl/model/account.py index 50a8bf3..7ee1115 100644 --- a/src/jcl/model/account.py +++ b/src/jcl/model/account.py @@ -134,12 +134,23 @@ class Account(InheritableSQLObject): def get_error_status_msg(self, lang_class): return lang_class.account_error - get_online_status_msg = get_default_status_msg - get_chat_status_msg = get_default_status_msg - get_away_status_msg = get_default_status_msg - get_xa_status_msg = get_disabled_status_msg - get_dnd_status_msg = get_error_status_msg - get_offline_status_msg = get_default_status_msg + def get_online_status_msg(self, lang_class): + return self.get_default_status_msg(lang_class) + + def get_chat_status_msg(self, lang_class): + return self.get_default_status_msg(lang_class) + + def get_away_status_msg(self, lang_class): + return self.get_default_status_msg(lang_class) + + def get_xa_status_msg(self, lang_class): + return self.get_disabled_status_msg(lang_class) + + def get_dnd_status_msg(self, lang_class): + return self.get_error_status_msg(lang_class) + + def get_offline_status_msg(self, lang_class): + return self.get_default_status_msg(lang_class) def get_status(self): """Return current Jabber status"""