|
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(): |