pluginsGLPI / formcreator

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

Form clicked "send" multiples times, create multiples tickets of the same form #3313

Closed jcervantes-sipecom closed 1 year ago

jcervantes-sipecom commented 1 year ago

Describe the bug When clic in "send" the form doesn't send at the moment that the button was clicked, so the user thought he didn't send and clicked multiple time in send and this created multiples tickets.

To Reproduce Steps to reproduce the behavior:

  1. Go to the form
  2. Fill the fields
  3. Clic in "Send"
  4. The page doesn't reload, so clic again in send, or clic multiple times
  5. Go to "Tickets"
  6. See multiples tickets created.

Expected behavior When clic in "Send", the page or the form immediately send and create the ticket, of course just one ticket should be created not multiples.

Screenshots

Here I fill the form and clic in "Send" but the page didn't do anything, neither reload or anythig, so I clicked very times:

image

So after a while, like 5 or 10 seconds after, the form send the page, the page is reloaded, and multiples tickets are created:

image

GLPI / Plugins (please complete the following information):

Plugins list
 
    accounts             Name: Accounts                       Version: 3.0.3      State: Enabled                                 
        Install Method: Marketplace
    activity             Name: Activities                     Version: 3.1.2      State: Installed / not activated               
        Install Method: Marketplace
    actualtime           Name: ActualTime                     Version: 2.1.0      State: Enabled                                 
        Install Method: Marketplace
    fields               Name: Additional fields              Version: 1.20.6     State: Installed / not activated               
        Install Method: Marketplace
    advancedplanning     Name: advancedplanning               Version: 1.1.0      State: Not installed                           
        Install Method: Marketplace
    news                 Name: Alerts                         Version: 1.12.1     State: Installed / not activated               
        Install Method: Marketplace
    barcode              Name: Barcode                        Version: 2.7.1      State: Enabled                                 
        Install Method: Marketplace
    behaviors            Name: Behaviours                     Version: 2.7.2      State: Enabled                                 
        Install Method: Marketplace
    positions            Name: Cartography                    Version: 6.0.2      State: Enabled                                 
        Install Method: Marketplace
    cmdb                 Name: CMDB                           Version: 3.0.3      State: Installed / not activated               
        Install Method: Marketplace
    datainjection        Name: Data injection                 Version: 2.13.2     State: Installed / not activated               
        Install Method: Marketplace
    archimap             Name: Diagrams                       Version: 3.2.21     State: Enabled                                 
        Install Method: Marketplace
    manageentities       Name: Entities portal                Version: 4.0.3      State: Enabled                                 
        Install Method: Marketplace
    formcreator          Name: Form Creator                   Version: 2.13.6     State: Enabled                                 
        Install Method: Marketplace
    gantt                Name: gantt                          Version: 1.0.4      State: Not installed                           
        Install Method: Marketplace
    gappessentials       Name: Gapp Essentials                Version: 2.1.2      State: Enabled                                 
        Install Method: Marketplace
    glpiinventory        Name: GLPI Inventory                 Version: 1.2.1      State: Enabled                                 
        Install Method: Marketplace
    resources            Name: Human Resources                Version: 3.0.4      State: Installed / not activated               
        Install Method: Marketplace
    geninventorynumber   Name: Inventory number generation    Version: 2.8.3      State: Enabled                                 
        Install Method: Marketplace
    addressing           Name: IP Adressing                   Version: 3.0.1      State: Enabled                                 
        Install Method: Marketplace
    uninstall            Name: Item's Lifecycle (uninstall)   Version: 2.8.1      State: Installed / not activated               
        Install Method: Marketplace
    mailanalyzer         Name: Mail Analyzer                  Version: 3.0.0      State: Enabled                                 
        Install Method: Manual
    metabase             Name: Metabase                       Version: 1.3.3      State: Installed / not activated               
        Install Method: Marketplace
    mfa                  Name: MFA                            Version: 1.0.2      State: Installed / not activated               
        Install Method: Marketplace
    mreporting           Name: More Reporting                 Version: 1.8.2      State: Installed / not activated               
        Install Method: Marketplace
    moreticket           Name: More ticket                    Version: 1.7.1      State: Installed / not activated               
        Install Method: Marketplace
    mydashboard          Name: My Dashboard                   Version: 2.1.5      State: Installed / not activated               
        Install Method: Marketplace
    ocsinventoryng       Name: OCS Inventory NG               Version: 2.0.4      State: Enabled                                 
        Install Method: Marketplace
    officeonline         Name: Office Online                  Version: 3.0.1      State: Enabled                                 
        Install Method: Manual
    onetimesecret        Name: OneTimeSecret                  Version: 2.0.0      State: Enabled                                 
        Install Method: Marketplace
    order                Name: Orders management              Version: 2.10.4     State: Enabled                                 
        Install Method: Marketplace
    pdf                  Name: Print to pdf                   Version: 3.0.0      State: Not installed                           
        Install Method: Marketplace
    tag                  Name: Tag Management                 Version: 2.11.2     State: Installed / not activated               
        Install Method: Marketplace
    tasklists            Name: Tasks list                     Version: 2.0.3      State: Installed / not activated               
        Install Method: Marketplace
    useditemsexport      Name: Used items export              Version: 2.5.1      State: Not installed                           
        Install Method: Marketplace
    yagp                 Name: yagp                           Version: 2.1.1      State: Not installed                           
        Install Method: Marketplace

Desktop (please complete the following information):

btry commented 1 year ago

Hi

Read the releases notes of the version 2.13.6 : you need an extra patch for GLPI 10.0.7.

After applying the patch for GLPI,

jcervantes-sipecom commented 1 year ago

Yes, @btry thank you, I download the plugin directly form the market place so I haven't read the release notes, the "send" button now appears as:

image

I tried clicked very times but the result is just one ticket, as as supposed to be.

The only matter is the page slow to send the form, but the result is as expected.

btry commented 1 year ago

Hi

There are a lot of business logic when a form is submitted. I'm aware that it takes several seconds, but the spinner, visible in your screenshot, tells the user to wait a few seconds.

I don't have much time to investigate about performance optimisation for now.

The issue is solved, then I close.