Commit graph

793 commits

Author SHA1 Message Date
Louis Chemineau
def983dc7e Clean BulkUpload plugin
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-10-16 09:42:07 +02:00
Louis Chemineau
dd938dadef Add benchmark tests
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-10-15 11:54:01 +02:00
Louis Chemineau
fc6e07705a Add BulkUpload DAV plugin
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-10-15 11:54:01 +02: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 +02:00
szaimen
fbf59c6ade
Merge pull request #28716 from nextcloud/add-orphan-subscriptions-repair-task
Add repair job to delete calendar subscriptions that were orphaned when deleting an user
2021-09-13 15:20:50 +02:00
Arthur Schiwon
27865d03c0
use specific email getter where necessary
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-09 19:23:05 +02:00
Thomas Citharel
45d5a797e7
Add repair job to delete calendar subscriptions that were orphaned when
deleteding an user

Follow-up to https://github.com/nextcloud/server/pull/28419

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-04 20:55:12 +02:00
Christoph Wurst
613798a54b
Merge pull request #28419 from nextcloud/bug/28419/delete-calendar-subscriptions-when-deleting-user
Delete calendar subscriptions as well when deleting user
2021-08-31 08:59:50 +02:00
Thomas Citharel
2a78ea9dc6
Improve PrincipalTest test file
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-16 19:03:01 +02:00
Thomas Citharel
a7b9b398a3
Expose user language through DAV
Introduces the '{http://nextcloud.com/ns}language' prop that gives the
user's language

Closes #28449

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-16 19:03:00 +02:00
Thomas Citharel
57e2f2a903
Delete calendar subscriptions as well when deleting user
Closes #28418

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-13 14:19:03 +02:00
Julius Härtl
6909ce6641
Make sure that the dav propfind plugins always use the proper user id
For old android versions it could happen that the requests are performed
with a login name instead of the actual user id, so before this change
the property methods used the wrong value for fetching their information

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-22 12:28:00 +02:00
J0WI
3b656446af Introduce ISecureRandom::CHAR_ALPHANUMERIC
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2021-07-08 15:11:31 +02:00
Joas Schilling
8ebbd91909
Merge pull request #17148 from nextcloud/always-provide-color-to-default-personal-calendar
Always provide theme color for default personal calendar
2021-07-02 16:29:18 +02: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 +02:00
Thomas Citharel
8927205d8a
Make default calendar only contain VEVENTS
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-25 14:26:18 +02:00
Thomas Citharel
f73478654d
Always provide theme color for default personal calendar
Before this calendar-color wasn't defined for default calendar

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-25 14:15:10 +02: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 +03:00
Lukas Reschke
4627fe4bc1 Reference correct private variable
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-06-22 20:41:38 +02:00
Lukas Reschke
d6a2f00bef Throttle on public DAV endpoint
We should throttle whenever an invalid request is sent to the public WebDAV endpoint.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-06-22 19:54:13 +02:00
Christoph Wurst
dfbac05f7b
Merge pull request #26421 from mattian/enh/25771/occ-delete-calendar
OCC command to delete calendars
2021-06-14 10:03:44 +02:00
Mattia Narducci
4850dae1df occ: new command dav:delete-calendar
Add occ command 'dav:delete-calendar' to delete a user's calendar.

Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
2021-06-13 23:08:15 +02:00
Morris Jobke
92d19bd79b
Merge pull request #27374 from nextcloud/bugfix/noid/adjust-unit-tests
Bugfix/noid/adjust unit tests
2021-06-07 11:12:22 +02:00
Morris Jobke
e238b93234
Code style fixes
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-06-07 10:31:14 +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
Joas Schilling
e1e5026df2
Fix dispatcher handling in CalDavBackendTest
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-04 10:57:41 +02:00
Lukas Reschke
446c1c5ade
Merge pull request #27312 from francoisfreitag/tests-at
Rewrite birthday calendar tests without $this->at()
2021-06-01 21:05:37 +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
François Freitag
22d35141f8 Rewrite birthday calendar tests without $this->at()
Removes warnings:

```
The at() matcher has been deprecated. It will be removed in PHPUnit 10.
Please refactor your test to not rely on the order in which methods are
invoked.
```

Signed-off-by: François Freitag <mail@franek.fr>
2021-05-31 23:13:15 +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
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
Roeland Jago Douma
749dd1374c Fix CS check
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-05-12 16:01:05 +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
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
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
Valdnet
4df8fec0c3
Fix test
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-05-04 11:38:45 +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
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
Joas Schilling
379664974c
Fix DAV unit tests
6) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testAccept
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static

7) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testAcceptSequence
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static

8) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testAcceptRecurrenceId
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static

9) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testAcceptTokenNotFound
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static

10) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testAcceptExpiredToken
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static

11) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testDecline
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static

12) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testProcessMoreOptionsResult
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static

13) OCA\DAV\Tests\unit\CalDAV\CalendarTest::testConfidentialClassification with data set #0 (3, false)
No method rule is set

14) OCA\DAV\Tests\unit\DAV\Migration\RefreshWebcalJobRegistrarTest::testRun
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static

Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-04-20 17:30:21 +02: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
Joas Schilling
5b53b6f977
Add a setting to restrict returning a full match unless in phonebook or same group
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-10 17:25:57 +01:00
Joas Schilling
236aa194e2
Restrict autocompletion also based on the phonebook known users
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-10 17:19:55 +01:00