Add channel sub-permission checks for admin/manage switches

This commit is contained in:
Griatch 2021-05-11 23:19:09 +02:00
parent d118fb17b8
commit adf484b9df
9 changed files with 186 additions and 642 deletions

View file

@ -447,19 +447,17 @@ class DefaultChannel(ChannelDB, metaclass=TypeclassBase):
# send to each individual subscriber
try:
message = receiver.at_pre_channel_msg(message, self, **send_kwargs)
if message in (None, False):
recv_message = receiver.at_pre_channel_msg(message, self, **send_kwargs)
if recv_message in (None, False):
return
receiver.channel_msg(message, self, **send_kwargs)
receiver.channel_msg(recv_message, self, **send_kwargs)
receiver.at_post_channel_msg(message, self, **send_kwargs)
receiver.at_post_channel_msg(recv_message, self, **send_kwargs)
except Exception:
logger.log_trace(f"Error sending channel message to {receiver}.")
# post-send hook
self.at_post_msg(message, **send_kwargs)