Closed Bug 399762 Opened 17 years ago Closed 14 years ago

Task dialog: Error opening Invite Attendees dialog

Categories

(Calendar :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: ssitter, Unassigned)

Details

Attachments

(1 file)

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.8pre) Gecko/20071013 Sunbird/0.7

Steps to Reproduce:
1. Start Sunbird with fresh profile
2. Select menu File -> New Task
3. Set no date or set either start or due date
3. Select menu Options -> Invite Attendees

Actual Results:
Nothing happens. Invite Attendees dialog is not shown. Error Console shows:

   Error: gStartTime has no properties
   Source File: chrome://calendar/content/sun-calendar-event-dialog.js
   Line: 1132

   Error: gEndTime has no properties
   Source File: chrome://calendar/content/sun-calendar-event-dialog.js
   Line: 1133

Expected Results:
No error. Invite Attendees dialog should be shown or there should be an indication that a start date and end date is required to show it.
Can confirm. I think this should block the release, but it seems quite tricky. This requires some additions to the free-busy-dialog, showing the task start and due dates stuff instead of the start/end time, hiding the timebar if the task has no due dates, or even completely disabling the freebusy widget when no dates are set.

I'm supprised this wasnt noticed earlier. Possible poor-mans-fix would be to set the start/end dates to now(), which opens the dialog, but still has wrong information about the task at the bottom right.

I might be able to whip up a patch today, if not I guess its up to mickey tomorrow :)

Ause, in case you get to the office early, you might want to wait a short while before starting to spin rc2.
Flags: blocking-calendar0.7?
OS: Windows 2000 → All
Hardware: PC → All
This is a regression from Bug 362922 which introduced the appropriate menu item. Initially the 'Invite Attendees' toolbar button is not available in the task dialog (see [1]) as we didn't have a way to enforce entry/due-dates for tasks. This feature has only been introduced recently with Bug 351084.

Regarding the question whether or not this should block 0.7, I don't want to take the patch for this release, as automatically setting/revoking entry/date-dates is a risky area of the dialog and I don't want to introduce regressions that late in the game.

[1] http://lxr.mozilla.org/mozilla1.8/source/calendar/prototypes/wcap/sun-calendar-event-dialog.xul#521
Flags: blocking-calendar0.7? → blocking-calendar0.7-
The error messages don't occur any longer, but there is still no indication that start/end is required.
Flags: wanted-calendar0.8?
It would be good to have this in 0.8
Flags: wanted-calendar0.8?
Flags: wanted-calendar0.8+
Flags: blocking-calendar0.7-
(In reply to comment #3)
> The error messages don't occur any longer.

I still see the error messages and the behavior from Comment #0:

Error: gStartTime has no properties
Source File: chrome://calendar/content/sun-calendar-event-dialog.js Line: 1122

Error: gEndTime has no properties
Source File: chrome://calendar/content/sun-calendar-event-dialog.js Line: 1123

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.12pre) Gecko/2007121505 Calendar/0.8pre
This blocks the 0.8 release. We should get a fix in ASAP to enable us to test this thoroughly before 0.8 gets out.
Flags: wanted-calendar0.8+ → blocking-calendar0.8+
We agreed that this is ugly, but doesn't block.
Flags: blocking-calendar0.8+ → wanted-calendar0.8+
Component: General → Theme
Flags: wanted-calendar0.8+
Product: Calendar → Firefox
Target Milestone: --- → Firefox 3
Version: unspecified → Trunk
Oops, sorry, my bad, returning to the right component, awfully sorry about stomping your target milestone, please send hatemail to this address :(
Component: Theme → General
Product: Firefox → Calendar
Target Milestone: Firefox 3 → ---
Version: Trunk → Sunbird 0.7
Restoring wanted-calendar0.8+.
Flags: wanted-calendar0.8+
Not going to happen for 0.8.
Flags: wanted-calendar0.8+ → wanted-calendar0.8-
Version: Sunbird 0.7 → unspecified
Flags: wanted-calendar0.8- → wanted-calendar0.9+
Attached patch [checked in] patch v. #1 — — Splinter Review
Error occurs in conjunction with tasks without entry date or duedate. I disabled the menuitem for these cases, so that you can only open the attendee dialog when these properties are set. I find this solution is sufficient because it would confuse the user and not really make sense if he would be able to open that dialog without these dates being set initially.
Assignee: nobody → Berend.Cornelius
Status: NEW → ASSIGNED
Attachment #325136 - Flags: review?(philipp)
Comment on attachment 325136 [details] [diff] [review]
[checked in] patch v. #1

r=philipp

Unless there is a different bug, I'd vote for not closing this bug until the real issue is fixed.
Attachment #325136 - Flags: review?(philipp) → review+
In reply to comment #12: Having a task with not entry or duedate is generally not a defect. Therefor I wonder what else is to do about this issue. The question is whether it should be allowed to open the attendee dialog without these properties being set and then I would rather vote for not to allow this because of several implications (which initial values do you want to initialize the timeslots with).
IIRC, if the task has an entry and a due date, then the dialog will still produce errors since it expects an event with a startDate and endDate. I could be wrong though.

Aside from that, I should still be able to invite an attendee to a task without a due date, or without any dates at all. Whats missing is that you need to put the date picker of the task dialog into the bottom right of the attendees dialog, if a task is chosen. If the user doesn't specify a due and entry date, then the freebusy grid should be disabled, still allowing the user to enter attendees.
>IIRC, if the task has an entry and a due date, then the dialog will still
>produce errors since it expects an event with a startDate and endDate. I could
>be wrong though.

I could not reproduce this. With this patch applied the attendee dialog worked fine also with tasks.

>Aside from that, I should still be able to invite an attendee to a task without
>a due date, or without any dates at all. Whats missing is that you need to put
>the date picker of the task dialog into the bottom right of the attendees
>dialog, if a task is chosen. If the user doesn't specify a due and entry date,
>then the freebusy grid should be disabled, still allowing the user to enter
>attendees.

I can see your point. But still I think it is confusing for the user. How do you want to display the disabled free-busy grid?. Which time-scale do you want to display initially? Do you want to display any time-scale at all? How do we want to initialize the start and duedates? I am sure we will find ansers to this but most probably not for version 0.9, as there will be quite some implementation work to do. Therefor I also think we should take my "light" solution at first.
Why not show the grid and do nothing with it? I don't think this is confusing... You can still show freebusy information but the task itself is not shown on the grid. 

I can set a startdate and starttime, invite an attendee and after that uncheck the start and endtime, it sends out fine. Below the grid you could also put the same checkboxes (yes/no start- and endtime) as in the main dialog. 
Go ahead and check in your patch, nothing speaks against that. I'm just saying we should either file a followup bug to make the invitation dialog work for tasks, or morph this bug. I second Bas' opinion.
patch checked in on trunk and MOZILLA_1_8_BRANCH. 

issue remains open.
Target Milestone: --- → 0.9
Attachment #325136 - Attachment description: patch v. #1 → [checked in] patch v. #1
The "Invite Attendee" dialog should only be used for events. In the context of task creations/modifications it doesn't make sense to perform free busy lookups.  A different dialog should be used to assign a to-do. Actually, what is needed here might be simple enough to be exposed in the New Task dialog directly.
Target Milestone: 0.9 → 1.0
Flags: wanted-calendar0.9+ → wanted-calendar1.0+
In my opinion this bug can be closed because the error as reported no longer exists. Followup bugs should be filed if additional fixes or enhancements are required.
So, no errors are reported now, but one is still required to specify a start time and a due date in order to assign the task to other users. Is that right?

I don't believe users should be required to specify a start time and a due date to be able to assign a task to other users. It sounds like this was made a requirement to get the free busy dialog working, but then, the free busy dialog should not be used for task creation/modification.

That being said, there might be yet another reason to require a start time in an assigned task as Arnaud pointed out:

http://blogs.sun.com/arnaudq/entry/disconnect_between_icalendar_and_itip

That is, iTIP would require the DTSTART property in a VTODO with METHOD:REQUEST.
(See: http://tools.ietf.org/html/rfc2446#section-3.4.2)

I'm unsure why iTIP has this requirement. Perhaps setting DTSTART to now() might be sufficient to workaround this iTIP restriction.

Want me to open a new bug for this specific issue?
Summary: [Proto] Task dialog: Error opening Invite Attendees dialog → Task dialog: Error opening Invite Attendees dialog
Whiteboard: [needs decision]
Assignee: berend.cornelius09 → nobody
Status: ASSIGNED → NEW
This bug has a lot of comments. If the original issue doesn't exist, please do file new bug(s) for the remaining issue(s).
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WORKSFORME
Whiteboard: [needs decision]
Target Milestone: 1.0 → ---
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: