From 1ae89a4c3d3754251b809a33ac5cd789dc71ff1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come@opensides.be>
Date: Tue, 27 Sep 2016 14:22:15 +0200
Subject: [PATCH] Fixes #5162 Added DSA to object types you can put in a group

---
 include/select/objectSelect/class_objectSelect.inc |  2 +-
 plugins/admin/groups/class_groupManagement.inc     |  3 +++
 plugins/admin/groups/class_ogroup.inc              |  3 ++-
 plugins/admin/groups/group-filter.xml              | 10 +++++++++-
 4 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/include/select/objectSelect/class_objectSelect.inc b/include/select/objectSelect/class_objectSelect.inc
index f914b1cf7..792199c7f 100644
--- a/include/select/objectSelect/class_objectSelect.inc
+++ b/include/select/objectSelect/class_objectSelect.inc
@@ -23,7 +23,7 @@ class objectSelect extends userSelect
 {
   protected $objectTypes = array(
     'user', 'application',  'terminal', 'workstation',
-    'winstation', 'server', 'printer',  'phone'
+    'winstation', 'server', 'printer',  'phone', 'simpleSecurityObject'
   );
   protected $autoFilterAttributes = array('dn', 'cn', 'uid', 'description');
 }
diff --git a/plugins/admin/groups/class_groupManagement.inc b/plugins/admin/groups/class_groupManagement.inc
index aa885b7a5..4e50e1951 100644
--- a/plugins/admin/groups/class_groupManagement.inc
+++ b/plugins/admin/groups/class_groupManagement.inc
@@ -139,6 +139,9 @@ class groupManagement extends simpleManagement
     if (class_available('sambaAccount')) {
       $filters[]= array('id'  => 'SAMBA',       'label'  => _('Show samba groups'));
     }
+    if (class_available('simpleSecurityObject')) {
+      $filters[]= array('id'  => 'SIMPLESECURITYOBJECT',       'label'  => _('Show DSA entries'));
+    }
     if (class_available('systemManagement')) {
       $filters = array_merge(
         $filters,
diff --git a/plugins/admin/groups/class_ogroup.inc b/plugins/admin/groups/class_ogroup.inc
index 9b48d483e..ae4e57c54 100644
--- a/plugins/admin/groups/class_ogroup.inc
+++ b/plugins/admin/groups/class_ogroup.inc
@@ -146,7 +146,8 @@ class ogroup extends simplePlugin
     'O' => 'winstation',
     'T' => 'terminal',
     'F' => 'phone',
-    'P' => 'printer'
+    'P' => 'printer',
+    'D' => 'simpleSecurityObject',
   );
 
   static function plInfo()
diff --git a/plugins/admin/groups/group-filter.xml b/plugins/admin/groups/group-filter.xml
index 007abeaa1..44b95fff7 100644
--- a/plugins/admin/groups/group-filter.xml
+++ b/plugins/admin/groups/group-filter.xml
@@ -10,7 +10,7 @@
   <search>
     <query>
       <backend>LDAP</backend>
-      <filter>(&amp;(|(&amp;(objectClass=posixGroup)(|$PRIMARY$MAIL$SAMBA))$ROLE(&amp;(objectClass=groupOfNames)(|(gosaGroupObjects=[])$USER$GROUP$APPLICATION$SERVER$WORKSTATION$WINDOWS$TERMINAL$PRINTER$PHONE$UNKNOWN)))$NAME)</filter>
+      <filter>(&amp;(|(&amp;(objectClass=posixGroup)(|$PRIMARY$MAIL$SAMBA))$ROLE(&amp;(objectClass=groupOfNames)(|(gosaGroupObjects=[])$USER$GROUP$APPLICATION$SERVER$WORKSTATION$WINDOWS$TERMINAL$PRINTER$PHONE$SIMPLESECURITYOBJECT$UNKNOWN)))$NAME)</filter>
       <attribute>dn</attribute>
       <attribute>objectClass</attribute>
       <attribute>cn</attribute>
@@ -124,6 +124,14 @@
     <set>(gosaGroupObjects=*F*)</set>
   </element>
 
+  <element>
+    <type>checkbox</type>
+    <tag>SIMPLESECURITYOBJECT</tag>
+    <default>true</default>
+    <unset></unset>
+    <set>(gosaGroupObjects=*D*)</set>
+  </element>
+
   <element>
     <type>checkbox</type>
     <tag>UNKNOWN</tag>
-- 
GitLab