render

in www/roster/views/ppmc/members.js.rb [5:101]


  def render
    _h2.ppmc! 'PPMC (' + roster.length + ')'
    _p '(the listing below excludes mentors)'
    _table.table.table_hover do
      _thead do
        _tr do
          _th if @@auth.ppmc
          _th 'id', data_sort: 'string'
          _th 'githubUsername', data_sort: 'string'
          _th.sorting_asc 'public name', data_sort: 'string-ins'
          _th 'notes'
        end
      end

      _tbody do
        roster.each do |person|
          next if @@ppmc.mentors.include? person.id
          _PPMCMember auth: @@auth, person: person, ppmc: @@ppmc
        end
      end
    end

    if @@ppmc.analysePrivateSubs or @@ppmc.isOwner
      _h4.crosscheck! 'Cross-check of private@ list subscriptions'
      _p {
        _ 'PPMC 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 = @@ppmc.unknownSubs
      asfMembers = @@ppmc.asfMembers
      
      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 PPMC (or ASF) members.'
          _br
          _ 'They could be PPMC (or ASF) members whose emails are not listed in their LDAP record.'
          _br
          _ 'Or they could be ex-PPMC 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
    else
      _h4 'Sorry, you do not have access to show private list subscription checks'
    end
  end