-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
allow admins to disable FreeBusy without modifying ShareAPI capabilities #9550
allow admins to disable FreeBusy without modifying ShareAPI capabilities #9550
Conversation
…eAPI capabilities Signed-off-by: Georg Ehrke <[email protected]>
Codecov Report
@@ Coverage Diff @@
## master #9550 +/- ##
===========================================
- Coverage 51.7% 51.7% -0.01%
- Complexity 25760 25762 +2
===========================================
Files 1644 1644
Lines 96578 96589 +11
Branches 1394 1394
===========================================
+ Hits 49935 49939 +4
- Misses 46643 46650 +7
|
if (!$this->shareManager->shareApiEnabled()) { | ||
// If sharing is disabled (or FreeBusy was disabled on purpose), return the empty array | ||
$shareAPIEnabled = $this->shareManager->shareApiEnabled(); | ||
$disableFreeBusy = $this->config->getAppValue('dav', 'disableFreeBusy', $shareAPIEnabled ? 'no' : 'yes'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mmm I'm not sure this is the right place.
Basically not being able to find principals if sharing is totally disabled makes sense. But if free busy is disabled this will kill all sharing.
Can't we extend this class for calendars? overrwite only this function and then do the extra check? (as for now it is only needed for calendars right?).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it was only implemented for FreeBusy support: https://github.com/nextcloud/server/pull/6715/files#diff-60741cfe42a3d593d42e433595d64f22R206
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok then fine by me. If we ever want to extend this we have to the magic then!
Once I set the value to I have two users, A shares a calendar to B. User A adds 3 events: one shown, one shown as busy and one not shown to the share. For user B in both cases (with and without the setting) the entry marked to be shown as "Busy" is shown :/ |
But also putting a debug breakpoint to the two code parts inside the |
@MorrisJobke I updated the description. |
Backport to stable13: #9707 Backport to stable12 is not necessary, because Free/Busy was only introduced with stable13 |
@MorrisJobke @rullzer As discussed last week
Sorry for not providing a proper testing description in the beginning.
To test this you need an external client like thunderbird, because the Nextcloud Calendar web app does not support Free/Busy yet.
Before setting the property:

After executing:

php occ config:app:set dav disableFreeBusy --value=yes
You can get back to the first behavior by executing:
php occ config:app:delete dav disableFreeBusy