Tryton - Issues

 

Issue7148

Title button enabled before the end of execution
Priority bug Status resolved
Superseder Nosy List ced, perilla, reviewbot, roundup-bot
Type behavior Components sao
Assigned To ced Keywords review
Reviews 37131002, 44211002
View: 37131002, 44211002

Created on 2018-02-19.06:59:52 by perilla, last changed by roundup-bot.

Messages
New changeset 4e530570e4c0 by Cédric Krier in branch 'default':
Make create call synchronous
http://hg.tryton.org/sao/rev/4e530570e4c0
New changeset df45144ff8b4 by Cédric Krier in branch 'default':
Disable buttons when clicked
http://hg.tryton.org/sao/rev/df45144ff8b4
New review44211002 at https://codereview.tryton.org/44211002/#ps1
New review37131002 at https://codereview.tryton.org/37131002/#ps1
msg39340 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2018-03-24.19:38:19
Here is review37131002 which disable button when clicked and review44211002 which prevent to have multiple creation.
msg38470 (view) Author: [hidden] (perilla) Date: 2018-02-19.18:43:23
Same situation happens when user change a value inside form
view and click a button without saving the record.
msg38426 (view) Author: [hidden] (perilla) Date: 2018-02-19.06:59:52
on sao when user create a new record, and then press a button,
this button is enabled, and user can press another clic before
process execution ends.

For example when user create a new internal shipment, and then
press 'Wait' button more than one time, this result on the
execution of sequence assignation more than one time,
and user perceives a sequence jump.

After debugging the code, I can see that it is related to button function
inside screen.js, because when record is not saved, the call to button function
returns immediately.  On the other hand, when record has been saved previously
the call to button function return after save record and execute server side
logic.

I can see that it is also related to record.save function, because inside 
this function there is a promise to be returned prm = jQuery.when()
but when id < 0 returns prm.done, and when id > 0 returns directly prm.
History
Date User Action Args
2018-03-27 10:50:15roundup-botsetmessages: + msg39444
2018-03-27 10:49:26roundup-botsetstatus: testing -> resolved
nosy: + roundup-bot
messages: + msg39443
2018-03-24 19:55:19reviewbotsetmessages: + msg39342
2018-03-24 19:55:18reviewbotsetreviews: 37131002 -> 37131002, 44211002
2018-03-24 19:55:15reviewbotsetnosy: + reviewbot
messages: + msg39341
2018-03-24 19:55:14reviewbotsetreviews: 37131002
keyword: + review
2018-03-24 19:38:20cedsetstatus: chatting -> testing
assignedto: ced
type: behavior
messages: + msg39340
nosy: + ced
2018-02-19 18:43:23perillasetstatus: unread -> chatting
messages: + msg38470
2018-02-19 06:59:52perillacreate

Showing 10 items. Show all history (warning: this could be VERY long)