Commit graph

49 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
a76182dcd4 add tests for caldav_sync, new module preamble_on_quotation 2025-04-22 10:01:12 -04:00
Marc Durepos
57ba6be5b9 caldav_sync: further fixes for organizer issues 2025-04-08 16:11:45 -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
e7fd3c3910 fixup! [IMP] caldav_sync: Massive rework 2024-11-08 15:52:51 -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
87d7cb5b28 [ADD]: rework of fsm_equipment, add client_applications and glue module 2024-10-25 10:44:35 -04:00
Marc Durepos
947b03e125 caldav_sync: fix error when multiple organizer partner matches found 2024-10-09 08:53:49 -04:00
Marc Durepos
0a4a991b32 fixes for caldav_sync 2024-10-09 08:45:31 -04:00
Marc Durepos
c2e3a34d4f caldav_sync: major rework.
- Refactoring
- New test cases (lots of them)
- A bunch of bug fixes based on test case executions
2024-10-07 17:14:18 -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
00eb20496c caldav_sync: implement model_create_multi in calendar event 2024-09-05 20:23:39 -04:00
Marc Durepos
933c56f8fd another fix to unhashable type list re #107 2024-09-05 19:55:18 -04:00
Marc Durepos
70e857c4bb another fix to unhashable type list re PYTHON-ODOO-BEMADE-J 2024-09-05 17:17:16 -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
d94fabf8ba new module to hide draft SO details on the portal 2024-08-15 10:46:54 -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
92056ac236 caldav_sync: Added a note to the index.html page about app-specific passwords. 2024-06-22 09:46:08 -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
9733d63bb7 attempt fix for recurring email blasts to attendees on the hour 2024-05-29 10:02:41 -04:00
Marc Durepos
f4a44c24ec finally got attendees and timezones working well 2024-05-28 11:34:53 -04:00
Marc Durepos
308e2ea9a9 attempt to fix tz issue 2024-05-28 11:15:49 -04:00
Marc Durepos
b0be821fa3 attempt to fix tz issue 2024-05-28 11:05:16 -04:00
Marc Durepos
599a3975e8 fix html_to_text typo 2024-05-28 11:00:25 -04:00
Marc Durepos
f6d6e37c27 caldav_sync: try to fix tz problems 2024-05-28 10:58:03 -04:00
Marc Durepos
babd69fad9 get description text as text again 2024-05-28 10:30:56 -04:00
Marc Durepos
f61d759737 remove alarm sync (it doesn't work) 2024-05-28 10:20:11 -04:00
Marc Durepos
10eb3ae569 caldav_sync: add video conference and alarms sync 2024-05-28 10:13:43 -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
bc16e15b5b update to index.html styling 2024-05-27 16:46:22 -04:00
Marc Durepos
0accedafb2 Added index.html and main image 2024-05-27 16:43:11 -04:00
Marc Durepos
e98e504789 further work on recurrences 2024-05-24 20:59:50 -04:00
Marc Durepos
b3367a2704 further work on recurring events. cleaned up the code for them quite a bit. 2024-05-24 19:59:25 -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
0c78f7314f fixed a null create bug due to write not checking if id is set 2024-05-23 17:03:09 -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
957de3221c testing via the interface seems to be working, though some parameters are not set to sync yet. 2024-05-23 16:03:55 -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
e3822618c7 update to allow selecting calendar 2024-05-23 12:49:51 -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