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

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git


The following commit(s) were added to refs/heads/master by this push:
     new 61b10784 Show official membership status
61b10784 is described below

commit 61b10784a52163959c23b534f50ddfb2f45cda97
Author: Sebb <[email protected]>
AuthorDate: Sun May 14 16:48:04 2023 +0100

    Show official membership status
---
 www/roster/models/group.rb   |  6 ++++--
 www/roster/views/group.js.rb | 13 +++++++++----
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/www/roster/models/group.rb b/www/roster/models/group.rb
index 521924b7..d35d4aee 100644
--- a/www/roster/models/group.rb
+++ b/www/roster/models/group.rb
@@ -32,6 +32,8 @@ class Group
   def self.serialize(id, itype=nil)
     response = {}
 
+    member_status = ASF::Member.member_statuses
+
     type = 'LDAP group'
     group = ASF::Group.find(id)
 
@@ -55,7 +57,7 @@ class Group
         type: type,
         dn: (group.dn rescue ''), # not all groups have a DN
         members: Hash[group.members.map {|person| [person.id, (person.cn 
rescue '**Entry missing from LDAP people**')]}], # if id not in people
-        asfmembers: group.members.select{|person| 
ASF.members.include?(person)}.map(&:id),
+        memberstatus: group.members.map{|person| [person.id, 
member_status[person.id]]}.to_h,
       }
 
       if id == 'hudson-jobadmin'
@@ -84,7 +86,7 @@ class Group
           type: type,
           dn: (group.dn rescue ''), # not all groups have a DN
           members: Hash[group.map {|person| [person.id, person.cn]}],
-          asfmembers: group.select{|person| 
ASF.members.include?(person)}.map(&:id),
+          memberstatus: group.map{|person| [person.id, 
member_status[person.id]]}.to_h,
         }
       end
     end
diff --git a/www/roster/views/group.js.rb b/www/roster/views/group.js.rb
index e08a01b9..ad049668 100644
--- a/www/roster/views/group.js.rb
+++ b/www/roster/views/group.js.rb
@@ -11,7 +11,7 @@ class Group < Vue
   def render
     group = @group
     members = group.members.keys().sort_by {|id| group.members[id]}
-    asfmembers = group.asfmembers || []
+    memberstatus = group.memberstatus || {}
 
     if group.type == 'LDAP auth group' or group.id == 'asf-secretary'
       auth = (members.include? @@auth.id or @@auth.secretary or @@auth.root)
@@ -48,7 +48,7 @@ class Group < Vue
 
       _tbody do
         members.each do |id|
-          _GroupMember id: id, name: group.members[id], auth: auth, asfmember: 
asfmembers.includes(id),
+          _GroupMember id: id, name: group.members[id], auth: auth, 
memberstatus: memberstatus[id],
             pending: false
         end
 
@@ -115,10 +115,15 @@ class GroupMember < Vue
   def render
     _tr onDblclick: self.select do
       _td {_a @@id, href: "committer/#{@@id}"}
-      if @@asfmember
+      if @@memberstatus == 'current'
         _td { _b @@name }
-      else
+      elsif @@memberstatus.nil?
         _td @@name
+      else
+        _td do
+          _i @@name
+          _ " (#{@@memberstatus})"
+        end
       end
 
       _td data_id: @@id do

Reply via email to