pluginsGLPI / formcreator

GLPI Plugin Formcreator (DOWNLOAD : https://github.com/pluginsGLPI/formcreator/releases)
http://www.teclib-edition.com
GNU General Public License v3.0
173 stars 125 forks source link

Simplified interface call counter is only in "N/A" #1877

Closed apithon2 closed 3 years ago

apithon2 commented 4 years ago

Describe the bug Hello good morning I'm implementing Glpi in my company and I really liked this plugin but I'm having this problem The call counters stay in N / A I would like to know how to solve

Screenshots If applicable, add screenshots to help explain your problem. image

Desktop (please complete the following information):

btry commented 4 years ago

Hi

Great ! having N/A makes users to report a bug :)

You very likely have a SQL error. Can you check the file glpi/files/_log/sql-errors.log ?

apithon2 commented 4 years ago

image Sabe como posso resolver esse erro

apithon2 commented 4 years ago

Is it possible to remove this counter?

btry commented 4 years ago

it is possible, if you want to hide it until the bug is fixed.

In inc/wizard.class.php method header() you will find a call to showTicketSummary(). Comment it, and ensure it does not breaks the display.

I may need your help to find the cause of the SQL error.

apithon2 commented 4 years ago

right what you need ?

btry commented 4 years ago

I don't know yet. I need to compare your issue with old ones. Stay tuned, please.

btry commented 4 years ago

Please share the SQL error as text., not a screenshot : the screenshot truncated long lines and it is also not possible to copy / paste without using OCR and potential recognition errors.

btry commented 4 years ago

Your error was already reported (internal ref: 19534). However no solution was found because the report is incomplete. There is something still unknown which prevents me to reproduce the bug.

I'm suspecting that a change in a profile is the key to find the bug. When the logged in user triggers this error, he uses a specific profile in GLPI. Do you know if this profile is a variation of a profile found in a fresh installed GLPI ? Can you tell how this profile was modified ? You may find in the history of the profile all changes since its creation.

I'm waiting for your feedback.

apithon2 commented 4 years ago

Hello good morning! thank you very much for your help is helping me a lot follows the logs of the user

2792 2020-07-20 11:32 Godoy Gabriel (7) E-mail Atualização de um item: E-mail (info@example.com)
2696 2020-07-15 11:49 Godoy Gabriel (7) E-mail Atualização de um item: E-mail (informatica@example.com))
2657 2020-07-15 11:31 Godoy Gabriel (7) E-mail Adiciona um item: E-mail (suporte@example.com) (1))
2196 2020-07-07 09:31 Godoy Gabriel (7) Perfil Atualizar um link com um item: 1 (0)
389 2020-07-02 11:26 Godoy Gabriel (7) Grupo Adicionar um relacionamento com um item: T.I (1)
375 2020-07-02 10:55 Godoy Gabriel (7)   Adicionar o item
374 2020-07-02 10:55 Godoy Gabriel (7) Perfil Adiciona um item: Perfil (Usuário (9))
apithon2 commented 4 years ago
NULL(`glpi_plugin_formcreator_issues`.`display_id`,
[2020-07-02 10:57:40] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 188
  *** MySQL query error:
  SQL: SELECT DISTINCT `glpi_plugin_formcreator_issues`.`id` AS id, 'testef' AS currentuser,
                        `glpi_plugin_formcreator_issues`.`sub_itemtype`, `glpi_plugin_formcreator_issues`.`entities_id`, `glpi_plugin_formcreator_issues`.`is_recursive`,  GROUP$                                                        `glpi_plugin_formcreator_issues`.`id`) ORDER BY `glpi_plugin_formcreator_issues`.`id`
                                        SEPARATOR '$$##$$') AS `ITEM_PluginFormcreatorIssue_1`,

                            IFNULL(GROUP_CONCAT(DISTINCT CONCAT(IFNULL(`glpi_plugin_formcreator_issues`.`display_id`,
                                                                         '__NULL__'),
                                                   '$#$', `glpi_plugin_formcreator_issues`.`id`) SEPARATOR '$$##$$'), '__NULL__$#$')
                                    AS `ITEM_PluginFormcreatorIssue_1_display_id`, `glpi_plugin_formcreator_issues`.`display_id` AS `ITEM_PluginFormcreatorIssue_2`,  `glpi_plug$                        `glpi_users_requester_id`.`realname` AS `ITEM_PluginFormcreatorIssue_8_realname`,
                        `glpi_users_requester_id`.`id`  AS `ITEM_PluginFormcreatorIssue_8_id`,
                        `glpi_users_requester_id`.`firstname` AS `ITEM_PluginFormcreatorIssue_8_firstname` FROM `glpi_plugin_formcreator_issues` LEFT JOIN `glpi_tickets_users` $                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.`tickets_id`
                                                 AND `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.`type` = 1 ) LEFT JOIN `glpi_tickets_users`  AS `glpi_tickets_users_d$                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.`tickets_id`
                                                 AND `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.`type` = 3 ) LEFT JOIN `glpi_tickets_users`  AS `glpi_tickets_users_8$                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.`tickets_id`
                                                 AND `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.`type` = 2 )LEFT JOIN `glpi_entities`
                                          ON (`glpi_plugin_formcreator_issues`.`entities_id` = `glpi_entities`.`id`
                                              )LEFT JOIN `glpi_users`  AS `glpi_users_requester_id`
                                          ON (`glpi_plugin_formcreator_issues`.`requester_id` = `glpi_users_requester_id`.`id`
                                              ) WHERE (( `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.users_id = '9'
                                    OR `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.users_id = '9'
                                    OR `glpi_plugin_formcreator_issues`.`requester_id` = '9')  OR `glpi_plugin_formcreator_issues`.`users_id_validator` = '9') AND  ( `glpi_plug$  Error: Unknown column 'glpi_users.id' in 'where clause'
  Backtrace :
  inc/search.class.php:1246
  inc/search.class.php:314                           Search::constructData()
  plugins/formcreator/inc/issue.class.php:732        Search::getDatas()
  plugins/formcreator/inc/wizard.class.php:218       PluginFormcreatorIssue::getTicketSummary()
  plugins/formcreator/inc/wizard.class.php:84        PluginFormcreatorWizard::showTicketSummary()
  plugins/formcreator/front/wizard.php:45            PluginFormcreatorWizard::header()
  {"user":"9@GLPI-VSLIMA"}
[2020-07-02 10:57:40] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 188
  *** MySQL query error:
  SQL: SELECT DISTINCT `glpi_plugin_formcreator_issues`.`id` AS id, 'testef' AS currentuser,                                                                                                             `glpi_plugin_formcreator_issues`.`sub_itemtype`, `glpi_plugin_formcreator_issues`.`entities_id`, `glpi_plugin_formcreator_issues`.`is_recursive`,  GROUP$                                                        `glpi_plugin_formcreator_issues`.`id`) ORDER BY `glpi_plugin_formcreator_issues`.`id`
                                        SEPARATOR '$$##$$') AS `ITEM_PluginFormcreatorIssue_1`,

                            IFNULL(GROUP_CONCAT(DISTINCT CONCAT(IFNULL(`glpi_plugin_formcreator_issues`.`display_id`,
                                                                         '__NULL__'),
                                                   '$#$', `glpi_plugin_formcreator_issues`.`id`) SEPARATOR '$$##$$'), '__NULL__$#$')
                                    AS `ITEM_PluginFormcreatorIssue_1_display_id`, `glpi_plugin_formcreator_issues`.`display_id` AS `ITEM_PluginFormcreatorIssue_2`,  `glpi_plug$                        `glpi_users_requester_id`.`realname` AS `ITEM_PluginFormcreatorIssue_8_realname`,
apithon2 commented 4 years ago

hello I think I discovered the source of the bug. When talking to one of the responsible for GLPI in Brazil it was found that the users who come predefined can not be deleted because they are tied in some things in the programming and I in trying to do something of their own I ended up deleting may be the reason for the error. I will reinstall the systema from 0 to validate if this is the error

btry commented 4 years ago

Hi

Please keep a snapshot of the DB before you restart from zero. If you loose it we might miss the opportunity to fix the bug. I don't want to leave a SQL error in the plugin.

I'll resume investigation soon as I have several fixes / improvements to do.

apithon2 commented 4 years ago

Hello I have the backup of the database saved here where can I send you ?

apithon2 commented 4 years ago

sql-errors.log

apithon2 commented 4 years ago

after having climbed the system from 0 and reinstalled the form creator disappear almost all N / A getting only the call closed image

apithon2 commented 4 years ago
`*** MySQL query error:
  SQL: UPDATE `glpi_plugin_formcreator_questions` SET WHERE `order` > '2' AND `plugin_formcreator_sections_id` = '1'
  Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE `order` > '2' AND `plugin_formcreator_sections_id` = '1'' at line 1
  Backtrace :
  inc/dbmysql.class.php:937                          
  plugins/formcreator/inc/question.class.php:466     DBmysql->update()
  inc/commondbtm.class.php:1363                      PluginFormcreatorQuestion->prepareInputForUpdate()
  plugins/formcreator/inc/question.class.php:948     CommonDBTM->update()
  plugins/formcreator/inc/exportable.class.php:117   PluginFormcreatorQuestion::import()
  plugins/formcreator/inc/section.class.php:279      PluginFormcreatorSection->importChildrenObjects()
  plugins/formcreator/inc/exportable.class.php:117   PluginFormcreatorSection::import()
  plugins/formcreator/inc/form.class.php:1936        PluginFormcreatorForm->importChildrenObjects()
  plugins/formcreator/inc/form.class.php:1818        PluginFormcreatorForm::import()
  plugins/formcreator/front/form.form.php:118        PluginFormcreatorForm->importJson()
  {"user":"56@glpi","mem_usage":"0.050\", 3.44Mio)"} 
[2020-07-22 10:27:36] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177
  *** MySQL query error:
  SQL: UPDATE `glpi_plugin_formcreator_questions` SET WHERE `order` > '3' AND `plugin_formcreator_sections_id` = '1'
  Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE `order` > '3' AND `plugin_formcreator_sections_id` = '1'' at line 1
  Backtrace :
  inc/dbmysql.class.php:937                          
  plugins/formcreator/inc/question.class.php:466     DBmysql->update()
  inc/commondbtm.class.php:1363                      PluginFormcreatorQuestion->prepareInputForUpdate()
  plugins/formcreator/inc/question.class.php:948     CommonDBTM->update()
  plugins/formcreator/inc/exportable.class.php:117   PluginFormcreatorQuestion::import()
  plugins/formcreator/inc/section.class.php:279      PluginFormcreatorSection->importChildrenObjects()
  plugins/formcreator/inc/exportable.class.php:117   PluginFormcreatorSection::import()
  plugins/formcreator/inc/form.class.php:1936        PluginFormcreatorForm->importChildrenObjects()
  plugins/formcreator/inc/form.class.php:1818        PluginFormcreatorForm::import()
  plugins/formcreator/front/form.form.php:118        PluginFormcreatorForm->importJson()
  {"user":"56@glpi","mem_usage":"0.074\", 3.45Mio)"} 
[2020-07-22 10:27:36] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177
  *** MySQL query error:
  SQL: UPDATE `glpi_plugin_formcreator_questions` SET WHERE `order` > '4' AND `plugin_formcreator_sections_id` = '1'
  Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE `order` > '4' AND `plugin_formcreator_sections_id` = '1'' at line 1
  Backtrace :
  inc/dbmysql.class.php:937                          
  plugins/formcreator/inc/question.class.php:466     DBmysql->update()
  inc/commondbtm.class.php:1363                      PluginFormcreatorQuestion->prepareInputForUpdate()
  plugins/formcreator/inc/question.class.php:948     CommonDBTM->update()
  plugins/formcreator/inc/exportable.class.php:117   PluginFormcreatorQuestion::import()
  plugins/formcreator/inc/section.class.php:279      PluginFormcreatorSection->importChildrenObjects()
  plugins/formcreator/inc/exportable.class.php:117   PluginFormcreatorSection::import()
  plugins/formcreator/inc/form.class.php:1936        PluginFormcreatorForm->importChildrenObjects()
  plugins/formcreator/inc/form.class.php:1818        PluginFormcreatorForm::import()
  plugins/formcreator/front/form.form.php:118        PluginFormcreatorForm->importJson()
  {"user":"56@glpi","mem_usage":"0.024\", 3.46Mio)"} 
[2020-07-22 10:34:11] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177
  *** MySQL query error:
  SQL: SELECT DISTINCT `glpi_plugin_formcreator_issues`.`id` AS id, 'gfernandes' AS currentuser,
                        `glpi_plugin_formcreator_issues`.`sub_itemtype`, `glpi_plugin_formcreator_issues`.`entities_id`, `glpi_plugin_formcreator_issues`.`is_recursive`,  GROUP_CONCAT(DISTINCT CONCAT(`glpi_plugin_formcreator_issues`.`name`, '$#$' ,
                                                        `glpi_plugin_formcreator_issues`.`id`) ORDER BY `glpi_plugin_formcreator_issues`.`id`
                                        SEPARATOR '$$##$$') AS `ITEM_PluginFormcreatorIssue_1`,

                            IFNULL(GROUP_CONCAT(DISTINCT CONCAT(IFNULL(`glpi_plugin_formcreator_issues`.`display_id`,
                                                                         '__NULL__'),
                                                   '$#$', `glpi_plugin_formcreator_issues`.`id`) SEPARATOR '$$##$$'), '__NULL__$#$')
                                    AS `ITEM_PluginFormcreatorIssue_1_display_id`, `glpi_plugin_formcreator_issues`.`display_id` AS `ITEM_PluginFormcreatorIssue_2`,  `glpi_plugin_formcreator_issues`.`status` AS `ITEM_PluginFormcreatorIssue_4`,  `glpi_plugin_formcreator_issues`.`date_creation` AS `ITEM_PluginFormcreatorIssue_5`,  `glpi_plugin_formcreator_issues`.`date_mod` AS `ITEM_PluginFormcreatorIssue_6`,  `glpi_entities`.`completename` AS `ITEM_PluginFormcreatorIssue_7`,   `glpi_users_requester_id`.`name` AS `ITEM_PluginFormcreatorIssue_8`,
                        `glpi_users_requester_id`.`realname` AS `ITEM_PluginFormcreatorIssue_8_realname`,
                        `glpi_users_requester_id`.`id`  AS `ITEM_PluginFormcreatorIssue_8_id`,
                        `glpi_users_requester_id`.`firstname` AS `ITEM_PluginFormcreatorIssue_8_firstname` FROM `glpi_plugin_formcreator_issues` LEFT JOIN `glpi_tickets_users`  AS `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`
                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.`tickets_id`
                                                 AND `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.`type` = 1 ) LEFT JOIN `glpi_tickets_users`  AS `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`
                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.`tickets_id`
                                                 AND `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.`type` = 3 ) LEFT JOIN `glpi_tickets_users`  AS `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`
                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.`tickets_id`
                                                 AND `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.`type` = 2 )LEFT JOIN `glpi_entities` 
                                          ON (`glpi_plugin_formcreator_issues`.`entities_id` = `glpi_entities`.`id`
                                              )LEFT JOIN `glpi_users`  AS `glpi_users_requester_id`
                                          ON (`glpi_plugin_formcreator_issues`.`requester_id` = `glpi_users_requester_id`.`id`
                                              ) WHERE (( `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.users_id = '56'
                                    OR `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.users_id = '56'
                                    OR `glpi_plugin_formcreator_issues`.`requester_id` = '56')  OR `glpi_plugin_formcreator_issues`.`users_id_validator` = '56') AND  ( `glpi_plugin_formcreator_issues`.`entities_id` IN ('0')  )  AND (    (`glpi_users_requester_id`.`id` = '56')  AND (  `glpi_plugin_formcreator_issues`.`status` IN ('5','6') OR `glpi_plugin_formcreator_issues`.`status` IN ('102')) OR (   (`glpi_users_users_id_validator`.`id` = '56')   OR (`glpi_groups_groups_id_validator`.`id` IN ('')) ) AND `glpi_plugin_formcreator_issues`.`status` IN ('102') ) GROUP BY `glpi_plugin_formcreator_issues`.`id` ORDER BY ITEM_PluginFormcreatorIssue_1 ASC 
  Error: Unknown column 'glpi_users_users_id_validator.id' in 'where clause'
  Backtrace :
  inc/search.class.php:1191                          
  inc/search.class.php:314                           Search::constructData()
  plugins/formcreator/inc/issue.class.php:754        Search::getDatas()
  plugins/formcreator/inc/wizard.class.php:222       PluginFormcreatorIssue::getTicketSummary()
  plugins/formcreator/inc/wizard.class.php:88        PluginFormcreatorWizard::showTicketSummary()
  plugins/formcreator/front/wizard.php:45            PluginFormcreatorWizard::header()
  {"user":"56@glpi"} 
[2020-07-22 10:36:17] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 177
  *** MySQL query error:
  SQL: SELECT DISTINCT `glpi_plugin_formcreator_issues`.`id` AS id, 'gfernandes' AS currentuser,
                        `glpi_plugin_formcreator_issues`.`sub_itemtype`, `glpi_plugin_formcreator_issues`.`entities_id`, `glpi_plugin_formcreator_issues`.`is_recursive`,  GROUP_CONCAT(DISTINCT CONCAT(`glpi_plugin_formcreator_issues`.`name`, '$#$' ,
                                                        `glpi_plugin_formcreator_issues`.`id`) ORDER BY `glpi_plugin_formcreator_issues`.`id`
                                        SEPARATOR '$$##$$') AS `ITEM_PluginFormcreatorIssue_1`,

                            IFNULL(GROUP_CONCAT(DISTINCT CONCAT(IFNULL(`glpi_plugin_formcreator_issues`.`display_id`,
                                                                         '__NULL__'),
                                                   '$#$', `glpi_plugin_formcreator_issues`.`id`) SEPARATOR '$$##$$'), '__NULL__$#$')
                                    AS `ITEM_PluginFormcreatorIssue_1_display_id`, `glpi_plugin_formcreator_issues`.`display_id` AS `ITEM_PluginFormcreatorIssue_2`,  `glpi_plugin_formcreator_issues`.`status` AS `ITEM_PluginFormcreatorIssue_4`,  `glpi_plugin_formcreator_issues`.`date_creation` AS `ITEM_PluginFormcreatorIssue_5`,  `glpi_plugin_formcreator_issues`.`date_mod` AS `ITEM_PluginFormcreatorIssue_6`,  `glpi_entities`.`completename` AS `ITEM_PluginFormcreatorIssue_7`,   `glpi_users_requester_id`.`name` AS `ITEM_PluginFormcreatorIssue_8`,
                        `glpi_users_requester_id`.`realname` AS `ITEM_PluginFormcreatorIssue_8_realname`,
                        `glpi_users_requester_id`.`id`  AS `ITEM_PluginFormcreatorIssue_8_id`,
                        `glpi_users_requester_id`.`firstname` AS `ITEM_PluginFormcreatorIssue_8_firstname` FROM `glpi_plugin_formcreator_issues` LEFT JOIN `glpi_tickets_users`  AS `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`
                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.`tickets_id`
                                                 AND `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.`type` = 1 ) LEFT JOIN `glpi_tickets_users`  AS `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`
                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.`tickets_id`
                                                 AND `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.`type` = 3 ) LEFT JOIN `glpi_tickets_users`  AS `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`
                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.`tickets_id`
                                                 AND `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.`type` = 2 )LEFT JOIN `glpi_entities` 
                                          ON (`glpi_plugin_formcreator_issues`.`entities_id` = `glpi_entities`.`id`
                                              )LEFT JOIN `glpi_users`  AS `glpi_users_requester_id`
                                          ON (`glpi_plugin_formcreator_issues`.`requester_id` = `glpi_users_requester_id`.`id`
                                              ) WHERE (( `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.users_id = '56'
                                    OR `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.users_id = '56'
                                    OR `glpi_plugin_formcreator_issues`.`requester_id` = '56')  OR `glpi_plugin_formcreator_issues`.`users_id_validator` = '56') AND  ( `glpi_plugin_formcreator_issues`.`entities_id` IN ('0')  )  AND (    (`glpi_users_requester_id`.`id` = '56')  AND (  `glpi_plugin_formcreator_issues`.`status` IN ('5','6') OR `glpi_plugin_formcreator_issues`.`status` IN ('102')) OR (   (`glpi_users_users_id_validator`.`id` = '56')   OR (`glpi_groups_groups_id_validator`.`id` IN ('')) ) AND `glpi_plugin_formcreator_issues`.`status` IN ('102') ) GROUP BY `glpi_plugin_formcreator_issues`.`id` ORDER BY ITEM_PluginFormcreatorIssue_1 ASC 
  Error: Unknown column 'glpi_users_users_id_validator.id' in 'where clause'
  Backtrace :
  inc/search.class.php:1191                          
  inc/search.class.php:314                           Search::constructData()
  plugins/formcreator/inc/issue.class.php:754        Search::getDatas()
  plugins/formcreator/inc/wizard.class.php:222       PluginFormcreatorIssue::getTicketSummary()
  plugins/formcreator/inc/wizard.class.php:88        PluginFormcreatorWizard::showTicketSummary()
  plugins/formcreator/front/wizard.php:45            PluginFormcreatorWizard::header()
  {"user":"56@glpi"} 
btry commented 4 years ago

Hi

The logs you shared contains an error when someone updates a question. Unfortunately, the error is due to an empty string and the log itself is not sufficient to find how to reproduce.

Could you find the related question from its ID and find how you (or someone else) attempted to change it ? Having this extra information should make the fix quite obvious.

The last error Unknown column 'glpi_users_users_id_validator.id' in 'where clause' is very likely related to a mismatch between the code and the DB schema. This column has been renamed not so long ago, I guess the related table was not upgraded for some reason. You may want to compare the actual table structure against the empty SQL file.

btry commented 4 years ago

Hi

I deleted your comment with the snapshot of your DB. for 2 reasons (sorry, I did not noticed it earlier) :

btry commented 4 years ago

Hi @apithon2

I did some investigation on your issue. I'm now pretty sure that the profile of the user is related to the bug.

Could you identify the user profile used when you see the bug and switch the profile to the standard interface and show a screenshot of the assistance tab, section ticket ?

image

image

Once done, switch the profile back to simplified interface

vincentdeniau commented 4 years ago

Hello there,

I have the same problem, so I've done what you asked :

Here it is : 2020-08-07 16_04_21-GLPI - Profiles - 1 et 11 pages de plus - Profil 1 - Microsoft​ Edge

btry commented 4 years ago

Hi @vincentdeniau

Unfortunately, the result is not what I expected. Can you tell which counters are imapcted ? A or only the last ? Also, please share the error you can find in glpi/files/_log/sql-errors.log .

vincentdeniau commented 4 years ago

All counters are impacted 2020-08-07 16_09_52-GLPI - Catalogue de service et 6 pages de plus - Profil 1 - Microsoft​ Edge

And here is the error found in the SQL log :

[2020-08-07 16:09:18] glpisqllog.ERROR: DBmysql::query() in /var/www/html/glpi/inc/dbmysql.class.php line 306
  *** MySQL query error:
  SQL: SELECT DISTINCT `glpi_plugin_formcreator_issues`.`id` AS id, 'Vincent.Deniau' AS currentuser,
                        `glpi_plugin_formcreator_issues`.`sub_itemtype`, `glpi_plugin_formcreator_issues`.`entities_id`, `glpi_plugin_formcreator_issues`.`is_recursive`,  GROUP_CONCAT(DISTINCT CONCAT(`glpi_plugin_formcreator_issues`.`name`, '$#$' ,
                                                        `glpi_plugin_formcreator_issues`.`id`) ORDER BY `glpi_plugin_formcreator_issues`.`id`
                                        SEPARATOR '$$##$$') AS `ITEM_PluginFormcreatorIssue_1`,

                            IFNULL(GROUP_CONCAT(DISTINCT CONCAT(IFNULL(`glpi_plugin_formcreator_issues`.`display_id`,
                                                                         '__NULL__'),
                                                   '$#$', `glpi_plugin_formcreator_issues`.`id`) SEPARATOR '$$##$$'), '__NULL__$#$')
                                    AS `ITEM_PluginFormcreatorIssue_1_display_id`, `glpi_plugin_formcreator_issues`.`display_id` AS `ITEM_PluginFormcreatorIssue_2`,  `glpi_plugin_formcreator_issues`.`status` AS `ITEM_PluginFormcreatorIssue_4`,  `glpi_plugin_formcreator_issues`.`date_creation` AS `ITEM_PluginFormcreatorIssue_5`,  `glpi_plugin_formcreator_issues`.`date_mod` AS `ITEM_PluginFormcreatorIssue_6`,  `glpi_entities`.`completename` AS `ITEM_PluginFormcreatorIssue_7`,   `glpi_users_requester_id`.`name` AS `ITEM_PluginFormcreatorIssue_8`,
                        `glpi_users_requester_id`.`realname` AS `ITEM_PluginFormcreatorIssue_8_realname`,
                        `glpi_users_requester_id`.`id`  AS `ITEM_PluginFormcreatorIssue_8_id`,
                        `glpi_users_requester_id`.`firstname` AS `ITEM_PluginFormcreatorIssue_8_firstname`,
                         `glpi_users_users_id_validator`.`name` AS `ITEM_PluginFormcreatorIssue_9`,
                        `glpi_users_users_id_validator`.`realname` AS `ITEM_PluginFormcreatorIssue_9_realname`,
                        `glpi_users_users_id_validator`.`id`  AS `ITEM_PluginFormcreatorIssue_9_id`,
                        `glpi_users_users_id_validator`.`firstname` AS `ITEM_PluginFormcreatorIssue_9_firstname`,
                         `glpi_groups_groups_id_validator`.`completename` AS `ITEM_PluginFormcreatorIssue_16`,
                        `glpi_groups_groups_id_validator`.`id` AS `ITEM_PluginFormcreatorIssue_16_id` FROM `glpi_plugin_formcreator_issues` LEFT JOIN `glpi_tickets_users`  AS `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`
                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.`tickets_id`
                                                 AND `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.`type` = 1 ) LEFT JOIN `glpi_tickets_users`  AS `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`
                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.`tickets_id`
                                                 AND `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.`type` = 3 ) LEFT JOIN `glpi_groups_tickets`  AS `glpi_groups_tickets_d86d1fe2a1ea996e3820de82e6aa57e8`
                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_groups_tickets_d86d1fe2a1ea996e3820de82e6aa57e8`.`tickets_id`
                                                 AND `glpi_groups_tickets_d86d1fe2a1ea996e3820de82e6aa57e8`.`type` = 3 ) LEFT JOIN `glpi_tickets_users`  AS `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`
                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.`tickets_id`
                                                 AND `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.`type` = 2 ) LEFT JOIN `glpi_groups_tickets`  AS `glpi_groups_tickets_819efb92c8b927b345e489211ec8e43b`
                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_groups_tickets_819efb92c8b927b345e489211ec8e43b`.`tickets_id`
                                                 AND `glpi_groups_tickets_819efb92c8b927b345e489211ec8e43b`.`type` = 2 ) LEFT JOIN `glpi_ticketvalidations` 
                                             ON (`glpi_plugin_formcreator_issues`.`original_id` = `glpi_ticketvalidations`.`tickets_id`
                                                 )LEFT JOIN `glpi_entities` 
                                          ON (`glpi_plugin_formcreator_issues`.`entities_id` = `glpi_entities`.`id`
                                              )LEFT JOIN `glpi_users`  AS `glpi_users_requester_id`
                                          ON (`glpi_plugin_formcreator_issues`.`requester_id` = `glpi_users_requester_id`.`id`
                                              )LEFT JOIN `glpi_users`  AS `glpi_users_users_id_validator`
                                          ON (`glpi_plugin_formcreator_issues`.`users_id_validator` = `glpi_users_users_id_validator`.`id`
                                              ) LEFT JOIN `glpi_groups` AS `glpi_groups_groups_id_validator` ON (`glpi_plugin_formcreator_issues`.`groups_id_validator` = `glpi_groups_groups_id_validator`.`id`)  WHERE (( `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.users_id = '6'
                                    OR `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.users_id = '6'
                                    OR `glpi_plugin_formcreator_issues`.`requester_id` = '6' OR `glpi_ticketvalidations`.`users_id_validate`
                                          = '6')  OR `glpi_plugin_formcreator_issues`.`users_id_validator` = '6') AND  ( `glpi_plugin_formcreator_issues`.`entities_id` IN ('0')  )  AND (    (`glpi_users_requester_id`.`id` = '6')  AND (  `glpi_plugin_formcreator_issues`.`status` IN ('5','6') OR `glpi_plugin_formcreator_issues`.`status` IN ('102')) OR (   (`glpi_users_users_id_validator`.`id` = '6')   OR (`glpi_groups_groups_id_validator`.`id` IN ('1','3')) ) AND `glpi_plugin_formcreator_issues`.`status` IN ('102') ) GROUP BY `glpi_plugin_formcreator_issues`.`id` ORDER BY ITEM_PluginFormcreatorIssue_1 ASC 
  Error: Unknown column 'glpi_plugin_formcreator_issues.users_id_validator' in 'where clause'
  Backtrace :
  inc/search.class.php:1208                          
  inc/search.class.php:320                           Search::constructData()
  plugins/formcreator/inc/issue.class.php:754        Search::getDatas()
  plugins/formcreator/inc/wizard.class.php:222       PluginFormcreatorIssue::getTicketSummary()
  plugins/formcreator/inc/wizard.class.php:88        PluginFormcreatorWizard::showTicketSummary()
  plugins/formcreator/front/reservationitem.php:42   PluginFormcreatorWizard::header()
btry commented 4 years ago

@vincentdeniau : I think that you have an uprgade issue. Please compare the structure of the table glpi_plugin_formcreator_issues against the structure described in glpi/plugins/formcreator/install/mysql/plugin_formcreator_empty.sql

image

vincentdeniau commented 4 years ago

Hello @btry

You're right ! 2020-08-08 07_33_05-it@it ipulse-group com

vincentdeniau commented 4 years ago

I've droped the table (as it was empty) and created it again regarding plugin_formcreator_empty.sql, and there it goes : 2020-08-08 07_52_54-GLPI - Catalogue de service et 5 pages de plus - Profil 1 - Microsoft​ Edge

btry commented 4 years ago

Nice. I guess you have data in glpi_tickets and glpi_plugin_formceator_formanswers. Then you should maybe run the automatic action syncissues to populate glpi_plugin_formcreator_issues.

btry commented 4 years ago

It would be iseful to check if all other tables in your instance match the structure in the .sql file of the plugin.

I guess you upgraded the plugin from an earlier version. If you know the history of your GLPI instance I would appreciate to work together in an other ticket to find why the upgrade process failed.

vincentdeniau commented 4 years ago

Nice. I guess you have data in glpi_tickets and glpi_plugin_formceator_formanswers. Then you should maybe run the automatic action syncissues to populate glpi_plugin_formcreator_issues.

Nope, the server is not in production yet.

It would be iseful to check if all other tables in your instance match the structure in the .sql file of the plugin.

I will definitly do.

I guess you upgraded the plugin from an earlier version. If you know the history of your GLPI instance I would appreciate to work together in an other ticket to find why the upgrade process failed.

Correct. I upgrade from 9.4.6 to 9.5.0 then 9.5.1 I'd be pleased to help.

btry commented 4 years ago

Hi

So you upgraded GLPI (good choice). I As you're apparently testing the plugin, it was installed with the version 2.10.1 ? you did not upgraded it ?

vincentdeniau commented 4 years ago

Well when my GLPI server was v9.4.6, I installed Formcreator v2.9.2 and created several forms. After that I tried Formcreator v2.10.0RC1, with GLPI still being in v9.4.6 Few days ago I’ve upgraded GLPI to 9.5, Formcreator was disabled and uninstalled so I installed the latest version. To finish, I upgraded GLPI to 9.5.1

btry commented 4 years ago

It looks to me impossible to have a schema inconsistency with such scenario. I'll try to simplify it to a scenario without upgrade of GLPI, and see if I can get a outdated DB schema.

btry commented 4 years ago

Hi

@apithon2, if you're using GLPI < 9.4.5, please check if you need to apply the following patch for GLPI, and try to reproduce the issue : https://github.com/glpi-project/glpi/pull/6365

I just got a report which make me bellieve that your issue is an old and solved bug.

apithon2 commented 4 years ago

Okay obrigado

btry commented 4 years ago

I got some more news. The above patch does not applies on GLPI 9.4.3. It applies only on GLPI 9.4.4 and is already included in GLPI 9.4.5.

I finally successfully reproduce the issue by trying to run Formcreator 2.10.1 on GLPI 9.4.3 (just now). Thanks to an other feedback from yesterday, you have a chance to solve the bug if you upgrade to GLPI 9.4.6 or later. Please use a testing environment to test this version and feedback.

btry commented 4 years ago

Hi

I got some news about issues related to counters.

For cases where counters show 0 and running version 2.10, a bug was discovered in the SQL query powering the atuomatic action of th plugin (named SyncIssues). The incoming release has a fix for that, and upgrading should solve the problem. See the commit https://github.com/pluginsGLPI/formcreator/commit/c68628c18be87dd03553c4001b82931459d482e9.

This commit alone will not solve the issue. You need to empty the table glpi_plugin_formcreator_issues then run manually the automatic action.

For cases where counters show N/A, I need either a procedure to reproduce (hard because there is something to tune in GLPI or a very specific dataset).

btry commented 3 years ago

HI

If you upgrade to 2.10.4 do you still have a problem with your counter ?

btry commented 3 years ago

Hi

I think that this issue may be closed. Other bugs were solved on counters and issues since this one. Feel free to open a new issue if you still have problems.