diff --git a/ucs-4.0-2/management/univention-management-console-module-udm/umc/js/udm.js b/ucs-4.0-2/management/univention-management-console-module-udm/umc/js/udm.js index fa0c2d7..9bfd98e 100644 --- a/ucs-4.0-2/management/univention-management-console-module-udm/umc/js/udm.js +++ b/ucs-4.0-2/management/univention-management-console-module-udm/umc/js/udm.js @@ -517,6 +517,7 @@ define([ iconClass: 'umcIconEdit', isStandardAction: true, isMultiAction: true, + canExecute: lang.hitch(this, '_canEdit'), callback: lang.hitch(this, function(ids, items) { if (items.length == 1 && items[0].objectType) { this.createDetailPage(items[0].objectType, ids[0]); @@ -541,6 +542,7 @@ define([ label: _('Edit in new tab'), description: _( 'Open a new tab in order to edit the UDM-object' ), isMultiAction: false, + canExecute: lang.hitch(this, '_canEdit'), callback: lang.hitch(this, function(ids, items) { var moduleProps = { openObject: { @@ -961,18 +963,22 @@ define([ domClass.add(this._grid._grid.domNode, 'umcDynamicHeight-55'); }, + _canEdit: function(item) { + return item.$operations$.indexOf('edit') !== -1; + }, + _canMove: function(item) { if (tools.isTrue(this._ucr['ad/member'])) { return -1 === array.indexOf(item.$flags$, 'synced'); } - return true; + return item.$operations$.indexOf('move') !== -1; }, _canDelete: function(item) { if (tools.isTrue(this._ucr['ad/member'])) { return -1 === array.indexOf(item.$flags$, 'synced'); } - return true; + return item.$operations$.indexOf('remove') !== -1; }, _reloadSuperordinates: function() { diff --git a/ucs-4.0-2/management/univention-management-console-module-udm/umc/python/udm/__init__.py b/ucs-4.0-2/management/univention-management-console-module-udm/umc/python/udm/__init__.py index 03b1681..18944da 100644 --- a/ucs-4.0-2/management/univention-management-console-module-udm/umc/python/udm/__init__.py +++ b/ucs-4.0-2/management/univention-management-console-module-udm/umc/python/udm/__init__.py @@ -569,6 +569,7 @@ def _thread(request): '$dn$': obj.dn, '$childs$': module.childs, '$flags$': obj.oldattr.get('univentionObjectFlag', []), + '$operations$': module.operations, 'objectType': module.name, 'labelObjectType': module.subtitle, 'name': module.obj_description(obj) or udm_objects.description(obj),