Project

General

Profile

Actions

Defect #6826

closed

Clicking "Add" twice creates duplicate member record

Added by Andrew Vit over 13 years ago. Updated over 13 years ago.

Status:
Closed
Priority:
Low
Category:
Permissions and roles
Target version:
Start date:
2010-11-04
Due date:
% Done:

100%

Estimated time:
Resolution:
Fixed
Affected version:

Description

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:

1. Add a unique key on `members (user_id, project_id)`
2. Prevent accidental re-submit on the front end, by disabling the button until ajax completes.

Actions #1

Updated by Andrew Vit over 13 years ago

  • % Done changed from 0 to 50

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?

Actions #2

Updated by Jean-Philippe Lang over 13 years ago

  • Assignee set to Jean-Philippe Lang
Actions #3

Updated by Jean-Philippe Lang over 13 years ago

  • Status changed from New to Closed
  • Target version set to 1.1.0
  • % Done changed from 50 to 100
  • Resolution set to Fixed

I've applied your patch and added the unique index on members table.
Thanks.

Actions #4

Updated by Bruno Medeiros over 13 years ago

Any changes of get similar fix (don't allow double submitting) for the #6579? It's really a very dangerous bug without workaround.

Actions

Also available in: Atom PDF