You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2022-10-04 12:25:00

wolvverinemp
Member
From: Poland
Registered: 2021-09-20
Posts: 31

Bugs in Generic Object (and not only)

The Generic Object plugin has many bugs and misleading information in the documentation.

Unfortunately, since the ability to report bugs has been disabled , they pass from version to version and new ones arrive.

In this thread I want to collect all that appear.


"When you created your custom object, a new folder was created on your server.
[GLPI Root Folder]/files/_plugins/genericobject/locales/[YourObject]/[yourobject].fr_FR.php is the locale file.

An existing folder may receive your custom field:
[GLPI Root Folder]/files/_plugins/genericobject/fields/[yourobject].constant.php contains your additionnal fields.

Be careful, your .constant.php file needs to be not closed by a ?>
There is a small error in the documentation, in the example file..."

https: // forum.glpi-project.org/viewtopic.php?id=279940

Users who have only READ permissions defined for objects do not see the items of a given asset defined if "Global Search" is enabled.

Workaround - problem is in setting "Show my assets" in Behaviour plugin

https: // github.com/glpi-project/glpi/issues/12571#issuecomment-1236912084

https: // github.com/pluginsGLPI/formcreator/issues/2943

Users who have only READ permissions defined for objects should be able to see items and their contents in the asset if "Global Search".
After setting in the profile in addition UPDATE become visible items, unfortunately, then it is also possible to edit them, of course.

    GLPI version - 10.0.3

    genericobject Name: Objects management Version: 2.14 State: Enabled



When a user changes a profile to another owned profile - the column layout changes on items list.

Observed for objects created by generic object plugin.
It seems that this may also apply to users and profiles where they have revoked permissions to global settings in Setup - Search result display - default display.

Problem is when asset have added "contract" In object definition.

Workaround:

For problem with display column preference - Disable "use Contract"

Last edited by wolvverinemp (2022-10-19 16:08:02)

Offline

#2 2022-10-18 19:18:28

wolvverinemp
Member
From: Poland
Registered: 2021-09-20
Posts: 31

Re: Bugs in Generic Object (and not only)

Users who have only READ permissions defined for objects do not see the items of a given asset defined if "Global Serach" is enabled.

Opcja "Global Search" added to sql:

WHERE
    (
        `glpi_plugin_genericobject_someitemtables`.`users_id` = 2
    ) AND

and this is problem.

SELECT DISTINCT
    `glpi_plugin_genericobject_someitemtables`.`id` AS id,
    'glpiadmin' AS currentuser,
    `glpi_plugin_genericobject_someitemtables`.`entities_id`,
    `glpi_plugin_genericobject_someitemtables`.`is_recursive`,
    `glpi_plugin_genericobject_someitemtables`.`name` AS `ITEM_PluginGenericobjectsomeitemtable_1`,
    `glpi_plugin_genericobject_someitemtables`.`id` AS `ITEM_PluginGenericobjectsomeitemtable_1_id`,
    `glpi_entities`.`completename` AS `ITEM_PluginGenericobjectsomeitemtable_80`,
    `glpi_locations`.`completename` AS `ITEM_PluginGenericobjectsomeitemtable_126`,
    `glpi_plugin_genericobject_someitemtablemodels`.`name` AS `ITEM_PluginGenericobjectsomeitemtable_143`,
    `glpi_plugin_genericobject_someitemtables`.`date_creation` AS `ITEM_PluginGenericobjectsomeitemtable_121`,
    `glpi_plugin_genericobject_someitemtables`.`date_mod` AS `ITEM_PluginGenericobjectsomeitemtable_19`,
    `glpi_manufacturers`.`name` AS `ITEM_PluginGenericobjectsomeitemtable_144`,
    `glpi_users_users_id_tech`.`name` AS `ITEM_PluginGenericobjectsomeitemtable_145`,
    `glpi_users_users_id_tech`.`realname` AS `ITEM_PluginGenericobjectsomeitemtable_145_realname`,
    `glpi_users_users_id_tech`.`id` AS `ITEM_PluginGenericobjectsomeitemtable_145_id`,
    `glpi_users_users_id_tech`.`firstname` AS `ITEM_PluginGenericobjectsomeitemtable_145_firstname`,
    `glpi_plugin_genericobject_someitemtablecategories`.`name` AS `ITEM_PluginGenericobjectsomeitemtable_141`
FROM
    `glpi_plugin_genericobject_someitemtables`
LEFT JOIN `glpi_entities` ON(
        `glpi_plugin_genericobject_someitemtables`.`entities_id` = `glpi_entities`.`id`
    )
LEFT JOIN `glpi_locations` ON(
        `glpi_plugin_genericobject_someitemtables`.`locations_id` = `glpi_locations`.`id`
    )
LEFT JOIN `glpi_plugin_genericobject_someitemtablemodels` ON(
        `glpi_plugin_genericobject_someitemtables`.`plugin_genericobject_someitemtablemodels_id` = `glpi_plugin_genericobject_someitemtablemodels`.`id`
    )
LEFT JOIN `glpi_manufacturers` ON(
        `glpi_plugin_genericobject_someitemtables`.`manufacturers_id` = `glpi_manufacturers`.`id`
    )
LEFT JOIN `glpi_users` AS `glpi_users_users_id_tech`
ON
    (
        `glpi_plugin_genericobject_someitemtables`.`users_id_tech` = `glpi_users_users_id_tech`.`id`
    )
LEFT JOIN `glpi_plugin_genericobject_someitemtablecategories` ON(
        `glpi_plugin_genericobject_someitemtables`.`plugin_genericobject_someitemtablecategories_id` = `glpi_plugin_genericobject_someitemtablecategories`.`id`
    )
WHERE
    `glpi_plugin_genericobject_someitemtables`.`is_deleted` = 0 AND `glpi_plugin_genericobject_someitemtables`.`is_template` = 0
ORDER BY
    `ITEM_PluginGenericobjectsomeitemtable_1` ASC
LIMIT 0, 20

With "global search":

SELECT DISTINCT
    `glpi_plugin_genericobject_someitemtables`.`id` AS id,
    'glpiadmin' AS currentuser,
    `glpi_plugin_genericobject_someitemtables`.`entities_id`,
    `glpi_plugin_genericobject_someitemtables`.`is_recursive`,
    `glpi_plugin_genericobject_someitemtables`.`name` AS `ITEM_PluginGenericobjectsomeitemtable_1`,
    `glpi_plugin_genericobject_someitemtables`.`id` AS `ITEM_PluginGenericobjectsomeitemtable_1_id`,
    `glpi_entities`.`completename` AS `ITEM_PluginGenericobjectsomeitemtable_80`,
    `glpi_locations`.`completename` AS `ITEM_PluginGenericobjectsomeitemtable_126`,
    `glpi_plugin_genericobject_someitemtablemodels`.`name` AS `ITEM_PluginGenericobjectsomeitemtable_143`,
    `glpi_plugin_genericobject_someitemtables`.`date_creation` AS `ITEM_PluginGenericobjectsomeitemtable_121`,
    `glpi_plugin_genericobject_someitemtables`.`date_mod` AS `ITEM_PluginGenericobjectsomeitemtable_19`,
    `glpi_manufacturers`.`name` AS `ITEM_PluginGenericobjectsomeitemtable_144`,
    `glpi_users_users_id_tech`.`name` AS `ITEM_PluginGenericobjectsomeitemtable_145`,
    `glpi_users_users_id_tech`.`realname` AS `ITEM_PluginGenericobjectsomeitemtable_145_realname`,
    `glpi_users_users_id_tech`.`id` AS `ITEM_PluginGenericobjectsomeitemtable_145_id`,
    `glpi_users_users_id_tech`.`firstname` AS `ITEM_PluginGenericobjectsomeitemtable_145_firstname`,
    `glpi_plugin_genericobject_someitemtablecategories`.`name` AS `ITEM_PluginGenericobjectsomeitemtable_141`
FROM
    `glpi_plugin_genericobject_someitemtables`
LEFT JOIN `glpi_entities` ON(
        `glpi_plugin_genericobject_someitemtables`.`entities_id` = `glpi_entities`.`id`
    )
LEFT JOIN `glpi_locations` ON(
        `glpi_plugin_genericobject_someitemtables`.`locations_id` = `glpi_locations`.`id`
    )
LEFT JOIN `glpi_plugin_genericobject_someitemtablemodels` ON(
        `glpi_plugin_genericobject_someitemtables`.`plugin_genericobject_someitemtablemodels_id` = `glpi_plugin_genericobject_someitemtablemodels`.`id`
    )
LEFT JOIN `glpi_manufacturers` ON(
        `glpi_plugin_genericobject_someitemtables`.`manufacturers_id` = `glpi_manufacturers`.`id`
    )
LEFT JOIN `glpi_users` AS `glpi_users_users_id_tech`
ON
    (
        `glpi_plugin_genericobject_someitemtables`.`users_id_tech` = `glpi_users_users_id_tech`.`id`
    )
LEFT JOIN `glpi_plugin_genericobject_someitemtablecategories` ON(
        `glpi_plugin_genericobject_someitemtables`.`plugin_genericobject_someitemtablecategories_id` = `glpi_plugin_genericobject_someitemtablecategories`.`id`
    )
WHERE
    (
        `glpi_plugin_genericobject_someitemtables`.`users_id` = 2
    ) AND `glpi_plugin_genericobject_someitemtables`.`is_deleted` = 0 AND `glpi_plugin_genericobject_someitemtables`.`is_template` = 0
ORDER BY
    `ITEM_PluginGenericobjectsomeitemtable_1` ASC
LIMIT 0, 20

Offline

Board footer

Powered by FluxBB