Commit Graph

1169 Commits

Author SHA1 Message Date
Georg Ehrke 63d584afb5
use principaluri instead of userid, allowing to add delegates for rooms and things
Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup add owner_id and proxy_id as db index, since we use it for querying

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup don't add ACL for each individual proxy, just use calendar-proxy groups

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup allow delegation of resources / rooms

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup fix addIndex call in migration

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup fix remaining constructor calls of Principal

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup minor fixes and unit tests

Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 15:41:28 +02:00
Roeland Jago Douma 3d86537dc9
Early first stage implementation of the groupset
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-15 15:41:27 +02:00
Roeland Jago Douma 01a4644cad
Use the proxymapper to obtain valid proxy data
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-15 15:41:27 +02:00
Roeland Jago Douma 954290ab5f
Merge pull request #12392 from brad2014/feature/properly-present-buttons-from-imip-mails
Customize presentation of accept/decline buttons in iMip mail
2019-08-15 08:17:30 +02:00
Julius Härtl fea04ef2df
Return proper responses when office is requesting OPTIONS/HEAD with empty Bearer header
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-08-14 10:15:45 +02:00
Roeland Jago Douma 22f29d8e54
Add DB mapper and Entity
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-14 09:42:24 +02:00
Roeland Jago Douma 5f3d0a61ea
Add table to handle calendar delegations
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-14 09:42:19 +02:00
Roeland Jago Douma 34868f0964
Merge pull request #14429 from tobiasKaminsky/shareesOnDav
Show sharees via propfind
2019-08-13 20:22:47 +02:00
tobiasKaminsky eb564e82de
get all shares, not only first one per type
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-08-08 11:01:23 +02:00
tobiasKaminsky 82ae6fb6d3
use namespace everywhere
no camelCase

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-08-06 10:32:46 +02:00
Georg Ehrke ab6add54c7
Allow to do a principal property search based on metadata keys
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-01 19:40:27 +02:00
Georg Ehrke ca060a2a83
sync metadata of rooms / resources with cache
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-01 10:08:56 +02:00
Georg Ehrke 54fb0f4f04
provide room / resource properties as principal properties
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-01 10:08:56 +02:00
Georg Ehrke 9f345bd786
add oc_calendar_resources_md and oc_calendar_rooms_md tables
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-01 10:08:55 +02:00
Roeland Jago Douma 85d5400314
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-01 10:02:25 +02:00
brad2014 8d8bcea1d8 Move dav.invitation_link_recipients from getSystemValue to getAppValue
Per @georgehrke change request for PR #12392, instead of setting
dav.invitation_link_recipients in the system config.php file, we
set it in the database table oc_appconfig.

Furthermore, the value of the config variable is always a string:
'yes' to include links in imip mail, 'no' to exclude them, or a
comma-separated list of email addresses and/or domains for which
they should be included.  If not specified in oc_appconfig, the
default is 'yes'.

Signed-off-by: brad2014 <brad2014@users.noreply.github.com>
2019-07-31 12:55:50 -07:00
tobiasKaminsky 42f00e80c7
add display name to sharee list
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-07-31 13:42:25 +02:00
Roeland Jago Douma 21477bca77
Unify share fetching
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-30 22:59:22 +02:00
Roeland Jago Douma 2a45763440
Use proper ShareeList
This makes the XML parsing more sane ;)

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-30 22:51:08 +02:00
Roeland Jago Douma 06a9ade582
Use proper caching
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-30 22:35:44 +02:00
Morris Jobke 13fd89575d
More precise error message when expected filesize does not match - could be on reading or writing side
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-07-29 15:03:01 +02:00
Roeland Jago Douma 1ec98af3e0
Merge pull request #16560 from nextcloud/bugfix/noid/fix_cutype_reporting
fix calendar-user-type reporting
2019-07-27 12:23:25 +02:00
Georg Ehrke 6a2a5465cf
fix CUType reporting
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-07-26 15:04:58 +02:00
Roeland Jago Douma 22f9a95814
Do not log locked files
This is the code doing its job. There is no need to spam the log file
with this.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-26 14:29:13 +02:00
Roeland Jago Douma c504ed66b7
Merge pull request #16503 from nextcloud/bugfix/5504/create_new_birthday_calendars_with_VEVENT_only
allow to provide supported calendar component set internally as a string
2019-07-25 13:36:01 +02:00
tobiasKaminsky efa0733b04
wip
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-07-23 10:33:56 +02:00
Daniel Kesselberg 77c09252d5
Dont assign $options to $options and cleanup doc
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-07-22 18:48:47 +02:00
Georg Ehrke dce1787b9a
allow to provide supported calendar component set internally as a string
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-07-22 16:58:54 +02:00
tobiasKaminsky b81fb182b3
wip
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-07-22 14:47:17 +02:00
tobiasKaminsky e3991fbde0
Show sharees via propfind
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-07-22 13:59:43 +02:00
Morris Jobke a085a88205
Merge pull request #14954 from tacruc/searchPatterns
Allow to search for real pattern in contacts
2019-07-19 18:03:37 +02:00
Georg Ehrke 9f6dd51912
LIMIT is no column but a SQL feature, allow limit on initial sync
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-07-18 12:42:11 +02:00
Robin Appelman 50dbc9a536
dont use part files for dav writes when the target folder doesn't have create permissions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-07-03 16:36:27 +02:00
Morris Jobke c32f14e443
Merge pull request #16199 from nextcloud/bugfix/noid/refresh_webcal_job_enhancements
RefreshWebcalJob: replace ugly Regex with standard php utils
2019-07-02 23:02:25 +02:00
Georg Ehrke 089a421ece
RefreshWebcalJob: replace ugly Regex with standard php utils
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-07-02 20:04:54 +02:00
Morris Jobke 1a63858095
Merge pull request #13186 from labor4/edit_carddav_types
add carddav-search (vCard2Array) option for X-ADDRESSBOOKSERVER-MEMBER
2019-07-02 16:35:25 +02:00
Roeland Jago Douma 5fbf304c2a
Merge pull request #15777 from nextcloud/feature/ocp-event-dispatcher
Add event dispatcher to OCP
2019-06-25 11:48:16 +02:00
Christoph Wurst 3174012adf Add event dispatcher to OCP
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-06-25 10:02:27 +02:00
labor4 ee0e1c4946
add carddav-search option for X-ADDRESSBOOKSERVER-MEMBER
Adding field X-ADDRESSBOOKSERVER-MEMBER
which can be used to relate persons to groups (macos behaviour).

- groups are cards with field X-ADDRESSBOOKSERVER-KIND == 'group'
- and all members' UUID/URI in the X-ADDRESSBOOKSERVER-MEMBER array of that group-card.

Signed-off-by: labor4 <schreibtisch@labor4.ch>
2019-06-07 18:03:09 +02:00
Robin Appelman 08865046fb
log inner exception during dav write
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-06-06 16:02:42 +02:00
Roeland Jago Douma 49361c40e2
Typehint builtin types in constructor to not initiate autoloading
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-06-04 15:13:33 +02:00
Arne Hamann 2c5ebac458
Allow to search for real pattern in contacts
Added an option escape_like_param to allow wildcards

Signed-off-by: Arne Hamann <kontakt+github@arne.email>
2019-05-28 10:01:56 +02:00
Georg Ehrke 7ec8e6d35b
Don't run repair step for every individual user, outsource that to background job
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-05-23 11:24:32 +02:00
Georg Ehrke 98a93d5226
Revert "send invitations for shared calendars"
This reverts commit a9c313ce45.
2019-05-22 09:02:25 +02:00
Arthur Schiwon 3c78116cf8
do not create folder just to delete it afterwards
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-04-29 16:46:56 +02:00
Roeland Jago Douma 33946655b9
Merge pull request #15141 from nextcloud/fix/noid/regenerate-seen-users-only
fix searching all users in repair regenerate birthday cal reparir job
2019-04-24 19:58:53 +02:00
Roeland Jago Douma c16d116fa6
Prefetching blows up if there are a lot of files.
I saw instances where people had a lot of files (each with custom
properties) and all this prefetching blew up and started to consume an
insane amount of RAM resulting in the process getting killed.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-04-18 21:23:59 +02:00
Arthur Schiwon 1d1c8b4e69
avoids users searches on backend, faster processing
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-04-17 15:55:23 +02:00
Joas Schilling 592093079f
Deduplicate index names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-27 13:32:59 +01:00
Joas Schilling 274658629d
Make sure all tables have named indexes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-27 13:32:59 +01:00
Georg Ehrke d74e49b3e6
implement principal property search for calendar user address set property
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-03-21 16:32:41 +01:00
Morris Jobke 8ff536f4f7
Merge pull request #14641 from nextcloud/assemblystream-seek
make assemblystream seekable
2019-03-15 12:25:28 +01:00
Robin Appelman dafbb42189
throw a proper error if rename fails in dav
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-03-14 15:40:21 +01:00
Morris Jobke de8e02628e
Improve code
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 23:01:47 +01:00
Robin Appelman 6a47f924fc
make assemblystream seekable
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-03-13 16:32:18 +01:00
Morris Jobke 389c2095a6
Use dependency injection for app manager
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 00:42:39 +01:00
Vinicius Cubas Brand 9bb13fb05f
Created infrastructure to show circles' shared files
There is a proposal to allow users to filter files shared to circles. This commit is needed to provide the infrastucture for it.

Issue: https://github.com/nextcloud/circles/issues/137

Changes to comply to https://github.com/coletivoEITA/circles/pull/2

Polishing: get files shared to circles in caldav

Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 00:31:38 +01:00
Morris Jobke f0c85a0f5f
Merge pull request #6512 from coletivoEITA/add_circles_sharing_to_caldav
Change CALDAV to allow calendars be shared with circles.
2019-03-13 00:06:46 +01:00
Joas Schilling e13253c66a
"Fix" the unit tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-06 11:06:03 +01:00
Morris Jobke dd2496b275
Use proper dependency injection for app manager
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-05 16:00:47 +01:00
Morris Jobke 789aaa489d
Fix whitespace
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-05 15:48:50 +01:00
Morris Jobke 8322cec951
Suppress phan exceptions because they are catched by a class_exists
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-05 15:46:56 +01:00
Roeland Jago Douma eb175584f6
Merge pull request #14514 from nextcloud/fix/no_debug_output
Do not just write foobar
2019-03-04 21:26:20 +01:00
Morris Jobke 79ec7bbcf6
Merge pull request #13871 from PLUTEX/master
dav: Fix handling of chunked WebDAV upload
2019-03-04 17:43:31 +01:00
Roeland Jago Douma c8d1b29407
Do not just write foobar
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-04 17:14:32 +01:00
Morris Jobke daee222534
Merge pull request #12978 from tobiasKaminsky/noteOnDav
Add note to dav endpoint
2019-03-04 12:58:09 +01:00
Christoph Wurst aee348c5f5
Update apps/dav/lib/Connector/Sabre/Node.php
Co-Authored-By: tobiasKaminsky <tobias@nextcloud.com>
2019-03-04 08:24:14 +01:00
Georg Ehrke 12d3f246aa
use class_exists on correct class to please phan
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-03-04 00:36:52 +01:00
Georg Ehrke dc26d94014
properly catch exceptions of detailsCircle
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-03-03 23:07:07 +01:00
John Molakvoæ (skjnldsv) d6e9a2ea15
Fix dav has-photo plugin extend
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-03-03 19:06:22 +01:00
Vinicius Cubas Brand 58c92e6047 Get user's circles without touching session
This works with nextcloud/circles#260

Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
2019-03-01 17:04:43 -03:00
Georg Ehrke 34601f8623
allow sharing addressbooks with circles
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-03-01 13:02:30 +01:00
Vinicius Cubas Brand 5e37b52241
Share calendar to circle
* Allow user to share calendar with a circle
* Allow user to see calendars shared with his/her circles

Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
2019-03-01 10:40:54 +01:00
Brad Rubenstein 79d20e4758 Revert 3ff3ed0c56 case-insensitive compares.
My oops.  The comparisons, which are copied from the IMipPlugin shipped with sabre-io/dav,
do not need to be case insensitive because the sender and recipient names are normalized by sabre,
(see calls to getNormalizedValue in voboject/lib/ITip/Broker.php).

Signed-off-by: Brad Rubenstein <brad@wbr.tech>
2019-02-28 01:43:07 +00:00
Brad Rubenstein 6421e30b2c Respect RSVP parameter for attendees when adding accept/decline buttons.
If RSVP=TRUE parameter is FALSE or absent for an ATTENDEE, then do no
present accept/decline buttons. The organizer isn't asking for an RSVP.

Signed-off-by: Brad Rubenstein <brad@wbr.tech>
2019-02-28 01:42:47 +00:00
Brad Rubenstein 31a25dc6b0 Customize presentation of accept/decline buttons in iMip mail
Fix Issue #11230
Only present accept/decline button links in iMip mail for REQUEST, not CANCEL or others.

Fix Issue #12156
Implement config setting "dav.invitation_link_recipients", to control
which invitation recipients see accept/decline button links.  The
default, for public internet facing servers, is to always include
them.  For a server on a private intranet, this setting can be set
to the email addresses or email domains of users whose browsers can
access the nextcloud server referenced by those accept/decline
button links. It can also be set to "false" to exclude the links
from all requests.

Signed-off-by: Brad Rubenstein <brad@wbr.tech>
2019-02-28 01:41:48 +00:00
John Molakvoæ (skjnldsv) cea53d0a07
Add HasPhoto DAV plugin
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-02-27 09:04:01 +01:00
tobiasKaminsky 78e6bf0daf
Add note to dav endpoint
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-02-27 07:11:40 +01:00
Joas Schilling 2cc4118629
Merge pull request #14066 from nextcloud/feature/noid/casted-system-values
Get typed system values
2019-02-22 11:54:20 +01:00
Joas Schilling 0c77cd21f9
Make sure maintenance mode is always casted to bool
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-22 08:25:41 +01:00
Morris Jobke 4c8cfd224c
Merge pull request #14299 from nextcloud/fix/14298/fix_storages_not_closing_handle
Hanlde writestream not closing source
2019-02-20 10:28:21 +01:00
Morris Jobke 2b76e27aad
Merge pull request #11832 from nextcloud/bugfix/9849/birthday_without_year
set birthday year to 1970 if no year, take X-APPLE-OMIT-YEAR into account
2019-02-20 10:16:47 +01:00
Roeland Jago Douma 719b70108d
Hanlde writestream not closing source
Fixes #14298

If a storage doesn'tclose the write stream then $isEOF is not yet set.
So we have to fallback.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-20 09:49:06 +01:00
Roeland Jago Douma fc967a5ac2
Make sure that we have a stream
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-18 14:25:57 +01:00
Georg Ehrke 3acde071f3
Add Repair step to regenerate birthday calendar
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-02-16 16:19:22 +01:00
Georg Ehrke 58520209be
unicode all the birthday icons
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-02-16 13:25:08 +01:00
Georg Ehrke 9d0ce12970
set birthday year to 1970, take X-APPLE-OMIT-YEAR into account
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-02-16 12:33:38 +01:00
Roeland Jago Douma 3720add736
Add a wrapper to determine if a file is EOF
The stream is already closed at this point. Which means feof will always
return false. We have to determine if the stream is EOF in the
preCloseCallback. And pass this info along. Then the logic works as
expected.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-15 08:41:39 +01:00
Morris Jobke 87c8a71647
Merge pull request #10068 from nextcloud/feature/1434/provisioning_profiles_for_dav
Add Apple Provisioning profile
2019-01-31 11:25:39 +01:00
Morris Jobke 9d285c4459
Fix theming defaults injection if theming app is disabled
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-01-31 09:53:45 +01:00
Georg Ehrke 16fec60e8f
Add Apple Provisioning profile
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-01-30 19:50:02 +01:00
Daniel Kesselberg 2764173d09
Use proper mime type for ico
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-01-28 21:41:26 +01:00
Daniel Kesselberg 4dbef1210c
Add ico as avatar
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-01-28 21:41:26 +01:00
Morris Jobke 554c78c9b1
Merge pull request #5881 from nextcloud/command-move-calendar
Add command to move a calendar from an user to another
2019-01-28 17:35:13 +01:00
Jan-Philipp Litza 9348e3d2f6 dav: Fix handling of chunked WebDAV upload
When $data is null (which can happen when $request->getBodyAsStream() returns
null), the Exceptions says "copied bytes: 0, expected filesize: 0", which
sounds more like success...
2019-01-28 17:14:22 +01:00
John Molakvoæ (skjnldsv) 22112bf71d
Allow access to addressbook unique uri
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Co-Authored-By: Joas Schilling <coding@schilljs.com>
2019-01-22 10:03:56 +01:00
Morris Jobke cec72536de
Merge pull request #13511 from nextcloud/bugfix/noid/remove-orphan-event-and-contact-data
Remove orphan event and contacts data
2019-01-16 22:54:40 +01:00
Thomas Citharel 3180ddd202
Handle moving calendar to an user who already has the share
Extra:
    * Fix @ChristophWurst style remarks
    * Add a Note that share links have changed when calendars has user shares (see #13603)

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Fix forgotten test change

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-16 13:58:34 +01:00
Thomas Citharel 4864b1865b
Don't check group shares if shareWithGroupMembersOnly is false
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Remove the system user check

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-16 13:58:34 +01:00
Georg Ehrke 4a2238c75b
add list-calendars command
Signed-off-by: Georg Ehrke <developer@georgehrke.com>

Rebase and delete URI suggestion part

Invite to use occ dav:list-calendars instead

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Fix autoload

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Use injection & test everything

And rebase

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Add test for ListCalendars and refactoring

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Fix indentation

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-16 13:58:33 +01:00