forked from sch/Slixfeed
Restrict Ad-Hoc Publish to moderators (Thank you mirux).
This commit is contained in:
parent
0c4efbb650
commit
3597777bcc
2 changed files with 12 additions and 4 deletions
|
@ -1,2 +1,2 @@
|
|||
__version__ = '0.1.62'
|
||||
__version_info__ = (0, 1, 62)
|
||||
__version__ = '0.1.63'
|
||||
__version_info__ = (0, 1, 63)
|
||||
|
|
|
@ -817,7 +817,11 @@ class Slixfeed(slixmpp.ClientXMPP):
|
|||
logger.debug('{}: jid_full: {}'
|
||||
.format(function_name, jid_full))
|
||||
jid_bare = session['from'].bare
|
||||
if is_operator(self, jid_bare):
|
||||
chat_type = await get_chat_type(self, jid_bare)
|
||||
moderator = None
|
||||
if chat_type == 'groupchat':
|
||||
moderator = is_moderator(self, jid_bare, jid_full)
|
||||
if is_operator(self, jid_bare) or moderator:
|
||||
form = self['xep_0004'].make_form('form', 'PubSub')
|
||||
form['instructions'] = 'Publish news items to PubSub nodes.'
|
||||
options = form.add_field(desc='From which medium source do you '
|
||||
|
@ -837,6 +841,10 @@ class Slixfeed(slixmpp.ClientXMPP):
|
|||
session['next'] = self._handle_publish_action
|
||||
session['prev'] = None
|
||||
session['payload'] = form
|
||||
else:
|
||||
if chat_type == 'groupchat':
|
||||
text_warn = ('This resource is restricted to moderators of {}.'
|
||||
.format(jid_bare))
|
||||
else:
|
||||
text_warn = 'This resource is restricted to operators.'
|
||||
session['notes'] = [['warn', text_warn]]
|
||||
|
|
Loading…
Reference in a new issue