You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by Sam Ruby <ru...@apache.org> on 2016/03/01 19:32:14 UTC

[whimsy.git] [1/1] Commit f074d48: cross-check podlings with committees and attic

Commit f074d48cda95815a47436ddc319887428e7029a5:
    cross-check podlings with committees and attic


Branch: refs/heads/master
Author: Sam Ruby <ru...@intertwingly.net>
Committer: Sam Ruby <ru...@intertwingly.net>
Pusher: rubys <ru...@apache.org>

------------------------------------------------------------
repository.yml                                               | +++ 
www/roster/main.rb                                           | +++ 
www/roster/views/podlings.html.rb                            | +++++++++++ --
------------------------------------------------------------
30 changes: 27 additions, 3 deletions.
------------------------------------------------------------


diff --git a/repository.yml b/repository.yml
index 74762d7..d8272fb 100644
--- a/repository.yml
+++ b/repository.yml
@@ -16,6 +16,9 @@
     url: infra/infrastructure/apmail/trunk/bin
     depth: files
 
+  attic-xdocs:
+    url: asf/attic/site/xdocs/projects
+
   authorization:
     url: infra/infrastructure/trunk/subversion/authorization
     depth: files
diff --git a/www/roster/main.rb b/www/roster/main.rb
index d4df7c9..9a1afae 100755
--- a/www/roster/main.rb
+++ b/www/roster/main.rb
@@ -112,6 +112,9 @@
 
 # member list
 get '/podlings' do
+  attic = ASF::SVN['asf/attic/site/xdocs/projects']
+  @attic = Dir["#{attic}/*.xml"].map {|file| File.basename(file, '.xml')}
+  @committees = ASF::Committee.list.map(&:id)
   @podlings = ASF::Podlings.new.to_a.map {|id, hash| hash.merge id: id}
 
   _html :podlings
diff --git a/www/roster/views/podlings.html.rb b/www/roster/views/podlings.html.rb
index cff58e7..5d0d0bf 100644
--- a/www/roster/views/podlings.html.rb
+++ b/www/roster/views/podlings.html.rb
@@ -5,6 +5,9 @@
 _html do
   _title 'ASF Podling list'
   _link rel: 'stylesheet', href: 'stylesheets/app.css'
+  _style %{
+    p {margin-top: 0.5em}
+  }
 
   _banner breadcrumbs: {
     roster: '.',
@@ -40,7 +43,8 @@
   color = {
     'current'   => 'bg-info',
     'graduated' => 'bg-success',
-    'retired'   => 'bg-warning'
+    'retired'   => 'bg-warning',
+    'attic'     => 'bg-danger'
    }
 
   _h1_ 'Podlings'
@@ -57,13 +61,27 @@
 
     _tbody do
       @podlings.sort_by {|podling| podling[:name].downcase}.each do |podling|
-        _tr_ class: color[podling[:status]] do
+        status = (@attic.include?(podling[:id]) ? 'attic' : podling[:status])
+
+        _tr_ class: color[status] do
           _td do
             _a podling[:name], href:
               "http://incubator.apache.org/projects/#{podling[:id]}.html"
           end
 
-          _td podling[:status]
+          if @committees.include? podling[:id]
+            _td data_sort_value: "#{podling[:status]} - pmc" do
+              _a podling[:status], href: "committee/#{podling[:id]}"
+            end
+          elsif @attic.include? podling[:id]
+            _td data_sort_value: "#{podling[:status]} - attic" do
+              _a podling[:status], href:
+                "http://attic.apache.org/projects/#{podling[:id]}.html"
+            end
+          else
+            _td podling[:status]
+          end
+
           _td podling[:description]
         end
       end