Closed Bug 405439 Opened 17 years ago Closed 15 years ago

recurring task -> repeating rule shows wrong start/end time

Categories

(Calendar :: Tasks, defect)

defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: andreas.treumann, Assigned: bv1578)

Details

Attachments

(1 file)

STEPS TO REPRODUCE:
===================

- create a recurring task - Start Date: 2007-11-26, 15:50 End date: 2007-11-26, 16:30, daily 5x
- save the task
- reopen the edit dialog and select 'All occurances'
- check the repeating rule

RESULT:
=======

- the start and end time of the tasks is wrong: "Occurs every day effective 26.11.2007for 5 times from 15:43 to 15:43" (15:43 was the current time)

EXPECTED RESULT:
================

- the rule should be: "Occurs every day effective 26.11.2007for 5 times from 15:00 to 16:00"

REPRODUCIBLE:
=============

- always
Confirmed using Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.10pre) Gecko/2007112606 Calendar/0.8pre. The recurrence previews shows the current date and time instead of the tasks date and time.
Confirmed using Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13pre) Gecko/20080212 Lightning/0.8pre (2008021219) Thunderbird/2.0.0.13pre.
Version: Trunk → unspecified
Confirmed using Windows XP SP3 Thunderbird/2.0.0.23 Lightning/0.9 (2008091719)
It is quite a shame since it prevents the uses of the task in time basis and not in raw day basis. If it would stay in day basis, it would be more clever to start the remind at 00:00 instead of the creation task time.
Attached patch [short] patchSplinter Review
As arguments for jsDateToDateTime function, the code uses always the datetimepicker related to events ("event-starttime" and "event-endtime") instead of those ones related to tasks ("todo-entrydate" and "todo-duedate") when editing a recurring task, hence wrong date-time are passed to the function that write the summary string.
The patch should fix.
Assignee: nobody → bv1578
Status: NEW → ASSIGNED
Attachment #417746 - Flags: review?(ssitter)
Attachment #417746 - Flags: review?(ssitter) → review?(philipp)
Thank you Decathlon. Is there a chance that the patch will be part of the next build ? I can test the binary but not the source.
Hello Pascal, I don't think the patch will be reviewed soon because there are bigger problem than this at the moment.
If you want to try a patched build I've uploaded Lightning 1.0b2pre Windows and Linux versions (for Thunderbird 3.0) and a patched 0.9 Windows version (for Thunderbird 2.0) this last one without testing.
If you want to test them please be aware that these are only builds that I've done *by myself*, no Calendar team involved and please try them on a new profile or do a backup of your data before testing:

http://www.mediafire.com/file/zkmnyxgtzzz/lightning1.0b2pre091208-bug405439-lin.xpi
http://www.mediafire.com/file/1yznmykmmjy/lightning1.0b2pre091213-bug405439-win.xpi

http://www.mediafire.com/file/zzxyi44nwky/lightning-0.9.win32-bug405439.xpi

Let me know if the patch doesn't work ;-)
Pascal HULLIN pointed out there was a build error in the Lightning 0.9 patched version. Here the link for the corrected one:
http://www.mediafire.com/file/byz3e1zc3mk/lightning-0.9.win32-bug405439.xpi
Hello Decathlon. This time it looks good. I did a fast test and I have been able to setup a recurring task at a specific time. The first occurrence happened at the correct time. I continue to use it to see if other concurrences runs OK.

Again, thank you. :-)
Attachment #417746 - Attachment description: patch → [short] patch
Comment on attachment 417746 [details] [diff] [review]
[short] patch

>diff --git a/calendar/base/content/dialogs/calendar-event-dialog.js b/calendar/base/content/dialogs/calendar-event-dialog.js
>--- a/calendar/base/content/dialogs/calendar-event-dialog.js
>+++ b/calendar/base/content/dialogs/calendar-event-dialog.js
>@@ -2788,14 +2788,17 @@ function updateRepeatDetails() {
>         // we don't have any strings prepared for.
>         var repeatDetails = document.getElementById("repeat-details");
>         repeatDetails.setAttribute("collapsed", "true");
> 
>         // Try to create a descriptive string from the rule(s).
>         var kDefaultTimezone = calendarDefaultTimezone();
>-        var startDate = jsDateToDateTime(getElementValue("event-starttime"), kDefaultTimezone);
>-        var endDate = jsDateToDateTime(getElementValue("event-endtime"), kDefaultTimezone);
>+        let event = isEvent(item);
Please use cal.isEvent()

>+        let startDate =  getElementValue( event ? "event-starttime" : "todo-entrydate");
>+        let endDate =  getElementValue( event ? "event-endtime" : "todo-duedate");
>+        startDate = jsDateToDateTime(startDate, kDefaultTimezone);
>+        endDate = jsDateToDateTime(endDate, kDefaultTimezone);
I'm going to go ahead and clean up the other var's here too, while we are at it.

r=philipp
Attachment #417746 - Flags: review?(philipp) → review+
Pushed to comm-central <http://hg.mozilla.org/comm-central/rev/5b2ade98deda>

-> FIXED
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.0b2
verified with
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.9pre) Gecko/20100224 Calendar/1.0b2pre
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: