You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by se...@apache.org on 2019/03/12 15:14:36 UTC
[whimsy] branch master updated: Count email types;
show potential issues first
This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git
The following commit(s) were added to refs/heads/master by this push:
new 1fa764d Count email types; show potential issues first
1fa764d is described below
commit 1fa764d878bec1819fc61eaa21ae6342e2948899
Author: Sebb <se...@apache.org>
AuthorDate: Tue Mar 12 15:14:27 2019 +0000
Count email types; show potential issues first
---
www/members/security-subs.cgi | 91 ++++++++++++++++++++++++++-----------------
1 file changed, 56 insertions(+), 35 deletions(-)
diff --git a/www/members/security-subs.cgi b/www/members/security-subs.cgi
index e0ddf80..da3f3c8 100755
--- a/www/members/security-subs.cgi
+++ b/www/members/security-subs.cgi
@@ -32,7 +32,7 @@ _html do
path = ENV['PATH_INFO'].sub('/', '')
if path == ''
_ul.list_group do
- lists.each do |dom, subs|
+ lists.each do |dom, _|
_li.list_group_item do
_a dom, href: dom
end
@@ -40,39 +40,74 @@ _html do
end
elsif lists[path]
+ podling = ASF::Podling.find(path)
+ committee = ASF::Committee.find(path)
+ project = ASF::Project.find(path)
+ colors=Hash.new{|h,k| h[k]=0} # counts of colors
+ order=['bg-danger', 'bg-warning', 'bg-info', 'bg-success', ''] # sort order
+ subh = Hash[
+ lists[path].map do |email|
+ name = '*UNKNOWN*'
+ if WHITELIST.any? {|regex| email =~ regex}
+ person = nil
+ name = '(archiver)'
+ color = ''
+ else
+ person = ASF::Person.find_by_email(email)
+ if person
+ name = person.public_name
+ if person.asf_member? or project.owners.include? person
+ color = 'bg-success'
+ elsif project.members.include? person
+ color = 'bg-info'
+ else
+ color = 'bg-warning'
+ end
+ else
+ color = 'bg-danger'
+ end
+ end
+ colors[color] += 1
+ [email, {person: person , color: color, name: name}]
+ end
+ ].sort_by {|k,v| [order.index(v[:color]),v[:name]]}
+
_table do
_tr do
+ _th 'Count '
_th 'Legend'
end
_tr do
- _td do
- _ 'Archiver'
+ _td colors['bg-danger']
+ _td class: 'bg-danger' do
+ _ 'Person (email) not recognised'
end
end
_tr do
- _td class: 'bg-success' do
- _ 'ASF member or project member'
+ _td colors['bg-warning']
+ _td class: 'bg-warning' do
+ _ 'ASF committer not associated with the project'
end
end
_tr do
+ _td colors['bg-info']
_td class: 'bg-info' do
_ 'Project committer - not on (P)PMC'
end
end
_tr do
- _td class: 'bg-warning' do
- _ 'ASF committer not associated with the project'
+ _td colors['bg-success']
+ _td class: 'bg-success' do
+ _ 'ASF member or project member'
end
end
_tr do
- _td class: 'bg-danger' do
- _ 'Person (email) not recognised'
+ _td colors['']
+ _td do
+ _ 'Archiver (there are expected to be up to 3 archivers)'
end
end
end
- podling = ASF::Podling.find(path)
- committee = ASF::Committee.find(path)
- project = ASF::Project.find(path)
_h2 do
if podling
_a podling.display_name,
@@ -92,21 +127,10 @@ _html do
end
_tbody do
- lists[path].sort_by {|email| email.downcase}.each do |email|
- person = ASF::Person.find_by_email(email)
- if person
- if person.asf_member? or project.owners.include? person
- color = 'bg-success'
- elsif project.members.include? person
- color = 'bg-info'
- else
- color = 'bg-warning'
- end
- elsif WHITELIST.any? {|regex| email =~ regex}
- color = ''
- else
- color = 'bg-danger'
- end
+ subh.each do |email, hash|
+ color = hash[:color]
+ person = hash[:person]
+ name = hash[:name]
_tr class: color do
_td email
@@ -114,25 +138,22 @@ _html do
if person
if person.asf_member?
_b do
- _a person.public_name,
- href: "../../roster/committer/#{person.id}"
+ _a name, href: "../../roster/committer/#{person.id}"
end
else
- _a person.public_name,
- href: "../../roster/committer/#{person.id}"
+ _a name, href: "../../roster/committer/#{person.id}"
end
- elsif WHITELIST.any? {|regex| email =~ regex}
- _ '(archiver)'
+ else
+ _ name
end
end
end
end
end
end
- _p 'Note that there are expected to be upto 3 archivers'
else
_h3 class: 'bg-warning' do
- _ "Could not find a list with the name: #{path}"
+ _ "Could not find a security list for the project #{path}"
end
_br
end