You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by ru...@apache.org on 2017/09/04 00:07:40 UTC

[whimsy] branch master updated: first draft implemention of https://issues.apache.org/jira/browse/WHIMSY-130

This is an automated email from the ASF dual-hosted git repository.

rubys 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 8ef6cd2  first draft implemention of https://issues.apache.org/jira/browse/WHIMSY-130
8ef6cd2 is described below

commit 8ef6cd292c6678c394d1df88608748d97f1bdcc7
Author: Sam Ruby <ru...@intertwingly.net>
AuthorDate: Sun Sep 3 20:07:09 2017 -0400

    first draft implemention of https://issues.apache.org/jira/browse/WHIMSY-130
---
 www/members/security-subs.cgi | 92 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 92 insertions(+)

diff --git a/www/members/security-subs.cgi b/www/members/security-subs.cgi
new file mode 100755
index 0000000..4e9b741
--- /dev/null
+++ b/www/members/security-subs.cgi
@@ -0,0 +1,92 @@
+#!/usr/bin/env ruby
+$LOAD_PATH.unshift File.realpath(File.expand_path('../../../lib', __FILE__))
+require 'wunderbar/bootstrap'
+require 'whimsy/asf'
+require 'whimsy/asf/mlist'
+
+# ensure that there is a trailing slash (so relative paths will work)
+if not ENV['PATH_INFO']
+  print "Status: 302 Found\r\nLocation: #{ENV['SCRIPT_URI']}/\r\n\r\n"
+  exit
+end
+
+# extract information for all security@pmc.apache.org lists
+lists = {}
+ASF::MLIST.list_parse('sub') do |dom, list, subs|
+  next unless list == 'security'
+  next unless dom.end_with? '.apache.org'
+  lists[dom.sub('.apache.org', '')] = subs
+end
+
+_html do
+  path = ENV['PATH_INFO'].sub('/', '')
+  if path == ''
+    _whimsy_body(
+      title: "Security Mailing List Subscriptions"
+    ) do
+      _ul.list_group do
+	lists.each do |dom, subs|
+	  _li.list_group_item do
+	    _a dom, href: dom
+	  end
+	end
+      end
+    end
+
+  elsif lists[path]
+    committee = ASF::Committee.find('whimsy')
+
+    _whimsy_body(
+      title: "Security Mailing List Subscriptions: #{path}"
+    ) do
+
+      _table.table do
+	_thead do
+	  _tr do
+	    _th 'email'
+	    _th 'person'
+	  end
+	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 committee.committers.include? person
+		color = 'bg-success'
+	      else
+		color = 'bg-warning'
+	      end
+	    else
+	      color = 'bg-danger'
+	    end
+
+	    _tr class: color do
+	       _td email
+	       if person
+		 if person.asf_member?
+		   _td do
+		     _b do
+		       _a person.public_name, 
+			 href: "../../roster/committer/#{person.id}"
+		     end
+		   end
+		 else
+		   _td do
+		     _a person.public_name, 
+		       href: "../../roster/committer/#{person.id}"
+		    end
+		 end
+	       else
+		 _td
+	       end
+	    end
+	  end
+	end
+      end
+    end
+
+  else
+    print "Status: 404 Not Found\r\n\r\n"
+  end
+end

-- 
To stop receiving notification emails like this one, please contact
['"commits@whimsical.apache.org" <co...@whimsical.apache.org>'].