--- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/__init__.py +++ a/management/univention-directory-manager-modules/modules/univention/admin/handlers/__init__.py @@ -296,6 +296,9 @@ def items(self): def create(self): '''create object''' + if not univention.admin.modules.supports(self.module, 'add'): + raise univention.admin.uexceptions.invalidOperation('add') + if self.exists(): raise univention.admin.uexceptions.objectExists(self.dn) @@ -307,6 +310,9 @@ def create(self): def modify(self, modify_childs=1,ignore_license=0): '''modify object''' + if not univention.admin.modules.supports(self.module, 'edit'): + raise univention.admin.uexceptions.invalidOperation('edit') + if not self.exists(): raise univention.admin.uexceptions.noObject(self.dn) @@ -471,6 +477,9 @@ def move_subelements(self, olddn, newdn, subelements, ignore_license = False): def remove(self, remove_childs=0): '''remove object''' + if not univention.admin.modules.supports(self.module, 'remove'): + raise univention.admin.uexceptions.invalidOperation('remove') + if not self.dn or not self.lo.get(self.dn): raise univention.admin.uexceptions.noObject(self.dn)