Fix #3217 (allow /groupadd "group" with selected row in the roster)
This commit is contained in:
parent
e8aa89687f
commit
b7c23313b6
1 changed files with 22 additions and 12 deletions
|
@ -72,38 +72,38 @@ class RosterInfoTab(Tab):
|
||||||
desc='Deny your presence to the provided JID (or the '
|
desc='Deny your presence to the provided JID (or the '
|
||||||
'selected contact in your roster), who is asking'
|
'selected contact in your roster), who is asking'
|
||||||
'you to be in his/here roster.',
|
'you to be in his/here roster.',
|
||||||
shortdesc='Deny an user your presence.',
|
shortdesc='Deny a user your presence.',
|
||||||
completion=self.completion_deny)
|
completion=self.completion_deny)
|
||||||
self.register_command('accept', self.command_accept,
|
self.register_command('accept', self.command_accept,
|
||||||
usage='[jid]',
|
usage='[jid]',
|
||||||
desc='Allow the provided JID (or the selected contact '
|
desc='Allow the provided JID (or the selected contact '
|
||||||
'in your roster), to see your presence.',
|
'in your roster), to see your presence.',
|
||||||
shortdesc='Allow an user your presence.',
|
shortdesc='Allow a user your presence.',
|
||||||
completion=self.completion_deny)
|
completion=self.completion_deny)
|
||||||
self.register_command('add', self.command_add,
|
self.register_command('add', self.command_add,
|
||||||
usage='<jid>',
|
usage='<jid>',
|
||||||
desc='Add the specified JID to your roster, ask him to'
|
desc='Add the specified JID to your roster, ask him to'
|
||||||
' allow you to see his presence, and allow him to'
|
' allow you to see his presence, and allow him to'
|
||||||
' see your presence.',
|
' see your presence.',
|
||||||
shortdesc='Add an user to your roster.')
|
shortdesc='Add a user to your roster.')
|
||||||
self.register_command('name', self.command_name,
|
self.register_command('name', self.command_name,
|
||||||
usage='<jid> [name]',
|
usage='<jid> [name]',
|
||||||
shortdesc='Set the given JID\'s name.',
|
shortdesc='Set the given JID\'s name.',
|
||||||
completion=self.completion_name)
|
completion=self.completion_name)
|
||||||
self.register_command('groupadd', self.command_groupadd,
|
self.register_command('groupadd', self.command_groupadd,
|
||||||
usage='<jid> <group>',
|
usage='[<jid> <group>]|<group>',
|
||||||
desc='Add the given JID to the given group.',
|
desc='Add the given JID or selected line to the given group.',
|
||||||
shortdesc='Add an user to a group',
|
shortdesc='Add a user to a group',
|
||||||
completion=self.completion_groupadd)
|
completion=self.completion_groupadd)
|
||||||
self.register_command('groupmove', self.command_groupmove,
|
self.register_command('groupmove', self.command_groupmove,
|
||||||
usage='<jid> <old group> <new group>',
|
usage='<jid> <old group> <new group>',
|
||||||
desc='Move the given JID from the old group to the new group.',
|
desc='Move the given JID from the old group to the new group.',
|
||||||
shortdesc='Move an user to another group.',
|
shortdesc='Move a user to another group.',
|
||||||
completion=self.completion_groupmove)
|
completion=self.completion_groupmove)
|
||||||
self.register_command('groupremove', self.command_groupremove,
|
self.register_command('groupremove', self.command_groupremove,
|
||||||
usage='<jid> <group>',
|
usage='<jid> <group>',
|
||||||
desc='Remove the given JID from the given group.',
|
desc='Remove the given JID from the given group.',
|
||||||
shortdesc='Remove an user from a group.',
|
shortdesc='Remove a user from a group.',
|
||||||
completion=self.completion_groupremove)
|
completion=self.completion_groupremove)
|
||||||
self.register_command('remove', self.command_remove,
|
self.register_command('remove', self.command_remove,
|
||||||
usage='[jid]',
|
usage='[jid]',
|
||||||
|
@ -111,7 +111,7 @@ class RosterInfoTab(Tab):
|
||||||
'will unsubscribe you from its presence, cancel '
|
'will unsubscribe you from its presence, cancel '
|
||||||
'its subscription to yours, and remove the item '
|
'its subscription to yours, and remove the item '
|
||||||
'from your roster.',
|
'from your roster.',
|
||||||
shortdesc='Remove an user from your roster.',
|
shortdesc='Remove a user from your roster.',
|
||||||
completion=self.completion_remove)
|
completion=self.completion_remove)
|
||||||
self.register_command('export', self.command_export,
|
self.register_command('export', self.command_export,
|
||||||
usage='[/path/to/file]',
|
usage='[/path/to/file]',
|
||||||
|
@ -664,15 +664,25 @@ class RosterInfoTab(Tab):
|
||||||
self.core.xmpp.update_roster(jid, name=name, groups=groups,
|
self.core.xmpp.update_roster(jid, name=name, groups=groups,
|
||||||
subscription=subscription, callback=callback)
|
subscription=subscription, callback=callback)
|
||||||
|
|
||||||
@command_args_parser.quoted(2)
|
@command_args_parser.quoted(1, 1)
|
||||||
def command_groupadd(self, args):
|
def command_groupadd(self, args):
|
||||||
"""
|
"""
|
||||||
Add the specified JID to the specified group
|
Add the specified JID to the specified group
|
||||||
"""
|
"""
|
||||||
if args is None:
|
if args is None:
|
||||||
return self.core.command.help('groupadd')
|
return self.core.command.help('groupadd')
|
||||||
jid = safeJID(args[0]).bare
|
if len(args) == 1:
|
||||||
group = args[1]
|
group = args[0]
|
||||||
|
item = self.roster_win.selected_row
|
||||||
|
if isinstance(item, Contact):
|
||||||
|
jid = item.bare_jid
|
||||||
|
elif isinstance(item, Resource):
|
||||||
|
jid = item.jid
|
||||||
|
else:
|
||||||
|
return self.core.command.help('groupadd')
|
||||||
|
else:
|
||||||
|
jid = safeJID(args[0]).bare
|
||||||
|
group = args[1]
|
||||||
|
|
||||||
contact = roster[jid]
|
contact = roster[jid]
|
||||||
if contact is None:
|
if contact is None:
|
||||||
|
|
Loading…
Reference in a new issue