allow to show member/owner count
This commit is contained in:
parent
03caa12d31
commit
b831414ca4
|
@ -1,3 +1,7 @@
|
||||||
|
September 2019
|
||||||
|
- Group account types can show member+owner count in list view
|
||||||
|
|
||||||
|
|
||||||
02.07.2019 6.8
|
02.07.2019 6.8
|
||||||
- Parallel editing of multiple entries in different browser tabs supported
|
- Parallel editing of multiple entries in different browser tabs supported
|
||||||
- LAM supports the progressive web app standard which allows to install LAM as an icon on home screen
|
- LAM supports the progressive web app standard which allows to install LAM as an icon on home screen
|
||||||
|
|
|
@ -2259,8 +2259,8 @@ AuthorizedKeysCommandUser root</literallayout>
|
||||||
|
|
||||||
<para><emphasis role="bold">Configuration</emphasis></para>
|
<para><emphasis role="bold">Configuration</emphasis></para>
|
||||||
|
|
||||||
<para>Please add the account type "Groups" and then select account
|
<para>Special Please add the account type "Groups" and then select
|
||||||
module "Unix (posixGroup)".</para>
|
account module "Unix (posixGroup)".</para>
|
||||||
|
|
||||||
<screenshot>
|
<screenshot>
|
||||||
<mediaobject>
|
<mediaobject>
|
||||||
|
@ -2270,6 +2270,43 @@ AuthorizedKeysCommandUser root</literallayout>
|
||||||
</mediaobject>
|
</mediaobject>
|
||||||
</screenshot>
|
</screenshot>
|
||||||
|
|
||||||
|
<para>Virtual list attributes:</para>
|
||||||
|
|
||||||
|
<screenshot>
|
||||||
|
<graphic fileref="images/mod_unixGroupConfig2.png"/>
|
||||||
|
</screenshot>
|
||||||
|
|
||||||
|
<para>The following virtual attributes can be shown in the group list.
|
||||||
|
These are no real LDAP attributes but extra data that can be shown by
|
||||||
|
LAM.</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>memberuid_count: number of entries in attribute
|
||||||
|
"memberuid"</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>member_count: number of entries in attribute "member"</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>uniqueMember_count: number of entries in attribute
|
||||||
|
"uniquemember"</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>owner_count: number of entries in attribute "owner"</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>roleOccupant_count: number of entries in attribute
|
||||||
|
"roleOccupant"</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>Module settings:</para>
|
||||||
|
|
||||||
<para>GID generator: LAM will suggest GID numbers for your accounts.
|
<para>GID generator: LAM will suggest GID numbers for your accounts.
|
||||||
Please note that it may happen that there are duplicate IDs assigned if
|
Please note that it may happen that there are duplicate IDs assigned if
|
||||||
users create groups at the same time. Use an <ulink
|
users create groups at the same time. Use an <ulink
|
||||||
|
@ -3036,6 +3073,38 @@ AuthorizedKeysCommandUser root</literallayout>
|
||||||
</mediaobject>
|
</mediaobject>
|
||||||
</screenshot>
|
</screenshot>
|
||||||
|
|
||||||
|
<para>Virtual list attributes:</para>
|
||||||
|
|
||||||
|
<screenshot>
|
||||||
|
<graphic fileref="images/mod_gon.png"/>
|
||||||
|
</screenshot>
|
||||||
|
|
||||||
|
<para>The following virtual attributes can be shown in the group list.
|
||||||
|
These are no real LDAP attributes but extra data that can be shown by
|
||||||
|
LAM.</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>member_count: number of entries in attribute "member"</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>uniqueMember_count: number of entries in attribute
|
||||||
|
"uniquemember"</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>owner_count: number of entries in attribute "owner"</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>roleOccupant_count: number of entries in attribute
|
||||||
|
"roleOccupant"</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>Module settings:</para>
|
||||||
|
|
||||||
<para>On the module settings tab you set some options like the display
|
<para>On the module settings tab you set some options like the display
|
||||||
format for members/owners and if fields like description should not be
|
format for members/owners and if fields like description should not be
|
||||||
displayed.</para>
|
displayed.</para>
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 44 KiB |
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
|
@ -3,7 +3,7 @@ use \LAM\TYPES\TypeManager;
|
||||||
/*
|
/*
|
||||||
|
|
||||||
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
||||||
Copyright (C) 2005 - 2018 Roland Gruber
|
Copyright (C) 2005 - 2019 Roland Gruber
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@ -115,6 +115,11 @@ class group extends baseType {
|
||||||
"roleOccupant" => _("Role member DNs"),
|
"roleOccupant" => _("Role member DNs"),
|
||||||
"uniqueMember" => _("Group member DNs"),
|
"uniqueMember" => _("Group member DNs"),
|
||||||
"memberUrl" => _("Entries"),
|
"memberUrl" => _("Entries"),
|
||||||
|
'memberuid_count' => _('Member count'),
|
||||||
|
'member_count' => _('Member count'),
|
||||||
|
'uniqueMember_count' => _('Member count'),
|
||||||
|
'owner_count' => _('Owner count'),
|
||||||
|
'roleOccupant_count' => _('Member count')
|
||||||
));
|
));
|
||||||
if ($this->getType() != null) {
|
if ($this->getType() != null) {
|
||||||
$modules = $this->getType()->getModules();
|
$modules = $this->getType()->getModules();
|
||||||
|
@ -279,15 +284,17 @@ class lamGroupList extends lamList {
|
||||||
parent::listGetParams();
|
parent::listGetParams();
|
||||||
// generate list primary group memebers
|
// generate list primary group memebers
|
||||||
// after parent::listGetParams is $this->refresh set to correct value
|
// after parent::listGetParams is $this->refresh set to correct value
|
||||||
if ($this->include_primary && !$this->refresh && ($this->refresh_primary || (sizeof($this->primary_hash) == 0)))
|
if ($this->include_primary && !$this->refresh && ($this->refresh_primary || (sizeof($this->primary_hash) == 0))) {
|
||||||
$this->groupRefreshPrimary();
|
$this->groupRefreshPrimary();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
* @see lamList::getTableCellContent()
|
* @see lamList::getTableCellContent()
|
||||||
*/
|
*/
|
||||||
protected function getTableCellContent(&$entry, &$attribute) {
|
protected function getTableCellContent(&$entry, &$attribute) {
|
||||||
|
$countAttributes = array('memberuid_count', 'member_count', 'uniqueMember_count', 'owner_count', 'roleOccupant_count');
|
||||||
if ($attribute == "memberuid") {
|
if ($attribute == "memberuid") {
|
||||||
// $gid is used for linking primary group memebers
|
// $gid is used for linking primary group memebers
|
||||||
$gid = -1;
|
$gid = -1;
|
||||||
|
@ -360,20 +367,27 @@ class lamGroupList extends lamList {
|
||||||
for ($i = 0; $i < $count; $i++) {
|
for ($i = 0; $i < $count; $i++) {
|
||||||
$replaced = false;
|
$replaced = false;
|
||||||
foreach ($this->suffixList as $suffix => $type) {
|
foreach ($this->suffixList as $suffix => $type) {
|
||||||
if (stripos($values[$i], $suffix) > 0) {
|
if ((stripos($values[$i], $suffix) > 0) && !isAccountTypeHidden($type)) {
|
||||||
if (!isAccountTypeHidden($type)) {
|
|
||||||
$values[$i] = '<a href="../account/edit.php?type=' . $type . '&DN=\'' . $values[$i] . '\'">' . getAbstractDN($values[$i]) . '</a>';
|
$values[$i] = '<a href="../account/edit.php?type=' . $type . '&DN=\'' . $values[$i] . '\'">' . getAbstractDN($values[$i]) . '</a>';
|
||||||
$replaced = true;
|
$replaced = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (!$replaced) {
|
if (!$replaced) {
|
||||||
$values[$i] = getAbstractDN($values[$i]);
|
$values[$i] = getAbstractDN($values[$i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return new htmlDiv(null, new htmlOutputText(implode('<br>', $values), false), array('rightToLeftText'));
|
return new htmlDiv(null, new htmlOutputText(implode('<br>', $values), false), array('rightToLeftText'));
|
||||||
}
|
}
|
||||||
|
elseif (in_array_ignore_case($attribute, $countAttributes)) {
|
||||||
|
$count = 0;
|
||||||
|
$realAttributeName = str_replace('_count', '', $attribute);
|
||||||
|
$values = &$entry[$realAttributeName];
|
||||||
|
if (!empty($values)) {
|
||||||
|
$count = sizeof($values);
|
||||||
|
}
|
||||||
|
return new htmlOutputText($count);
|
||||||
|
}
|
||||||
// print all other attributes
|
// print all other attributes
|
||||||
else {
|
else {
|
||||||
return parent::getTableCellContent($entry, $attribute);
|
return parent::getTableCellContent($entry, $attribute);
|
||||||
|
|
Loading…
Reference in New Issue