users: cannot edit groups with external ldap group sync

This commit is contained in:
Girish Ramakrishnan
2024-01-20 00:11:10 +01:00
parent 9ef29343b3
commit a1fd5bb996
2 changed files with 13 additions and 4 deletions
+8 -3
View File
@@ -155,8 +155,13 @@
<div class="form-group">
<label class="control-label">{{ 'users.user.groups' | tr }}</label>
<div class="control-label">
<div ng-show="groups.length === 0">{{ 'users.user.noGroups' | tr }}</div>
<multiselect ng-show="groups.length !== 0" ng-model="userEdit.selectedGroups" options="group.name for group in groups" data-compare-by="id" data-multiple="true" filter-after-rows="5" scroll-after-rows="10"></multiselect>
<div ng-switch on="groups.length">
<div ng-switch-when="0">{{ 'users.user.noGroups' | tr }}</div>
<div ng-switch-default>
<multiselect ng-show="!userEdit.source || !config.ldapGroupsSynced" ng-model="userEdit.selectedGroups" options="group.name for group in groups" data-compare-by="id" data-multiple="true" filter-after-rows="5" scroll-after-rows="10"></multiselect>
<div ng-show="userEdit.source && config.ldapGroupsSynced"><span ng-repeat="group in groups">{{ group.name }}</span></div>
</div>
</div>
</div>
</div>
<div class="form-group" ng-hide="isMe(userEdit.userInfo)">
@@ -247,7 +252,7 @@
<multiselect ng-model="groupEdit.selectedApps" options="(app.label || app.fqdn) for app in groupEdit.apps" data-compare-by="fqdn" data-multiple="true" filter-after-rows="5" scroll-after-rows="10"></multiselect>
</div>
</div>
<input class="hide" type="submit" ng-disabled="groupEdit_form.$invalid || userEdit.busy"/>
<input class="hide" type="submit" ng-disabled="groupEdit_form.$invalid || groupEdit.busy"/>
</form>
</div>
<div class="modal-footer">
+5 -1
View File
@@ -21,8 +21,9 @@ const apps = require('./apps.js'),
branding = require('./branding.js'),
constants = require('./constants.js'),
debug = require('debug')('box:dashboard'),
eventlog = require('./eventlog.js'),
dns = require('./dns.js'),
externalLdap = require('./externalldap.js'),
eventlog = require('./eventlog.js'),
Location = require('./location.js'),
mailServer = require('./mailserver.js'),
platform = require('./platform.js'),
@@ -56,6 +57,8 @@ async function clearLocation() {
async function getConfig() {
const ubuntuVersion = await system.getUbuntuVersion();
const profileConfig = await users.getProfileConfig();
const externalLdapConfig = await externalLdap.getConfig();
const { fqdn:adminFqdn, domain:adminDomain } = await getLocation();
// be picky about what we send out here since this is sent for 'normal' users as well
@@ -74,6 +77,7 @@ async function getConfig() {
features: appstore.getFeatures(),
profileLocked: profileConfig.lockUserProfiles,
mandatory2FA: profileConfig.mandatory2FA,
ldapGroupsSynced: externalLdapConfig.syncGroups
};
}