ericferon / glpi-statecheck

GLPI plugin for checking form fields, based on rules
GNU General Public License v2.0
4 stars 4 forks source link

Error in group editing form - group_id column not found #28

Open ratado opened 3 months ago

ratado commented 3 months ago

When access a group form, the following error has shown (debug mode enabled):

image

_Unknown column 'glpi_plugin_statecheck_rules.groups_id' in 'where clause' in query "SELECT COUNT(*) AS cpt FROM glpi_plugin_statecheck_rules, glpi_entities WHERE (((glpi_plugin_statecheck_rules.groups_id = '679'))) AND glpi_plugin_statecheck_rules.entities_id = glpi_entities.id AND NOT (glpi_entities.entities_id IN ('0', '111'))"_

In fact, the column groups_id does not exist in table glpi_plugin_statecheck_rules. The same column does not exist in file empty-1.0.2.sql.

To simulate this error, enable the Debug mode and access a group form of an existent group:

https://my.glpi/front/group.form.php?id=1

ericferon commented 3 months ago

Hi, I cannot repeat your problem. What do you check on this "Group" form ? What is your statecheck rule configuration for this form ? K.r,

ratado commented 3 months ago

Hi,

I use statecheck with Archisw Plugin. Archisw plugin created some rules, maybe it is related with the rule indicated above?

image

image

image

I got the text bellow from SQL log:

_[2024-08-22 10:20:13] glpisqllog.ERROR: DBmysql::doQuery() in /var/www/html/glpi/src/DBmysql.php line 403 ** MySQL query error: SQL: SELECT COUNT() AS cpt FROM glpi_plugin_statecheck_rules, glpi_entities WHERE (((glpi_plugin_statecheck_rules.groups_id = '678'))) AND glpi_plugin_statecheck_rules.entities_id = glpi_entities.id AND NOT (glpi_entities.entities_id IN ('0', '111')) Error: Unknown column 'glpi_plugin_statecheck_rules.groups_id' in 'where clause' Backtrace : src/DBmysqlIterator.php:112 DBmysql->doQuery() src/DBmysql.php:1109 DBmysqlIterator->execute() src/DbUtils.php:524 DBmysql->request() inc/db.function.php:192 DbUtils->countElementsInTable() src/CommonDBTM.php:2646 countElementsInTable() .../twig/twig/src/Extension/CoreExtension.php:1635 CommonDBTM->canUnrecurs() ...tes/5f/5fc311bf420eddbc2b4126d0bedce0c0.php:360 twig_get_attribute() vendor/twig/twig/src/Template.php:394 __TwigTemplatec634573e04b8bd49056f695c95266ec4->doDisplay() vendor/twig/twig/src/Template.php:367 Twig\Template->displayWithErrorHandling() vendor/twig/twig/src/Template.php:379 Twig\Template->display() vendor/twig/twig/src/TemplateWrapper.php:38 Twig\Template->render() src/Application/View/TemplateRenderer.php:163 Twig\TemplateWrapper->render() src/CommonGLPI.php:1110 Glpi\Application\View\TemplateRenderer->render() src/CommonGLPI.php:1228 CommonGLPI->showNavigationHeader() src/CommonDBTM.php:6566 CommonGLPI->display() front/group.form.php:122 CommonDBTM::displayFullPageForItem() public/index.php:82 require()

I tried to uninstall and reinstall statecheck plugin but the error persists. I'll test uninstalling the archisw plugin too.