End Date is set back one day if start time is set

RESOLVED WORKSFORME

Status

Calendar
Internal Components
--
minor
RESOLVED WORKSFORME
13 years ago
8 years ago

People

(Reporter: Lu Timdale, Unassigned)

Tracking

Details

(Reporter)

Description

13 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4

The date arithmetic fails after an error message "Your start date is after your
end date" is displayed.  The end date gets set back one day and the end time is
changed to PM.

Reproducible: Always

Steps to Reproduce:
1. New Event
2. set start time to 2:00 am 
3. change start time to 14:00 (2:00pm) 
4. change end time to 3:00 am 
5. change start time to 2:00 am 

Actual Results:  
Results listed after each step.
1. New event popup
2. end time changes to 3am automatically
3. end time changes to 3pm automatically
4. error shows in red "Your start time is after your end time"
5. end date changes automatically to day before and end time changes to PM

Expected Results:  
Results listed after each step.
1. New event popup
2. end time changes to 3am automatically
3. end time changes to 3pm automatically
4. error shows in red "Your start time is after your end time" 
5. end date should stay the same, message should go away.  Start time should be
set to 2:00am, end time should remain as 3:00am on the same day.


I think this is a problem with date arithmetic.
(Reporter)

Updated

13 years ago
Summary: End Date is set back one day if start time is set → End Date is set back one day if start time is set
Version: unspecified → Trunk

Comment 1

13 years ago
This is not a problem with date-arithmetic, but rather is simply a symptom of
the fact that Sunbird always tries to preserve the length of the event when you
change a particular time.  "end date is set back one day" is actually just "12
hours is subtracted form end time" since that's the change you made to the
start-date.  Perhaps we shouldn't be trying to preserve an illegal start-end
relationship, but at the same time, I don't think what we're doing is explicitly
wrong.

Leaving as unconfirmed.  mvl, thoughts on this? do we need beltzner's opinion
perhaps?

Updated

11 years ago
Assignee: shaver → nobody
OS: Windows XP → All
Hardware: PC → All
Whiteboard: [qa discussion needed]

Comment 2

11 years ago
We have discussed this in QA and decided to confirm it. I can confirm it with build: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a2pre) Gecko/20070104 Calendar/0.4a1

We also thought that you might want to change the behavior w.r.t. preserving the duration.  Basically, if calculating preserved duration after the user changes the start date results in an invalid end date, then reset the end date to be 1 hour after the start date.  That way in 99% of cases, sunbird will preserve the duration, and in those rare 1% of cases where users might hit this bug, the duration is replaced by a one hour duration and the user cannot enter an invalid time range in the event dialog.

We recommend this approach for both the event dialog and the prototype event dialog, but it seems the prototype event dialog may already be heading down this path.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [qa discussion needed]

Comment 3

10 years ago
WFM using Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a9pre) Gecko/2007110104 Calendar/0.6a1
WFM per previous comment
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.