Bug 56616 - schoolwizards/schools/remove (schoolwizards/schools): univention.admin.uexceptions.ldapError: LDAP-Fehler: Operation not allowed on non-leaf: subordinate objects must be deleted first.
schoolwizards/schools/remove (schoolwizards/schools): univention.admin.uexcep...
Status: NEW
Product: UCS@school
Classification: Unclassified
Component: UMC - Wizards
UCS@school 5.0
Other Linux
: P5 normal (vote)
: ---
Assigned To: UCS@school maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2023-09-18 12:31 CEST by Mika Westphal
Modified: 2023-09-18 15:34 CEST (History)
1 user (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2023082321000119
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mika Westphal univentionstaff 2023-09-18 12:31:55 CEST
5.0-4 errata783 - UCS@school 5.0 v4

Interner Server-Fehler in "schoolwizards/schools/remove (schoolwizards/schools)".
Request: schoolwizards/schools/remove (schoolwizards/schools)

Traceback (most recent call last):
  File "%PY3%/univention/admin/uldap.py", line 864, in delete
    return self.lo.delete(dn)
  File "%PY3%/univention/uldap.py", line 212, in _decorated
    return func(self, *args, **kwargs)
  File "%PY3%/univention/uldap.py", line 899, in delete
    self.lo.delete_s(dn)
  File "%PY3%/ldap/ldapobject.py", line 558, in delete_s
    return self.delete_ext_s(dn,None,None)
  File "%PY3%/ldap/ldapobject.py", line 1247, in delete_ext_s
    return self._apply_method_s(SimpleLDAPObject.delete_ext_s,*args,**kwargs)
  File "%PY3%/ldap/ldapobject.py", line 1197, in _apply_method_s
    return func(self,*args,**kwargs)
  File "%PY3%/ldap/ldapobject.py", line 551, in delete_ext_s
    resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
  File "%PY3%/ldap/ldapobject.py", line 749, in result3
    resp_ctrl_classes=resp_ctrl_classes
  File "%PY3%/ldap/ldapobject.py", line 756, in result4
    ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
  File "%PY3%/ldap/ldapobject.py", line 329, in _ldap_call
    reraise(exc_type, exc_value, exc_traceback)
  File "%PY3%/ldap/compat.py", line 44, in reraise
    raise exc_value
  File "%PY3%/ldap/ldapobject.py", line 313, in _ldap_call
    result = func(*args,**kwargs)
ldap.NOT_ALLOWED_ON_NONLEAF: {'desc': 'Operation not allowed on non-leaf', 'info': 'subordinate objects must be deleted first'}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "%PY3%/univention/management/console/base.py", line 387, in __error_handling
    six.reraise(etype, exc, etraceback)
  File "%PY3%/six.py", line 693, in reraise
    raise value
  File "%PY3%/univention/management/console/base.py", line 285, in execute
    function.__func__(self, request, *args, **kwargs)
  File "%PY3%/univention/management/console/modules/decorators.py", line 189, in _response
    return function(self, request)
  File "%PY3%/univention/management/console/modules/schoolwizards/__init__.py", line 241, in _decorated
    ret = func(self, request, *a, **kw)
  File "%PY3%/ucsschool/lib/school_umc_ldap_connection.py", line 156, in wrapper_func
    return func(*args, **kwargs)
  File "%PY3%/univention/management/console/modules/schoolwizards/__init__.py", line 436, in _delete_obj
    if obj.remove(ldap_user_write):
  File "%PY3%/ucsschool/lib/models/base.py", line 762, in remove
    success = self.remove_without_hooks(lo)
  File "%PY3%/ucsschool/lib/models/school.py", line 626, in remove_without_hooks
    success = super(School, self).remove_without_hooks(lo)
  File "%PY3%/ucsschool/lib/models/base.py", line 772, in remove_without_hooks
    udm_obj.remove(remove_childs=True)
  File "%PY3%/univention/admin/handlers/__init__.py", line 884, in remove
    return self._remove(remove_childs)
  File "%PY3%/univention/admin/handlers/__init__.py", line 1578, in _remove
    self.lo.delete(self.dn)
  File "%PY3%/univention/admin/uldap.py", line 875, in delete
    raise univention.admin.uexceptions.ldapError(_err2str(msg), original_exception=msg)
univention.admin.uexceptions.ldapError: LDAP-Fehler: Operation not allowed on non-leaf: subordinate objects must be deleted first.