throw new \Exception($l->t('Username contains whitespace at the beginning or at the end'));
}
// No empty password
- if (trim($password) == '') {
- throw new \Exception($l->t('A valid password must be provided'));
- }
+// if (trim($password) == '') {
+// throw new \Exception($l->t('A valid password must be provided'));
+// }
// Check if user already exists
if ($this->userExists($uid)) {
use OCP\IAvatarManager;
use OCP\Security\ICrypto;
use OCP\Security\ISecureRandom;
-use OC\AppFramework\Utility\TimeFactory;
+use OCP\AppFramework\Utility\ITimeFactory;
/**
* @package OC\Settings\Controller
private $accountManager;
/** @var ISecureRandom */
private $secureRandom;
- /** @var TimeFactory */
+ /** @var ITimeFactory */
private $timeFactory;
/** @var ICrypto */
private $crypto;
* @param IAvatarManager $avatarManager
* @param AccountManager $accountManager
* @param ISecureRandom $secureRandom
- * @param TimeFactory $timeFactory
+ * @param ITimeFactory $timeFactory
* @param ICrypto $crypto
*/
public function __construct($appName,
IAvatarManager $avatarManager,
AccountManager $accountManager,
ISecureRandom $secureRandom,
- TimeFactory $timeFactory,
+ ITimeFactory $timeFactory,
ICrypto $crypto) {
parent::__construct($appName, $request);
$this->userManager = $userManager;
if($email !== '') {
$user->setEMailAddress($email);
- $token = $this->secureRandom->generate(
- 21,
- ISecureRandom::CHAR_DIGITS.
- ISecureRandom::CHAR_LOWER.
- ISecureRandom::CHAR_UPPER
- );
- $tokenValue = $this->timeFactory->getTime() .':'. $token;
- $mailAddress = !is_null($user->getEMailAddress()) ? $user->getEMailAddress() : '';
- $encryptedValue = $this->crypto->encrypt($tokenValue, $mailAddress.$this->config->getSystemValue('secret'));
- $this->config->setUserValue($username, 'core', 'lostpassword', $encryptedValue);
-
- $link = $this->urlGenerator->linkToRouteAbsolute('core.lost.resetform', array('userId' => $username, 'token' => $token));
-
+ if ($this->config->getAppValue('core', 'umgmt_send_passwordlink', 'false') === 'true') {
+ $token = $this->secureRandom->generate(
+ 21,
+ ISecureRandom::CHAR_DIGITS .
+ ISecureRandom::CHAR_LOWER .
+ ISecureRandom::CHAR_UPPER
+ );
+ $tokenValue = $this->timeFactory->getTime() . ':' . $token;
+ $mailAddress = !is_null($user->getEMailAddress()) ? $user->getEMailAddress() : '';
+ $encryptedValue = $this->crypto->encrypt($tokenValue, $mailAddress . $this->config->getSystemValue('secret'));
+ $this->config->setUserValue($username, 'core', 'lostpassword', $encryptedValue);
+
+ $link = $this->urlGenerator->linkToRouteAbsolute('core.lost.resetform', array('userId' => $username, 'token' => $token));
+ } else {
+ $link = $this->urlGenerator->getAbsoluteURL('/');
+ }
// data for the mail template
$mailData = array(
}));
return false;
}
- if ($.trim(password) === '') {
+ if ($.trim(password) === '' && !$('#CheckboxMailPasswordOnUserCreate').is(':checked')) {
OC.Notification.showTemporary(t('settings', 'Error creating user: {message}', {
message: t('settings', 'A valid password must be provided')
}));
if ($('#CheckboxMailOnUserCreate').is(':checked')) {
$("#newemail").show();
+ $("#MailPasswordOnUserCreateSetting").show();
}
+
+ if ($('#CheckboxMailPasswordOnUserCreate').is(':checked')) {
+ $("#newuserpassword").hide();
+ } else {
+ $("#newuserpassword").show();
+ }
+
// Option to display/hide the "E-Mail" input field
$('#CheckboxMailOnUserCreate').click(function() {
if ($('#CheckboxMailOnUserCreate').is(':checked')) {
$("#newemail").show();
+ $("#MailPasswordOnUserCreateSetting").show();
OCP.AppConfig.setValue('core', 'umgmt_send_email', 'true');
} else {
$("#newemail").hide();
+ $("#MailPasswordOnUserCreateSetting").hide();
OCP.AppConfig.setValue('core', 'umgmt_send_email', 'false');
+ OCP.AppConfig.setValue('core', 'umgmt_send_passwordlink', 'false');
+ $('#CheckboxMailPasswordOnUserCreate').removeAttr('checked');
+ }
+ });
+
+ $('#CheckboxMailPasswordOnUserCreate').click(function() {
+ if ($('#CheckboxMailPasswordOnUserCreate').is(':checked')) {
+ OCP.AppConfig.setValue('core', 'umgmt_send_passwordlink', 'true');
+ $("#newuserpassword").hide();
+ } else {
+ OCP.AppConfig.setValue('core', 'umgmt_send_passwordlink', 'false');
+ $("#newuserpassword").show();
}
});
<?php p($l->t('Send email to new user')) ?>
</label>
</p>
+ <p style="padding-left: 20px" id="MailPasswordOnUserCreateSetting">
+ <input type="checkbox" name="MailPasswordOnUserCreate" value="MailPasswordOnUserCreate" id="CheckboxMailPasswordOnUserCreate"
+ class="checkbox" <?php if ($_['send_passwordlink'] === 'true') print_unescaped('checked="checked"'); ?> />
+ <label for="CheckboxMailPasswordOnUserCreate">
+ <?php p($l->t('Send password link')) ?>
+ </label>
+ </p>
<p>
<input type="checkbox" name="EmailAddress" value="EmailAddress" id="CheckboxEmailAddress"
class="checkbox" <?php if ($_['show_email'] === 'true') print_unescaped('checked="checked"'); ?> />
$tmpl->assign('show_email', $config->getAppValue('core', 'umgmt_show_email', 'false'));
$tmpl->assign('show_backend', $config->getAppValue('core', 'umgmt_show_backend', 'false'));
$tmpl->assign('send_email', $config->getAppValue('core', 'umgmt_send_email', 'false'));
+$tmpl->assign('send_passwordlink', $config->getAppValue('core', 'umgmt_send_passwordlink', 'false'));
$tmpl->printPage();