Export calendar to HTML fails if task without due date exists in calendar

VERIFIED FIXED in 1.0b1

Status

VERIFIED FIXED
10 years ago
9 years ago

People

(Reporter: olds1972, Assigned: bv1578)

Tracking

({regression})

Sunbird 0.9
1.0b1
regression
Bug Flags:
blocking-calendar1.0 +

Details

Attachments

(3 attachments, 1 obsolete attachment)

(Reporter)

Description

10 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.18pre) Gecko/20080917 

The export calendar function worked fine on 9/26.  
On 9/27 the latest calendar updates downloaded and I installed them.
Today (9/28/2008) was my first attempt to export calendar and it creates the file.

The filename is created in the library, however it is a blank file, no calendar date is exported.

Reproducible: Always

Steps to Reproduce:
1.
2.
3.


Expected Results:  
The software should create the file name, and export all of the calendar data to that file.

I have been using the export calendar feature to backup my calendar data.  Is there a work around to back up the calendar?

Thank you...it is a great tool, however I'm concerned that I may not be backing up the data properly.
Are you using Sunbird or Lightning and what version?

Please note the exact steps to reproduce the issue. Where do you click, what do you enter or select, etc. 

Do you see any error message in Tools -> Error Console? If yes please copy and paste them here.
(Reporter)

Comment 2

10 years ago
Please note the exact steps to reproduce the issue.  Exact steps are:
File
Export calendar
Export dialog box appears prompting for "save in" file location drop down box.
I enter a file name.  And I accept the "save as type" default listed "web page (*html.*htm)"

The following error message appears in dialog box "Error getting calendar". 
"Unable to write to C:\local disk\$$jmg docs\jmg calendar\jmg 9 29 2008.html"

Next I open Windows Explorer and open the file.  The file name is there, but no date appears when I open the file.

Do you see any error message in Tools -> Error Console? - Yes here is the msg:
Error: start has no properties
Source File: file:///C:/Program%20Files/Mozilla%20Sunbird/components/calItemModule.js -> file:///C:/Program%20Files/Mozilla%20Sunbird/js/calDateTimeFormatter.js
Line: 257

Where do you click, what do
you enter or select, etc.
Version: unspecified → Sunbird 0.9
(Assignee)

Comment 3

10 years ago
I always get this error if I try to export to HTML format every calendar with a task without due date (on a clean profile or not).
In particular a task:
without Start, without Due Date -> error "start has no properties"
with Start, without Due Date -> error "end has no properties"
without Start, with Due Date -> export works
with Start, with Due Date -> export works

The error is always on file calDateTimeFormatter.js, line 257 for error on "start" and line 258 for error on "end".

Comment 4

10 years ago
WinXP Home 32bit SP3 german
Sunbird 0.9 de

Fehler: end has no properties
Quelldatei: file:///C:/Programme/Mozilla/Sunbird/components/calItemModule.js -> file:///C:/Programme/Mozilla/Sunbird/js/calDateTimeFormatter.js
Zeile: 258

Fehler: uncaught exception: [Exception... "Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIWebNavigation.loadURI]"  nsresult: "0x80520012 (NS_ERROR_FILE_NOT_FOUND)"  location: "JS frame :: chrome://global/content/viewSource.js :: viewSource :: line 141"  data: no]

Comment 5

10 years ago
Only by "Export to html".
Timezone is set to "Europa/Berlin".
On Win 2000 Pro and Win Vista Business it seems to be ok.

Comment 6

10 years ago
I can confirm this on two platforms (WinXP SP3 and Ubuntu 8.04.1) with Sunbird 0.9.

For me the export to html fails in exactly the manner depicted in the OP -- but ONLY if the calendar I'm trying to export was imported from an .ics file.

In other words, if I create a calendar entirely in Sunbird, then try to export it, the export to html function works perfectly. 

If I open a new calendar and designate name.ics as the calendar OR import from name.ics into an existing calendar, I lose the ability to export to html. I get an application popup from Sunbird stating that it could not write file://..., and a 0 byte html file with the proper name is created.
Confirming as regression.

Steps to Reproduce:
1. Create a task that has no Due date set
2. Export the calendar to HTML format

Actual Results:
Popup dialog "Unable to write to file <filename>".

If start and due date were missing:
    Error: start has no properties
    Source File: file:///D:/sunbird/js/calDateTimeFormatter.js 
    Line: 257

If only due date was missing:
    Error: end has no properties
    Source File: file:///D:/sunbird/js/calDateTimeFormatter.js 
    Line: 258

The issue still exists in Sunbird 1.0pre (BuildID: 20081014045208) but no error messages are reported to console anymore.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: regression
OS: Windows XP → All
Hardware: PC → All
Summary: The export calendar function generates error msg "unable to write to file. → Export calendar to HTML fails if task without due date exists in calendar
Regression range: Works in Sunbird 0.9pre (2008072020)
                  Fails in Sunbird 0.9pre (2008072121)

Checkins during regression range: http://tinyurl.com/3hkfwu

Most probably caused by Bug 413103.
Blocks: 413103
Flags: blocking-calendar1.0+
(Assignee)

Comment 9

10 years ago
Created attachment 354144 [details] [diff] [review]
proposal patch

The problem seems caused by formatItemInterval() and formatInterval() functions. Task without start and/or due date causes a null value for start and end variables. I've tried to manage that to prompt a right message in the exported Html calendar.
I've also checked whether formatItemInterval() is used elsewhere, and seems to me it's only used in mouseoverPreview.js for preview messages, that work right with the patch, and in calendar-invitations-list.xml and calendar-alarm-widget.xml files where it's used only for events.
I'm not sure if it might cause problems elsewhere, and not sure if strings used in calendar.properties are the right ones as well.
I've also added a test calendar.
Attachment #354144 - Flags: review?(Berend.Cornelius)
(Assignee)

Comment 10

10 years ago
Created attachment 354146 [details]
calendar test
(Assignee)

Updated

10 years ago
Attachment #354144 - Attachment is obsolete: true
Attachment #354144 - Flags: review?(Berend.Cornelius)
(Assignee)

Comment 11

10 years ago
Created attachment 354189 [details] [diff] [review]
Right patch

There was some errors in the previous patch. Sorry.
Attachment #354189 - Flags: review?(Berend.Cornelius)
Assignee: nobody → bv1578
Status: NEW → ASSIGNED

Comment 12

10 years ago
Created attachment 355397 [details] [diff] [review]
[checked in] patch v. #3

The patch "454189:Right patch" looks basically well and works fine but I took the liberty to modifiy it a bit. I hope you don't mind.

Comment 13

10 years ago
Comment on attachment 354189 [details] [diff] [review]
Right patch

r=berend. Please notice that we meanwhile use "let" instead of "var".
Attachment #354189 - Flags: review?(Berend.Cornelius) → review+

Comment 14

10 years ago
patch v. #3 pushed to comm-central:

http://hg.mozilla.org/comm-central/rev/ed4f273e1abe

->fixed. 
Thank you for your contribution
Status: ASSIGNED → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED

Updated

10 years ago
Target Milestone: --- → 1.0
Attachment #355397 - Attachment description: patch v. #3 → [checked in] patch v. #3

Comment 15

10 years ago
checked in lightning and sunbird build 20090106 -> VERIFIED.
Status: RESOLVED → VERIFIED
Target Milestone: 1.0 → 1.0b1
You need to log in before you can comment on or make changes to this bug.