Autor Thema: INFO: Bug in Feldvalidierung in Gruppenname im 10er Template  (Gelesen 2406 mal)

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Manchmal frage ich mich, ob die "großen" an die Systemtemplates nur Azubis ran lassen...

Das 10er pubnames- template lässt das Anlegen / Speichern von Gruppen NICHT zu, wenn der Vorname oder Nachname irgendeines Benutzers dem Gruppennamen entspricht.

Heisst Dein Mitarbeiter also "Hans Hamburg" und Du willst eine Gruppe mit dem namen "Hamburg" anlegen, dann kommt die Meldung, dass Gruppennamen nicht Benutzernamen entsprechen dürfen.

Im 9er Template war das in Ordnung, ist aber fehlgeschlagen, wenn ListName ein MultiValue war, im 11er Template haben sie es wieder korrigiert.

Nur falls mal wer drüber stolpert, dass man plötzlich Gruppen nach einem Template- Update auf 10 nicht mehr speichern kann mit der Meldung "A User name already exists by this name.  Group names are not allowed to match exactly a User name.  Please choose a different Group name."
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: INFO: Bug in Feldvalidierung in Gruppenname im 10er Template
« Antwort #1 am: 07.04.20 - 12:46:13 »
ist in 11.0.1 auch so.

Allerdings funktioniert Hamburg und Hans Hamburg, nicht aber Hans Hamburg Hans Hamburg
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline oliK

  • Senior Mitglied
  • ****
  • Beiträge: 367
Re: INFO: Bug in Feldvalidierung in Gruppenname im 10er Template
« Antwort #2 am: 07.04.20 - 15:33:49 »
Mich stört eher, dass man es bis heute nicht hinbekommen hat, ein berechnetes Feld einzubauen, das die Mitgliederliste einer Gruppe sortiert im Stil "Nachname, Vorname" zusätzlich anzeigt.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: INFO: Bug in Feldvalidierung in Gruppenname im 10er Template
« Antwort #3 am: 07.04.20 - 17:09:59 »
Mich stört eher, dass man es bis heute nicht hinbekommen hat, ein berechnetes Feld einzubauen, das die Mitgliederliste einer Gruppe sortiert im Stil "Nachname, Vorname" zusätzlich anzeigt.
Das liegt vermutlich daran, dass man aus dem Usernamen nicht Vor- und Nachnamen ermitteln kann, ohne über den Usernamen erst das Personendokument zu suchen. Und andere Länder haben da vielleicht auch unterschiedliche Prioritäten, so wird das schwierig allgemeingültig. Bei uns würde eine Sortierung nach Nachnamen wohl eher Verwunderung auslösen, denn man kennt sich eigentlich nur anhand des Vornamen, Nachname ist weniger wichtig.

Hast Du nicht neulich erst geschrieben, dass man die Maildatenbank einfach anpassen kann? Kann man mit dem Adressbuch ja auch. Baue Dir doch eine Aktion, die das Feld sortiert.

Übrigens: Zusätzliches berechnetes Feld bedeutet Halbierung des möglichen Feldinhaltes. Knallt das Dokument heute mit 32 kB in der Mitgliederliste, hättest Du dann zwei Felder zu 16 kB, die zum Aus führen. Es müsste dann Berechnet zur Anzeige sein, und es würde immer beim Öffnen rechnen, lange Liste = lange Laufzeit. Der Ruf nach einem INI-Eintrag, mit dem man das wieder abschalten kann, käme sicherlich schnell hinterher ...

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: INFO: Bug in Feldvalidierung in Gruppenname im 10er Template
« Antwort #4 am: 07.04.20 - 18:27:40 »
Wen es genauer interessiert:
Ich habe den relevanten Code mal rausgepflückt (leicht verkürzt):

9er Code:
Code
usrname:=@DbLookup("":"NoCache";server:db;"($Users)";ListName;3);
tmpusrname:=@If(@IsError(usrname);"";usrname);

@If( @LowerCase(tmpusrname) = @LowerCase(ListName); L_ERR_MSG3; "");

==> Ein Lookup mit allen Werten aus ListName, wenn nicht @IsError, dann Vergleich der Ergebnisses (Spalte 3 = FullName des Users), wenn identisch, dann Fehler.

10er Code:
Code
tmpusrname := @Transform(ListName; "_x"; @If(@DbLookup("":"NoCache";""; "($Users)"; _x; 3; [FailSilent]) = ""; @Nothing; _x));
@If(tmpusrname != ""; L_ERR_MSG3; "");

==> Pro Wert in ListName ein Lookup mit FAILSILENT- Parameter, aber der Return- Wert aus Spalte 3 wird gar nicht berücksichtigt, sondern direkt der Lookup- Wert in die Variable geschrieben... dieser Wert wird dann mit "" verglichen. Gibt es also IRGENDEINEN Match (mit einem Vornamen, Nachnamen), dann kommt der Fehler...  >:D

11er Code:
Code
tmpusrname := @Transform(@ThisValue; "_x"; @If(@LowerCase(@DbLookup("":"NoCache";""; "($Users)"; _x; 3; [FailSilent])) = @LowerCase(_x); _x; @Nothing));
sMsg := @If(tmpusrname != ""; L_ERR_MSG3; "");

==> Pro Wert in ListName ein Lookup mit Failsilent, das Ergebnis wird direkt mit dem Lookup- Wert verglichen, und nur wenn sie identisch sind, wird etwas zurückgeliefert. Dann kommt die Meldung...

Damit funktioniert der 11er Code so, wie der 9er gedacht war und eben auch für mehrere ListNames, was der 9er nicht konnte (wenn nicht alle ListNames gematcht haben).

Nur eine Nebenbemerkung: Im 9er Code kam die Definition der Variablen "server" und "db" erst in der Zeile NACH dem Lookup, und der Code hat nur zufälligerweise deshalb funktioniert, weil "" : "" im DBLookup identisch ist mit @Subset(@DbName;1) : @Subset(@DbName;-1).
« Letzte Änderung: 07.04.20 - 18:31:57 von Tode »
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz