View | Details | Raw Unified | Return to bug 51607
Collapse All | Expand All

(-)management/univention-self-service/umc/python/passwordreset/__init__.py (-6 / +10 lines)
Lines 458-475 class Instance(Base): Link Here
458
			}
458
			}
459
		return res
459
		return res
460
460
461
	@forward_to_master
462
	@sanitize(
461
	@sanitize(
463
		username=StringSanitizer(required=True, minimum=1),
462
		username=StringSanitizer(required=False, minimum=1),
464
		password=StringSanitizer(required=True, minimum=1))
463
		password=StringSanitizer(required=False, minimum=1))
465
	@simple_response
464
	@simple_response
466
	def set_user_attributes(self, username, password, attributes):
465
	def set_user_attributes(self, username=None, password=None, attributes=None):
467
		dn, username = self.auth(username, password)
466
		username = username or self.username
467
		if password:
468
			dn, username = self.auth(username, password)
469
			lo, po = get_user_connection(binddn=dn, bindpw=password)
470
		else:
471
			lo = self.get_user_ldap_connection()
472
			po = univention.admin.uldap.position(lo.base)
468
		if self.is_blacklisted(username, 'profiledata'):
473
		if self.is_blacklisted(username, 'profiledata'):
469
			raise ServiceForbidden()
474
			raise ServiceForbidden()
470
475
471
		user_attributes = [attr.strip() for attr in ucr.get('self-service/udm_attributes', '').split(',')]
476
		user_attributes = [attr.strip() for attr in ucr.get('self-service/udm_attributes', '').split(',')]
472
		lo, po = get_user_connection(binddn=dn, bindpw=password)
473
		user = self.usersmod.object(None, lo, po, dn)
477
		user = self.usersmod.object(None, lo, po, dn)
474
		user.open()
478
		user.open()
475
		for propname, value in attributes.items():
479
		for propname, value in attributes.items():

Return to bug 51607