You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by cu...@apache.org on 2017/07/03 14:10:42 UTC

[whimsy] branch roster-style updated: Add whimsy style and minor layout updates

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

curcuru pushed a commit to branch roster-style
in repository https://gitbox.apache.org/repos/asf/whimsy.git


The following commit(s) were added to refs/heads/roster-style by this push:
     new aea32bd  Add whimsy style and minor layout updates
aea32bd is described below

commit aea32bd6539c8db1e62a52a938340ce1e1133844
Author: Shane Curcuru <as...@shanecurcuru.org>
AuthorDate: Mon Jul 3 10:10:37 2017 -0400

    Add whimsy style and minor layout updates
    
    Also remove unneeded table margin-left since it interferes with updated
    bootstrap layout
---
 www/roster/public/stylesheets/app.css |   2 +-
 www/roster/views/committee.html.rb    |  28 +++---
 www/roster/views/committees.html.rb   |  76 ++++++++------
 www/roster/views/committer.html.rb    |  28 +++---
 www/roster/views/committers.html.rb   |  26 +++--
 www/roster/views/duties.html.rb       | 184 ++++++++++++++++++----------------
 www/roster/views/errors.html.rb       |  12 ++-
 www/roster/views/group.html.rb        |  28 +++---
 www/roster/views/groups.html.rb       | 108 +++++++++++---------
 www/roster/views/not_found.html.rb    |   8 +-
 www/roster/views/orgchart.html.rb     |  68 +++++++------
 11 files changed, 315 insertions(+), 253 deletions(-)

diff --git a/www/roster/public/stylesheets/app.css b/www/roster/public/stylesheets/app.css
index eb7075e..7d5ebe3 100644
--- a/www/roster/public/stylesheets/app.css
+++ b/www/roster/public/stylesheets/app.css
@@ -11,7 +11,7 @@ div.value {border-spacing: 0}
 .wide td:first-child {text-align: right; padding: 0}
 .wide td:first-child:after {content: ' —'}
 .wide td:last-child {border-left: solid 1px #000; padding: 0 0.5em}
-table {margin-left: 1em; margin-top: 0.5em}
+table {margin-top: 0.5em}
 td, th {padding-left: 0.5em; padding-right: 0.5em}
 .issue:before, .chair:before {content: '\21d0  '}
 .issue, .not-found {color: red; font-weight:bold} 
diff --git a/www/roster/views/committee.html.rb b/www/roster/views/committee.html.rb
index 071a45f..a35fd66 100644
--- a/www/roster/views/committee.html.rb
+++ b/www/roster/views/committee.html.rb
@@ -4,19 +4,21 @@
 
 _html do
   _base href: '..'
-  _title @committee[:display_name]
   _link rel: 'stylesheet', href: 'stylesheets/app.css'
-
-  _banner breadcrumbs: {
-    roster: '.',
-    committee: 'committee/',
-    @committee[:id] => "committee/#{@committee[:id]}"
-  }
-
-  _div_.main!
-
-  _script src: 'app.js'
-  _.render '#main' do
-    _PMC committee: @committee, auth: @auth
+  _body? do
+    _whimsy_body(
+      title: @committee[:display_name],
+      breadcrumbs: {
+        roster: '.',
+        committee: 'committee/',
+        @committee[:id] => "committee/#{@committee[:id]}"
+      }
+    ) do
+      _div_.main!
+      _script src: 'app.js'
+      _.render '#main' do
+        _PMC committee: @committee, auth: @auth
+      end
+    end
   end
 end
diff --git a/www/roster/views/committees.html.rb b/www/roster/views/committees.html.rb
index 01cbea0..f2ba861 100644
--- a/www/roster/views/committees.html.rb
+++ b/www/roster/views/committees.html.rb
@@ -4,48 +4,58 @@
 
 _html do
   _base href: '..'
-  _title 'ASF Committee Roster'
   _link rel: 'stylesheet', href: 'stylesheets/app.css'
+  _whimsy_body(
+    title: 'ASF Committees Listing',
+    breadcrumbs: {
+      roster: '.',
+      committee: 'committee/'
+    }
+  ) do
+    _whimsy_panel_table(
+      title: 'Summary List of Apache PMCs',
+      helpblock: -> {
+        _ 'A full list of Apache PMCs; click on the name for a detail page about that PMC.  Non-PMC groups of various kinds '
+        _a href: '/roster/group/' do
+          _span.glyphicon.glyphicon_lock :aria_hidden, class: 'text-primary', aria_label: 'ASF Members Private'
+          _ 'are listed privately.'
+        end
+      }
+    ) do
+      _table.table.table_hover do
+        _thead do
+          _tr do
+            _th 'Name'
+            _th 'Chair(s)'
+            _th 'Description'
+          end
+        end
 
-  _banner breadcrumbs: {
-    roster: '.',
-    committee: 'committee/'
-  }
-
-  _h1 'PMCs'
-
-  _table.table.table_hover do
-    _thead do
-      _tr do
-        _th 'Name'
-        _th 'Chair(s)'
-        _th 'Description'
-      end
-    end
+        @committees.sort_by {|pmc| pmc.display_name.downcase}.each do |pmc|
+          _tr_ do
+            _td do
+              _a pmc.display_name, href: "committee/#{pmc.name}"
+            end
 
-    @committees.sort_by {|pmc| pmc.display_name.downcase}.each do |pmc|
-      _tr_ do
-        _td do
-          _a pmc.display_name, href: "committee/#{pmc.name}"
-        end
+            _td do
+              pmc.chairs.each_with_index do |chair, index|
+                _span ', ' unless index == 0
 
-        _td do
-          pmc.chairs.each_with_index do |chair, index|
-            _span ', ' unless index == 0
+                if @members.include? chair[:id]
+                  _b! {_a chair[:name], href: "committer/#{chair[:id]}"}
+                else
+                  _a chair[:name], href: "committer/#{chair[:id]}"
+                end
+              end
+            end
 
-            if @members.include? chair[:id]
-              _b! {_a chair[:name], href: "committer/#{chair[:id]}"}
+            if not pmc.established
+              _td.issue 'Not in committee-info.txt'
             else
-              _a chair[:name], href: "committer/#{chair[:id]}"
+              _td pmc.description
             end
           end
         end
-
-        if not pmc.established
-          _td.issue 'Not in committee-info.txt'
-        else
-          _td pmc.description
-        end
       end
     end
   end
diff --git a/www/roster/views/committer.html.rb b/www/roster/views/committer.html.rb
index 3a53fd7..e1bd704 100644
--- a/www/roster/views/committer.html.rb
+++ b/www/roster/views/committer.html.rb
@@ -4,19 +4,21 @@
 
 _html do
   _base href: '..'
-  _title @committer[:name][:public_name]
   _link rel: 'stylesheet', href: 'stylesheets/app.css'
-
-  _banner breadcrumbs: {
-    roster: '.',
-    committer: 'committer/',
-    @committer[:id] => "committer/#{@committer[:id]}"
-  }
-
-  _div_.main!
-
-  _script src: 'app.js'
-  _.render '#main' do
-    _Person committer: @committer, auth: @auth
+  _body? do
+    _whimsy_body(
+      title: @committer[:name][:public_name],
+      breadcrumbs: {
+        roster: '.',
+        committer: 'committer/',
+        @committer[:id] => "committer/#{@committer[:id]}"
+      }
+    ) do
+      _div_.main!
+      _script src: 'app.js'
+      _.render '#main' do
+        _Person committer: @committer, auth: @auth
+      end
+    end
   end
 end
diff --git a/www/roster/views/committers.html.rb b/www/roster/views/committers.html.rb
index c6c075b..e0f0844 100644
--- a/www/roster/views/committers.html.rb
+++ b/www/roster/views/committers.html.rb
@@ -4,20 +4,18 @@
 
 _html do
   _base href: '..'
-  _title 'ASF Committer Search'
   _link rel: 'stylesheet', href: 'stylesheets/app.css'
-
-  _banner breadcrumbs: {
-    roster: '.',
-    committer: 'committer/'
-  }
-
-  _h1 'Committer - Search'
-
-  _div_.main!
-
-  _script src: 'app.js'
-  _.render '#main' do
-    _CommitterSearch
+  _whimsy_body(
+    title: 'ASF Committer Search',
+    breadcrumbs: {
+      roster: '.',
+      committer: 'committer/'
+    }
+  ) do
+    _div_.main!
+    _script src: 'app.js'
+    _.render '#main' do
+      _CommitterSearch
+    end
   end
 end
diff --git a/www/roster/views/duties.html.rb b/www/roster/views/duties.html.rb
index ac50070..b661dc1 100644
--- a/www/roster/views/duties.html.rb
+++ b/www/roster/views/duties.html.rb
@@ -3,112 +3,120 @@
 # NOTE: this view of the data is Member-private
 PVTCLASS = 'text-warning'
 _html do
-  _title @role['info']['role']
   _base href: '..'
   _link rel: 'stylesheet', href: 'stylesheets/app.css'
 
-  _banner breadcrumbs: {
-    roster: '.',
-    orgchart: 'orgchart/'
-  }
+  _body? do
+    _whimsy_body(
+      title: @role['info']['role'],
+      breadcrumbs: {
+        roster: '.',
+        orgchart: 'orgchart/'
+      }
+    ) do
+      id = @role['info']['id'] || @role['info']['chair']
+      _whimsy_panel_table(
+        title: "#{@role['info']['role']} - #{ASF::Person.find(id).public_name}",
+        helpblock: -> {
+          _ 'Note that this detail page includes  '
+          _span.glyphicon.glyphicon_lock :aria_hidden, class: 'text-primary', aria_label: 'ASF Members Private'
+          _span ' Member private data.', class: PVTCLASS
+        }
+      ) do
+        # ********************************************************************
+        # *                             Summary                              *
+        # ********************************************************************
+        _table.table do
+          _tbody do
+            @role['info'].each do |key, value|
+              next if key == 'role'
+              next unless value
+              (key =~ /private/i) ? (pvt = PVTCLASS) : (pvt = '')
+              _tr_ do
+                _td key, class: pvt
 
-  # ********************************************************************
-  # *                             Summary                              *
-  # ********************************************************************
-
-   id = @role['info']['id'] || @role['info']['chair']
-  _h1_ "#{@role['info']['role']} - #{ASF::Person.find(id).public_name}"
-
-  _h2_ do
-    _ 'Quick Info'
-    _small do 
-      _ ' - includes '
-      _span 'Member private data', class: PVTCLASS
-    end
-  end
-
-  _table.table do
-    _tbody do
-      @role['info'].each do |key, value|
-        next if key == 'role'
-        next unless value
-        (key =~ /private/i) ? (pvt = PVTCLASS) : (pvt = '')
-        _tr_ do
-          _td key, class: pvt
-
-          if %w(id chair).include? key
-            _td class: pvt do
-              if value == 'tbd'
-                _span value
-              else
-                _a value, href: "roster/#{value}"
-              end
-            end
-          elsif %w(reports-to).include? key
-            _td! class: pvt do
-              value.split(/[, ]+/).each_with_index do |role, index|
-                _span ', ' if index > 0
-                if role == 'members'
-                  _a role, href: "roster/members"
+                if %w(id chair).include? key
+                  _td class: pvt do
+                    if value == 'tbd'
+                      _span value
+                    else
+                      _a value, href: "roster/#{value}"
+                    end
+                  end
+                elsif %w(reports-to).include? key
+                  _td! class: pvt do
+                    value.split(/[, ]+/).each_with_index do |role, index|
+                      _span ', ' if index > 0
+                      if role == 'members'
+                        _a role, href: "roster/members"
+                      else
+                        _a role, href: "orgchart/#{role}"
+                      end
+                    end
+                  end
+                elsif %w(email).include? key
+                  _td class: pvt do
+                    _a value, href: "mailto:#{value}"
+                  end
+                elsif %w(private-list).include? key
+                  _td class: pvt do
+                    if value == 'board-private@apache.org'
+                      _a value, href: "mailto:#{value}"
+                    else
+                      _a value, href: "https://lists.apache.org/list.html?#{value}"
+                    end
+                  end
+                elsif %w(roster resolution).include? key
+                  _td class: pvt do
+                    _a value, href: value
+                  end
                 else
-                  _a role, href: "orgchart/#{role}"
+                  _td value, class: pvt 
+                end
+                _td class: pvt do
+                  _(@desc[key]) if @desc.key?(key)
                 end
               end
             end
-          elsif %w(email).include? key
-            _td class: pvt do
-              _a value, href: "mailto:#{value}"
+          end
+        end
+
+        # ********************************************************************
+        # *                             Oversees                             *
+        # ********************************************************************
+        unless @oversees.empty?
+          @oversees = @oversees.sort_by {|name, duties| duties['info']['role']}
+          _ul.list_group do
+            _li.list_group_item.active do
+              _h4 'This Officer Oversees'
             end
-          elsif %w(private-list).include? key
-            _td class: pvt do
-              if value == 'board-private@apache.org'
-                _a value, href: "mailto:#{value}"
-              else
-                _a value, href: "https://lists.apache.org/list.html?#{value}"
+            _li.list_unstyled do
+              _ul style: 'margin-top: 15px; margin-bottom: 15px;' do
+                oversees.each do |name, duties|
+                  _li do
+                    _a duties['info']['role'], href: "orgchart/#{name}"
+                  end
+                end
               end
             end
-          elsif %w(roster resolution).include? key
-            _td class: pvt do
-              _a value, href: value
-            end
-          else
-            _td value, class: pvt 
-          end
-          _td class: pvt do
-            _(@desc[key]) if @desc.key?(key)
           end
         end
-      end
-    end
-  end
 
-  # ********************************************************************
-  # *                             Oversees                             *
-  # ********************************************************************
-
-  unless @oversees.empty?
-    @oversees = @oversees.sort_by {|name, duties| duties['info']['role']}
-    _h2 'Oversees'
-    _table.table do
-      _tbody do
-        @oversees.each do |name, duties|
-          _tr do
-            _td do
-              _a duties['info']['role'], href: "orgchart/#{name}"
+        # ********************************************************************
+        # *                             Details                              *
+        # ********************************************************************
+        _ul.list_group do
+          @role.each do |title, text|
+            next if title == 'info' or title == 'mtime'
+            _li.list_group_item.active do 
+              (title =~ /private/i) ? _h4.text_capitalize.text_warning(title) : _h4.text_capitalize(title)
+            end
+            _li.list_group_item do
+              _markdown text
             end
           end
         end
       end
     end
   end
-
-  # ********************************************************************
-  # *                             Details                              *
-  # ********************************************************************
-
-  @role.each do |title, text|
-    next if title == 'info' or title == 'mtime'
-    (title =~ /private/i) ? _h2.text_capitalize.text_warning(title) : _h2.text_capitalize(title)
-    _markdown text
-  end
 end
diff --git a/www/roster/views/errors.html.rb b/www/roster/views/errors.html.rb
index 53ff55f..aba03af 100644
--- a/www/roster/views/errors.html.rb
+++ b/www/roster/views/errors.html.rb
@@ -7,8 +7,12 @@ _html do
     _link rel: 'stylesheet', href: 'stylesheets/app.css'
   end
   _body? do
-    _whimsy_header '500 Error - Apache Whimsy'
-    _whimsy_content do
+    _whimsy_body(
+      title: '500 Internal Server Error - Apache Whimsy',
+      breadcrumbs: {
+        roster: '.',
+      }
+    ) do
       _div.row do
         _div.col_sm_10 do
           _div.panel.panel_danger do
@@ -21,6 +25,10 @@ _html do
                   _li "#{k} = #{@errors[k]}"
                 end
               end
+              _p do
+                _ 'ASF Members may also review access protected: '
+                _a '/members/log/', href: '/members/log/'
+              end 
             end
           end
         end
diff --git a/www/roster/views/group.html.rb b/www/roster/views/group.html.rb
index c34ab13..3509d6a 100644
--- a/www/roster/views/group.html.rb
+++ b/www/roster/views/group.html.rb
@@ -4,19 +4,21 @@
 
 _html do
   _base href: '..'
-  _title @group[:id]
   _link rel: 'stylesheet', href: 'stylesheets/app.css'
-
-  _banner breadcrumbs: {
-    roster: '.',
-    group: 'group/',
-    @group[:id] => "group/#{@group[:id]}"
-  }
-
-  _div_.main!
-
-  _script src: 'app.js'
-  _.render '#main' do
-    _Group group: @group, auth: @auth
+  _body? do
+    _whimsy_body(
+      title: @group[:id],
+      breadcrumbs: {
+        roster: '.',
+        group: 'group/',
+        @group[:id] => "group/#{@group[:id]}"
+      }
+    ) do
+      _div_.main!
+      _script src: 'app.js'
+      _.render '#main' do
+        _Group group: @group, auth: @auth
+      end
+    end
   end
 end
diff --git a/www/roster/views/groups.html.rb b/www/roster/views/groups.html.rb
index 6b3be34..4e962b5 100644
--- a/www/roster/views/groups.html.rb
+++ b/www/roster/views/groups.html.rb
@@ -4,67 +4,85 @@
 
 _html do
   _base href: '..'
-  _title 'ASF Group list'
+  _title 
   _link rel: 'stylesheet', href: 'stylesheets/app.css'
 
   _banner breadcrumbs: {
     roster: '.',
     group: 'group'
   }
-
-  # ********************************************************************
-  # *                             Summary                              *
-  # ********************************************************************
-
-  _h1_ 'Summary'
- 
-  _table.counts do
-    @groups.group_by(&:last).sort.each do |name, list|
-      _tr do
-        _td list.count
-        _td name
+  _body? do
+    _whimsy_body(
+      title: 'ASF Non-PMC Group list',
+      breadcrumbs: {
+        roster: '.',
+        group: 'group'
+      }
+    ) do
+      # ********************************************************************
+      # *                             Summary                              *
+      # ********************************************************************
+      _whimsy_panel_table(
+        title: 'Summary - Count of non-PMC Groups',
+        helpblock: -> {
+          _ 'This data is for non-PMC groups, including unix groups and other LDAP groups; many of which are '
+          _span.glyphicon.glyphicon_lock :aria_hidden, class: 'text-primary', aria_label: 'ASF Members Private'
+          _ ' private to the ASF.'
+        }
+      ) do
+        _table.counts do
+          @groups.group_by(&:last).sort.each do |name, list|
+            _tr do
+              _td list.count
+              _td name
+            end
+          end
+        end
       end
-    end
-  end
-
-  # ********************************************************************
-  # *                          Complete list                           *
-  # ********************************************************************
 
-  _h1_ 'Groups'
-  _h5_ 'Click on a column heading to change the sort order'
-
-  _table.table.table_hover do
-    _thead do
-      _tr do
-        _th.sorting_asc 'Name', data_sort: 'string-ins'
-        _th 'Group type', data_sort: 'string'
-        _th 'Notes', data_sort: 'notes'
-      end
-    end
+      # ********************************************************************
+      # *                          Complete list                           *
+      # ********************************************************************
+      _whimsy_panel_table(
+        title: 'List of non-PMC Groups',
+        helpblock: -> {
+          _ 'Click on column headers to sort; click on name for '
+          _span.glyphicon.glyphicon_lock :aria_hidden, class: 'text-primary', aria_label: 'ASF Members Private'
+          _' detail page.'
+        }
+      ) do
+        _table.table.table_hover do
+          _thead do
+            _tr do
+              _th.sorting_asc 'Name', data_sort: 'string-ins'
+              _th 'Group type', data_sort: 'string'
+              _th 'Notes', data_sort: 'notes'
+            end
+          end
 
-    _tbody do
-      @groups.each do |name, type|
-        next if name == 'apldap'
-        _tr_ do
-          _td {_a name, href: "group/#{name}"}
-          _td type
+          _tbody do
+            @groups.each do |name, type|
+              next if name == 'apldap'
+              _tr_ do
+                _td {_a name, href: "group/#{name}"}
+                _td type
 
-          if @podlings[name]
-            if @podlings[name].status == 'retired'
-              _td.issue "retired podling"
-            else
-              _td "#{@podlings[name].status} podling"
+                if @podlings[name]
+                  if @podlings[name].status == 'retired'
+                    _td.issue "retired podling"
+                  else
+                    _td "#{@podlings[name].status} podling"
+                  end
+                else
+                  _td
+                end
+              end
             end
-          else
-            _td
           end
         end
       end
     end
   end
-
-
   _script %{
     $(".table").stupidtable();
   }
diff --git a/www/roster/views/not_found.html.rb b/www/roster/views/not_found.html.rb
index d1360fe..d6d4271 100644
--- a/www/roster/views/not_found.html.rb
+++ b/www/roster/views/not_found.html.rb
@@ -7,8 +7,12 @@ _html do
     _link rel: 'stylesheet', href: 'stylesheets/app.css'
   end
   _body? do
-    _whimsy_header '404 Error - Apache Whimsy'
-    _whimsy_content do
+    _whimsy_body(
+      title: '404 Not Found Error - Apache Whimsy',
+      breadcrumbs: {
+        roster: '.',
+      }
+    ) do
       _div.row do
         _div.col_sm_10 do
           _div.panel.panel_danger do
diff --git a/www/roster/views/orgchart.html.rb b/www/roster/views/orgchart.html.rb
index 108cc0a..791fa49 100644
--- a/www/roster/views/orgchart.html.rb
+++ b/www/roster/views/orgchart.html.rb
@@ -3,40 +3,50 @@
 #
 
 _html do
-  _title 'ASF Orgchart'
   _base href: '..'
   _link rel: 'stylesheet', href: 'stylesheets/app.css'
 
-  _banner breadcrumbs: {
-    roster: '.'
-  }
-
-  _h1_ 'ASF Organization Chart'
-
-  _table.table do
-    _thead do
-      _th 'Title'
-      _th 'Contact, Chair, or Person holding that title'
-      _th 'Public Website'
-    end
-
-    _tbody do
-      @org.sort_by {|key, value| value['info']['role']}.each do |key, value|
-        _tr_ do
-          # title
-          _td do
-            _a value['info']['role'], href: "orgchart/#{key}"
+  _body? do
+    _whimsy_body(
+      title: 'ASF Organization Chart',
+      breadcrumbs: {
+        roster: '.',
+        orgchart: 'orgchart/'
+      }
+    ) do
+      _whimsy_panel_table(
+        title: 'Corporate Officer Listing',
+        helpblock: -> {
+          _ 'This table lists all Corporate officers of the ASF, not including Apache TLP project Vice Presidents (except for a few special PMCs).'
+        }
+      ) do
+        _table.table do
+          _thead do
+            _th 'Title'
+            _th 'Contact, Chair, or Person holding that title'
+            _th 'Public Website'
           end
 
-          # person holding the role
-          _td do
-            id = value['info']['id'] || value['info']['chair']
-            _a ASF::Person.find(id).public_name, href: "committer/#{id}"
-          end
-          
-          # Website - often valuable to people looking for info
-          _td do
-            value['info']['website'].nil? ? _('')  : _a('website', href: value['info']['website'])
+          _tbody do
+            @org.sort_by {|key, value| value['info']['role']}.each do |key, value|
+              _tr_ do
+                # title
+                _td do
+                  _a value['info']['role'], href: "orgchart/#{key}"
+                end
+
+                # person holding the role
+                _td do
+                  id = value['info']['id'] || value['info']['chair']
+                  _a ASF::Person.find(id).public_name, href: "committer/#{id}"
+                end
+                
+                # Website - often valuable to people looking for info
+                _td do
+                  value['info']['website'].nil? ? _('')  : _a('website', href: value['info']['website'])
+                end
+              end
+            end
           end
         end
       end

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