render

in www/roster/views/person/main.js.rb [6:325]


  def render
    
    if @auth
      _div.alert.alert_success 'Double click on a field in this color to edit.'
    end

    _h2 "#{@committer.id}@apache.org"

    
    _PersonName person: self, edit: @edit

    _div.row do
      _div.name 'LDAP Create Date'
      _div.value do
        _ @committer.createTimestamp
      end
    end

    
    if @committer.urls || @auth
      @committer.urls ||= []
      _PersonUrls person: self, edit: @edit
    end

    
    noPMCsub = false
    pmcs = @committer.pmcs.slice() 
    
    @committer.chairOf.each do |pmcchair|
      pmcs << pmcchair unless pmcs.include? pmcchair
    end
    unless pmcs.empty?
      _div.row do
        _div.name 'PMCs'
        _div.value do
          _ul pmcs do |pmc|
            _li {
              _a pmc, href: "committee/#{pmc}"
              if @committer.privateNosub
                if @committer.privateNosub.include? pmc
                  noPMCsub = true
                  _b ' (*)'
                end
              end
              if @committer.chairOf.include? pmc
                _ ' (chair)'
              end
              unless @committer.pmcs.include?(pmc)
                _b ' (not on PMC)'
              end
              unless @committer.committees.include?(pmc)
                _b ' (not in LDAP committee group)'
              end
              unless @committer.committer.include?(pmc)
                _b ' (not in LDAP committer group)'
              end
            }
          end
          if noPMCsub
                  _br
            _p {
              _ '(*) could not find a subscription to the private@ mailing list for this PMC'
              _br
              _ 'Perhaps the subscription address is not listed in the LDAP record'
            }
          end
        end
      end
    end

    
    missingPMCs = false
    committees = @committer.committees
    unless committees.empty?
      _div.row do
        _div.name 'Committees'
        _div.value do
          noPMCsub = false
          _ul committees do |pmc|
            next if  @committer.pmcs.include? pmc
            missingPMCs = true
            _li {
              _a pmc, href: "committee/#{pmc}"
              if @committer.chairOf.include? pmc
                _ ' (chair)'
              end
            }
          end
          if missingPMCs
            _ 'In LDAP committee group, but not on the corresponding PMC'
          else
            _ '(excludes PMCs listed above)'
          end
        end
      end
    end

    
    commit_list = @committer.committer
    unless commit_list.all? {|pmc| committees.include? pmc}
      _div.row do
        _div.name 'Committer'
        _div.value do
          _ul commit_list do |pmc|
            next if committees.include? pmc
            _li {_a pmc, href: "committee/#{pmc}"}
          end
        end
      end
    end

    
    unless @committer.groups.empty?
      _div.row do
        _div.name 'Groups'
        _div.value do
          _ul @committer.groups do |group|
            next if group == 'apldap'

            if group == 'committers'
              _li {_a group, href: 'committer/'}
            elsif group == 'member'
              _li {_a group, href: 'members'}
            else
              _li {_a group, href: "group/#{group}"}
            end
            if @committer.chairOf.length > 0 and not @committer.groups.include? 'pmc-chairs'
              _ '[Missing: pmc-chairs]'
            end
          end
        end
      end
    end

    
    unless @committer.podlings.empty?
      _div.row do
        _div.name 'Podlings'
        _div.value do
          _ul @committer.podlings do |podlings|
            _li {_a podlings, href: "ppmc/#{podlings}"}
          end
        end
      end
    end

    
    nonpmcs = @committer.nonpmcs
    unless nonpmcs.empty?
      _div.row do
        _div.name 'non-PMCs'
        _div.value do
          _ul nonpmcs do |nonpmc|
            _li {
              _a nonpmc, href: "nonpmc/#{nonpmc}"
              if @committer.nonPMCchairOf.include? nonpmc
                _ ' (chair)'
              end
            }
          end
        end
      end
    end

    if @auth 
      _div.row do
        _div.name 'Email provider issues'
        _div.value do
          _ 'Some providers are known to block our emails as SPAM.'
          _br
          _ 'Please see the following for details: '
          _a 'email provider issues', href: '../committers/emailissues', target: '_blank'
          _ ' (opens in new page)'
        end
      end
    end

    
    
    _PersonEmailForwards person: self, edit: @edit

    
    _PersonEmailAlt person: self, edit: @edit

    if @committer.email_other
      _PersonEmailOther person: self 
    end

    
    if @committer.moderates and @committer.moderates.keys().length > 0
      _div.row do
        _div.name 'Moderates'
        _div.value do
          _ul @committer.moderates.keys() do |list_name|
            _li do
              _a list_name, href: 'https://lists.apache.org/list.html?' +
                list_name
              _span ' as '
              _span @committer.moderates[list_name].join(', ')
            end
          end
          _ "(last checked #{@committer.modtime})"
        end
      end
    end

    
    if @committer.subscriptions
      _div.row do
        _div.name 'Subscriptions'
        _div.value do
          _ul @committer.subscriptions do |list_email|
            _li do
              _a list_email[0],
                href: 'https://lists.apache.org/list.html?' + list_email[0]
              _span ' as '
              _span list_email[1]
            end
          end
          _ "(last checked #{@committer.subtime})"
        end
      end
    end

    
    if @committer.digests
      _div.row do
        _div.name 'Digest Subscriptions'
        _div.value do
          _ul @committer.digests do |list_email|
            _li do
              _a list_email[0],
                href: 'https://lists.apache.org/list.html?' + list_email[0]
              _span ' as '
              _span list_email[1]
            end
          end
          _ "(last checked #{@committer.digtime})"
        end
      end
    end

    
    if @committer.pgp || @auth
      @committer.pgp ||= []
      _PersonPgpKeys person: self, edit: @edit
    end

    
    _div.row do
      _div.name 'Host Access'
      _div.value do
        
        _pre @committer.host.join(' ')
      end
    end

    if @committer.inactive
      _div.row do
        _div.name 'Inactive (cannot login)'
        _div.value @committer.inactive
      end
    end

    
    if @committer.ssh || @auth
      @committer.ssh ||= []
      _PersonSshKeys person: self, edit: @edit
    end

    
    if @committer.githubUsername || @auth
      @committer.githubUsername ||= []
      _PersonGitHub person: self, edit: @edit
    end

    if @committer.member
      _PersonMemberStatus person: self, edit: @edit

      
      if @committer.member.info
        _PersonMemberText person: self, edit: @edit
      end

      if @committer.member.nomination
        _div.row do
          _div.name 'Nomination'
          _div.value {_pre @committer.member.nomination}
        end
      end

    end

    
    if @committer.forms
      _PersonForms person: self
    end

    
    _PersonSascore person: self, edit: @edit

    
    _div.modal.fade.wide_form tabindex: -1 do
      _div.modal_dialog do
        _div.modal_content do
          _div.modal_header do
            _button.close 'x', data_dismiss: 'modal'
            _h4 @response_title
          end
          _div.modal_body do
            _textarea value: @response, readonly: true
          end
          _div.modal_footer do
            _button.btn.btn_default 'Close', data_dismiss: 'modal'
          end
        end
      end
    end
  end