formcreator
formcreator copied to clipboard
The "Put in trash bin" button is not working
Describe the bug The "Put in trash bin" button is not working. When the self-service profile user clicks this button, no action is taken on the ticket and nothing different appears in the log either.
To Reproduce Steps to reproduce the behavior:
- Access a ticket with a self-service profile user;
- Click on "Put in trash bin" button;
- The screen refreshes, but the ticket does not change
Expected behavior The ticket should have the status changed or cancelled.
Screenshots
GLPI / Plugins (please complete the following information):
Instruções de instalação e configuração
GLPI 10.0.2 (/glpi => C:\xampp\htdocs\glpi) Installation mode: TARBALL Current language:pt_BR
Server
Operating system: Windows NT UNOUNIV-VFNBAD8 10.0 build 19044 (Windows 10) AMD64 PHP 8.1.6 apache2handler (Core, PDO, Phar, Reflection, SPL, SimpleXML, Zend OPcache, apache2handler, bcmath, bz2, calendar, ctype, curl, date, dom, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, intl, json, ldap, libxml, mbstring, mysqli, mysqlnd, openssl, pcre, pdo_mysql, pdo_sqlite, readline, session, standard, tokenizer, xml, xmlreader, xmlwriter, zip, zlib) Setup: max_execution_time="120" memory_limit="1024M" post_max_size="40M" safe_mode="" session.save_handler="files" upload_max_filesize="40M" Software: Apache/2.4.53 (Win64) OpenSSL/1.1.1n PHP/8.1.6 (Apache/2.4.53 (Win64) OpenSSL/1.1.1n PHP/8.1.6 Server at localhost Port 80 ) Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0 Server Software: mariadb.org binary distribution Server Version: 10.4.24-MariaDB Server SQL Mode: NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION Parameters: root@localhost/glpidb Host info: localhost via TCP/IPPHP version (8.1.6) is supported. Sessions configuration is OK. Allocated memory is sufficient. mysqli extension is installed. Following extensions are installed: dom, fileinfo, json, simplexml. curl extension is installed. gd extension is installed. intl extension is installed. libxml extension is installed. zlib extension is installed. The constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES is present. Database engine version (10.4.24) is supported. The log file has been created successfully. Write access to C:\xampp\htdocs\glpi/files/_cache has been validated. Write access to C:\xampp\htdocs\glpi/config has been validated. Write access to C:\xampp\htdocs\glpi/files/_cron has been validated. Write access to C:\xampp\htdocs\glpi/files has been validated. Write access to C:\xampp\htdocs\glpi/files/_dumps has been validated. Write access to C:\xampp\htdocs\glpi/files/_graphs has been validated. Write access to C:\xampp\htdocs\glpi/files/_lock has been validated. Write access to C:\xampp\htdocs\glpi/files/_pictures has been validated. Write access to C:\xampp\htdocs\glpi/files/_plugins has been validated. Write access to C:\xampp\htdocs\glpi/files/_rss has been validated. Write access to C:\xampp\htdocs\glpi/files/_sessions has been validated. Write access to C:\xampp\htdocs\glpi/files/_tmp has been validated. Write access to C:\xampp\htdocs\glpi/files/_uploads has been validated. Web access to files directory is protected exif extension is installed. ldap extension is installed. openssl extension is installed. zip extension is installed. bz2 extension is installed. Zend OPcache extension is installed. Following extensions are installed: ctype, iconv, mbstring. Following extensions are not present: sodium. Write access to C:\xampp\htdocs\glpi/marketplace has been validated. Timezones seems not loaded, see https://glpi-install.readthedocs.io/en/latest/timezones.html.
GLPI constants
GLPI_ROOT: C:\xampp\htdocs\glpi GLPI_CONFIG_DIR: C:\xampp\htdocs\glpi/config GLPI_VAR_DIR: C:\xampp\htdocs\glpi/files GLPI_MARKETPLACE_DIR: C:\xampp\htdocs\glpi/marketplace GLPI_USE_CSRF_CHECK: 1 GLPI_CSRF_EXPIRES: 7200 GLPI_CSRF_MAX_TOKENS: 100 GLPI_USE_IDOR_CHECK: 1 GLPI_IDOR_EXPIRES: 7200 GLPI_ALLOW_IFRAME_IN_RICH_TEXT: GLPI_TELEMETRY_URI: https://telemetry.glpi-project.org GLPI_INSTALL_MODE: TARBALL GLPI_NETWORK_MAIL: [email protected] GLPI_NETWORK_SERVICES: https://services.glpi-network.com GLPI_MARKETPLACE_ALLOW_OVERRIDE: 1 GLPI_MARKETPLACE_MANUAL_DOWNLOADS: 1 GLPI_USER_AGENT_EXTRA_COMMENTS: GLPI_DISABLE_ONLY_FULL_GROUP_BY_SQL_MODE: 1 GLPI_AJAX_DASHBOARD: 1 GLPI_CALDAV_IMPORT_STATE: 0 GLPI_DEMO_MODE: 0 GLPI_CENTRAL_WARNINGS: 1 GLPI_DOC_DIR: C:\xampp\htdocs\glpi/files GLPI_CACHE_DIR: C:\xampp\htdocs\glpi/files/_cache GLPI_CRON_DIR: C:\xampp\htdocs\glpi/files/_cron GLPI_DUMP_DIR: C:\xampp\htdocs\glpi/files/_dumps GLPI_GRAPH_DIR: C:\xampp\htdocs\glpi/files/_graphs GLPI_LOCAL_I18N_DIR: C:\xampp\htdocs\glpi/files/_locales GLPI_LOCK_DIR: C:\xampp\htdocs\glpi/files/_lock GLPI_LOG_DIR: C:\xampp\htdocs\glpi/files/_log GLPI_PICTURE_DIR: C:\xampp\htdocs\glpi/files/_pictures GLPI_PLUGIN_DOC_DIR: C:\xampp\htdocs\glpi/files/_plugins GLPI_RSS_DIR: C:\xampp\htdocs\glpi/files/_rss GLPI_SESSION_DIR: C:\xampp\htdocs\glpi/files/_sessions GLPI_TMP_DIR: C:\xampp\htdocs\glpi/files/_tmp GLPI_UPLOAD_DIR: C:\xampp\htdocs\glpi/files/_uploads GLPI_INVENTORY_DIR: C:\xampp\htdocs\glpi/files/_inventories GLPI_NETWORK_REGISTRATION_API_URL: https://services.glpi-network.com/api/registration/ GLPI_MARKETPLACE_PLUGINS_API_URI: https://services.glpi-network.com/api/glpi-plugins/ GLPI_I18N_DIR: C:\xampp\htdocs\glpi/locales GLPI_VERSION: 10.0.2 GLPI_SCHEMA_VERSION: 10.0.2@a130db99c7d9b131c2e2ea59fe0d6260fe93d831 GLPI_MARKETPLACE_PRERELEASES: GLPI_MIN_PHP: 7.4.0 GLPI_MAX_PHP: 8.2.0 GLPI_YEAR: 2022
Libraries
htmlawed/htmlawed version 1.2.6 in (C:\xampp\htdocs\glpi\vendor\htmlawed\htmlawed) phpmailer/phpmailer version 6.6.0 in (C:\xampp\htdocs\glpi\vendor\phpmailer\phpmailer\src) simplepie/simplepie version 1.5.8 in (C:\xampp\htdocs\glpi\vendor\simplepie\simplepie\library) tecnickcom/tcpdf version 6.4.4 in (C:\xampp\htdocs\glpi\vendor\tecnickcom\tcpdf) michelf/php-markdown in (C:\xampp\htdocs\glpi\vendor\michelf\php-markdown\Michelf) true/punycode in (C:\xampp\htdocs\glpi\vendor\true\punycode\src) iamcal/lib_autolink in (C:\xampp\htdocs\glpi\vendor\iamcal\lib_autolink) sabre/dav in (C:\xampp\htdocs\glpi\vendor\sabre\dav\lib\DAV) sabre/http in (C:\xampp\htdocs\glpi\vendor\sabre\http\lib) sabre/uri in (C:\xampp\htdocs\glpi\vendor\sabre\uri\lib) sabre/vobject in (C:\xampp\htdocs\glpi\vendor\sabre\vobject\lib) laminas/laminas-i18n in (C:\xampp\htdocs\glpi\vendor\laminas\laminas-i18n\src) laminas/laminas-servicemanager in (C:\xampp\htdocs\glpi\vendor\laminas\laminas-servicemanager\src) monolog/monolog in (C:\xampp\htdocs\glpi\vendor\monolog\monolog\src\Monolog) sebastian/diff in (C:\xampp\htdocs\glpi\vendor\sebastian\diff\src) donatj/phpuseragentparser in (C:\xampp\htdocs\glpi\vendor\donatj\phpuseragentparser\src\UserAgent) elvanto/litemoji in (C:\xampp\htdocs\glpi\vendor\elvanto\litemoji\src) symfony/console in (C:\xampp\htdocs\glpi\vendor\symfony\console) scssphp/scssphp in (C:\xampp\htdocs\glpi\vendor\scssphp\scssphp\src) laminas/laminas-mail in (C:\xampp\htdocs\glpi\vendor\laminas\laminas-mail\src\Protocol) laminas/laminas-mime in (C:\xampp\htdocs\glpi\vendor\laminas\laminas-mime\src) rlanvin/php-rrule in (C:\xampp\htdocs\glpi\vendor\rlanvin\php-rrule\src) blueimp/jquery-file-upload in (C:\xampp\htdocs\glpi\vendor\blueimp\jquery-file-upload\server\php) ramsey/uuid in (C:\xampp\htdocs\glpi\vendor\ramsey\uuid\src) psr/log in (C:\xampp\htdocs\glpi\vendor\psr\log\Psr\Log) psr/simple-cache in (C:\xampp\htdocs\glpi\vendor\psr\simple-cache\src) psr/cache in (C:\xampp\htdocs\glpi\vendor\psr\cache\src) league/csv in (C:\xampp\htdocs\glpi\vendor\league\csv\src) mexitek/phpcolors in (C:\xampp\htdocs\glpi\vendor\mexitek\phpcolors\src\Mexitek\PHPColors) guzzlehttp/guzzle in (C:\xampp\htdocs\glpi\vendor\guzzlehttp\guzzle\src) guzzlehttp/psr7 in (C:\xampp\htdocs\glpi\vendor\guzzlehttp\psr7\src) glpi-project/inventory_format in (C:\xampp\htdocs\glpi\vendor\glpi-project\inventory_format\lib\php) wapmorgan/unified-archive in (C:\xampp\htdocs\glpi\vendor\wapmorgan\unified-archive\src) paragonie/sodium_compat in (C:\xampp\htdocs\glpi\vendor\paragonie\sodium_compat\src) symfony/cache in (C:\xampp\htdocs\glpi\vendor\symfony\cache) html2text/html2text in (C:\xampp\htdocs\glpi\vendor\html2text\html2text\src) symfony/css-selector in (C:\xampp\htdocs\glpi\vendor\symfony\css-selector) symfony/dom-crawler in (C:\xampp\htdocs\glpi\vendor\symfony\dom-crawler) twig/twig in (C:\xampp\htdocs\glpi\vendor\twig\twig\src) twig/string-extra in (C:\xampp\htdocs\glpi\vendor\twig\string-extra) symfony/polyfill-ctype not found symfony/polyfill-iconv not found symfony/polyfill-mbstring not found symfony/polyfill-php80 not found symfony/polyfill-php81 not found
LDAP directories
Server: '10.200.3.1', Port: '389', BaseDN: 'ou=people,dc=ufpr,dc=br', Connection filter: none, RootDN: none, Use TLS: none
SQL replicas
Not active
Notifications
Way of sending emails: PHP
Plugins list
fields Name: Additional fields Version: 1.17.0 State: Enabled Install Method: Manual behaviors Name: Comportamentos Version: 2.7.2 State: Enabled Install Method: Manual datainjection Name: Data injection Version: 2.11.2 State: Installed / not activated Install Method: Manual escalade Name: Escalation Version: 2.8.0 State: Enabled Install Method: Manual formcreator Name: Form Creator Version: 2.13.0-rc.2 State: Enabled Install Method: Manual genericobject Name: Gerenciamento de objetos Version: 2.12.1 State: Enabled Install Method: Manual itilcategorygroups Name: Grupos ItilCategory Version: 2.5.0 State: Enabled Install Method: Manual tag Name: Tag Management Version: 2.9.2 State: Installed / not activated Install Method: Manual
Desktop (please complete the following information):
- OS: Windows 10
- Browser: Chrome, Versão 104.0.5112.81 (Versão oficial) 64 bits
Additional context
The "cancel" button on that same screen is also not working.
I also opened an issue about the problem with the cancel button.
The issue is in the link below:
https://github.com/pluginsGLPI/formcreator/issues/2911
Hi
A fix has already be created. Try it and feedback : https://github.com/pluginsGLPI/formcreator/pull/2914
Hi
After applying the corrections, I used the "Cancel" button and the trash can icon button
The ticket goes to the trash but remains on the self-service user's assistance home page
Should this happen?
Self-service profile:
Super Admin profile:
Hi
When a ticket is sent to the trash bin, the issue should be deleted from the database. I need to reproduce to see what happens.
I found the problem. Try the above patch and feedback.
Hi
Resolved the issue of cancellation and not showing to the user, but I tested the restoration, and the requester did not have access.
I canceled a ticket, and it showed up in the trash. Accessing the ticket in the trash, it appears that the message "Item Not Found".
Ticket in the trash:
After accessing (self-service profile):
Super-Admin Profile:
Restore by super admin. Super admin screen:
After restoring, the ticket does not appear for the requester.
Super admin screen:
Historical:
Hi
I canceled a ticket, and it showed up in the trash. Accessing the ticket in the trash, it appears that the message "Item Not Found".
When you are using teh service catalog you should not have access to the tickets list. I found that 3 redirections were missing in the plugin, which were present in versions 2.12.x. I added several comits to fix this and other inconsistencies when running your workflow.
Revert the patch you applied, download it again and apply it. You will very likely get an error when patching a file in the test/ folder. You can ignore patching this file.
Hi
I will take the test this afternoon.
Hi
I did some tests.
On tickets opened after applying the fix, when the self-service user cancels the ticket, it is no longer displayed to the user, but appears in the recycle bin for the super-admin.
If the super-admin restores the ticket, it reappears for the requester.
This was fixed, and I even did some tests in which the super-admin does the cancellation and the ticket does not appear for the requester, and doing the restoration, it appears again.
I'm just mentioning, because doing the same actions on tickets that were already open before the update, when the super-admin does the restore, the ticket actually appears again for the requesting user, but if the super-admin makes a new cancellation and a restore, the ticket does not reappear for the requester.
In summary, in old tickets, when the first deletion and the first restoration are done, there are no problems, after the second restoration, the ticket does not appear for the requester again.
On new tickets (after applying version 2.13.0), cancellation and deletion can be done multiple times and the ticket is always displayed again to the user after the restore.
Thanks
Hi
I'm just mentioning, because doing the same actions on tickets that were already open before the update, when the super-admin does the restore, the ticket actually appears again for the requesting user, but if the super-admin makes a new cancellation and a restore, the ticket does not reappear for the requester.
Was the ticket in the trash bin before you apply the update ?
EDIT : also, do you still ave such old ticket that you did not yet restored, deleted the restored again ? Sone data from the DB may be useful to understand where the problem comes from.
Was the ticket in the trash bin before you apply the update ?
Yes, the ticket was already in the trash before applying an update.
I'll test with tickets that were open before applying an update, but that weren't in the trash.
EDIT : also, do you still ave such old ticket that you did not yet restored, deleted the restored again ? Sone data from the DB may be useful to understand where the problem comes from.
I have some tickets that are still in the trash since before I applied the update, I can try to see how it is in the DB.
Which tables should I look at?
Hi
For a given ticket
- you should find a formanswer only if the ticket is created by Formcreator. The relation is in glpi_items_tickets.
- you should find a matching row in glpi_plugin_formcreator_issues if the ticket is created by GLPI or by a form which issued only one ticket. The relation is in the glpi_plugin_formcreator_issues, columns itemtype and items_id.
When a ticket is in the trash bin the associated issue is deleted. When the ticket is restored, the issue is recreated. When both events occur, the status of the matching form answer (it it exists) is updated depending on all tickets associated to it.
Knowing all these functional rules you may detect of there is an inconsistency in the database. Actually the patch fixes the plugin to match the above behaviour. There were several problems, mostly related to the update on the table glpi_plugin_formcreator_issues.
Hi
Forgot to answer, but I couldn't find any inconsistencies.
I will do more tests
Thanks
Hi
If you don't find any inconsistency in the DB then I guess we can close this issue and merge the fix.
hi
I did not identify inconsistency, I believe it can be finalized
Hi
Thank you for your feedback. The fix has been merged.