Commit graph

451 commits

Author SHA1 Message Date
Anna Larch
b044c7586b
Check calendar URI length before creation
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-08-26 13:57:43 +02:00
Anna Larch
4ca4b02793 Support iMIP invitations from Mail
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-08-22 22:10:12 +02:00
Joas Schilling
7e11778190
Use user name cache in activity providers
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-08-19 10:48:32 +02:00
luz paz
d4637ef4d8 Fix typos in apps/dav subdirectory
Found via `codespell -q 3 -S l10n -L jus ./apps/dav`

Signed-off-by: luz paz <luzpaz@github.com>
2022-07-26 17:40:10 -04:00
Anna
5671abd168
Merge pull request #33251 from cneukom/feature/birthday-calendar-reminder-settings
Birthday Calendar Reminder Setting
2022-07-26 20:59:33 +02:00
Thomas Citharel
554e2dce48
Don't try to purge objects from the birthday calendar when it doesn't exist
Doesn't matter much as it's been recreated afterwards with (ensureCalendarExists).

Closes #29617

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-07-25 17:56:24 +02:00
blizzz
4ced3a4518
Merge pull request #32869 from nextcloud/dav-no-deleted-user-activities
Avoid calendar & addressbook activities being created on user being deleted
2022-07-23 00:01:30 +02:00
Cédric Neukom
9eb276b20b fix possibly null variables
Signed-off-by: Cédric Neukom <github@webguy.ch>
2022-07-17 18:36:06 +02:00
Cédric Neukom
483549d22a Respect user settings when generating alerts for birthday calendar
Signed-off-by: Cédric Neukom <github@webguy.ch>
2022-07-17 14:51:46 +02:00
Carl Schwan
14a16320ec
Merge pull request #32884 from nextcloud/typing/dav-sharing
Add typing to Sharing Backend
2022-06-22 11:09:06 +02:00
Carl Schwan
3598ec4028 Add typing to Sharing Backend
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-06-22 10:25:17 +02:00
Valdnet
814d9ac74a
Spelling unification
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-06-15 11:01:58 +02:00
Valdnet
5e200f2670
l10n: Spelling unification
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-06-15 11:01:18 +02:00
Valdnet
dd30ab9c7f
l10n: Spelling unification
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-06-15 10:57:05 +02:00
Thomas Citharel
39ef0500d1
Handle the move operation properly between shared calendars
- Introduce a new CalendarObjectMovedEvent typed event dedicated for
  this operation
- Handle the event in the activity backend and add new appropriate activity subjects

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-06-14 14:40:24 +02:00
Thomas Citharel
4129089f87
Avoid calendar & addressbook activities being created on user being deleted
Addressbooks and Calendar data are destroyed through hook OC_User::pre_deleteUser, which when it reaches the backends sends AddressBookDeletedEvent/CalendarDeletedEvent typed events, which in turns generates activities that aren't deleted until they expire.

This can probably lead to old activities being visible for a new user created with the same uid.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-06-14 11:54:42 +02:00
Vincent Petry
5f8e1b7fb9
Merge pull request #31622 from nextcloud/increase-loglevel-modernize-refresh-webcal
Increase loglevel of Webcal parsing errors and modernize code
2022-06-10 16:31:51 +02:00
Vincent Petry
dcfdcf991f
Merge pull request #32361 from nextcloud/dav-scheduling-default-calendar
Put calendar invites into the user's first available calendar
2022-06-10 16:03:09 +02:00
Vincent Petry
8e61671b82
Merge pull request #32364 from nextcloud/dav-listeners
🧹 Remove all legacy event dispatchers from CalDAV & CardDAV backends
2022-06-10 15:57:35 +02:00
Christoph Wurst
ca45e6a064
Merge pull request #28703 from nextcloud/enhancement/caldav-reminders-logging
Debug log what happens during reminders processing
2022-06-02 14:29:58 +02:00
Christoph Wurst
4e5ed32025
Merge pull request #32471 from nextcloud/fix-wrong-dav-activities
Make sure activities are not created when a deleted calendar object expires
2022-06-01 17:01:58 +02:00
Christoph Wurst
58f7a150ed
Debug log what happens during reminders processing
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-06-01 11:38:02 +02:00
Joas Schilling
2c670f9cf9
Also trim the name
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-05-25 08:06:32 +02:00
Joas Schilling
ba684f5c58
Fix handling events without names in activities
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-05-24 17:04:56 +02:00
Thomas Citharel
424fc1b736
Rename user-agent used by the Webcal Refresh Service
Some services don't like the "crawler" inside the previous user-agent.

Closes https://github.com/nextcloud/calendar/issues/4232

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-20 16:23:40 +02:00
Thomas Citharel
cf8b98bf5f
Make sure activities are not created when a deleted calendar object expires
Closes https://github.com/nextcloud/activity/issues/784

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-18 11:17:27 +02:00
Anna Larch
440f69bd69
Add email validation
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-05-18 07:54:30 +02:00
Thomas Citharel
741c44385f
Increase loglevel of Webcal parsing errors and modernize code
Closes #31612

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-17 15:11:58 +02:00
Thomas Citharel
060c8d7c4b
Add some typed properties
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-17 15:09:49 +02:00
Thomas Citharel
4bb31c021e
Remove all legacy event dispatchers from CalDAV & CardDAV backends
Move them to proper EventListeners and test them

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-17 15:09:46 +02:00
Carl Schwan
f7be76125f Fix more psalm issues
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-05-16 11:05:54 +02:00
Thomas Citharel
8d7154318f
Put calendar invites into the user's first available calendar
If there's no default calendar and we can't find anything with URI
'personal', instead of creating a new one, start by using the first
"real personal calendar" available.

If not, then we create the default one.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-12 15:28:36 +02:00
Carl Schwan
829490ab7a Cleanup dav
- Remove unused class AppEnabledPlugin
- Add more type hinting when possible

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-05-05 22:03:59 +02:00
Côme Chilliet
5fb9de6248
Migrate last instances of $server::getLogger() from dav
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-05-02 10:52:44 +02:00
Côme Chilliet
e2531f8503
Migrate dav application from ILogger to LoggerInterface
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-05-02 10:52:43 +02:00
Thomas Citharel
5494dd736d
Handle processing reminders for calendar objects with an infinite number
of recurrences

Closes #29896

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-27 17:17:22 +02:00
Côme Chilliet
2049a21348
Fix warning about optional parameter before required one
Fixes this warning:
PHP Deprecated:  Required parameter $logger follows optional parameter $principalPrefix in /var/www/html/apps/dav/lib/CalDAV/CalendarRoot.php on line 37

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-04-12 14:26:24 +02:00
Christoph Wurst
288f07a5a4 Fix CalDAV subscriptions calendarorder column/prop type
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-03-24 17:42:03 +00:00
Christoph Wurst
941e560b5e Fix column/property type of the calendar order
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-03-24 17:42:03 +00:00
Christoph Wurst
4f33b6937b Fix column/property type of the CalDAV deleted_at time stamp
The timestamp is an int, but we treated it as string. With this patch
the property map is enriched with types and settype casts the value if
necessary.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-03-24 17:42:03 +00:00
Anna Larch
08510edaa1 Fix moving error for calendar object error because of missing principal uri
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-03-22 00:03:02 +01:00
Daniel Teichmann
73a7ced1fd
Fix #31303: Make reminder notification behaviour selectable.
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
2022-03-21 13:02:46 +01:00
Anna Larch
0745fc5012 Move calendar objects between calendars instead of deleting and recreating them
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-03-16 12:48:50 +01:00
Christopher Ng
0cbb6d7ba9 Various minor updates
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-03-02 02:15:05 +00:00
Christopher Ng
4eff359441 Calendar export and import
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-03-02 01:59:15 +00:00
Thomas Citharel
6f9afa77b3
Consider only reminders with calendar data
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-02-15 10:15:46 +01:00
Thomas Citharel
f695b3af9a
Remove setting defaultUsernamePath dynamically
Since Sabre 3.0.6 this is no longer possible.

@see https://github.com/sabre-io/dav/pull/582

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-02-14 19:40:31 +01:00
Maximilian Martin
33c698872b delete birthday calendar events permanently
Signed-off-by: Maximilian Martin <maximilian_martin@gmx.de>
2022-02-02 09:19:03 -05:00
Christoph Wurst
b005846d1f
Carefully filter out non matching time ranges for CalDAV search
When we search for CalDAV objects in the DB we take the first and last
occurence into account. For recurring events that is when they take
place the very first time and the very last time. Searching in a more
specific time range will still match this condition, because the
recurring event starts before the end of the requested range but ends
after the start of the requested range.

Sabre has filters for this. If we apply them on all seach objects of a
search with a time range, then only the recurring events actually taking
place at the time of the requested time range will be returned.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-12-13 15:58:31 +01:00
Christoph Wurst
98d4aefe43
Close open cursor in the caldav back-end
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-12-02 14:23:59 +01:00