Make auto accepting the default and provide setting to enforce the share acceptance process
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
parent
fa966ebaf1
commit
eb4c42d3d1
|
@ -26,6 +26,7 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace OCA\Files_Sharing\Listener;
|
namespace OCA\Files_Sharing\Listener;
|
||||||
|
|
||||||
|
use OCA\Files_Sharing\AppInfo\Application;
|
||||||
use OCP\EventDispatcher\Event;
|
use OCP\EventDispatcher\Event;
|
||||||
use OCP\EventDispatcher\IEventListener;
|
use OCP\EventDispatcher\IEventListener;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
|
@ -74,7 +75,9 @@ class UserShareAcceptanceListener implements IEventListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
private function handleAutoAccept(IShare $share, string $userId) {
|
private function handleAutoAccept(IShare $share, string $userId) {
|
||||||
if ($this->config->getUserValue($userId, 'files_sharing','default_accept','no') === 'yes') {
|
$defaultAcceptSystemConfig = $this->config->getSystemValueBool('sharing.enable_share_accept', false) ? 'no' : 'yes';
|
||||||
|
$acceptDefault = $this->config->getUserValue($userId, Application::APP_ID, 'default_accept', $defaultAcceptSystemConfig) === 'yes';
|
||||||
|
if (!$this->config->getSystemValueBool('sharing.force_share_accept', false) && $acceptDefault) {
|
||||||
$this->shareManager->acceptShare($share, $userId);
|
$this->shareManager->acceptShare($share, $userId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,8 +48,11 @@ class Personal implements ISettings {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getForm(): TemplateResponse {
|
public function getForm(): TemplateResponse {
|
||||||
$value = $this->config->getUserValue($this->userId, Application::APP_ID, 'default_accept', 'no') === 'yes';
|
$defaultAcceptSystemConfig = $this->config->getSystemValueBool('sharing.enable_share_accept', false) ? 'no' : 'yes';
|
||||||
$this->initialState->provideInitialState(Application::APP_ID, 'accept_default', $value);
|
$acceptDefault = $this->config->getUserValue($this->userId, Application::APP_ID, 'default_accept', $defaultAcceptSystemConfig) === 'yes';
|
||||||
|
$enforceAccept = $this->config->getSystemValueBool('sharing.force_share_accept', false);
|
||||||
|
$this->initialState->provideInitialState(Application::APP_ID, 'accept_default', $acceptDefault);
|
||||||
|
$this->initialState->provideInitialState(Application::APP_ID, 'enforce_accept', $enforceAccept);
|
||||||
return new TemplateResponse('files_sharing', 'Settings/personal');
|
return new TemplateResponse('files_sharing', 'Settings/personal');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div id="files-sharing-personal-settings" class="section">
|
<div id="files-sharing-personal-settings" class="section" v-if="!enforceAcceptShares">
|
||||||
<h2>{{ t('files', 'Sharing') }}</h2>
|
<h2>{{ t('files', 'Sharing') }}</h2>
|
||||||
<p>
|
<p>
|
||||||
<input id="files-sharing-personal-settings-accept"
|
<input id="files-sharing-personal-settings-accept"
|
||||||
|
@ -42,12 +42,10 @@ export default {
|
||||||
name: 'PersonalSettings',
|
name: 'PersonalSettings',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
accepting: true,
|
accepting: loadState('files_sharing', 'accept_default'),
|
||||||
|
enforceAcceptShares: loadState('files_sharing', 'enforce_accept'),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
|
||||||
this.accepting = loadState('files_sharing', 'accept_default')
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
toggleEnabled() {
|
toggleEnabled() {
|
||||||
axios.put(
|
axios.put(
|
||||||
|
|
|
@ -1339,11 +1339,16 @@ $CONFIG = array(
|
||||||
'sharing.minSearchStringLength' => 0,
|
'sharing.minSearchStringLength' => 0,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starting with Nextcloud 18 also internal shares have to be accepted. Setting
|
* Set to true to enable that internal shares need to be accepted by the users by default.
|
||||||
* this setting to true forces all internal shares to be accepted directly.
|
* Users can change this for their account in their personal sharing settings
|
||||||
* (resulting in pre 18 behavior).
|
|
||||||
*/
|
*/
|
||||||
'sharing.interal_shares_accepted' => false,
|
'sharing.enable_share_accept' => false,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set to true to enforce that internal shares need to be accepted
|
||||||
|
*/
|
||||||
|
'sharing.force_share_accept' => false,
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All other configuration options
|
* All other configuration options
|
||||||
|
|
Loading…
Reference in New Issue