Benutzer-ID in Listen darstellen

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
dominic
Beiträge: 6
Registriert: 9. Mai 2016, 10:28

Benutzer-ID in Listen darstellen

Beitrag von dominic »

Hallo!

Unser Finanz-Mensch möchte mit eindeutigen User-Ids arbeiten. Das Admidio-System weist ja allen Mitgliedern und Nutzern eine eindeutige ID zu. Ich möchte diese nun in den Listen anzeigen und erstelle dazu ein neues Profilfeld. Und an diesem Punkt stehe ich an. Mit ID meine ich nicht die blosse Nummerierung der Mitglieder, sondern die interne DB-ID des Mitgliedes oder des Nutzers, z.B. 18 oder 31 etc.

Kann mir jemand einen Tipp geben, wie ich das am besten bewerkstellige?

Besten Dank und freundliche Grüße!

Dominic
oliver
Beiträge: 238
Registriert: 25. Nov 2014, 19:47

Re: Benutzer-ID in Listen darstellen

Beitrag von oliver »

Hallo Dominic,

da musst Du in den Code gehen und Veränderungen vornehmen:

1) im Script adm_program/modules/lists/mylist.php findest Du im ersten Drittel (bei mir Zeile 253) die Bemerkung "Add loginname and photo at the end of category master data" (hiernach suchen!). Dort werden die Felder "Username" (SYS_USERNAME) und "Foto" (PHO_PHOTO) angehängt. Und darunter musst Du dann diesen Block zufügen:

Code: Alles auswählen

        user_fields['. ($posEndOfMasterData+1). '] = new Object();
        user_fields['. ($posEndOfMasterData+1). ']["cat_id"]   = user_fields[1]["cat_id"];;
        user_fields['. ($posEndOfMasterData+1). ']["cat_name"] = user_fields[1]["cat_name"];
        user_fields['. ($posEndOfMasterData+1). ']["usf_id"]   = "usr_id";
        user_fields['. ($posEndOfMasterData+1). ']["usf_name"] = "'.$gL10n->get('SYS_USER').'";
        user_fields['. ($posEndOfMasterData+1). ']["usf_name_intern"] = "'.$gL10n->get('SYS_USER').'";
2) Im Script list_show.php im selben Verzeichnis findest Du (ziemlich oben, bei mir Zeile 109) die Bemerkung "Array um den Namen der Tabellen sinnvolle Texte zuzuweisen". Da muss das Array erweitert werden um "usr_id". Aus

Code: Alles auswählen

$arr_col_name = array('usr_login_name' => $gL10n->get('SYS_USERNAME'),
                      'usr_photo'      => $gL10n->get('PHO_PHOTO'),
                      'mem_begin'      => $gL10n->get('SYS_START'),
                      'mem_end'        => $gL10n->get('SYS_END'),
                      'mem_leader'     => $gL10n->get('SYS_LEADER')
                      );
wird

Code: Alles auswählen

$arr_col_name = array('usr_login_name' => $gL10n->get('SYS_USERNAME'),
                      'usr_id'      => $gL10n->get('SYS_USER'),
                      'usr_photo'      => $gL10n->get('PHO_PHOTO'),
                      'mem_begin'      => $gL10n->get('SYS_START'),
                      'mem_end'        => $gL10n->get('SYS_END'),
                      'mem_leader'     => $gL10n->get('SYS_LEADER')
                      );
@Fasse: Könnte man das allgemein aufnehmen? halte ich für sinnvoll.

Besten Gruß
Oliver
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Benutzer-ID in Listen darstellen

Beitrag von fasse »

Hallo Oliver,

das kann man aufnehmen. Kannst du dafür über GitHub einen Patch (Pull-Request) erstellen?

Viele Grüße
Fasse
oliver
Beiträge: 238
Registriert: 25. Nov 2014, 19:47

Re: Benutzer-ID in Listen darstellen

Beitrag von oliver »

Hallo Fasse,

(Kleinlaut:) habe noch keine Ahnung, was das ist... Kein Scherz! Werde mich mal auf die Suche begeben...
oliver
Beiträge: 238
Registriert: 25. Nov 2014, 19:47

Re: Benutzer-ID in Listen darstellen

Beitrag von oliver »

Repository "Admidio/admidio" und Branch "master"?
dominic
Beiträge: 6
Registriert: 9. Mai 2016, 10:28

Re: Benutzer-ID in Listen darstellen

Beitrag von dominic »

Hallo nochmal!

Danke Oliver! Ich werde das gleich mal versuchen.

Gebe Dir eine Rückmeldung, wenn es geklappt hat.

LG, Dominic
dominic
Beiträge: 6
Registriert: 9. Mai 2016, 10:28

Re: Benutzer-ID in Listen darstellen

Beitrag von dominic »

Danke, Oliver. Es hat einwandfrei funktioniert. Ich habe jetzt eine Listen-Konfiguration mit SYS_USER.

Perfekt! You made my day!

LG, Dominic
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Benutzer-ID in Listen darstellen

Beitrag von XimeX »

@Oliver: ja. Dann wird es das Feature in 3.2 geben
dominic
Beiträge: 6
Registriert: 9. Mai 2016, 10:28

Re: Benutzer-ID in Listen darstellen

Beitrag von dominic »

Kleiner Bug-Report:

Die Registrierung erlaubt nach der Modifizierung nun, dass der User sich selbst eine ID zuweist. Das könnte unter Umständen fatal sein... wenn z.B andere User-IDs überschrieben werden.

Wenn die User-IDs vom System jedoch einfach inkrementiell vergeben werden, wird sich dies nicht auswirken. Ich hoffe einfach mal darauf und beobachte das weiter.

LG, Dominic
oliver
Beiträge: 238
Registriert: 25. Nov 2014, 19:47

Re: Benutzer-ID in Listen darstellen

Beitrag von oliver »

Hallo Dominic,

Das Feld ist in der Tat ein Auto-Increment Feld. Aber dennoch wäre das, was Du schilderst, nicht besonders sinnvoll und schön. Ich kann es bei mir aber gar nicht nachvollziehen. Weder in der schnellen noch in der erweiterten Registrierung. Wo kann man das ändern? Direkt im Registrierungs-Formular?

Mich macht noch ein wenig stutzig, warum bei Dir 'SYS_USER' steht. Normalerweise müsste die Spalte mit 'Benutzer' betitelt werden.

Besten Gruß
Oliver
oliver
Beiträge: 238
Registriert: 25. Nov 2014, 19:47

Re: Benutzer-ID in Listen darstellen

Beitrag von oliver »

@fasse und @XimeX:
Das mit dem Pull-Request wird noch etwas dauern, ich werde nicht so schnell warm mit Git. Habe bisher ein anderes CVS genutzt und muss mir jetzt (ungern) erstmal die englischen Guides reinziehen...

Besten Gruß
Oliver
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Benutzer-ID in Listen darstellen

Beitrag von XimeX »

@oliver
Hier auf deutsch wenn das hilft: https://git-scm.com/book/de/v1
dominic
Beiträge: 6
Registriert: 9. Mai 2016, 10:28

Re: Benutzer-ID in Listen darstellen

Beitrag von dominic »

@Oliver

Nein, bei mir heisst es natürlich auch Benutzer. Ich hab ein Profilfeld "SYS_USER" erstellt. Das wurde in -> Benutzer umgewandelt. Sorry, dass ich mich missverständlich ausgedrückt habe.

Das andere Phänomen taucht nun in der erweiterten Registrierung auf. Dazu ein Bild.

Bild

LG, Dominic
oliver
Beiträge: 238
Registriert: 25. Nov 2014, 19:47

Re: Benutzer-ID in Listen darstellen

Beitrag von oliver »

Hallo Dominic,

da liegt der Hase...
Bitte *kein* zusätzliches Profilfeld anlegen, denn dieses Feld gibt es schon! Nur den Code modifizieren, bitte.

Besten Gruß
Oliver
dominic
Beiträge: 6
Registriert: 9. Mai 2016, 10:28

Re: Benutzer-ID in Listen darstellen

Beitrag von dominic »

Hallo Oliver

Habe das Profilfeld gelöscht. Jetzt passt alles! Sorry für die Aufregung um nichts.

Ich danke Dir nochmals ganz herzlich!

LG, Dominic
Antworten