From 7084b44b32ccd8fffa6932874f45aabb481bbe08 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come@opensides.be>
Date: Wed, 7 Dec 2016 04:33:38 +0100
Subject: [PATCH] Fixes #5270 ACL assignment list is now bigger, and member
 list is abbreviated if too long

---
 plugins/admin/acl/class_aclAssignment.inc | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/plugins/admin/acl/class_aclAssignment.inc b/plugins/admin/acl/class_aclAssignment.inc
index c77d60afb..6b49c5fff 100644
--- a/plugins/admin/acl/class_aclAssignment.inc
+++ b/plugins/admin/acl/class_aclAssignment.inc
@@ -178,11 +178,18 @@ class ACLsAssignmentAttribute extends DialogOrderedArrayAttribute
 {
   protected $order        = TRUE;
   protected $dialogClass  = 'ACLsAssignmentDialog';
+  protected $height       = 300;
 
   protected function getAttributeArrayValue($key, $value)
   {
     /* Convert text value to displayable array value */
-    $value['members'] = join(', ', $value['members']);
+    sort($value['members']);
+    static $nbShown = 4;
+    $members = join(', ', array_slice($value['members'], 0, $nbShown));
+    if (count($value['members']) > $nbShown) {
+      $members .= sprintf(_(', and %d others'), (count($value['members']) - $nbShown));
+    }
+    $value['members'] = $members;
     return $value;
   }
 
-- 
GitLab