Commit graph

24 commits

Author SHA1 Message Date
Marc Durepos
df5fc408de caldav_sync: v0.8.0 - disable notifications when polling server
- Disable sending of notification emails when events are created or updated
  in Odoo during a CalDAV server synchronization.
- General code cleanup with improved type hints.
2025-06-10 10:07:47 -04:00
Marc Durepos
2e15f18285 caldav_sync: no longer create past events in Odoo when synchronizing from CalDAV server 2025-05-02 11:52:04 -04:00
Marc Durepos
0956746fc8 caldav_sync: fix for incorrect organizer setting
Prior to this fix, the organizer on events was being incorrectly set to
the database's admin user in some cases, when synchronizing an event
from the CalDAV server.
2025-04-08 12:56:36 -04:00
Marc Durepos
36e62be4c1 caldav_sync bug fixes:
* Fixed an issue where accepting events from an external organizer would send emails
  to the all event attendees upon synchronization.
* Corrected the data model for events where multiple Odoo users are attendees for the
  same event. Now, only one event is created in Odoo, with all the attendees on the
  same event. This conforms to Odoo's existing calendar event data model.
* Updated the setting of the organizer field (user_id) on the calendar events upon
  synchronization. Previously, the organizer field was always set to the current user
  whose events were being synchronized. Now, it is set based on the ORGANIZER parameter
  of the iCalendar event, if present. If not present, it defaults to the current synchronizing
  user. In the case that the organizer is external, the user_id field is left blank.
2025-02-07 10:54:15 -05:00
Marc Durepos
a4a360aef1 [FIX] caldav_sync: error in data XML
Remove the numbercall and doall fields from the data to conform
to the new structure of ir.cron model since 18.0.
2024-12-20 09:34:30 -05:00
Marc Durepos
f34860bfac mig to 18.0 for bemade's modules 2024-12-05 16:56:28 -05:00
Marc Durepos
7ae6454947 [IMP] caldav_sync: Massive rework
Significant improvements to the code around synchronizing events,
especially recurring ones. Too much has changed to explain fully here,
so read the changelog in README.rst or read the code.

Squashed commit of the following:

commit e537a7f7f4
Author: Marc Durepos <marc@bemade.org>
Date:   Fri Nov 8 15:47:39 2024 -0500

    caldav_sync: getting ready for launch of 0.6.0

commit 5797f8efca
Author: Marc Durepos <marc@bemade.org>
Date:   Fri Nov 8 12:41:13 2024 -0500

    fixup! caldav_sync: all seems good. further testing to come before merging into 17.0

commit 992778e353
Author: Marc Durepos <marc@bemade.org>
Date:   Fri Nov 8 12:41:02 2024 -0500

    caldav_sync: all seems good. further testing to come before merging into 17.0

commit 90d05d75a2
Author: Marc Durepos <marc@bemade.org>
Date:   Fri Nov 8 11:31:14 2024 -0500

    caldav_sync: better sync with calls to _rewrite_recurrence

commit 5ca1d56e54
Author: Marc Durepos <marc@bemade.org>
Date:   Thu Nov 7 16:13:31 2024 -0500

    caldav_sync: recurrence working from Odoo to CalDAV. Need further testing for the other direction.

commit ce7b27cc65
Author: Marc Durepos <marc@bemade.org>
Date:   Thu Nov 7 10:33:26 2024 -0500

    caldav_sync: updating recurrences in the middle with future works, but it breaks singled out events before it (brings them back into the rrule chain)

commit 421d609abd
Author: Marc Durepos <marc@bemade.org>
Date:   Thu Nov 7 08:08:35 2024 -0500

    caldav_sync: still working on recurrence

commit 0e07d42825
Author: Marc Durepos <marc@bemade.org>
Date:   Wed Nov 6 16:06:43 2024 -0500

    caldav_sync: moving a single event in a recurrence is synchronizing well

commit 14a8b6acf0
Author: Marc Durepos <marc@bemade.org>
Date:   Wed Nov 6 13:53:23 2024 -0500

    caldav_sync: CRUD fully functional, recurring events working with exceptions around changes in mid-sequence with rrule updates

commit 068d1fb29f
Author: Marc Durepos <marc@bemade.org>
Date:   Tue Nov 5 16:42:42 2024 -0500

    caldav_sync: all CRUD operations working. Recurrences working to some degree but not fully.

commit 0104e3897c
Author: Marc Durepos <marc@bemade.org>
Date:   Mon Nov 4 07:48:48 2024 -0500

    caldav_sync: major rework underway. This commit is broken.
2024-11-08 15:49:50 -05:00
Marc Durepos
947b03e125 caldav_sync: fix error when multiple organizer partner matches found 2024-10-09 08:53:49 -04:00
Marc Durepos
aacc6b27b4 caldav_sync: fixes #108, warning on invalid operator.
Add a type check to the values being compared when iterating over
current and changed values in a calendar event. Also, rewrite to use
dictionary comprehension for readability.
2024-09-05 20:37:50 -04:00
Marc Durepos
4b297cd54b caldav_sync: fix unhashable list error, warning on password field attribute 2024-09-05 17:01:32 -04:00
Marc Durepos
4e4068446c caldav_sync: fix a bug where deleting an event fails to remove it from iCloud calendars. 2024-07-05 09:04:51 -04:00
Marc Durepos
838a4e12ef caldav_sync: fix a dictionary update error during sync.
Exception handling was also changed to only log the errors rather
than to raise them to the user, since the sync is run as a cron
and that we want other calendars to be polled if one fails.
2024-06-23 07:16:21 -04:00
Marc Durepos
cd03903ea4 caldav_sync: Added some error handling for almost-correct calendar URLs. 2024-06-22 09:43:47 -04:00
Marc Durepos
137789cd79 Add videoconference sync and fix some bugs:
- Properly synchronize the timezone for users with timezones set in Odoo
- Properly synchronize attendees, i.e. remove the organizer from the
  attendees list on the CalDAV server and re-add them on the event
  attendees in Odoo (to show up in the calendar view).
2024-05-28 11:35:24 -04:00
Marc Durepos
4781b33123 Add password flag to caldav password field in the res_users view 2024-05-28 10:04:34 -04:00
Marc Durepos
0accedafb2 Added index.html and main image 2024-05-27 16:43:11 -04:00
Marc Durepos
0c93437e2c Add support for recurring events. 2024-05-24 12:00:13 -04:00
Marc Durepos
d229f0c25e updates to synchronize attendees and conference URL 2024-05-23 19:50:22 -04:00
Marc Durepos
d6c946dcd0 caldav_sync module now seems functional and passing all tests. More testing to be done manually. 2024-05-23 16:58:26 -04:00
Marc Durepos
9d2ea9a8fa caldav_sync: removed the ability to choose a calendar, use calendar url instead 2024-05-23 13:11:00 -04:00
Marc Durepos
7e3d05470f update readme, remove controller from init, add icon 2024-05-23 12:50:14 -04:00
Marc Durepos
b96a1efca9 first version of module passing its own tests 2024-05-23 11:02:44 -04:00
Marc Durepos
5988032dd5 add caldav dependency, declare method as static 2024-05-23 09:08:07 -04:00
Marc Durepos
a610f1ba69 First commit for caldav_sync 2024-05-23 09:08:07 -04:00