Commit graph

162 commits

Author SHA1 Message Date
Thomas Citharel
3820de977b 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-06-01 15:05:37 +00: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
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
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
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 +01: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 +02: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 +02: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 +02:00
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02: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 +02: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 +02: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 +02:00
Christoph Wurst
d6d8e9215c
Add a trashbin for calendars and calendar objects
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-31 07:49:19 +02:00
Christoph Wurst
cebe951b8e
Remove the untyped calendar update event
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-07 17:09:37 +02:00
Christoph Wurst
884e34b12a
Remove the untyped calendar create event
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-07 16:58:33 +02:00
Christoph Wurst
f8c519f5f0
Merge pull request #26913 from nextcloud/chore/dav-calendar-object-untyped-events
Drop some more untyped events from the dav code
2021-05-07 16:47:44 +02:00
Christoph Wurst
257613e6ef
Remove the \OCA\DAV\CalDAV\CalDavBackend::createCalendarObject event
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-07 12:13:45 +02:00
Christoph Wurst
f808267949
Remove the \OCA\DAV\CalDAV\CalDavBackend::updateCalendarObject event
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-07 12:10:58 +02:00
Christoph Wurst
08a4b24926
Drop the unused second parameter on \OCA\DAV\CalDAV\CalDavBackend::getShares
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-07 11:57:31 +02:00
Christoph Wurst
d512a5629e
Remove the \OCA\DAV\CalDAV\CalDavBackend::deleteCalendarObject event
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-07 10:53:45 +02:00
Christoph Wurst
99f2fa73d1
Fix usage of rename executeUpdate
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-05 10:35:25 +02:00
Christoph Wurst
63eb3694e4
Exclusively use the typed calendar deletion events for DAV
We had both in places, but the old one isn't used anywhere outside this
app, so it's time to migrate the code.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-04-29 15:31:19 +02:00
Chih-Hsuan Yen
fea5b4a8b9
Correctly truncate multibyte strings to fit into the database
Closes: #26174

Signed-off-by: Chih-Hsuan Yen <yan12125@gmail.com>
2021-04-26 16:54:50 +08:00
Christoph Wurst
323f95693c
Close open cursors
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-04-23 14:35:02 +02:00
Christoph Wurst
72a4f21efe
Use the new executeQuery and executeUpdate methods
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-04-23 13:21:25 +02:00
Christoph Wurst
94bf14a8dc
Drop default fetch mode parameter
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-04-23 13:21:25 +02:00
dependabot-preview[bot]
eb502c02ff
Bump nextcloud/coding-standard from 0.3.0 to 0.5.0
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v0.3.0...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-18 13:31:24 +01:00
Roeland Jago Douma
df4c2508d6 Fix some RedundantCast in dav code
For #25641

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-15 20:50:28 +01:00
Roeland Jago Douma
b0f205f97c Move getChangesForCalendar to QueryBuilder
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-15 12:07:26 +01:00
Christoph Wurst
8b64e92b92
Bump doctrine/dbal from 2.12.0 to 3.0.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-08 11:45:19 +01:00
John Molakvoæ (skjnldsv)
07553f0c62
Make sure we have existing indexes before using them
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-01-04 20:58:15 +01:00
Christoph Wurst
9ce3ea3368
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-30 14:07:05 +01:00
John Molakvoæ
a5c55891f5
Merge pull request #24604 from nextcloud/feat/dav/move-calendar-rename
Allow to force rename a conflicting calendar
2020-12-22 08:33:10 +01:00
Christoph Wurst
fbf25e164d
Merge pull request #24515 from nextcloud/fix/noid/dav-share-groups-special-chars
fixes sharing to group ids with characters that are being url encoded
2020-12-18 12:01:49 +01:00
Arthur Schiwon
1186977589
fixes sharing to group ids with characters that are being url encoded
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-16 22:15:02 +01:00
Christoph Wurst
d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
John Molakvoæ (skjnldsv)
fd01d24402
Allow to force rename a conflicting calendar
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-12-10 09:12:28 +01:00
Joas Schilling
31e243be74
Fix public calendars as they are stored with null on oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 15:35:16 +01:00
Morris Jobke
f23c2162ad
Merge pull request #23993 from nextcloud/bugfix/noid/close-cursors
Don't leave cursors open
2020-11-10 15:15:03 +01:00
Joas Schilling
8027dcbc6f
Don't leave cursors open when tests fail
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-09 12:28:17 +01:00
leith abdulla
8c1f17383b resolve review comments
update styling for conditionals and simplifying conditional by only
relying on dtstart instead of also counting vevents (since they imply
the same condition, assuming valid events)

Signed-off-by: leith abdulla <online-nextcloud@eleith.com>
2020-10-29 07:31:56 -07:00
leith abdulla
a40a307b65 handle vcalander documents with recurrence with exemptions or edits
when importing ics files from third party services (ex: google), long
running recurrence vcalander objects can contain numerous vevents
relating to past exemptions or edits.

these objects are handled incorrectly, leading to incorrect first and/or
last occurence dates from being inferred. as a result, a number of
imported events are not rendered in the calendar.

this PR makes use of EventIterator's constructor that takes in an array
of VEVENTS to properly handle these complex cases.

Also of note is that other parameter signatures of EventIterator's constructor,
will be deprecated, according to comments in sabre dav EventIterator.php

Signed-off-by: leith abdulla <online-nextcloud@eleith.com>
2020-10-28 21:07:00 -07:00
Simon Spannagel
9956d13b90 CalDavBackend: check if timerange is array before accessing
Signed-off-by: Simon Spannagel <simonspa@kth.se>
2020-10-16 07:50:36 +02:00
Morris Jobke
5169976d2b
Merge pull request #23028 from nextcloud/bugfix/noid/array-to-string-conversion-on-event-search
Fix array to string conversion on event search
2020-10-05 23:04:48 +02:00
Christoph Wurst
d9015a8c94
Format code to a single space around binary operators
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-05 20:25:24 +02:00
Joas Schilling
cea7252874
Fix array to string conversion on event search
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-24 13:52:24 +02:00
Morris Jobke
99c9423766
Remove @suppress SqlInjectionChecker
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-16 15:53:56 +02:00