render

in www/roster/views/pmc/members.js.rb [10:142]


  def render
    _h2.pmc! 'PMC (' + roster.length + ')'
    _p 'Click on column name to sort'
    _table.table.table_hover do
      _thead do
        _tr do
          _th if @@auth
          _th 'id', data_sort: 'string'
          _th 'githubUsername', data_sort: 'string'
          _th.sorting_asc 'public name', data_sort: 'string-ins'
          _th 'starting date', data_sort: 'string'
          _th 'status - click cell for actions', data_sort: 'string'
        end
      end

      _tbody do
        roster.each do |person|
          _PMCMember auth: @@auth, person: person, committee: @@committee
        end
      end
    end
    if @@committee.analysePrivateSubs or @@committee.isPMCMember
      _h4.crosscheck! 'Cross-check of private@ list subscriptions'
      _p {
        _ 'PMC entries above with (*) do not appear to be subscribed to the private list.'
        _br
        _ 'This could be because the person is subscribed with an address that is not in their LDAP record'
      }
      
      unknownSubs = @@committee.unknownSubs
      asfMembers = @@committee.asfMembers
      unknownSecSubs = @@committee.unknownSecSubs
      
      if unknownSubs.length > 0
        _p {
          
          _span.glyphicon.glyphicon_lock aria_hidden: true, :class => 'text-primary', 'aria-label' => 'ASF Members and private@ moderators'
          _ 'The following subscribers to the private list do not match the known emails for any of the existing PMC (or ASF) members.'
          _br
          _ 'They could be PMC (or ASF) members whose emails are not listed in their LDAP record.'
          _br
          _ 'Or they could be ex-PMC members who are still subscribed.'
          _br
          _br
          _ul {
            unknownSubs.each do |sub|
              person = sub['person']
              if person
                _li {
                  _ sub['addr']
                  _ ' '
                  _ person['name']
                  _ ' '
                  _a person['id'], href: "committer/#{person['id']}"
                }
              else
                _li {
                  _ sub['addr']
                  _ ' '
                  _ '(not recognised)'
                }
              end
            end
          }
        }
      end
      
      if asfMembers.length > 0
        _p {
          
          _span.glyphicon.glyphicon_lock aria_hidden: true, :class => 'text-primary', 'aria-label' => 'ASF Members and private@ moderators'
          _ 'The following ASF members are also subscribed to the list.'
          _br
          _br
          _ul {
            asfMembers.each do |sub|
              person = sub['person']
              if person
                _li {
                  _strong {
                    _ sub['addr']
                    _ ' '
                    _ person['name']
                    _ ' '
                    _a person['id'], href: "committer/#{person['id']}"
                  }
                }
              end
            end
          }
        }
      end
      
      if unknownSecSubs.length > 0
        _h2.crosschecksec! 'Check of security@ list subscriptions'
        _p {
          
          _span.glyphicon.glyphicon_lock aria_hidden: true, :class => 'text-primary', 'aria-label' => 'ASF Members and private@ moderators'
          _ 'The following subscribers to the security@ list do not match the known emails for any of the existing PMC (or ASF) members.'
          _br
          _ 'They could be PMC (or ASF) members whose emails are not listed in their LDAP record.'
          _br
          _ 'Or they could be ex-PMC members who are still subscribed.'
          _br
          _br
          _ul {
            unknownSecSubs.each do |sub|
              person = sub['person']
              if person
                _li {
                  _ sub['addr']
                  _ ' '
                  _ person['name']
                  _ ' '
                  _a person['id'], href: "committer/#{person['id']}"
                }
              else
                _li {
                  _ sub['addr']
                  _ ' '
                  _ '(not recognised)'
                }
              end
            end
          }
        }
      end

    else
      _h4 'Sorry, you do not have access to show private list subscription checks'
    end
  end