Skip to content

Page for group membership management#315

Draft
coudot wants to merge 3 commits intomasterfrom
58-manage-group-membership
Draft

Page for group membership management#315
coudot wants to merge 3 commits intomasterfrom
58-manage-group-membership

Conversation

@coudot
Copy link
Copy Markdown
Member

@coudot coudot commented Apr 16, 2026

Development for #58

UX/UI proposal:

  • A button in display page links to the group membership management page
  • This page displays a table of all groups found in the directory (same design as the dahsboards)
  • Action button or switch button allow to add/remove user from a group (this should be done with js event and call to API)

We may add a button to show only groups the user belongs to.

@coudot coudot added this to the 0.9 milestone Apr 16, 2026
@coudot coudot added the enhancement New feature or request label Apr 16, 2026
@coudot coudot linked an issue Apr 16, 2026 that may be closed by this pull request
@coudot coudot marked this pull request as draft April 16, 2026 18:07
@coudot
Copy link
Copy Markdown
Member Author

coudot commented Apr 16, 2026

@copilot I created the page groups.php with template groups.tpl. I would like to add code similar to what is done in search.php to display a table of groups.

Copy link
Copy Markdown

Copilot AI commented Apr 16, 2026

@copilot I created the page groups.php with template groups.tpl. I would like to add code similar to what is done in search.php to display a table of groups.

Added code similar to search.php to display a table of groups in commit 4d4a07b. Here's what was done:

  • groups.php: In the display action, columns (fullname, description, ismember) are now built and assigned to Smarty, along with an overridden config_js tailored for the groups DataTable.
  • htdocs/api/groups-api.php: New server-side DataTables API endpoint that searches groups under $ldap_group_base using $ldap_group_filter, returning group name, description, and a computed ismember boolean (checks whether the user's DN is in the group's member attribute).
  • templates/groups.tpl: Now contains a <table> with <thead> and <tbody> matching the same pattern as search.tpl.
  • templates/datatables-groups.js.tpl: New DataTables server-side initialization (similar to datatables-search.js.tpl) that sends the user's DN to the API.
  • conf/config.inc.php: Added $group_result_items, $group_result_title, $group_result_sortby, and an ismember entry in $attributes_map.
  • lang/*.inc.php: Added label_ismember to all language files.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/DataTables/Dist-DataTables-Bootstrap5/zipball/b6cce12376f469268edf717e8a82e440a610db31
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/7S4K0p /usr/bin/composer install --no-dev de/node/bin/git (http block)
  • https://api.github.com/repos/DataTables/Dist-DataTables-Buttons-Bootstrap5/zipball/19d2ff2399af078465989f52ffc969d9ed765f1f
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/7S4K0p /usr/bin/composer install --no-dev de/node/bin/git (http block)
  • https://api.github.com/repos/DataTables/Dist-DataTables-Buttons/zipball/69c84572a3fd605a6eba1619b15f6948ff5fdbce
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/7S4K0p /usr/bin/composer install --no-dev de/node/bin/git (http block)
  • https://api.github.com/repos/DataTables/Dist-DataTables-Responsive-Bootstrap5/zipball/d0488fc50ba4a3d34ab4fd7bfd54351bbf04e0a5
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/7S4K0p /usr/bin/composer install --no-dev de/node/bin/git (http block)
  • https://api.github.com/repos/DataTables/Dist-DataTables-Responsive/zipball/167a35bf08a0ad6dfc6df3e612d3e9caf923c717
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/7S4K0p /usr/bin/composer install --no-dev de/node/bin/git (http block)
  • https://api.github.com/repos/DataTables/Dist-DataTables/zipball/837207383d584c710db1802d772e6ac462c55e21
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/7S4K0p /usr/bin/composer install --no-dev de/node/bin/git (http block)
  • https://api.github.com/repos/components/jquery/zipball/8edc7785239bb8c2ad2b83302b856a1d61de60e7
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/7S4K0p /usr/bin/composer install --no-dev de/node/bin/git (http block)
  • https://api.github.com/repos/twbs/bootstrap/zipball/344e912d04b5b6a04482113eff20ab416ff01048
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/7S4K0p /usr/bin/composer install --no-dev de/node/bin/git (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Manage group membership

2 participants