Add optional password field on usercreation

This commit is contained in:
Johannes Zellner
2021-09-16 08:40:25 +02:00
parent 455fbf36e0
commit a6301d2b6c
3 changed files with 15 additions and 12 deletions
+9 -5
View File
@@ -72,6 +72,15 @@
<input type="text" class="form-control" ng-model="useradd.username" name="username" id="inputUserAddUsername" placeholder="{{ 'users.user.usernamePlaceholder' | tr }}">
</div>
<div class="form-group" ng-show="useradd.username" ng-class="{ 'has-error': (useradd_form.password.$dirty && useradd_form.password.$invalid) || (!useradd_form.password.$dirty && useradd.error.password) }">
<label class="control-label">{{ 'users.user.password' | tr }}</label>
<div class="control-label" ng-show="(!useradd_form.password.$dirty && useradd.error.password) || (useradd_form.password.$dirty && useradd_form.password.$invalid) || (!useradd_form.password.$dirty && useradd.error.password)">
<small ng-show="useradd_form.password.$error.password">{{ 'users.user.errorInvalidPassword' | tr }}</small>
<small ng-show="!useradd_form.password.$dirty && useradd.error.password">{{ useradd.error.password }}</small>
</div>
<input type="password" class="form-control" ng-model="useradd.password" name="password" id="inputUserAddPassword" placeholder="{{ 'users.user.passwordPlaceholder' | tr }}">
</div>
<div class="form-group" ng-show="userInfo.isAtLeastAdmin">
<label class="control-label">{{ 'users.user.role' | tr }} <sup><a ng-href="https://docs.cloudron.io/user-management/#roles" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup></label>
<div class="control-label">
@@ -87,11 +96,6 @@
</div>
</div>
<div class="checkbox">
<label>
<input type="checkbox" ng-model="useradd.sendInvite" id="inputUserAddSendInvite"> {{ 'users.addUserDialog.sendInviteCheckbox' | tr }}
</label>
</div>
<input class="ng-hide" type="submit" ng-disabled="useradd_form.$invalid || useradd.busy"/>
</form>
</div>
+5 -7
View File
@@ -127,8 +127,8 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
error: {},
email: '',
username: '',
password: '',
displayName: '',
sendInvite: true,
selectedGroups: [],
role: 'user',
@@ -141,6 +141,7 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
$scope.useradd.error = {};
$scope.useradd.email = '';
$scope.useradd.username = '';
$scope.useradd.password = '';
$scope.useradd.displayName = '';
$scope.useradd.selectedGroups = [];
$scope.useradd.role = 'user';
@@ -157,10 +158,12 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
$scope.useradd.alreadyTaken = false;
$scope.useradd.error.email = null;
$scope.useradd.error.username = null;
$scope.useradd.error.password = null;
$scope.useradd.error.displayName = null;
var user = {
username: $scope.useradd.username || null,
password: $scope.useradd.password || null,
email: $scope.useradd.email,
displayName: $scope.useradd.displayName,
role: $scope.useradd.role
@@ -204,13 +207,8 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
}
var groupIds = $scope.useradd.selectedGroups.map(function (g) { return g.id; });
var NOOP = function (next) { next(); };
async.series([
Client.setGroups.bind(Client, userId, groupIds),
$scope.useradd.sendInvite ? Client.createInvite.bind(Client, userId) : NOOP,
$scope.useradd.sendInvite ? Client.sendInvite.bind(Client, userId) : NOOP
], function (error) {
Client.setGroups(userId, groupIds, function (error) {
$scope.useradd.busy = false;
if (error) return console.error(error);