Closed
Bug 253420
Opened 20 years ago
Closed 20 years ago
no import of tasks from ical files
Categories
(Calendar :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: chris_siller, Assigned: mostafah)
References
Details
Attachments
(5 files)
28.39 KB,
patch
|
mostafah
:
first-review+
|
Details | Diff | Splinter Review |
46.39 KB,
patch
|
mostafah
:
first-review+
|
Details | Diff | Splinter Review |
1.10 KB,
patch
|
mostafah
:
first-review+
|
Details | Diff | Splinter Review |
1.05 KB,
patch
|
mostafah
:
first-review+
|
Details | Diff | Splinter Review |
4.27 KB,
patch
|
mostafah
:
first-review+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.52 [en]
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7)
Importing calendar events from ical files works, but I can't import any tasks.
If I try to import a file that contains only tasks, I get the message that no
events were found.
Reproducible: Always
Steps to Reproduce:
1. Tools - Import from file. Pick a ical file with tasks
Actual Results:
no tasks imported
Expected Results:
imported the tasks contained in the ical file
Assignee | ||
Updated•20 years ago
|
Blocks: cal-importing
Comment 1•20 years ago
|
||
Bug confirmed.
Running:
>>Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7)
Gecko/20040803 Firefox/0.9.3
>>Calender: 2004080916-cal.
tried importing from "CalendarDataFile.ics"
>>Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5)
Gecko/20031007 Firebird/0.7
>>Calender: 2004010914-cal.
Events imported just fine.
Comment 2•20 years ago
|
||
Just discovered:
If I add any new tasks, exit and restart the calender, the tasks that should
have been imported, suddenly appear, next to the tasks just entered.
Can provide screenshots if necessary.
Comment 3•20 years ago
|
||
Comment number 1 seems to say that the bug is confirmed, then at the end states
that "Events imported just fine".
To be clear, I have duplicated the problem of importing TASKS, not EVENTS. The
import does not work.
This bug should be CONFIRMED, but I do not have the permissions to do it.
I also, noticed that if I try to look at the ics file through notepad, it
changes the format of the text into somethign that Callendar does not like.
Specifically it loses CR/LF formatting.
My build is:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8a4) Gecko/20040907 Mozilla
Sunbird/0.2a
...On XP
-zeddock
Comment 6•20 years ago
|
||
This seems to be a duplicate of Bug 158510, reportedly fixed (although it
doesn't seem fixed at all). I had some problems trying to manually edit my .ICS
file to paste tasks from an older one, but found a work-around. The problem was
that both Notepad and UltraEdit were inserting three bytes (EE BB BF) at the
beginning of the file, as soon as it got saved. I'm sure there must be a
perfectly good reason for this, but already spent enough time with this matter.
Anyway, using UltraEdit, one workaround is to open the file, switch to ASCII
editing (File > Conversions > UNICODE/ASCII/UTF-8 to UTF-8), toggle to Hex mode
(Ctrl + H), and cut the three bytes at the beginning of the file. Then, toggle
back to ASCII mode (Ctrl + H), do any necessary modifications and save the file.
VTODO elements (tasks) can be pasted for example immediately below line 5. The
line endings don't seem to be a problem: I tried toggling between LF and CR/LF,
and the Calendar handles both without problems (at least on Windows XP).
T.
Confirming: the import code only treats events.
Status: UNCONFIRMED → NEW
Ever confirmed: true
calendar.js: organize to allow importExport.js to create and edit todos.
newToDoCommand
call newToDo (like newEventCommand calls newEvent)
newEvent
call getSelectedCalendarPathOrNull
call editNewEvent
newToDo (new)
call getSelectedCalendarPathOrNull [fix bug 222256]
call editNewToDo
getSelectedCalendarPathOrNull (new)
shared by newEvent, newTodo
editNewEvent
call openEventDialog with mode "new", addEventDialogResponse
editNewToDo (new)
call openToDoDialog with mode "new", addToDoDialogResponse
editEvent
call openEventDialog with mode "edit", modifyEventDialogResponse
editToDo
call openToDoDialog with mode "edit", modifyToDoDialogResponse
openEventDialog
setup args
set wait cursor
call openDialog
openToDoDialog
setup args
set wait cursor
call openDialog
importExport.js: add parse todos during import
loadEventsFromFile: add todos
move constants that don't depend on parsing file above file loop.
move xcs case above ics case, so can transform to ics then continue as ics.
do parallel actions on todos as on events:
parse, detect duplicates, ask user what to do, alert if empty
addToDosToCalendar (new)
like addEventsToCalendar but calls editNewToDo, addToDoDialogRespose.
convertZuluToLocalToDo (new)
like convertZuluToLocalEvent
convertLocalToZuluToDo (new)
like convertLocalToZuluEvent
initCalendarToDo (new)
like initCalendarEvent, provides default values if parse fails
eventExists
renamed from entryExists to distinguish events and todos.
toDoExists (new)
check whether a todo already exists with same start date and title
parseOutlookCSVEvents
renamed from parseOutlookCSVData, since it only does events, not todos.
cleaned up regexps
parseIcalEvents
renamed from parseIcalData, since only does events, not todos.
continues search in same string instead of making substring of rest.
parseIcalToDos (new)
as in parseIcalEvents, but parses todos instead of events.
calls initCalendarToDo if cannot parse a toDo.
No events to import --> No events or tasks to import
About to import --> About to import new events
About to import new tasks
About to import dups --> About to import dup events
About to import dup tasks
moved "into calendar" before "from file" because calendar is more likely to be
wrong if user forgot which calendar was selected (and it would be clicked
before file if at all, so order matches user's actions).
Comment 10•20 years ago
|
||
How tested:
Tested on Moz1.7.3, TB0.8.
Tested for localized prompts on en-US, fr-FR, it-IT, de-AT, es-ES.
(doesn't crash, still needs localization)
Test Setup:
1. create and remove calendar: TestImportSource.ics
new calendar: browse for new file TestImportSource.ics
select calendar: TestImportSource
add new event: Event1
add new task: Task1
enable start date.
delete calendar:
right-click TestImportSource, Delete calendar (but do not delete its file)
2. create calendar: TestImportDest.ics
new calendar: browse for new file TestImportDest.ics
select calendar: TestImportDest
uncheck all other calendars.
Test prompt for each (non-dups)
1. menu: import file:
2. select file: TestImportSource
Confirmation dialog should appear:
"Import Events"
"About to import 1 event(s) from TestImportSource.ics into TestImportDest"
3. click "prompt for each"
Event dialog should appear with Event1 data.
4. click "OK".
Confirmation dialog should appear:
"Import Tasks"
"About to import 1 tasks(s) from TestImportSource.ics into TestImportDest"
5. click "prompt for each"
Task dialog should appear with Task1 data.
6. click "OK"
Result
Event1 should appear in calendar TestImportDest
Task1 should appear in calendar TestImportDest
Test prompt for each (duplicates)
1. menu: import file:
2. select file: TestImportSource (again)
Confirmation dialog should appear:
"Import Duplicate Events"
"About to import 1 event(s) that are duplicates of events in your calendar."
3. click "prompt for each"
Event dialog should appear with Event1 data.
4. click "OK".
Confirmation dialog should appear:
"Import Duplicate Tasks"
"About to import 1 tasks(s) that are duplicates of tasks in your calendar."
5. click "prompt for each"
Task dialog should appear with source Task1 data.
6. click "OK"
Result
Event1 should appear twice in calendar TestImportDest
Task1 should appear twice in calendar TestImportDest
Delete Event1, Task1
Repeat above tests with "import all" instead of "prompt for each".
Test New Task toolbar button (since newTaskCommand was changed).
Should now default to selected calendar.
Attachment #164127 -
Flags: first-review?(mostafah)
Attachment #164128 -
Flags: first-review?(mostafah)
Comment 11•20 years ago
|
||
it-IT part of calendar.properties patch depends on patch in bug 266919
Depends on: 266919
Assignee | ||
Comment 12•20 years ago
|
||
Comment on attachment 164127 [details] [diff] [review]
calendar.js, importExport.js patch: organize create/edit todos, add parse todos to import
In the newToDo function, it seems that startDate and dueDate are not being
actually set if they are not null.
Comment 13•20 years ago
|
||
newToDo is not called with dates yet. Would/Will be used to implement creating
a task by (right) clicking on a date or hour in a view (like
newEvent(startDate) is called).
Assignee | ||
Comment 14•20 years ago
|
||
Comment on attachment 164127 [details] [diff] [review]
calendar.js, importExport.js patch: organize create/edit todos, add parse todos to import
Checked in. Since nothing uses newToDo with a preset start/due date we can live
with it for now. Please feel free to complete it in a separate patch.
Attachment #164127 -
Flags: first-review?(mostafah) → first-review+
Assignee | ||
Updated•20 years ago
|
Attachment #164128 -
Flags: first-review?(mostafah) → first-review+
Assignee | ||
Comment 15•20 years ago
|
||
Comment on attachment 164128 [details] [diff] [review]
locale/*/calendar.properties: add tasks to import prompts
Checked in.
Assignee | ||
Comment 16•20 years ago
|
||
Fixed in CVS. Great work gekacheka. This was a missing feature many complained
about.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 17•20 years ago
|
||
Comment on attachment 164299 [details] [diff] [review]
calendar.js newToDo: Set dates if not null (apply after attachment 164127 [details] [diff] [review])
Checked in. Thanks
Attachment #164299 -
Flags: first-review+
Comment 18•20 years ago
|
||
Importing a csv file may fail silently, producing the following JS error:
Error: parsedToDoArray has no properties
Source File: chrome://calendar/content/importExport.js
Line: 251
Problem is parsedToDoArray is null when parsing events from csv.
This patch fixes the problem, so if no events are found the alert appears.
Attachment #164979 -
Flags: first-review?(mostafah)
Assignee | ||
Comment 19•20 years ago
|
||
Comment on attachment 164979 [details] [diff] [review]
fix regression "parsedToDoArray has no properties"
Checked in.
Attachment #164979 -
Flags: first-review?(mostafah) → first-review+
Assignee | ||
Comment 20•20 years ago
|
||
Fixed.
Status: REOPENED → RESOLVED
Closed: 20 years ago → 20 years ago
Resolution: --- → FIXED
Comment 21•20 years ago
|
||
patch -l -p 2 -i filename.patch
Patch fixes some missed callers of parseIcalData which are fixed to call
parseIcalEvents. Also fixes(unused) wizard code to call
parseIcalData(transformXCSData( )) instead of parseXCSData.
(reported in bug 268509)
Comment 22•20 years ago
|
||
Comment on attachment 165376 [details] [diff] [review]
fix regression "parseIcalData not defined" --> parseIcalEvents
Restores ability to paste events on TB 0.9. (Paste wasn't working for me
before on Moz1.7.3, and this doesn't fix it.)
Attachment #165376 -
Flags: first-review?(mostafah)
Assignee | ||
Comment 23•20 years ago
|
||
Comment on attachment 165376 [details] [diff] [review]
fix regression "parseIcalData not defined" --> parseIcalEvents
Checked in. Thanks
Attachment #165376 -
Flags: first-review?(mostafah) → first-review+
Assignee | ||
Updated•20 years ago
|
Status: REOPENED → RESOLVED
Closed: 20 years ago → 20 years ago
Resolution: --- → FIXED
Comment 24•18 years ago
|
||
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.
Description
•