Univention Bugzilla – Bug 20028
Reihenfolge von Vorname/Nachname in cn/gecos konfigurierbar machen
Last modified: 2011-08-08 10:45:57 CEST
Manche Kunden hätten gerne die Möglichkeit die Reihenfolge der Werte in cn (ggf gecos) anzupassen, also nicht "Vorname Nachname", sondern "Nachname Vorname". Hierfür sollte es ein Konfigurationsoption geben.
Die Reihenfolge des "cn" bzw. "displayName" kann nun über die UCR Variablen directory/manager/usercn/attributes definiert werden. Dort kann ein kommaseparierte Liste von UDM Benutzerattributen hinterlegt werden, deren Werte der UDM dann als "cn" und "displayName" an das Benutzerobjekt schreibt. Standardmäßig wird "firstname,lastname" verwendet (wie vorher), setzt man die Variable auf "lastname,firstname", ist die Reihenfolge entsprechend umgekehrt: -> ucr set directory/manager/usercn/attributes="lastname,firstname" -> udm users/user create --set password=univention \ --set lastname=lastname \ --set firstname=firstname \ --set username=univention -> ldapsearch -x uid=univention cn displayName -LLL dn: uid=univention,dc=univention,dc=qa cn: lastname firstname displayName: lastname firstname gecos wurde hier nicht weiter behandelt, da dieser direkt über den UDM gesetzt werden kann (dies ist bei cn und displayName nicht möglich). Gebaut in 2.4-2, Changelog Eintrag angelegt.
Noch eine Änderung. directory/manager/usercn/attributes ist nun keine Liste von Attributen mehr, sondern eine Zeichenkette mit UDM Variablen, ähnlich denen der UDM Templates. Standard ist wie bisher "<firstname> <lastname>". Möglich wäre auch "<lastname>, <firstname>" wobei das Komma hinter dem Nachnamen dann auch in cn gesetzt wird, oder "<lastname>[0:1].<firstname>", wobei in cn dann "P.Mueller" stehen würde.
# ucr set directory/manager/usercn/attributes="<lastname> Test <firstname>" # udm users/user create --position "cn=users,$ldap_base" \ --set username=mycn1 --set lastname="von und zu Copyright" \ --set firstname="Tim Lutz" --set description="Der User" \ --set password=univention # ldapsearch -xLLL uid=mycn1 gecos cn displayName dn: uid=mycn1,cn=users,dc=univention,dc=qa cn: von und zu Copyright Test Tim Lutz displayName: von und zu Copyright Test Tim Lutz gecos: Tim Lutz von und zu Copyright # ucr set directory/manager/usercn/attributes=\ "<description:upper> <firstname>[0:2]. <lastname:lower>" Setting directory/manager/usercn/attributes # pkill -f cli-server # udm users/user create --position "cn=users,$ldap_base" \ --set username=mycn4 --set lastname="von und zu Copyright" \ --set firstname="Tim Lutz" --set description="Der User" \ --set password=univention Object created: uid=mycn4,cn=users,dc=univention,dc=qa # ldapsearch -xLLL uid=mycn4 gecos cn displayName dn: uid=mycn4,cn=users,dc=univention,dc=qa cn: DER USER Ti. von und zu copyright displayName: DER USER Ti. von und zu copyright gecos: Tim Lutz von und zu Copyright Changelogeintrag ist vorhanden. Verified.
UCS 2.4-2 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte der Bug dupliziert werden: "Clone This Bug".
*** Bug 21157 has been marked as a duplicate of this bug. ***
Created attachment 3432 [details] Script, um displayname bei allen bestehenden Benutzern neu zu setzen Das Script setzt directory/manager/usercn/attributes auf das häufig verwendete Format "<lastname>, <firstname>". Anschließend wird eine Änderung des Nachnamens ausgeführt, die den Hook zum Neusetzen von displayName und cn triggert. Der Nachname wird bei allen Benutzern auf den Wert "X<lastname>" und anschließend wieder auf "<lastname>" gesetzt.