Closed Bug 232320 Opened 22 years ago Closed 21 years ago

All Day Event Problem with Multiple Days

Categories

(Calendar :: General, defect)

x86
Windows XP
defect
Not set
major

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: btafoya, Assigned: mostafah)

References

Details

Attachments

(2 files)

User-Agent: Build Identifier: 2004010914-cal When you select an all day event, and select for example Monday thru Friday, the calendar only displays from Monday through Thursday. We noticed that the end time, even though it is greyed out, is set to 12:00 AM and could be causing the last day to end at that time, rather than 12:00 AM the following day. Reproducible: Always Steps to Reproduce: 1.Select new Event 2.Set the title 3.Select the start and end days 4.Select all day event 5.Greyed out date defaults to 12:00 AM Actual Results: The schedule is set, but not showing Friday as scheduled Expected Results: Should show the task scheduled from Monday thru Friday
All day events should end at 11:59AM. The are currently defaulting to 12:00AM which is the next day. (The start time defaults to 12:00AM correctly). This means that to choose a multiday event using the 'open a calendar' icon, you have to always pick the NEXT day after the ending day. Using 12:00AM is just flat wrong.
Any chance this might get fixed in the near future?
Maybe it could be fixed by adjusting the end time to 23:59 by default, in feact the behaviour is correct according to what is displayed in the grayed out boxes. an event from 2004-04-21 00:00 to 2004-04-24 00:00 is due 23:59 the day before. But if the end timte was 2004-0424 23:59 is a whole more day for the event. I have never written code for Mozilla and my C++ skills is were rusty but in the file oeICalEventImpl.cpp on line <a href="http://lxr.mozilla.org/mozilla/source/calendar/libxpical/oeICalEventImpl.cpp#2687">2687</a> to line <a href="http://lxr.mozilla.org/mozilla/source/calendar/libxpical/oeICalEventImpl.cpp#2694">2694</a> we have this: if( m_allday ) { if( m_end->CompareDate( m_start )==0 ) { m_end->m_datetime = m_start->m_datetime; icaltime_adjust( &(m_end->m_datetime), 1, 0, 0, 0 ); } else { m_end->SetHour( 0 ); m_end->SetMinute( 0 ); } if we alter m_end->SetHour( 0 ); to m_end->SetHour( 23 ); and m_end->SetMinute( 0 ); to m_end->SetMinute( 59 ); we can get out of the mess?
imo, that would be an ugly hack. If it is all day, the start and end time shouldn't matter. Only the days.
I don't think there is anything wrong with the back end: I believe in an .ics-file a one day allday event starts on day X and ends on X+1. The time values are not even saved, only dates. It's just the user interface that needs work. Modifying end dates in unifinder-eventlist and 'edit event'-window should do the trick. There might be other places though, like tooltips...
I agree that the frontend should handle this case. The backend is following the standard on this.
This patch changes the following things in the UI (all points relate to allday events only): - unifinder end dates are now "one less" than they used to - unifinder tooltip end dates are now "one less" - event dialog end dates are now "one less" Additional changes include the handling of user input, and validity checks in event dialog.
Attachment #147722 - Attachment description: Changes in the way allday event enddates are shown to user → Changes in the way allday event enddates are shown to user( checked in )
Attachment #147722 - Flags: first-review+
*** Bug 207121 has been marked as a duplicate of this bug. ***
Bug: clicking "this event lasts all day" on a new event produces the warning that "Your start date is after your end date". The attached patch fixes this bug and clarifies the code. It applies after the previous (checked-in) patch. Renames "user end date" to "display end date", as it is the date that is displayed to the user, but may not belong to the user. Rewrites checkSetTimeDate for clarity. Adds code to commandAllDay to update gEndTime depending on whether the event all day before checking time and date (via updateOKButton).
Attachment #148577 - Flags: first-review?(mostafah)
Attachment #148577 - Flags: first-review?(mostafah) → first-review+
Attachment #148577 - Attachment description: eventDialog.js patch: fix all-day checkbox behavior → eventDialog.js patch: fix all-day checkbox behavior(checked in)
Is this FIXED now or are there still outstanding issues?
I just tried to create a week-long event using Moz Calendar 2004061818-cal for Mozilla 1.7.1. I clicked on the [ ] This event lasts all day check-box. The event is supposed to last from August 1 thru August 7 (Sunday thru Saturday), so I selected August 1 as the start date and August 7 as the end date. When I did this, the "Your start date is after your end date" error message is displayed in red and I can't create the event. However, if I select August 6, or 8, or any date after August 1, as long as it's not a Saturday, the error message is not displayed. Also, if I make the event a timed event by unchecking the [ ] This event lasts all day check-box, August 1 -> August 8 is OK. In summary, Moz Calendar is unable to create a week long event that lasts from Sunday to Saturday.
(In reply to comment #11) This was fixed in bug 248619. The patch is simple.
*** This bug has been marked as a duplicate of 248619 ***
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → DUPLICATE
(The bug in comment #11 a duplicate of bug 248619, not this bug 232320. I think this bug 232320 is now fixed.)
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Status: REOPENED → RESOLVED
Closed: 21 years ago21 years ago
Resolution: --- → FIXED
The bugspam monkeys have been set free and are feeding on Calendar :: General. Be afraid for your sanity!
QA Contact: gurganbl → general
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: