Commit graph

1486 commits

Author SHA1 Message Date
Joas Schilling
b1031f3985
Allow apps to get photos of VObjects
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-09 11:57:49 +02:00
John Molakvoæ
b211d02e9c
Merge pull request #27008 from francoisfreitag/no-jq-app-calendar 2021-06-05 12:36:30 +02:00
François Freitag
70edda0342 Port dav calendar settings page to Vue.js
- Drop reliance on deprecated global jQuery object.
- Allow testing user interactions.
- Use newer technology stack.

---

Test user interactions with the groupware dav settings

Add infrastructure to test Vue components:

- Use recommended libraries:

    - https://vuejs.org/v2/guide/testing.html#Recommendations
    - Use jest-dom for robust assertions on the DOM state
    - Use user-event to be more representative of user actions

- Code is transpiled by Jest, with the help of vue-jest.

Ignore test files for no-unpublished-import. Prevent ESLint from
flagging:

```
/home/runner/work/server/server/apps/dav/src/views/CalDavSettings.spec.js
Error:   1:24  error  "@testing-library/vue" is not published         node/no-unpublished-import
Error:   2:23  error  "@testing-library/user-event" is not published  node/no-unpublished-import
```

Signed-off-by: François Freitag <mail@franek.fr>
2021-06-05 11:22:25 +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
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 +02: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 +02: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 +02:00
Christoph Wurst
b29c3aa03f
Merge pull request #25658 from nextcloud/dav-respect-disallow-sharing-with-groups
Dav respect disallow sharing with groups
2021-06-01 12:07:29 +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
Christoph Wurst
b908db7ac8
Merge pull request #27298 from nextcloud/fix/caldav-deleted-objects-expose-timestamp
Expose deletion timestamp for deleted CalDAV objects
2021-05-31 18:24:30 +02:00
Joas Schilling
773e28d8e4
Merge pull request #27275 from nextcloud/bugfix/noid/circles-22-in-dav
Fixing invalid classes and methods for circles 22
2021-05-31 13:03:07 +02: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 +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
Maxence Lange
11ad88e987 migration to Circles 22
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2021-05-29 10:04:26 -01:00
Thomas Citharel
1c0d975654
Make dav respect disallowing sharing with groups
Closes #25390

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-05-26 11:19:59 +02:00
Joas Schilling
2a2ca4dba5
Remove since from implementations and fix some more style
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-25 09:28:18 +02:00
Joas Schilling
9626138873
Fix PHP CS
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-21 15:34:37 +02:00
Joas Schilling
6fff0b81fe
Add activities for creating, updating and deleting contacts
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-21 15:08:35 +02:00
Joas Schilling
2496f83463
Add activities for addressbook management
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-21 15:08:35 +02:00
Joas Schilling
82629f0f55
Add a setting
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-21 15:08:35 +02:00
Joas Schilling
5fb9256acc
Add a contacts filter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-21 15:08:21 +02:00
Arthur Schiwon
665ffbdf80
remove private AccountManager from SyncService
and fix test

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-05-11 23:38:31 +02:00
Arthur Schiwon
04edd067f4
dav: do not use private AccountManager
- also updates data structure in test

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-05-08 00:18:17 +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
f5462650f1
Clean up reminder actions and call methods directly
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-07 12:13:47 +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
Morris Jobke
1089ad5d9e
Merge pull request #26877 from nextcloud/chore/query-builder-execute-statement
Rename IQueryBuilder::executeUpdate to IQueryBuilder::executeStatement
2021-05-05 14:19:02 +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
Valdnet
48d12b6441
l10n: Spelling unification
Spelling unification in Transifex.

Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-05-04 09:38:46 +02:00
Arthur Schiwon
a9f39aab29
fix creating vcards with multiple string values
Internally it is valid to provide multiple values for a property as
plain string. An exampe is given in the PhpDoc of
AddressBookImpl::search().

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-04-30 21:36:05 +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
Christoph Wurst
1722044992
Only set copy etag if the destination source can be found
The etag is only set for files, but it's also possible that in edge
cases the copy destination node can't be found. In that case we don't
need to set any etag.

Required for #26083

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-04-23 10:53:24 +02:00
Roeland Jago Douma
0593b039fc Move over notification to new registration
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-04-16 13:56:28 +02:00
Morris Jobke
f8bad86097
Merge pull request #26342 from pirate/cal-invite-email-use-pngs
Fix broken Calendar Event Invite email icons in Gmail by using PNGs instead of SVGs
2021-03-29 11:01:46 +02:00
Nick Sweeting
8c6f0aa3d2 change calendar invite emails to use pngs instead of svgs
Signed-off-by: Nick Sweeting <git@sweeting.me>
2021-03-26 23:57:48 -04:00
Vincent Petry
278a73789e
Map old account scope properties to new names
Use new scope values in settings page.
Adjust all consumers to use the new constants.
Map old scope values to new ones in account property getter.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-26 13:07:08 +01:00
John Molakvoæ
fbbcf26099
Merge pull request #22201 from cweiske/20492-move-contacts-with-birthday
Delete old birthday calendar object when moving contact to another ad…
2021-03-26 07:59:16 +01:00
Christian Weiske
8ee995f214
Delete old birthday calendar object when moving contact to another address book
When an contact is moved to another address book, the contact is copied to
the second address book.
During copying, the birthday event is created - but it gets the same UID
as the contact's birthday event in the first address book.

To prevent the "Calendar object with uid already exists" error that followed,
we need to delete the old entry before the new one is created.

Resolves: https://github.com/nextcloud/server/issues/20492
Signed-off-by: Christian Weiske <cweiske@cweiske.de>
2021-03-26 07:31:16 +01:00
Valdnet
107bbebb6c
Fix l10n
Issue: #26286
2021-03-25 10:26:50 +01:00