Skip to content

use_filter_assign_group ignores escalation groups chain — shows only user's own groups #474

Description

@Smiley-k

Code of Conduct

  • I agree to follow this project's Code of Conduct

Is there an existing issue for this?

  • I have searched the existing issues

GLPI Version

11.0.8

Plugin version

2.10.4

Bug description

Description

When use_filter_assign_group = 1 is enabled, the assign group dropdown only displays groups where the current user is a member. The escalation groups chain (defined in glpi_plugin_escalade_groups_groups) is completely ignored for dropdown filtering purposes.

Example

Entity ID
Group L1 7
Group L2 8
Group L3 9

glpi_plugin_escalade_groups_groups:

  • L1 (7) → L2 (8)
  • L2 (8) → L3 (9)

User is a member of L1 only.

Expected behavior

With use_filter_assign_group = 1, a user from L1 should see L1 + L2 (destination group for L1) in the assign dropdown.

Actual behavior

User sees only L1.

Workaround

Disable use_filter_assign_group — then all groups appear in the dropdown, including L3 and unrelated groups, which breaks the escalation hierarchy.

Suggested fix

When use_filter_assign_group = 1, the dropdown should include:

  1. Groups where the user is a member
  2. Groups that are defined as groups_id_destination for any of the user's groups in glpi_plugin_escalade_groups_groups

Or alternatively, respect the escalation chain depth (1 level) rather than showing all groups.

Related

glpi_plugin_escalade_users.bypass_filter_assign_group exists but bypasses filtering entirely, not scoped to escalation chain.

Relevant log output

Page URL

No response

Steps To reproduce

No response

Your GLPI setup information

equirements:
PHP version (8.2.32) is supported.PHP version (8.2.32) is supported.
OS and PHP are relying on 64 bits integers.OS and PHP are relying on 64 bits integers.
Sessions configuration is OK.Sessions configuration is OK.
Allocated memory is sufficient.Allocated memory is sufficient.
Following extensions are installed: dom, fileinfo, filter, libxml, simplexml, tokenizer, xmlreader, xmlwriter.Following extensions are installed: dom, fileinfo, filter, libxml, simplexml, tokenizer, xmlreader, xmlwriter.
mysqli extension is installedmysqli extension is installed
curl extension is installedcurl extension is installed
gd extension is installedgd extension is installed
intl extension is installedintl extension is installed
mbstring extension is installedmbstring extension is installed
zlib extension is installedzlib extension is installed
bcmath extension is installedbcmath extension is installed
The constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES is present.The constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES is present.
openssl extension is installedopenssl extension is installed
Database engine version (10.11.18) is supported.Database engine version (10.11.18) is supported.
The log file has been created successfully.The log file has been created successfully.
Write access to /var/www/glpi/files/_cache has been validated. Write access to /var/www/glpi/files/_cron has been validated. Write access to /var/www/glpi/files has been validated. Write access to /var/www/glpi/files/_graphs has been validated. Write access to /var/www/glpi/files/_lock has been validated. Write access to /var/www/glpi/files/_pictures has been validated. Write access to /var/www/glpi/files/_plugins has been validated. Write access to /var/www/glpi/files/_rss has been validated. Write access to /var/www/glpi/files/_sessions has been validated. Write access to /var/www/glpi/files/_tmp has been validated. Write access to /var/www/glpi/files/_uploads has been validated.Write access to /var/www/glpi/files/_cache has been validated.
Write access to /var/www/glpi/files/_cron has been validated.
Write access to /var/www/glpi/files has been validated.
Write access to /var/www/glpi/files/_graphs has been validated.
Write access to /var/www/glpi/files/_lock has been validated.
Write access to /var/www/glpi/files/_pictures has been validated.
Write access to /var/www/glpi/files/_plugins has been validated.
Write access to /var/www/glpi/files/_rss has been validated.
Write access to /var/www/glpi/files/_sessions has been validated.
Write access to /var/www/glpi/files/_tmp has been validated.
Write access to /var/www/glpi/files/_uploads has been validated.

Sessions configuration is secured.Sessions configuration is secured.
exif extension is installedexif extension is installed
ldap extension is installedldap extension is installed
Following extensions are installed: bz2, Phar, zip.Following extensions are installed: bz2, Phar, zip.
Zend OPcache extension is installedZend OPcache extension is installed
Following extensions are installed: ctype, iconv, sodium.Following extensions are installed: ctype, iconv, sodium.
Write access to /var/www/glpi/marketplace has been validated.Write access to /var/www/glpi/marketplace has been validated.
Timezones seems loaded in database.Timezones seems loaded in database.

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions