Edgewall Software
Modify

Opened 17 years ago

Closed 17 years ago

Last modified 14 years ago

#6020 closed defect (worksforme)

"Sorry, can not save your changes." page should include changes that could not be applied

Reported by: trac@… Owned by: Jonas Borgström
Priority: normal Milestone:
Component: ticket system Version:
Severity: normal Keywords:
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

If you submit changes to a ticket and the changes could not be applied because someone else modified it, you get a page that says just that. It would be better to echo the changes that couldn't be saved back to the user so they wouldn't lose them.

Steps to reproduce:

  1. Create a new ticket.
  2. Open the ticket in two windows/tabs in your web browser.
  3. Submit changes to a ticket in one window/tab.
  4. Click Submit changes in the other window/tab (you don't need to actually make any changes)

Results:

Internal Error

Sorry, can not save your changes. This ticket has been modified by someone else since you started

Expected results:

This is an acceptable error, but it would be best if this error was displayed along with the changes that you made (this would be simple - just reproduce the original form fields and data that the user submitted), so that the changes could be saved and re-submitted if needed. Although sometimes browsers save the form field data making it available when you go Back, it would be best to not rely on it. On Safari, for example, clicking the Back button simply goes from http://example.com/ticket/2788#preview to http://example.com/ticket/2788, without changing the page (leaving the error message up, not showing the submitted data).

Workaround:

To prevent the changes from being lost when using Safari on OS X:

  1. Refresh the page. You'll be asked "Are you sure you want to send a form again?".
  2. In Terminal, run sudo tcpdump -A -s 1500
  3. Submit the form.
  4. Watch tcpdump for the form submission. It will be url-encoded. Save it somewhere.
  5. Decode by opening Python, type cgi.parse_qsl(", paste url-encoded data, then type `")'.
  6. Copy your data as necessary, salvaging what is still timely.

Attachments (0)

Change History (3)

comment:1 by Emmanuel Blot, 17 years ago

Resolution: worksforme
Status: newclosed

An enhanced collision detection feature has already been implemented in the current development version (available from source:/trunk). The changes that cannot be saved to the ticket are shown in a "Preview" box.

comment:2 by Emmanuel Blot, 17 years ago

See #4100 for the original ticket.

comment:3 by anonymous, 14 years ago

Resubmitting the form should submit the changes successfully. If you are commenting on a ticket then when it informs you that it has changed, the view of the ticket is updated. However, resubmitting the comment continues to trigger the error even though you have been informed of both the error and the update.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Jonas Borgström.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Jonas Borgström to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.