Localize all ad-hoc commands

darcs-hash:20070912163042-86b55-8dbd50041b4ae85bdb5afbd0c979907afb2f3d28.gz
This commit is contained in:
David Rousselie
2007-09-12 18:30:42 +02:00
parent afbbda695c
commit 6c09c4dc9d
4 changed files with 592 additions and 121 deletions

View File

@@ -283,21 +283,27 @@ class JCLCommandManager(CommandManager):
return mixed_name_and_jid.split("/", 1)[:2] return mixed_name_and_jid.split("/", 1)[:2]
## Reusable steps ## Reusable steps
def add_form_select_user_jids(self, command_node, lang_class): 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="result",
title="TODO") title=form_title,
instructions=form_desc)
result_form.add_field(name="user_jids", result_form.add_field(name="user_jids",
field_type="jid-multi", field_type="jid-multi",
label=lang_class.field_user_jid) label=field_users_jids_label)
result_form.as_xml(command_node) result_form.as_xml(command_node)
return result_form return result_form
def add_form_select_user_jid(self, command_node, lang_class): 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="result",
title="TODO") title=form_title,
instructions=form_desc)
result_form.add_field(name="user_jid", result_form.add_field(name="user_jid",
field_type="jid-single", field_type="jid-single",
label=lang_class.field_user_jid) label=field_user_jid_label)
result_form.as_xml(command_node) result_form.as_xml(command_node)
return result_form return result_form
@@ -317,16 +323,18 @@ class JCLCommandManager(CommandManager):
def add_form_select_accounts(self, session_context, def add_form_select_accounts(self, session_context,
command_node, lang_class, command_node, lang_class,
form_title, form_desc,
filter=None, format_as_xml=True): filter=None, format_as_xml=True):
""" """
Add a form to select accounts for user JIDs contained in Add a form to select accounts for user JIDs contained in
session_context[\"user_jids\"] session_context[\"user_jids\"]
""" """
result_form = Form(xmlnode_or_type="result", result_form = Form(xmlnode_or_type="result",
title="TODO") title=form_title,
instructions=form_desc)
field = result_form.add_field(name="account_names", field = result_form.add_field(name="account_names",
field_type="list-multi", field_type="list-multi",
label="Account") # TODO label=lang_class.field_accounts)
self.__add_accounts_to_field(session_context["user_jids"], self.__add_accounts_to_field(session_context["user_jids"],
field, lang_class, filter) field, lang_class, filter)
if format_as_xml: if format_as_xml:
@@ -335,16 +343,18 @@ class JCLCommandManager(CommandManager):
def add_form_select_account(self, session_context, def add_form_select_account(self, session_context,
command_node, lang_class, command_node, lang_class,
form_title, form_desc,
format_as_xml=True): format_as_xml=True):
""" """
Add a form to select account for user JIDs contained in Add a form to select account for user JIDs contained in
session_context[\"user_jids\"] session_context[\"user_jids\"]
""" """
result_form = Form(xmlnode_or_type="result", result_form = Form(xmlnode_or_type="result",
title="TODO") title=form_title,
instructions=form_desc)
field = result_form.add_field(name="account_name", field = result_form.add_field(name="account_name",
field_type="list-single", field_type="list-single",
label="Account") # TODO label=lang_class.field_account)
self.__add_accounts_to_field(session_context["user_jid"], self.__add_accounts_to_field(session_context["user_jid"],
field, lang_class) field, lang_class)
if format_as_xml: if format_as_xml:
@@ -359,14 +369,14 @@ class JCLCommandManager(CommandManager):
value="http://jabber.org/protocol/admin") value="http://jabber.org/protocol/admin")
max_items_field = result_form.add_field(name="max_items", max_items_field = result_form.add_field(name="max_items",
field_type="list-single", field_type="list-single",
label="TODO") label=lang_class.field_max_items)
for value in ["25", "50", "75", "100", "150", "200"]: for value in ["25", "50", "75", "100", "150", "200"]:
max_items_field.add_option(label=value, max_items_field.add_option(label=value,
values=[value]) values=[value])
result_form.as_xml(command_node) result_form.as_xml(command_node)
return (result_form, []) return (result_form, [])
def add_form_list_accounts(self, command_node, lang_class, def add_form_list_accounts(self, command_node,
var_name, var_label, var_name, var_label,
filter=None, limit=None): filter=None, limit=None):
result_form = Form(xmlnode_or_type="result") result_form = Form(xmlnode_or_type="result")
@@ -385,45 +395,64 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (result_form, []) return (result_form, [])
def select_user_jids_step_1(self, info_query, session_context, ###########################################################################
command_node, lang_class): # Reusable steps
self.__logger.debug("Executing select_user_jids step 1") ###########################################################################
def select_users_jids_step_1(self, session_context,
command_node, lang_class, form_title,
form_desc):
self.__logger.debug("Executing select_users_jids step 1")
self.add_actions(command_node, [ACTION_NEXT]) self.add_actions(command_node, [ACTION_NEXT])
return (self.add_form_select_user_jids(command_node, lang_class), []) return (self.add_form_select_users_jids(\
command_node, form_title, form_desc,
lang_class.field_users_jids), [])
def select_user_jid_step_1(self, info_query, session_context, def select_user_jid_step(self, session_context,
command_node, lang_class, command_node, lang_class,
actions=[ACTION_NEXT], form_title, form_desc,
default_action=0): actions=[ACTION_NEXT],
default_action=0):
self.__logger.debug("Executing select_user_jid step 1") self.__logger.debug("Executing select_user_jid step 1")
self.add_actions(command_node, actions, default_action) self.add_actions(command_node, actions, default_action)
return (self.add_form_select_user_jid(command_node, lang_class), []) return (self.add_form_select_user_jid(\
command_node, form_title, form_desc,
lang_class.field_user_jid), [])
def select_accounts_step_2(self, info_query, session_context, def select_accounts_step_2(self, session_context,
command_node, lang_class, format_as_xml=True): command_node, lang_class,
form_title, form_desc,
format_as_xml=True):
self.__logger.debug("Executing select_accounts step 2") self.__logger.debug("Executing select_accounts step 2")
self.add_actions(command_node, [ACTION_PREVIOUS, ACTION_COMPLETE], 1) self.add_actions(command_node, [ACTION_PREVIOUS, ACTION_COMPLETE], 1)
return (self.add_form_select_accounts(session_context, command_node, return (self.add_form_select_accounts(session_context, command_node,
lang_class, format_as_xml), lang_class, form_title, form_desc,
format_as_xml=format_as_xml),
[]) [])
def select_account_step_2(self, info_query, session_context, def select_account_step_2(self, session_context,
command_node, lang_class, format_as_xml=True): command_node, lang_class,
form_title, form_desc,
format_as_xml=True):
self.__logger.debug("Executing select_account step 2") self.__logger.debug("Executing select_account step 2")
self.add_actions(command_node, [ACTION_PREVIOUS, ACTION_COMPLETE], 1) self.add_actions(command_node, [ACTION_PREVIOUS, ACTION_COMPLETE], 1)
return (self.add_form_select_account(session_context, command_node, return (self.add_form_select_account(session_context, command_node,
lang_class, format_as_xml), lang_class, form_title, form_desc,
format_as_xml=format_as_xml),
[]) [])
###########################################################################
# add-user command
###########################################################################
def execute_add_user_1(self, info_query, session_context, def execute_add_user_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
self.__logger.debug("Executing command 'add-user' step 1") self.__logger.debug("Executing command 'add-user' step 1")
self.add_actions(command_node, [ACTION_NEXT]) self.add_actions(command_node, [ACTION_NEXT])
result_form = Form(xmlnode_or_type="result", result_form = Form(xmlnode_or_type="result",
title=lang_class.select_account_type) title=lang_class.command_add_user,
instructions=lang_class.command_add_user_1_description)
field = result_form.add_field(name="account_type", field = result_form.add_field(name="account_type",
field_type="list-single", field_type="list-single",
label="Account type") label=lang_class.field_account_type)
for (account_type, type_label) in \ for (account_type, type_label) in \
self.component.account_manager.list_account_types(lang_class): self.component.account_manager.list_account_types(lang_class):
field.add_option(label=type_label, field.add_option(label=type_label,
@@ -463,8 +492,22 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (None, to_send) return (None, to_send)
execute_delete_user_1 = select_user_jids_step_1 ###########################################################################
execute_delete_user_2 = select_accounts_step_2 # delete-user command
###########################################################################
def execute_delete_user_1(self, info_query, session_context,
command_node, lang_class):
return self.select_users_jids_step_1(\
session_context, command_node, lang_class,
lang_class.command_delete_user,
lang_class.command_delete_user_1_description)
def execute_delete_user_2(self, info_query, session_context,
command_node, lang_class):
return self.select_accounts_step_2(\
session_context, command_node, lang_class,
lang_class.command_delete_user,
lang_class.command_delete_user_2_description)
def execute_delete_user_3(self, info_query, session_context, def execute_delete_user_3(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
@@ -477,15 +520,25 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (None, result) return (None, result)
execute_disable_user_1 = select_user_jids_step_1 ###########################################################################
# disable-user command
###########################################################################
def execute_disable_user_1(self, info_query, session_context,
command_node, lang_class):
return self.select_users_jids_step_1(\
session_context, command_node, lang_class,
lang_class.command_disable_user,
lang_class.command_disable_user_1_description)
def execute_disable_user_2(self, info_query, session_context, def execute_disable_user_2(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
self.__logger.debug("Executing 'disable-user' step 2") self.__logger.debug("Executing 'disable-user' step 2")
self.add_actions(command_node, [ACTION_PREVIOUS, ACTION_COMPLETE], 1) self.add_actions(command_node, [ACTION_PREVIOUS, ACTION_COMPLETE], 1)
return (self.add_form_select_accounts(session_context, command_node, return (self.add_form_select_accounts(\
lang_class, session_context, command_node, lang_class,
Account.q.enabled==True), lang_class.command_disable_user,
lang_class.command_disable_user_2_description,
filter=Account.q.enabled==True),
[]) [])
def execute_disable_user_3(self, info_query, session_context, def execute_disable_user_3(self, info_query, session_context,
@@ -499,15 +552,25 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (None, result) return (None, result)
execute_reenable_user_1 = select_user_jids_step_1 ###########################################################################
# reenable-user command
###########################################################################
def execute_reenable_user_1(self, info_query, session_context,
command_node, lang_class):
return self.select_users_jids_step_1(\
session_context, command_node, lang_class,
lang_class.command_reenable_user,
lang_class.command_reenable_user_1_description)
def execute_reenable_user_2(self, info_query, session_context, def execute_reenable_user_2(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
self.__logger.debug("Executing 'reenable-user' step 2") self.__logger.debug("Executing 'reenable-user' step 2")
self.add_actions(command_node, [ACTION_PREVIOUS, ACTION_COMPLETE], 1) self.add_actions(command_node, [ACTION_PREVIOUS, ACTION_COMPLETE], 1)
return (self.add_form_select_accounts(session_context, command_node, return (self.add_form_select_accounts(\
lang_class, session_context, command_node, lang_class,
Account.q.enabled==False), lang_class.command_reenable_user,
lang_class.command_reenable_user_2_description,
filter=Account.q.enabled==False),
[]) [])
def execute_reenable_user_3(self, info_query, session_context, def execute_reenable_user_3(self, info_query, session_context,
@@ -521,15 +584,25 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (None, result) return (None, result)
execute_end_user_session_1 = select_user_jids_step_1 ###########################################################################
# end-user-session command
###########################################################################
def execute_end_user_session_1(self, info_query, session_context,
command_node, lang_class):
return self.select_users_jids_step_1(\
session_context, command_node, lang_class,
lang_class.command_end_user_session,
lang_class.command_end_user_session_1_description)
def execute_end_user_session_2(self, info_query, session_context, def execute_end_user_session_2(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
self.__logger.debug("Executing 'end-user-session' step 2") self.__logger.debug("Executing 'end-user-session' step 2")
self.add_actions(command_node, [ACTION_PREVIOUS, ACTION_COMPLETE], 1) self.add_actions(command_node, [ACTION_PREVIOUS, ACTION_COMPLETE], 1)
return (self.add_form_select_accounts(session_context, command_node, return (self.add_form_select_accounts(\
lang_class, session_context, command_node, lang_class,
Account.q._status != account.OFFLINE), lang_class.command_end_user_session,
lang_class.command_end_user_session_2_description,
filter=Account.q._status != account.OFFLINE),
[]) [])
def execute_end_user_session_3(self, info_query, session_context, def execute_end_user_session_3(self, info_query, session_context,
@@ -544,8 +617,22 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (None, result) return (None, result)
execute_get_user_password_1 = select_user_jid_step_1 ###########################################################################
execute_get_user_password_2 = select_account_step_2 # get-user-password command
###########################################################################
def execute_get_user_password_1(self, info_query, session_context,
command_node, lang_class):
return self.select_user_jid_step(\
session_context, command_node, lang_class,
lang_class.command_get_user_password,
lang_class.command_get_user_password_1_description)
def execute_get_user_password_2(self, info_query, session_context,
command_node, lang_class):
return self.select_account_step_2(\
session_context, command_node, lang_class,
lang_class.command_get_user_password,
lang_class.command_get_user_password_2_description)
def execute_get_user_password_3(self, info_query, session_context, def execute_get_user_password_3(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
@@ -564,16 +651,24 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (result_form, []) return (result_form, [])
execute_change_user_password_1 = select_user_jid_step_1 ###########################################################################
# change-user-password command
###########################################################################
def execute_change_user_password_1(self, info_query, session_context,
command_node, lang_class):
return self.select_user_jid_step(\
session_context, command_node, lang_class,
lang_class.command_change_user_password,
lang_class.command_change_user_password_1_description)
def execute_change_user_password_2(self, info_query, session_context, def execute_change_user_password_2(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
self.__logger.debug("Executing command 'change-user-password' step 2") self.__logger.debug("Executing command 'change-user-password' step 2")
(result_form, result) = self.select_account_step_2(info_query, (result_form, result) = self.select_account_step_2(\
session_context, session_context, command_node, lang_class,
command_node, lang_class.command_change_user_password,
lang_class, lang_class.command_change_user_password_2_description,
False) False)
result_form.add_field(field_type="text-private", result_form.add_field(field_type="text-private",
name="password", name="password",
label=lang_class.field_password) label=lang_class.field_password)
@@ -589,13 +684,16 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (None, []) return (None, [])
###########################################################################
# get-user-roster command
###########################################################################
def execute_get_user_roster_1(self, info_query, session_context, def execute_get_user_roster_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
(result_form, result) = self.select_user_jid_step_1(info_query, (result_form, result) = self.select_user_jid_step(\
session_context, session_context, command_node, lang_class,
command_node, lang_class.command_get_user_roster,
lang_class, lang_class.command_get_user_roster_1_description,
actions=[ACTION_COMPLETE]) actions=[ACTION_COMPLETE])
return (result_form, result) return (result_form, result)
def execute_get_user_roster_2(self, info_query, session_context, def execute_get_user_roster_2(self, info_query, session_context,
@@ -607,7 +705,8 @@ class JCLCommandManager(CommandManager):
value="http://jabber.org/protocol/admin") value="http://jabber.org/protocol/admin")
user_jid = session_context["user_jid"][0] user_jid = session_context["user_jid"][0]
result_form.fields.append(FieldNoType(name="user_jid", result_form.fields.append(FieldNoType(name="user_jid",
value=user_jid)) value=user_jid,
label=lang_class.field_user_jid))
result_form.as_xml(command_node) result_form.as_xml(command_node)
x_form = command_node.children x_form = command_node.children
query = x_form.newChild(None, "query", None) query = x_form.newChild(None, "query", None)
@@ -620,8 +719,22 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (result_form, []) return (result_form, [])
execute_get_user_lastlogin_1 = select_user_jid_step_1 ###########################################################################
execute_get_user_lastlogin_2 = select_account_step_2 # get-user-lastlogin command
###########################################################################
def execute_get_user_lastlogin_1(self, info_query, session_context,
command_node, lang_class):
return self.select_user_jid_step(\
session_context, command_node, lang_class,
lang_class.command_get_user_lastlogin,
lang_class.command_get_user_lastlogin_1_description)
def execute_get_user_lastlogin_2(self, info_query, session_context,
command_node, lang_class):
return self.select_account_step_2(\
session_context, command_node, lang_class,
lang_class.command_get_user_lastlogin,
lang_class.command_get_user_lastlogin_2_description)
def execute_get_user_lastlogin_3(self, info_query, session_context, def execute_get_user_lastlogin_3(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
@@ -633,13 +746,17 @@ class JCLCommandManager(CommandManager):
name, user_jid = self.get_name_and_jid(session_context["account_name"][0]) name, user_jid = self.get_name_and_jid(session_context["account_name"][0])
_account = account.get_account(user_jid, name) _account = account.get_account(user_jid, name)
result_form.fields.append(FieldNoType(name="user_jid", result_form.fields.append(FieldNoType(name="user_jid",
value=user_jid)) value=user_jid,
label=lang_class.field_user_jid))
result_form.fields.append(FieldNoType(name="lastlogin", result_form.fields.append(FieldNoType(name="lastlogin",
value=_account.lastlogin)) value=_account.lastlogin))
result_form.as_xml(command_node) result_form.as_xml(command_node)
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (result_form, []) return (result_form, [])
###########################################################################
# get-registered-users-num command
###########################################################################
def execute_get_registered_users_num_1(self, info_query, session_context, def execute_get_registered_users_num_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
result_form = Form(xmlnode_or_type="result") result_form = Form(xmlnode_or_type="result")
@@ -648,12 +765,15 @@ class JCLCommandManager(CommandManager):
value="http://jabber.org/protocol/admin") value="http://jabber.org/protocol/admin")
num_accounts = account.get_all_accounts_count() num_accounts = account.get_all_accounts_count()
result_form.fields.append(FieldNoType(name="registeredusersnum", result_form.fields.append(FieldNoType(name="registeredusersnum",
label="TODO", label=lang_class.field_registered_users_num,
value=num_accounts)) value=num_accounts))
result_form.as_xml(command_node) result_form.as_xml(command_node)
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (result_form, []) return (result_form, [])
###########################################################################
# get-disabled-users-num command
###########################################################################
def execute_get_disabled_users_num_1(self, info_query, session_context, def execute_get_disabled_users_num_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
result_form = Form(xmlnode_or_type="result") result_form = Form(xmlnode_or_type="result")
@@ -663,12 +783,15 @@ class JCLCommandManager(CommandManager):
num_accounts = account.get_all_accounts_count(\ num_accounts = account.get_all_accounts_count(\
filter=(Account.q.enabled == False)) filter=(Account.q.enabled == False))
result_form.fields.append(FieldNoType(name="disabledusersnum", result_form.fields.append(FieldNoType(name="disabledusersnum",
label="TODO", label=lang_class.field_disabled_users_num,
value=num_accounts)) value=num_accounts))
result_form.as_xml(command_node) result_form.as_xml(command_node)
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (result_form, []) return (result_form, [])
###########################################################################
# get-online-users-num command
###########################################################################
def execute_get_online_users_num_1(self, info_query, session_context, def execute_get_online_users_num_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
result_form = Form(xmlnode_or_type="result") result_form = Form(xmlnode_or_type="result")
@@ -678,34 +801,43 @@ class JCLCommandManager(CommandManager):
num_accounts = account.get_all_accounts_count(\ num_accounts = account.get_all_accounts_count(\
filter=(Account.q._status != account.OFFLINE)) filter=(Account.q._status != account.OFFLINE))
result_form.fields.append(FieldNoType(name="onlineusersnum", result_form.fields.append(FieldNoType(name="onlineusersnum",
label="TODO", label=lang_class.field_online_users_num,
value=num_accounts)) value=num_accounts))
result_form.as_xml(command_node) result_form.as_xml(command_node)
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (result_form, []) return (result_form, [])
###########################################################################
# get-registered-users-list command
###########################################################################
def execute_get_registered_users_list_1(self, info_query, session_context, def execute_get_registered_users_list_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
num_accounts = account.get_all_accounts_count() num_accounts = account.get_all_accounts_count()
if num_accounts < 25: if num_accounts < 25:
return self.add_form_list_accounts(command_node, lang_class, return self.add_form_list_accounts(command_node,
"registeredusers", "TODO") "registeredusers",
lang_class.field_registered_users_list)
else: else:
return self.add_form_select_max(command_node, lang_class) return self.add_form_select_max(command_node, lang_class)
def execute_get_registered_users_list_2(self, info_query, session_context, def execute_get_registered_users_list_2(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
limit = int(session_context["max_items"][0]) limit = int(session_context["max_items"][0])
return self.add_form_list_accounts(command_node, lang_class, return self.add_form_list_accounts(command_node,
"registeredusers", "TODO", "registeredusers",
lang_class.field_registered_users_list,
limit=limit) limit=limit)
###########################################################################
# get-disabled-users-list command
###########################################################################
def execute_get_disabled_users_list_1(self, info_query, session_context, def execute_get_disabled_users_list_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
num_accounts = account.get_all_accounts_count() num_accounts = account.get_all_accounts_count()
if num_accounts < 25: if num_accounts < 25:
return self.add_form_list_accounts(command_node, lang_class, return self.add_form_list_accounts(command_node,
"disabledusers", "TODO", "disabledusers",
lang_class.field_disabled_users_list,
filter=(Account.q.enabled == False)) filter=(Account.q.enabled == False))
else: else:
return self.add_form_select_max(command_node, lang_class) return self.add_form_select_max(command_node, lang_class)
@@ -713,18 +845,22 @@ class JCLCommandManager(CommandManager):
def execute_get_disabled_users_list_2(self, info_query, session_context, def execute_get_disabled_users_list_2(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
limit = int(session_context["max_items"][0]) limit = int(session_context["max_items"][0])
return self.add_form_list_accounts(command_node, lang_class, return self.add_form_list_accounts(command_node,
"disabledusers", "TODO", "disabledusers",
lang_class.field_disabled_users_list,
limit=limit, limit=limit,
filter=(Account.q.enabled == False)) filter=(Account.q.enabled == False))
###########################################################################
# get-online-users-list command
###########################################################################
def execute_get_online_users_list_1(self, info_query, session_context, def execute_get_online_users_list_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
num_accounts = account.get_all_accounts_count() num_accounts = account.get_all_accounts_count()
if num_accounts < 25: if num_accounts < 25:
return self.add_form_list_accounts(\ return self.add_form_list_accounts(\
command_node, lang_class, command_node, "onlineusers",
"onlineusers", "TODO", lang_class.field_online_users_list,
filter=(Account.q._status != account.OFFLINE)) filter=(Account.q._status != account.OFFLINE))
else: else:
return self.add_form_select_max(command_node, lang_class) return self.add_form_select_max(command_node, lang_class)
@@ -733,23 +869,26 @@ class JCLCommandManager(CommandManager):
command_node, lang_class): command_node, lang_class):
limit = int(session_context["max_items"][0]) limit = int(session_context["max_items"][0])
return self.add_form_list_accounts(\ return self.add_form_list_accounts(\
command_node, lang_class, command_node, "onlineusers",
"onlineusers", "TODO", lang_class.field_online_users_list,
limit=limit, limit=limit,
filter=(Account.q._status != account.OFFLINE)) filter=(Account.q._status != account.OFFLINE))
###########################################################################
# announce command
###########################################################################
def execute_announce_1(self, info_query, session_context, def execute_announce_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
self.add_actions(command_node, [ACTION_NEXT]) self.add_actions(command_node, [ACTION_NEXT])
result_form = Form(xmlnode_or_type="result", result_form = Form(xmlnode_or_type="result",
title="TODO", title=lang_class.command_announce,
instructions="TODO") instructions=lang_class.command_announce_1_description)
result_form.add_field(field_type="hidden", result_form.add_field(field_type="hidden",
name="FORM_TYPE", name="FORM_TYPE",
value="http://jabber.org/protocol/admin") value="http://jabber.org/protocol/admin")
result_form.add_field(name="announcement", result_form.add_field(name="announcement",
field_type="text-multi", field_type="text-multi",
label="TODO", label=lang_class.field_announcement,
required=True) required=True)
result_form.as_xml(command_node) result_form.as_xml(command_node)
return (result_form, []) return (result_form, [])
@@ -770,18 +909,21 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (None, result) return (None, result)
###########################################################################
# set-motd command
###########################################################################
def execute_set_motd_1(self, info_query, session_context, def execute_set_motd_1(self, info_query, session_context,
command_node, lang_class, motd=""): command_node, lang_class, motd=""):
self.add_actions(command_node, [ACTION_NEXT]) self.add_actions(command_node, [ACTION_NEXT])
result_form = Form(xmlnode_or_type="result", result_form = Form(xmlnode_or_type="result",
title="TODO", title=lang_class.command_set_motd,
instructions="TODO") instructions=lang_class.command_set_motd_1_description)
result_form.add_field(field_type="hidden", result_form.add_field(field_type="hidden",
name="FORM_TYPE", name="FORM_TYPE",
value="http://jabber.org/protocol/admin") value="http://jabber.org/protocol/admin")
result_form.add_field(name="motd", result_form.add_field(name="motd",
field_type="text-multi", field_type="text-multi",
label="TODO", label=lang_class.field_motd,
value=[motd], value=[motd],
required=True) required=True)
result_form.as_xml(command_node) result_form.as_xml(command_node)
@@ -812,6 +954,9 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (None, result) return (None, result)
###########################################################################
# edit-motd command
###########################################################################
def execute_edit_motd_1(self, info_query, session_context, def execute_edit_motd_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
return self.execute_set_motd_1(info_query, session_context, return self.execute_set_motd_1(info_query, session_context,
@@ -820,6 +965,9 @@ class JCLCommandManager(CommandManager):
execute_edit_motd_2 = execute_set_motd_2 execute_edit_motd_2 = execute_set_motd_2
###########################################################################
# delete-motd command
###########################################################################
def execute_delete_motd_1(self, info_query, session_context, def execute_delete_motd_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
self.__logger.debug("Executing command 'delete motd' step 1") self.__logger.debug("Executing command 'delete motd' step 1")
@@ -827,19 +975,22 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (None, []) return (None, [])
###########################################################################
# set-welcome command
###########################################################################
def execute_set_welcome_1(self, info_query, session_context, def execute_set_welcome_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
self.add_actions(command_node, [ACTION_NEXT]) self.add_actions(command_node, [ACTION_NEXT])
result_form = Form(xmlnode_or_type="result", result_form = Form(xmlnode_or_type="result",
title="TODO", title=lang_class.command_set_welcome,
instructions="TODO") instructions=lang_class.command_set_welcome_1_description)
result_form.add_field(field_type="hidden", result_form.add_field(field_type="hidden",
name="FORM_TYPE", name="FORM_TYPE",
value="http://jabber.org/protocol/admin") value="http://jabber.org/protocol/admin")
welcome_message = self.component.get_welcome_message() welcome_message = self.component.get_welcome_message()
result_form.add_field(name="welcome", result_form.add_field(name="welcome",
field_type="text-multi", field_type="text-multi",
label="TODO", label=lang_class.field_welcome,
value=[welcome_message], value=[welcome_message],
required=True) required=True)
result_form.as_xml(command_node) result_form.as_xml(command_node)
@@ -853,6 +1004,9 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (None, []) return (None, [])
###########################################################################
# delete-welcome command
###########################################################################
def execute_delete_welcome_1(self, info_query, session_context, def execute_delete_welcome_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
self.__logger.debug("Executing command 'delete welcome' step 1") self.__logger.debug("Executing command 'delete welcome' step 1")
@@ -860,19 +1014,22 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (None, []) return (None, [])
###########################################################################
# edit-admin command
###########################################################################
def execute_edit_admin_1(self, info_query, session_context, def execute_edit_admin_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
self.add_actions(command_node, [ACTION_NEXT]) self.add_actions(command_node, [ACTION_NEXT])
result_form = Form(xmlnode_or_type="result", result_form = Form(xmlnode_or_type="result",
title="TODO", title=lang_class.command_edit_admin,
instructions="TODO") instructions=lang_class.command_edit_admin_1_description)
result_form.add_field(field_type="hidden", result_form.add_field(field_type="hidden",
name="FORM_TYPE", name="FORM_TYPE",
value="http://jabber.org/protocol/admin") value="http://jabber.org/protocol/admin")
admins = self.component.get_admins() admins = self.component.get_admins()
result_form.add_field(name="adminjids", result_form.add_field(name="adminjids",
field_type="jid-multi", field_type="jid-multi",
label="TODO", label=lang_class.field_admin_jids,
values=admins, values=admins,
required=True) required=True)
result_form.as_xml(command_node) result_form.as_xml(command_node)
@@ -886,22 +1043,25 @@ class JCLCommandManager(CommandManager):
command_node.setProp("status", STATUS_COMPLETED) command_node.setProp("status", STATUS_COMPLETED)
return (None, []) return (None, [])
###########################################################################
# restart command
###########################################################################
def execute_restart_1(self, info_query, session_context, def execute_restart_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
self.add_actions(command_node, [ACTION_NEXT]) self.add_actions(command_node, [ACTION_NEXT])
result_form = Form(xmlnode_or_type="result", result_form = Form(xmlnode_or_type="result",
title="TODO", title=lang_class.command_restart,
instructions="TODO") instructions=lang_class.command_restart_1_description)
result_form.add_field(field_type="hidden", result_form.add_field(field_type="hidden",
name="FORM_TYPE", name="FORM_TYPE",
value="http://jabber.org/protocol/admin") value="http://jabber.org/protocol/admin")
result_form.add_field(name="delay", result_form.add_field(name="delay",
field_type="list-multi", field_type="list-multi",
label="TODO", label=lang_class.field_restart_delay,
required=True) required=True)
result_form.add_field(name="announcement", result_form.add_field(name="announcement",
field_type="text-multi", field_type="text-multi",
label="TODO") label=lang_class.field_announcement)
result_form.as_xml(command_node) result_form.as_xml(command_node)
return (result_form, []) return (result_form, [])
@@ -929,22 +1089,25 @@ class JCLCommandManager(CommandManager):
restart_thread.start() restart_thread.start()
return (None, result) return (None, result)
###########################################################################
# shutdown command
###########################################################################
def execute_shutdown_1(self, info_query, session_context, def execute_shutdown_1(self, info_query, session_context,
command_node, lang_class): command_node, lang_class):
self.add_actions(command_node, [ACTION_NEXT]) self.add_actions(command_node, [ACTION_NEXT])
result_form = Form(xmlnode_or_type="result", result_form = Form(xmlnode_or_type="result",
title="TODO", title=lang_class.command_shutdown,
instructions="TODO") instructions=lang_class.command_shutdown_1_description)
result_form.add_field(field_type="hidden", result_form.add_field(field_type="hidden",
name="FORM_TYPE", name="FORM_TYPE",
value="http://jabber.org/protocol/admin") value="http://jabber.org/protocol/admin")
result_form.add_field(name="delay", result_form.add_field(name="delay",
field_type="list-multi", field_type="list-multi",
label="TODO", label=lang_class.field_shutdown_delay,
required=True) required=True)
result_form.add_field(name="announcement", result_form.add_field(name="announcement",
field_type="text-multi", field_type="text-multi",
label="TODO") label=lang_class.field_announcement)
result_form.as_xml(command_node) result_form.as_xml(command_node)
return (result_form, []) return (result_form, [])

View File

@@ -205,12 +205,14 @@ class JCLCommandManager_TestCase(JCLTestCase):
self.assertEquals(children.name, action) self.assertEquals(children.name, action)
children = children.next children = children.next
def test_add_form_select_user_jids(self): def test_add_form_select_users_jids(self):
info_query = Iq(stanza_type="set", info_query = Iq(stanza_type="set",
from_jid="admin@test.com", from_jid="admin@test.com",
to_jid="jcl.test.com") to_jid="jcl.test.com")
command_node = info_query.set_new_content(command.COMMAND_NS, "command") command_node = info_query.set_new_content(command.COMMAND_NS, "command")
self.command_manager.add_form_select_user_jids(command_node, Lang.en) self.command_manager.add_form_select_users_jids(command_node, "title",
"description",
Lang.en.field_users_jids)
user_jid_field = info_query.xpath_eval("c:command/data:x/data:field[1]", user_jid_field = info_query.xpath_eval("c:command/data:x/data:field[1]",
{"c": "http://jabber.org/protocol/commands", {"c": "http://jabber.org/protocol/commands",
"data": "jabber:x:data"}) "data": "jabber:x:data"})
@@ -218,14 +220,16 @@ class JCLCommandManager_TestCase(JCLTestCase):
self.assertEquals(len(user_jid_field), 1) self.assertEquals(len(user_jid_field), 1)
self.assertEquals(user_jid_field[0].prop("var"), "user_jids") self.assertEquals(user_jid_field[0].prop("var"), "user_jids")
self.assertEquals(user_jid_field[0].prop("type"), "jid-multi") self.assertEquals(user_jid_field[0].prop("type"), "jid-multi")
self.assertEquals(user_jid_field[0].prop("label"), Lang.en.field_user_jid) self.assertEquals(user_jid_field[0].prop("label"), Lang.en.field_users_jids)
def test_add_form_select_user_jid(self): def test_add_form_select_user_jid(self):
info_query = Iq(stanza_type="set", info_query = Iq(stanza_type="set",
from_jid="admin@test.com", from_jid="admin@test.com",
to_jid="jcl.test.com") to_jid="jcl.test.com")
command_node = info_query.set_new_content(command.COMMAND_NS, "command") command_node = info_query.set_new_content(command.COMMAND_NS, "command")
self.command_manager.add_form_select_user_jid(command_node, Lang.en) self.command_manager.add_form_select_user_jid(command_node, "title",
"description",
Lang.en.field_user_jid)
user_jid_field = info_query.xpath_eval("c:command/data:x/data:field[1]", user_jid_field = info_query.xpath_eval("c:command/data:x/data:field[1]",
{"c": "http://jabber.org/protocol/commands", {"c": "http://jabber.org/protocol/commands",
"data": "jabber:x:data"}) "data": "jabber:x:data"})
@@ -269,14 +273,15 @@ class JCLCommandManager_TestCase(JCLTestCase):
session_context["user_jids"] = ["test1@test.com", "test2@test.com"] session_context["user_jids"] = ["test1@test.com", "test2@test.com"]
self.command_manager.add_form_select_accounts(session_context, self.command_manager.add_form_select_accounts(session_context,
command_node, command_node,
Lang.en) Lang.en,
"title", "description")
fields = info_query.xpath_eval("c:command/data:x/data:field", fields = info_query.xpath_eval("c:command/data:x/data:field",
{"c": "http://jabber.org/protocol/commands", {"c": "http://jabber.org/protocol/commands",
"data": "jabber:x:data"}) "data": "jabber:x:data"})
self.assertEquals(len(fields), 1) self.assertEquals(len(fields), 1)
self.assertEquals(fields[0].prop("var"), "account_names") self.assertEquals(fields[0].prop("var"), "account_names")
self.assertEquals(fields[0].prop("type"), "list-multi") self.assertEquals(fields[0].prop("type"), "list-multi")
self.assertEquals(fields[0].prop("label"), "Account") self.assertEquals(fields[0].prop("label"), Lang.en.field_accounts)
options = info_query.xpath_eval("c:command/data:x/data:field[1]/data:option", options = info_query.xpath_eval("c:command/data:x/data:field[1]/data:option",
{"c": "http://jabber.org/protocol/commands", {"c": "http://jabber.org/protocol/commands",
"data": "jabber:x:data"}) "data": "jabber:x:data"})
@@ -338,6 +343,7 @@ class JCLCommandManager_TestCase(JCLTestCase):
self.command_manager.add_form_select_accounts(session_context, self.command_manager.add_form_select_accounts(session_context,
command_node, command_node,
Lang.en, Lang.en,
"title", "description",
Account.q.enabled==True) Account.q.enabled==True)
fields = info_query.xpath_eval("c:command/data:x/data:field", fields = info_query.xpath_eval("c:command/data:x/data:field",
{"c": "http://jabber.org/protocol/commands", {"c": "http://jabber.org/protocol/commands",
@@ -345,7 +351,7 @@ class JCLCommandManager_TestCase(JCLTestCase):
self.assertEquals(len(fields), 1) self.assertEquals(len(fields), 1)
self.assertEquals(fields[0].prop("var"), "account_names") self.assertEquals(fields[0].prop("var"), "account_names")
self.assertEquals(fields[0].prop("type"), "list-multi") self.assertEquals(fields[0].prop("type"), "list-multi")
self.assertEquals(fields[0].prop("label"), "Account") self.assertEquals(fields[0].prop("label"), Lang.en.field_accounts)
options = info_query.xpath_eval("c:command/data:x/data:field[1]/data:option", options = info_query.xpath_eval("c:command/data:x/data:field[1]/data:option",
{"c": "http://jabber.org/protocol/commands", {"c": "http://jabber.org/protocol/commands",
"data": "jabber:x:data"}) "data": "jabber:x:data"})
@@ -400,14 +406,15 @@ class JCLCommandManager_TestCase(JCLTestCase):
session_context["user_jid"] = ["test1@test.com"] session_context["user_jid"] = ["test1@test.com"]
self.command_manager.add_form_select_account(session_context, self.command_manager.add_form_select_account(session_context,
command_node, command_node,
Lang.en) Lang.en,
"title", "description")
fields = info_query.xpath_eval("c:command/data:x/data:field", fields = info_query.xpath_eval("c:command/data:x/data:field",
{"c": "http://jabber.org/protocol/commands", {"c": "http://jabber.org/protocol/commands",
"data": "jabber:x:data"}) "data": "jabber:x:data"})
self.assertEquals(len(fields), 1) self.assertEquals(len(fields), 1)
self.assertEquals(fields[0].prop("var"), "account_name") self.assertEquals(fields[0].prop("var"), "account_name")
self.assertEquals(fields[0].prop("type"), "list-single") self.assertEquals(fields[0].prop("type"), "list-single")
self.assertEquals(fields[0].prop("label"), "Account") self.assertEquals(fields[0].prop("label"), Lang.en.field_account)
options = info_query.xpath_eval("c:command/data:x/data:field[1]/data:option", options = info_query.xpath_eval("c:command/data:x/data:field[1]/data:option",
{"c": "http://jabber.org/protocol/commands", {"c": "http://jabber.org/protocol/commands",
"data": "jabber:x:data"}) "data": "jabber:x:data"})

View File

@@ -104,7 +104,7 @@ class Lang:
field_dnd_action_0 = field_action_0 field_dnd_action_0 = field_action_0
field_offline_action_0 = field_action_0 field_offline_action_0 = field_action_0
field_user_jid = u"User JID" field_user_jid = u"User Jabber ID"
field_password = u"Password" field_password = u"Password"
error_subject = u"Error" error_subject = u"Error"
@@ -113,9 +113,107 @@ class Lang:
get_gateway_desc = u"Please enter the email address of your contact" get_gateway_desc = u"Please enter the email address of your contact"
get_gateway_prompt = u"Email address" get_gateway_prompt = u"Email address"
command_get_disabled_users_num = u"get-disabled-users-num" command_get_disabled_users_num = u"Get number of disabled accounts"
command_add_user = u"Create new account" command_add_user = u"Create new account"
select_account_type = u"Select account type" command_add_user_1_description = u"Select an account type"
field_account_type = u"Account type"
command_delete_user = u"Delete accounts"
command_delete_user_1_description = \
u"Fill out this form with user(s) Jabber ID(s) to search account(s) to delete"
command_delete_user_2_description = u"Select account(s) to delete"
field_users_jids = u"User(s) Jabber ID(s)"
field_account = u"Account"
field_accounts = u"Accounts"
command_disable_user = u"Disable accounts"
command_disable_user_1_description = \
u"Fill out this form with user(s) Jabber ID(s) to search account(s) to disable"
command_disable_user_2_description = u"Select account(s) to disable"
command_reenable_user = u"Re-Enable accounts"
command_reenable_user_1_description = \
u"Fill out this form with user(s) Jabber ID(s) to search account(s) to re-enable"
command_reenable_user_2_description = u"Select account(s) to re-enable"
command_end_user_session = u"End users sessions"
command_end_user_session_1_description = \
u"Fill out this form with user(s) Jabber ID(s) to search account(s) to end session"
command_end_user_session_2_description = \
u"Select account(s) to end their session"
command_get_user_password = u"Get user&apos;s password"
command_get_user_password_1_description = \
u"Fill out this form with user Jabber ID to search account" \
u" for which to retrieve password"
command_get_user_password_2_description = \
u"Select account for which to retrieve password"
command_change_user_password = u"Changing user&apos;s password"
command_change_user_password_1_description = \
u"Fill out this form with user Jabber ID to search account" \
u" for which to change password"
command_change_user_password_2_description = \
u"Select account for which to change password"
command_get_user_roster = u"Get user&apos;s accounts"
command_get_user_roster_1_description = \
u"Fill out this form with user Jabber ID for which to retrieve accounts"
command_get_user_lastlogin = u"Get user&apos;s last login time"
command_get_user_lastlogin_1_description = \
u"Fill out this form with user Jabber ID to search account" \
u" for which to retrieve last login time"
command_get_user_lastlogin_2_description = \
u"Select account for which to retrieve last login time"
field_registered_users_num = u"The number of registered accounts"
field_disabled_users_num = u"The number of disabled accounts"
field_online_users_num = u"The number of online accounts"
field_max_items = u"Maximum number of items to show"
field_registered_users_list = u"The list of registered accounts"
field_disabled_users_list = u"The list of disabled accounts"
field_online_users_list = u"The list of online accounts"
command_announce = u"Make an annoucement"
command_announce_1_description = \
u"Fill out this form with the announce to send to online users"
field_announcement = u"Announcement"
command_set_motd = u"Set the Message Of The Day"
command_set_motd_1_description = \
u"Fill out this form with the Message Of The Day to send to all" \
u" registered users"
field_motd = u"Message Of The Day"
command_edit_motd = u"Edit the Message Of The Day"
command_delete_motd = u"Delete the Message Of The Day"
command_set_welcome = u"Set Welcome Message"
command_set_welcome_1_description = \
u"Fill out this form with the Welcome Message to send to all" \
u" new registered users"
field_welcome = u"Welcome Message"
command_delete_welcome = u"Delete Welcome Message"
command_edit_admin = u"Edit the admin list"
command_edit_admin_1_description = \
u"Fill out this form to edit the list of users who have " \
u"administrative privileges."
field_admin_jids = u"The admin list"
command_restart = u"Restart the service"
command_restart_1_description = \
u"Fill out this form to restart the service."
field_restart_delay = u"Delay before restarting the service"
command_shutdown = u"Shut down the service"
command_shutdown_1_description = \
u"Fill out this form to shut down the service."
field_shutdown_delay = u"Delay before shutting down the service"
welcome_message_subject = u"Welcome" welcome_message_subject = u"Welcome"
@@ -163,9 +261,118 @@ class Lang:
get_gateway_desc = u"Entrer l'adresse email de votre contact" get_gateway_desc = u"Entrer l'adresse email de votre contact"
get_gateway_prompt = u"Adresse email" get_gateway_prompt = u"Adresse email"
command_get_disabled_users_num = u"get_disabled_users_num" command_get_disabled_users_num = u"Récupérer le nombre de comptes " \
command_add_user = u"Créer un compte" u"désactivés"
select_account_type = u"Selectionner le type de comptes" command_add_user = u"Créer un nouveau compte"
command_add_user_1_description = u"Selectionner un type de compte"
field_account_type = u"Type de compte"
command_delete_user = u"Supprimer des comptes"
command_delete_user_1_description = \
u"Remplir ce formulaire avec le(s) Jabber ID(s) utilisateur(s) pour" \
u" rechercher le(s) compte(s) à supprimer"
command_delete_user_2_description = u"Sélectionner le(s) compte(s) à " \
u"supprimer"
field_users_jids = u"Jabber ID(s) utilisateur(s)"
field_account = u"Compte"
field_accounts = u"Comptes"
command_disable_user = u"Désactiver des comptes"
command_disable_user_1_description = \
u"Remplir ce formulaire avec le(s) Jabber ID(s) utilisateur(s) " \
u"pour rechercher le(s) compte(s) à désactiver"
command_disable_user_2_description = u"Sélectionner le(s) compte(s) à" \
u" désactiver"
command_reenable_user = u"Réactiver des comptes"
command_reenable_user_1_description = \
u"Remplir ce formulaire avec le(s) Jabber ID(s) utilisateur(s) " \
u"pour rechercher le(s) compte(s) à réactiver"
command_reenable_user_2_description = u"Sélectionner le(s) compte(s)" \
u" à réactiver"
command_end_user_session = u"Terminer des sessions utilisateurs"
command_end_user_session_1_description = \
u"Remplir ce formulaire avec le(s) Jabber ID(s) utilisateur(s)" \
u" pour rechercher le(s) session(s) à terminer"
command_end_user_session_2_description = \
u"Sélectionner le(s) compte(s) des sessions à terminer"
command_get_user_password = u"Récupérer le mot de passe d'un compte"
command_get_user_password_1_description = \
u"Remplir ce formulaire avec le(s) Jabber ID(s) utilisateur(s)" \
u" pour rechercher le(s) compte(s) pour récupérer leur mot de passe"
command_get_user_password_2_description = \
u"Sélectionner le(s) compte(s) pour récupérer leur mot de passe"
command_change_user_password = u"Changer le mot de passe d'un compte"
command_change_user_password_1_description = \
u"Remplir ce formulaire avec le(s) Jabber ID(s) utilisateur(s)" \
u" pour rechercher le(s) compte(s) pour changer leur mot de passe"
command_change_user_password_2_description = \
u"Sélectionner le(s) compte(s) pour changer leur mot de passe"
command_get_user_roster = u"Récupérer les comptes utilisateurs"
command_get_user_roster_1_description = \
u"Remplir ce formulaire avec le(s) Jabber ID(s) utilisateur(s)" \
u" pour rechercher le(s) compte(s) à récupérer"
command_get_user_lastlogin = u"Récupérer la date de derniere connexion"
command_get_user_lastlogin_1_description = \
u"Remplir ce formulaire avec le(s) Jabber ID(s) utilisateur(s)" \
u" pour rechercher le(s) compte(s) pour récupérer leur dernière " \
u"date de connexion"
command_get_user_lastlogin_2_description = \
u"Sélectionner le compte pour récupérer la date de dernière connexion"
field_registered_users_num = u"Le nombre de comptes enregistrés"
field_disabled_users_num = u"Le nombre de comptes désactivés"
field_online_users_num = u"Le nombre de comptes connectés"
field_max_items = u"Maximum d'éléments à récupérer"
field_registered_users_list = u"La liste des comptes enregistrés"
field_disabled_users_list = u"La liste des comptes désactivés"
field_online_users_list = u"La liste des comptes connectés"
command_announce = u"Faire une annonce"
command_announce_1_description = \
u"Remplir ce formulaire avec le(s) Jabber ID(s) utilisateur(s)" \
u" à qui envoyer l'annonce"
field_announcement = u"Annonce"
command_set_motd = u"Écrire le Message Du Jour"
command_set_motd_1_description = \
u"Remplir ce formulaire avec le Message Du Jour à envoyer à tous" \
u" les utilisateurs enregistrés"
field_motd = u"Message Du Jour"
command_edit_motd = u"Editer le Message Du Jour"
command_delete_motd = u"Supprimer le Message Du Jour"
command_set_welcome = u"Écrire le message de bienvenue"
command_set_welcome_1_description = \
u"Remplir ce formulaire avec le message de bienvenue à envoyer à" \
u" tous les nouveaux utilisateurs"
field_welcome = u"Message de bienvenue"
command_delete_welcome = u"Supprimer le message de bienvenue"
command_edit_admin = u"Editer la liste des administrateurs"
command_edit_admin_1_description = \
u"Remplir ce formulaire pour éditer la liste des utilisateurs qui" \
u" ont les privilèges d'administration du service."
field_admin_jids = u"La liste des administrateur"
command_restart = u"Redémarrer le service"
command_restart_1_description = \
u"Remplir ce formulaire pour redémarrer le service."
field_restart_delay = u"Délai avant de redémarrer le service"
command_shutdown = u"Arrêter le service"
command_shutdown_1_description = \
u"Remplir ce formulaire pour arrêter le service."
field_shutdown_delay = u"Délai avant d'arrêter le service"
welcome_message_subject = u"Bienvenue" welcome_message_subject = u"Bienvenue"

View File

@@ -117,9 +117,103 @@ class Language_TestCase(unittest.TestCase):
self.assertNotEquals(self.lang_class.get_gateway_desc, None) self.assertNotEquals(self.lang_class.get_gateway_desc, None)
self.assertNotEquals(self.lang_class.get_gateway_prompt, None) self.assertNotEquals(self.lang_class.get_gateway_prompt, None)
self.assertNotEquals(self.lang_class.command_get_disabled_users_num, None) self.assertNotEquals(self.lang_class.command_get_disabled_users_num,
None)
self.assertNotEquals(self.lang_class.command_add_user, None) self.assertNotEquals(self.lang_class.command_add_user, None)
self.assertNotEquals(self.lang_class.select_account_type, None) self.assertNotEquals(self.lang_class.command_add_user_1_description,
None)
self.assertNotEquals(self.lang_class.field_account_type, None)
self.assertNotEquals(self.lang_class.command_delete_user, None)
self.assertNotEquals(self.lang_class.command_delete_user_1_description,
None)
self.assertNotEquals(self.lang_class.command_delete_user_2_description,
None)
self.assertNotEquals(self.lang_class.field_users_jids, None)
self.assertNotEquals(self.lang_class.field_account, None)
self.assertNotEquals(self.lang_class.field_accounts, None)
self.assertNotEquals(self.lang_class.command_disable_user, None)
self.assertNotEquals(self.lang_class.command_disable_user_1_description,
None)
self.assertNotEquals(self.lang_class.command_disable_user_2_description,
None)
self.assertNotEquals(self.lang_class.command_reenable_user, None)
self.assertNotEquals(self.lang_class.command_reenable_user_1_description,
None)
self.assertNotEquals(self.lang_class.command_reenable_user_2_description,
None)
self.assertNotEquals(self.lang_class.command_end_user_session, None)
self.assertNotEquals(self.lang_class.command_end_user_session_1_description,
None)
self.assertNotEquals(self.lang_class.command_end_user_session_2_description,
None)
self.assertNotEquals(self.lang_class.command_get_user_password, None)
self.assertNotEquals(self.lang_class.command_get_user_password_1_description,
None)
self.assertNotEquals(self.lang_class.command_get_user_password_2_description,
None)
self.assertNotEquals(self.lang_class.command_change_user_password,
None)
self.assertNotEquals(self.lang_class.command_change_user_password_1_description,
None)
self.assertNotEquals(self.lang_class.command_change_user_password_2_description,
None)
self.assertNotEquals(self.lang_class.command_get_user_roster, None)
self.assertNotEquals(self.lang_class.command_get_user_roster_1_description,
None)
self.assertNotEquals(self.lang_class.command_get_user_lastlogin,
None)
self.assertNotEquals(self.lang_class.command_get_user_lastlogin_1_description,
None)
self.assertNotEquals(self.lang_class.command_get_user_lastlogin_2_description,
None)
self.assertNotEquals(self.lang_class.field_registered_users_num, None)
self.assertNotEquals(self.lang_class.field_disabled_users_num, None)
self.assertNotEquals(self.lang_class.field_online_users_num, None)
self.assertNotEquals(self.lang_class.field_max_items, None)
self.assertNotEquals(self.lang_class.field_registered_users_list, None)
self.assertNotEquals(self.lang_class.field_disabled_users_list, None)
self.assertNotEquals(self.lang_class.field_online_users_list, None)
self.assertNotEquals(self.lang_class.command_announce, None)
self.assertNotEquals(self.lang_class.command_announce_1_description, None)
self.assertNotEquals(self.lang_class.field_announcement, None)
self.assertNotEquals(self.lang_class.command_set_motd, None)
self.assertNotEquals(self.lang_class.command_set_motd_1_description, None)
self.assertNotEquals(self.lang_class.field_motd, None)
self.assertNotEquals(self.lang_class.command_edit_motd, None)
self.assertNotEquals(self.lang_class.command_delete_motd, None)
self.assertNotEquals(self.lang_class.command_set_welcome, None)
self.assertNotEquals(self.lang_class.command_set_welcome_1_description, None)
self.assertNotEquals(self.lang_class.field_welcome, None)
self.assertNotEquals(self.lang_class.command_delete_welcome, None)
self.assertNotEquals(self.lang_class.command_edit_admin, None)
self.assertNotEquals(self.lang_class.command_edit_admin_1_description, None)
self.assertNotEquals(self.lang_class.field_admin_jids, None)
self.assertNotEquals(self.lang_class.command_restart, None)
self.assertNotEquals(self.lang_class.command_restart_1_description, None)
self.assertNotEquals(self.lang_class.field_restart_delay, None)
self.assertNotEquals(self.lang_class.command_shutdown, None)
self.assertNotEquals(self.lang_class.command_shutdown_1_description, None)
self.assertNotEquals(self.lang_class.field_shutdown_delay, None)
self.assertNotEquals(self.lang_class.welcome_message_subject, None) self.assertNotEquals(self.lang_class.welcome_message_subject, None)
@@ -140,16 +234,16 @@ class Language_pl_TestCase(Language_TestCase):
self.lang_class = Lang.pl self.lang_class = Lang.pl
def suite(): def suite():
suite = unittest.TestSuite() test_suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Lang_TestCase, 'test')) test_suite.addTest(unittest.makeSuite(Lang_TestCase, 'test'))
suite.addTest(unittest.makeSuite(Language_TestCase, 'test')) test_suite.addTest(unittest.makeSuite(Language_TestCase, 'test'))
suite.addTest(unittest.makeSuite(Language_fr_TestCase, 'test')) test_suite.addTest(unittest.makeSuite(Language_fr_TestCase, 'test'))
# suite.addTest(unittest.makeSuite(Language_nl_TestCase, 'test')) # suite.addTest(unittest.makeSuite(Language_nl_TestCase, 'test'))
# suite.addTest(unittest.makeSuite(Language_es_TestCase, 'test')) # suite.addTest(unittest.makeSuite(Language_es_TestCase, 'test'))
# suite.addTest(unittest.makeSuite(Language_pl_TestCase, 'test')) # suite.addTest(unittest.makeSuite(Language_pl_TestCase, 'test'))
# suite.addTest(unittest.makeSuite(Language_cs_TestCase, 'test')) # suite.addTest(unittest.makeSuite(Language_cs_TestCase, 'test'))
# suite.addTest(unittest.makeSuite(Language_ru_TestCase, 'test')) # suite.addTest(unittest.makeSuite(Language_ru_TestCase, 'test'))
return suite return test_suite
if __name__ == '__main__': if __name__ == '__main__':
unittest.main(defaultTest='suite') unittest.main(defaultTest='suite')