Vote #68550
完了Clicking "Add" twice creates duplicate member record
100%
説明
When editing members for a project:
If you select a user and click "Add" twice before the server request is completed, it will add a duplicate member record. It then shows up as two items in the projects dropdown menu, and probably other side-effects.
Possible solutions:
- Add a unique key on
members (user_id, project_id) - Prevent accidental re-submit on the front end, by disabling the button until ajax completes.
journals
I made a quick patch for the button UI on my github fork:
https://github.com/avit/redmine/commit/78c57faf4200cd7b3717ea5e8df338338a151f67
The members model has a validates_uniqueness_of that should prevent another record with the same value from being created, but maybe because happened concurrently from the double click, it couldn't verify uniqueness. Does this warrant adding a database constraint?
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
I've applied your patch and added the unique index on members table.
Thanks.
--------------------------------------------------------------------------------
Any changes of get similar fix (don't allow double submitting) for the #6579? It's really a very dangerous bug without workaround.
--------------------------------------------------------------------------------