diff --git a/ucs-4.0-1/management/univention-directory-manager-modules/modules/univention/admin/handlers/users/user.py b/ucs-4.0-1/management/univention-directory-manager-modules/modules/univention/admin/handlers/users/user.py index 70780b8..5888f65 100644 --- a/ucs-4.0-1/management/univention-directory-manager-modules/modules/univention/admin/handlers/users/user.py +++ b/ucs-4.0-1/management/univention-directory-manager-modules/modules/univention/admin/handlers/users/user.py @@ -1510,8 +1510,14 @@ def open(self, loadGroups=1): host, path = unc.split(':',1) sharepath=path while len(sharepath) > 1: - escaped_sharepath_filter = univention.admin.filter.escapeForLdapFilter('path=%s' % sharepath) - res = univention.admin.modules.lookup(univention.admin.modules.get('shares/share'), None, self.lo, filter='(&(host=%s)(%s))' % (host, escaped_sharepath_filter), scope='domain') + filter_ = univention.admin.filter.conjunction('&', [ + univention.admin.filter.expression('univentionShareHost', host), + univention.admin.filter.conjunction('|', [ + univention.admin.filter.expression('univentionSharePath', sharepath.rstrip('/')), + univention.admin.filter.expression('univentionSharePath', '%s/' % (sharepath.rstrip('/'))), + ]) + ]) + res = univention.admin.modules.lookup(univention.admin.modules.get('shares/share'), None, self.lo, filter=filter_, scope='domain') if len(res) == 1: self['homeShare']=res[0].dn relpath=path.replace(sharepath, '')