Closed
Bug 304515
Opened 19 years ago
Closed 19 years ago
event recurring third sunday of month until next month doesn't show up next month
Categories
(Calendar :: Sunbird Only, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: myk, Assigned: mvl)
References
Details
Attachments
(1 file)
|
4.27 KB,
patch
|
gekacheka
:
first-review+
jminta
:
second-review+
|
Details | Diff | Splinter Review |
I created an event taking place Sunday, August 21, 2005 and recurring every one month on the third Sunday of the month until Sunday, September 18, 2005 (the third Sunday of that month). The event shows up in the calendar view in August, but it doesn't show up in September. If I change the "until" date to September 30, 2005, it still doesn't show up.
Comment 1•19 years ago
|
||
I can't even make an event try and recur on the 'Third Sunday of the Month'. It always ends up getting switched back to 'on the 21st' when I open the event up for editing. Is this part of the problem you're seeing too?
| Reporter | ||
Comment 2•19 years ago
|
||
Strange. I didn't notice it before, but now I do. Indeed, it keeps switching to "on the 21st" for me too.
| Assignee | ||
Comment 3•19 years ago
|
||
sb0.2 produces: RRULE:FREQ=MONTHLY;COUNT=8;INTERVAL=1;BYDAY=3SU while trunk gives: RRULE:FREQ=MONTHLY;COUNT=8;INTERVAL=1 So generating the event is the problem, not opening it. My guess: http://lxr.mozilla.org/seamonkey/source/calendar/resources/content/eventDialog.js#632 needs to be actually implemented for monthly and yearly.
| Assignee | ||
Comment 4•19 years ago
|
||
http://lxr.mozilla.org/seamonkey/source/calendar/libical/src/libical/icalrecur.c#2311 explains how to actually set BYDAY=3SU. This should be copied into the calIRecurrenceRule.idl documentation. (or simplified somehow)
| Assignee | ||
Comment 5•19 years ago
|
||
This patch makes the setting persist, and so should fix the bug. Note that the libical comment I mentioned in comment 4 is wrong. The code use 8, not 7. So that's what my code does. (It might be better to call the conversion code from libical, instead of doing it in js, but i just want this fixed for now. We will do it when we need more advanced recurrence rules)
Comment 6•19 years ago
|
||
Comment on attachment 193303 [details] [diff] [review] patch v1 + dump("rd: "+recDays[0]+"\n"); Something's still not right here for me. This is dumping 'rd:undefined' even when I set the recurrence rule, so the rule isn't persisting.
| Assignee | ||
Comment 7•19 years ago
|
||
Can you use a ics calendar, and check what is in the .ics file? Or can you add some dumps to creating the event and try if you can find a problem? (like |dow| or |weekno| being wrong)
Comment 8•19 years ago
|
||
Creating an event on Aug 13, repeating every month, setting it to recur on the
2nd saturday of the month, 3 times.
@line 659
case "MONTHLY":
if (getElementValue("advanced-repeat-dayofweek", "selected")) {
var dow = getElementValue("start-datetime").getDay() + 1;
var weekno = getWeekNumberOfMonth();
recRule.setComponent("BYDAY", 1, [weekno * 8 + dow]);
dump(dow+','+weekno);
}
break;
}
var dummy = recRule.getComponent("BYDAY", {});
dump(bleh[0]);
recurrenceInfo.appendRecurrenceItem(recRule);
dow=7
weekno=2
bleh[0]=23
This all looks good, from what I can tell. We may have a backend problem?
Comment 9•19 years ago
|
||
(In reply to comment #8) > var dummy = recRule.getComponent("BYDAY", {}); dummy should have read bleh, but you get the idea.
| Assignee | ||
Comment 10•19 years ago
|
||
What provider are you using? I used the ics provider, but it might be that there is an additional problem with the storage provider, preventing the recurrence rule to be stored correctly.
Comment 11•19 years ago
|
||
Comment on attachment 193303 [details] [diff] [review] patch v1 With this patch, when I create the event (starting 21 aug 2005 and repeating monthly on the 3rd sunday event) in the default home storage calendar, then edit it again, it reverts to a 21st of of the month repeat. If I create the same event in an ICS calendar, then reopen it, it stays at 3rd sunday of the month. So it looks like there is also a problem with the default storage calendar. (I created the ICS calendar via file, new calendar, remote, WEBDAV, with url file:///c:/temp/ICSTestCalendar.ics , substutute your own directory.) So patch looks ok for the nth weekday of month problem. (Caveat: treats last weekday of month as 5th weekday of month, but fixing that may be beyond scope of this bug.)
Attachment #193303 -
Flags: first-review?(jminta) → first-review+
Comment 12•19 years ago
|
||
(In reply to comment #10) > What provider are you using? I used the ics provider, but it might be that there > is an additional problem with the storage provider, preventing the recurrence > rule to be stored correctly. I was indeed using a storage calendar.
Comment 13•19 years ago
|
||
Comment on attachment 193303 [details] [diff] [review] patch v1 r=jminta but this makes more problems show up that need to be addressed. 1.) Events repeating on the '3rd wednesday' seem to show up on the 3rd tuesday' 2.) The first instance of the repeating event seem to be ignored/missed. New bugs to follow.
Attachment #193303 -
Flags: second-review+
| Assignee | ||
Comment 14•19 years ago
|
||
patch checked in.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•