summaryrefslogtreecommitdiffstats
path: root/apps/settings/lib/Controller
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2020-02-26 18:04:43 +0100
committerChristoph Wurst <christoph@winzerhof-wurst.at>2020-02-28 14:01:03 +0100
commitd47daefe387301c9df8afabd00d5e547429d8709 (patch)
tree6ab11f0bb3349496ef30308f5ac2b187d0beb7fa /apps/settings/lib/Controller
parent0f08acfe3169e3ef0c332353324271bd86c2e525 (diff)
downloadnextcloud-server-d47daefe387301c9df8afabd00d5e547429d8709.tar.gz
nextcloud-server-d47daefe387301c9df8afabd00d5e547429d8709.zip
Revive the "send email to new users" toggle for the user form
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'apps/settings/lib/Controller')
-rw-r--r--apps/settings/lib/Controller/UsersController.php21
1 files changed, 21 insertions, 0 deletions
diff --git a/apps/settings/lib/Controller/UsersController.php b/apps/settings/lib/Controller/UsersController.php
index 2c20ce36caa..cfbe35eb201 100644
--- a/apps/settings/lib/Controller/UsersController.php
+++ b/apps/settings/lib/Controller/UsersController.php
@@ -35,11 +35,13 @@ use OC\AppFramework\Http;
use OC\Encryption\Exceptions\ModuleDoesNotExistsException;
use OC\ForbiddenException;
use OC\Security\IdentityProof\Manager;
+use OCA\Settings\AppInfo\Application;
use OCA\Settings\BackgroundJobs\VerifyUserData;
use OCA\User_LDAP\User_Proxy;
use OCP\App\IAppManager;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\DataResponse;
+use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\BackgroundJob\IJobList;
use OCP\Encryption\IManager;
@@ -52,6 +54,7 @@ use OCP\IUserManager;
use OCP\IUserSession;
use OCP\L10N\IFactory;
use OCP\Mail\IMailer;
+use function in_array;
class UsersController extends Controller {
/** @var IUserManager */
@@ -238,11 +241,29 @@ class UsersController extends Controller {
$serverData['canChangePassword'] = $canChangePassword;
$serverData['newUserGenerateUserID'] = $this->config->getAppValue('core', 'newUser.generateUserID', 'no') === 'yes';
$serverData['newUserRequireEmail'] = $this->config->getAppValue('core', 'newUser.requireEmail', 'no') === 'yes';
+ $serverData['newUserSendEmail'] = $this->config->getAppValue('core', 'newUser.sendEmail', 'yes') === 'yes';
return new TemplateResponse('settings', 'settings-vue', ['serverData' => $serverData]);
}
/**
+ * @param string $key
+ * @param string $value
+ *
+ * @return JSONResponse
+ */
+ public function setPreference(string $key, string $value): JSONResponse {
+ $allowed = ['newUser.sendEmail'];
+ if (!in_array($key, $allowed, true)) {
+ return new JSONResponse([], Http::STATUS_FORBIDDEN);
+ }
+
+ $this->config->setAppValue('core', $key, $value);
+
+ return new JSONResponse([]);
+ }
+
+ /**
* Parse the app value for quota_present
*
* @param string $quotaPreset