Commit Graph

418 Commits (78b7baea9d5f80eaea522463243c25f4f908fcc5)

Author SHA1 Message Date
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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Christopher Ng 0cbb6d7ba9 Various minor updates
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-03-02 02:15:05 +07:00
Christopher Ng 4eff359441 Calendar export and import
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-03-02 01:59:15 +07:00
Thomas Citharel 6f9afa77b3
Consider only reminders with calendar data
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-02-15 10:15:46 +07: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 +07:00
Maximilian Martin 33c698872b delete birthday calendar events permanently
Signed-off-by: Maximilian Martin <maximilian_martin@gmx.de>
2022-02-02 09:19:03 +07: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 +07: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 +07:00
Christoph Wurst 98b963e8a2
Merge pull request #29661 from nextcloud/enhancement/calendar-search-properties-api
Document and type allowed property names for calendar property searches
2021-11-15 10:02:47 +07:00
Christoph Wurst 603a88f2ee
Fix loading all principal calendars in the dav app calendar provider
If we load all calendar infos of a principal then we get back an array
and not a single calendar info. This was handled incorrectly and an
array of calendar infos were passed to the calendar implementation,
resulting in interesting bugs.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-11 13:31:32 +07:00
Christoph Wurst ca14c02301
Document and type allowed values for calendar property searches
For API users it looked like any properties could be searched. But it
turned out to be a hand picked list of properties that we index and then
use for the search. To prevent application errors where special props
are not found, I suggest we document and type the allowed values.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-11 10:57:04 +07:00
Anna Larch da22791424 Force Calendar Obejct Chnage Path to support public write
Signed-off-by: Anna Larch <anna@nextcloud.com>
2021-11-08 16:06:39 +07:00
Anna Larch bc68108f2a Fix missing calendar path for public write on Calendars
Signed-off-by: Anna Larch <anna@nextcloud.com>
2021-11-04 12:52:55 +07:00
Christoph Wurst 2956f1c017
Fix immutable datetime handling in DAV calendar search
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-28 19:45:39 +07:00
John Molakvoæ 8b742ab394
Merge pull request #28997 from nextcloud/fix/set-attendee-as-recipient 2021-10-22 12:07:39 +07:00
Anna Larch 0401d6dc0f
Add create method to extended calendar implementation
Signed-off-by: Anna Larch <anna@nextcloud.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-15 09:35:29 +07:00
Daniel abc2472c5d
Merge pull request #29195 from nextcloud/fix/calendar-invitations-default-language
Fix default language detection for calendar emails
2021-10-14 09:24:59 +07:00
Anna Larch a58d1e6b06
Add Public Calendar Provider
Signed-off-by: Anna Larch <anna@nextcloud.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-14 08:22:24 +07:00
Christoph Wurst 2148c448cc
Fix default language detection for calendar notifications
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-13 20:33:29 +07:00
Christoph Wurst c6166c0a37
Fix default langauge detection for calendar invite emails
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-13 11:01:32 +07:00
Daniel Kesselberg fab887cb7c
Update attendence for external users
For local users it's possible to select their calendar via the principal url and first update their own attendance status.
External users have no calendar event hence the recipient is the organizer.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-10-08 18:12:37 +07:00
kesselb fa8083ac12
Merge pull request #28692 from nextcloud/enh/send-invitation-to-req-participants
Send attendence links to required and optinal attendees of an event without an RSVP
2021-09-07 16:03:08 +07:00
Anna Larch 56cc01c45c Send Invitation to Attendees with ROLE=REQ-PARTICIPANT
Signed-off-by: Anna Larch <anna@nextcloud.com>
2021-09-03 14:48:46 +07:00
Anna Larch 904a762de7
Extend caldav resource search
Signed-off-by: Anna Larch <anna@nextcloud.com>
2021-07-30 17:14:28 +07:00
J0WI 3b656446af Introduce ISecureRandom::CHAR_ALPHANUMERIC
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2021-07-08 15:11:31 +07:00
Julius Härtl d1b0ccb715
Merge pull request #27488 from msrn/win10cal-useragent
Add regex to match Windows 10 calendar user-agent
2021-06-29 18:36:51 +07:00
Thomas Citharel fc49b2600b
Add indications for the translators
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-25 17:27:45 +07:00
Paweł Lechowicz f33eea69ce
Subjects for Invitation, Invitation cancellation and Invitation replies are now localizable.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-25 17:23:00 +07:00
Christoph Wurst d87248fe40
Merge pull request #27632 from nextcloud/chore/caldav-trashbin-iso-timestamps
Use ISO8601 timestamps for the CalDAV trashbin
2021-06-23 21:34:34 +07:00
Christoph Wurst 3a690b1cb5
Use ISO8601 timestamps for the CalDAV trashbin
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-06-23 16:28:16 +07:00
Christoph Wurst 770881d5d6
Move DateTime::ATOM to DateTimeInterface::ATOM
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-06-23 15:28:07 +07:00
Mikael Saarinen 14c33bb2e9 Add regex to match Windows 10 calendar user-agent
* Match first part of the Windows 10 calendar user-agent
* Exposes subscribed calendars for Windows 10 calendar
* Update unit test

Signed-off-by: Mikael Saarinen <mikaels@iki.fi>
2021-06-23 09:50:45 +07:00
Richard Steinmetz 09ad1c4e2b
Skip deleted calendar objects of deleted calendars
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2021-06-15 11:36:59 +07:00
John Molakvoæ (skjnldsv) 215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +07:00
Christoph Wurst 188bc07869
Merge pull request #27348 from nextcloud/enhancement/calendar-trashbin-retention-prop
Export the CalDAV trash bin retention duration as property
2021-06-03 10:48:35 +07:00
Christoph Wurst f1444eac5d
Export the CalDAV trash bin retention duration as property
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-06-02 18:10:07 +07:00
Christoph Wurst fc8daf58ee
Add missing ACLs for deleted calendar objects to fix deletion
Due to a bug in Sabre it's necessary for calendar objects to implement
ACLs. Otherwise the scheduling plugin will throw an error when it tries
to fetch the owner of a calendar object that is being deleted.

Ref https://github.com/sabre-io/dav/issues/1345

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-06-02 15:41:51 +07:00
Christoph Wurst ff2a730aac
Fix loading of delete caldav objet URIs
Regression of 462962197d

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-31 21:01:54 +07:00
Christoph Wurst 462962197d
Expose calendar-uri as property of deleted caldav events
The trashbin is one report across all calendars of a user. In order to
refresh the data of a single calendar when one of its events is
restored, we need to know what calendar the event belongs to. There
doesn't seem to be a standard property for a URI, so this adds a custom
Nextcloud prop for the calendar-uri.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-31 18:57:40 +07:00
Christoph Wurst fe31373a93
Expose deletion timestamp for deleted CalDAV objects
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-31 10:47:07 +07:00
Thomas Citharel 8a73b180e7
Get componenttype from the db as well when restoring a calendarobject
It's needed in ReminderService::onCalendarObjectCreate()

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-05-31 07:49:19 +07:00