- This option allows to use an external LDAP or ActiveDirectory service for user management. Users from the LDAP directory will be synced into the Cloudron user management.
+ This option allows to use an external LDAP or ActiveDirectory service for user management.
+
+ Users from the LDAP directory will be synced into the Cloudron user management.
Those users will be able to login to apps using the passwored stored in the LDAP service and thus won't be able to change their password inside Cloudron.
The same applies for their email address.
diff --git a/src/views/users.js b/src/views/users.js
index 59e0dfd86..197370367 100644
--- a/src/views/users.js
+++ b/src/views/users.js
@@ -161,12 +161,15 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
busy: false,
error: {},
userInfo: {},
+
+ // form fields
email: '',
fallbackEmail: '',
aliases: {},
displayName: '',
admin: false,
active: false,
+ source: '',
selectedGroups: [],
show: function (userInfo) {
@@ -178,6 +181,7 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
$scope.useredit.selectedGroups = userInfo.groupIds.map(function (gid) { return $scope.groupsById[gid]; });
$scope.useredit.admin = userInfo.admin;
$scope.useredit.active = userInfo.active;
+ $scope.useredit.source = userInfo.source;
$scope.useredit_form.$setPristine();
$scope.useredit_form.$setUntouched();
@@ -192,13 +196,17 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
var userId = $scope.useredit.userInfo.id;
var data = {
id: userId,
- email: $scope.useredit.email,
- displayName: $scope.useredit.displayName,
- fallbackEmail: $scope.useredit.fallbackEmail,
admin: $scope.useredit.admin,
active: $scope.useredit.active
};
+ // only change those if it is a local user
+ if (!$scope.useredit.source) {
+ data.email = $scope.useredit.email;
+ data.displayName = $scope.useredit.displayName;
+ data.fallbackEmail = $scope.useredit.fallbackEmail;
+ }
+
Client.updateUser(data, function (error) {
if (error) {
$scope.useredit.busy = false;