Hide certain user profile actions for external ldap users

This commit is contained in:
Johannes Zellner
2019-08-30 13:32:20 +02:00
parent 19c8a01969
commit ea5e0b28da
2 changed files with 82 additions and 66 deletions

View File

@@ -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;