Commit Graph

296 Commits

Author SHA1 Message Date
Roeland Jago Douma 3a7cf40aaa
Mode to modern phpunit
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-27 15:27:18 +01:00
Georg Ehrke fb89bc3931
Add refresh-interval to exported calendars
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-11-27 14:51:17 +01:00
Georg Ehrke 05e47af6b2
Properly handle resources in ReminderService
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-11-26 12:20:35 +01:00
Roeland Jago Douma 68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Roeland Jago Douma 85610d9b99
Merge pull request #17174 from nextcloud/bugfix/noid/properly_mark_birthday_calendars_as_not_sharable
properly mark birthday calendars as not shareable for now
2019-09-17 18:03:21 +02:00
Georg Ehrke b0a3782a07
properly mark birthday calendars as not shareable for now
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-09-17 12:21:26 +02:00
Georg Ehrke 3487f0d281
Sabre/VObject returns a DateAndOrTime object now, so adapt to it in Birthday service
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-09-16 15:47:42 +02:00
Georg Ehrke 88f6d1c20e
Make push notifications for calendar reminders opt-in
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-09-02 15:18:43 +02:00
Roeland Jago Douma e99fa92456
Merge pull request #16615 from nextcloud/feature/16518/rooms_resources_should_respond
Make rooms / resources automatically reply to invites
2019-08-28 09:34:38 +02:00
Georg Ehrke cc37c39ede
Make rooms / resources automatically reply to invites
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-26 13:27:59 +02:00
Georg Ehrke befe38e1d7
replace coffin with textual description "Death of ..."
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-26 10:36:49 +02:00
Georg Ehrke 6f66fba559
fix foreach error for reminder generator
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-18 20:56:57 +02:00
Georg Ehrke 4d28a4544e
Final fixes
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 20:05:01 +02:00
Georg Ehrke 2d6473e79b
Add repair step to register reminder index for existing events
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 20:03:54 +02:00
Georg Ehrke bcce568c6d
Support recurring events + repeating alarms
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 20:03:51 +02:00
Georg Ehrke 7c4a8a3bdf
Provide a fake AudioProvider that is basically the same as PushProvider, better then not showing reminders at all for now
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 20:02:56 +02:00
Georg Ehrke a6f792616c
Implement getID and getName in Reminder/Notifier as required since Nextcloud 17
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 20:02:56 +02:00
Georg Ehrke 11fa45196e
smaller syntax changes to CalDAV reminder classes
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 20:02:56 +02:00
Thomas Citharel 7bddcc091d
Support event reminders (email and notifications)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-15 20:02:56 +02:00
Roeland Jago Douma f452e23a7d
Merge pull request #16666 from nextcloud/feature/calendar/delegation
Feature/calendar/delegation
2019-08-15 19:30:45 +02:00
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 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
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
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 54fb0f4f04
provide room / resource properties as principal properties
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-01 10:08:56 +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
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
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
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
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
Georg Ehrke 98a93d5226
Revert "send invitations for shared calendars"
This reverts commit a9c313ce45.
2019-05-22 09:02:25 +02: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
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
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
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
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
Thomas Citharel 943d48cb3e
Add command to move a calendar from an user to another
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Add a basic check for displaynames in case we fail to get calendar from uri and put some sf console styles & refactor a bit

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

basic Tests

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

add forgotten createNamedParameter()

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-16 13:58:33 +01:00
Joas Schilling 7d9f12a29c
Prevent php info about missing index for old events
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-09 14:43:51 +01:00
Joas Schilling 32d76c7c92
Correctly handle the classification of events in the activity stream
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-08 17:46:07 +01:00
Joas Schilling 99bcc1363e
Fix wrong used type
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-23 12:39:02 +01:00
Georg Ehrke c23a66cda4
fixes dav share issue with owner
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-11-14 21:49:00 +01:00
Joas Schilling bb352fb667
Use the defined func()->count() instead of manual counting
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-08 15:44:45 +01:00
Georg Ehrke 30d13bb760
cache webcal calendars on server
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-11-07 13:25:14 +01:00
Georg Ehrke 5c51d84a67
Calendar invitation: use system default instead of sender's language as fallback
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-24 18:39:30 +02:00
Georg Ehrke 10f0296ad6
overwrite Sabre/DAV's handler for calendar-user-type to report correct user type
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-22 15:48:18 +02:00
Georg Ehrke 325e366b58
add correct calendar-user-type to resource and room backend
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-22 15:48:13 +02:00
Georg Ehrke f5dc7b7f07
move disableFreeBusy check from User principal backend to Scheduling Outbox collection. This allows to keep local delivery of scheduling messages while prohibiting FreeBusy requests
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-16 20:27:33 +02:00
Joas Schilling ea21aa3f7a
Use numeric placeholders if there are multiple, so that RTL languages can operate better
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-09 14:32:14 +02:00
Georg Ehrke 83639a9898
remove LogicException, because it's also triggered with legitimate parameters
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-09-05 14:10:26 +02:00
Thomas Müller c05a0b9fa6
Adding test for table schedulingobjects and fixing postgres LOB
(cherry picked from commit afd4ebf0404e8bcd7cba0bec2dce177e97632f8a)

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
2018-08-06 13:53:32 +02:00
rakekniven 6c5670f6d2
Update IMipPlugin.php
Added space before ellipsis
2018-07-30 15:05:55 +02:00
rakekniven c94ac53e60
Typo fix: Triple dot to ellipsis
Signed-off-by: Mark Ziegler <mark.ziegler@rakekniven.de>
2018-07-29 10:15:02 +02:00
Julius Härtl 1a156c298e
Replace contacts-dark icon with contacts
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-07-24 18:47:54 +02:00
John Molakvoæ (skjnldsv) 14bc9ffda4
Fixed tests
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-19 08:16:59 +02:00
Joas Schilling daed1bed57
Also shorten the name of the invitation tokens
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-12 12:11:11 +02:00
Joas Schilling b7de6d7a24
Shorten resource table names to allow install on oracle again
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-12 11:55:19 +02:00
Roeland Jago Douma d9aa5ed96d
Merge pull request #9942 from nextcloud/feature/2338/invitation_response_in_email
Include accept / decline links in CalDAV invitation emails
2018-07-11 19:53:22 +02:00
Joas Schilling a0a6aff772
Correctly parse the subject parameters for link (un)shares of calendars
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-02 13:57:48 +02:00
Georg Ehrke 4aa4e4080c
Include accept / decline links in CalDAV invitation emails
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-06-29 10:44:44 +02:00
Georg Ehrke b832edabbf
apply group restrictions to resources
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-06-25 04:58:07 +02:00
Georg Ehrke 2da510af0b
add resource / room principals
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-06-25 04:58:07 +02:00
Morris Jobke f5e16dfaa7
Merge pull request #9609 from nextcloud/bugfix/3830/invitations_for_shared_calendars
send invitations for shared calendars
2018-06-01 12:40:53 +02:00
Roeland Jago Douma 240006bdf5
When sharing calendars and addressbooks the principal has to be verified to be valid
d3fb8fcdd3

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-27 20:51:36 +02:00
Georg Ehrke a9c313ce45
send invitations for shared calendars
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-05-25 20:41:50 +02:00
Roeland Jago Douma 0864d1c51d
Use multibyte substring
Fixes #7661

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-05 22:26:38 +02:00
Joas Schilling db9b2398dd
Fix group displaynames in activity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-08 17:13:49 +01:00
Morris Jobke d3d045dd5c
Remove unused import statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-14 16:55:43 +01:00
Morris Jobke eb51f06a3b
Use ::class statement instead of string
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-29 12:03:47 +01:00
Morris Jobke c67736a542
Merge pull request #7707 from nextcloud/bugfix/noid/birthdaycalendar-different-uids
generate different UIDs for Birthday, Anniversary and Death event
2018-01-26 15:46:46 +01:00
Morris Jobke c1e4f9f305
Use type casting instead of *val() method
It should be up to 6x faster

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 11:35:42 +01:00
Roeland Jago Douma ec1d94c629
Merge pull request #8052 from nextcloud/fix-array-methods
Fix array method usages with a proper call
2018-01-26 09:53:13 +01:00
Morris Jobke 4dbee99b7b
Remove useless return statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:50:40 +01:00
Morris Jobke 7800a9bc24
Fix array method usages with a proper call
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:20:10 +01:00
Georg Ehrke 1b8fc260c6
generate different UIDs for Birthday, Anniversary and Death event
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-01-04 20:15:24 +01:00
Morris Jobke 1ceeab9229
Fix unit tests for CalendarManager
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-12-12 09:33:52 +01:00
Morris Jobke d98dea1eb1
Merge pull request #6884 from nextcloud/feature/3003/opt_out_of_birthday_calendar
Opt out of birthday calendar
2017-12-12 08:29:26 +01:00
Morris Jobke ba3c608a00
Merge pull request #6590 from nextcloud/dav-create-activities-for-publishing
Create activities for (un)publishing calendar events
2017-12-11 17:13:11 +01:00
Morris Jobke c76c7a96fc
Update wording
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-12-11 16:28:40 +01:00
Thomas Citharel 4c32de22bb
Create activities for (un)publishing calendar events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-12-11 16:28:40 +01:00
Georg Ehrke f543039858
exclude shared calendars from freeBusy
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-12-11 16:04:55 +01:00
Christoph Seitz 787e3d51b4
Fix functions to search for principals in the backend.
Add a "searchPrincipals" function to the NC principal backend.
Fix the "findByUri" function to respect the prefixPath.

Signed-off-by: Christoph Seitz <christoph.seitz@posteo.de>
2017-12-11 16:04:55 +01:00
Georg Ehrke ea117bac31
catch errors when parsing calendar data for calendar query requests
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-27 17:14:18 +01:00
Morris Jobke eeb0cfdaf5
Merge pull request #7152 from nextcloud/bugfix/noid/adjust_calendarobject_size_after_applying_class
remove cached size from shared calendar objects
2017-11-17 08:28:34 +01:00
Morris Jobke 20868e17e8
Merge pull request #7193 from nextcloud/bugfix/noid/invitation-email-refinements
refine invitation email
2017-11-16 21:11:44 +01:00
Morris Jobke f32fbbca2e
Merge pull request #6840 from nextcloud/feature/5282/calendar_api
Calendar API for apps
2017-11-16 21:10:35 +01:00
Georg Ehrke b073b13d9f
refine invitation email
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-16 13:54:19 +01:00
Georg Ehrke 072652b2af
show name of organizer in from name of invitation email
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-14 21:23:27 +01:00
Georg Ehrke 19b77039d7
remove cached size from shared calendar objects
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-12 17:30:22 +01:00
Georg Ehrke 2b51d84b98
generate birthday calendars in a background job after admin enabled them
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 16:17:18 +01:00
Georg Ehrke a87d986041
create a user's birthday calendar right after they requested it
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 11:28:34 +01:00
Georg Ehrke ef6f41a16c
respect admin / user choice about birthday calendars in corresponding hooks
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 02:15:57 +01:00
Georg Ehrke d59b3392ab
disallow users to create calendars with reserved names
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 02:15:56 +01:00
Georg Ehrke 5068d56fb0
add CalDAV interface that allows users to re-enable their birthday calendar
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 02:15:50 +01:00