This is an automated email from the ASF dual-hosted git repository. sebb pushed a commit to branch mod-gui in repository https://gitbox.apache.org/repos/asf/whimsy.git
commit 7e345e70a97c6a9a16b0bbe1bf02e2c89b286e2a Author: Sebb <[email protected]> AuthorDate: Wed Jan 9 23:36:12 2019 +0000 Add karma check --- www/moderation/desk/models/mailbox.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/www/moderation/desk/models/mailbox.rb b/www/moderation/desk/models/mailbox.rb index a1a3c35..1dc18a9 100644 --- a/www/moderation/desk/models/mailbox.rb +++ b/www/moderation/desk/models/mailbox.rb @@ -13,6 +13,7 @@ require 'yaml' require_relative '../config.rb' require_relative 'message.rb' +require_relative 'auth.rb' class Mailbox @@ -181,7 +182,16 @@ class Mailbox # Is the message visible to the caller? # e.g. private and security lists are generally not visible to all def self.message_visible?(message) - message[:public] # || ASF member || PMC member + message[:public] and return true # shortcut because auth may be expensive + info = Auth.info({}) + visible = info[:member] + visible ||= (message[:domain]||'').match(%r{^(.+)\.apache\.org$}) do |m| + group,_ = m.captures + # (P)PMC member? + groups = info[:project_owners] || [] + groups.include? group + end + visible end def message_active?(status)
