Bug 27058 - False Wert einer OkOrNot wird vom UMC Frontend nicht an das Backend geschickt
False Wert einer OkOrNot wird vom UMC Frontend nicht an das Backend geschickt
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC (Generic)
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 3.0-2
Assigned To: Sönke Schwardt-Krummrich
Felix Botner
: interim-1
Depends on:
Blocks: 27059
  Show dependency treegraph
 
Reported: 2012-05-09 14:01 CEST by Felix Botner
Modified: 2012-07-20 15:25 CEST (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Botner univentionstaff 2012-05-09 14:01:43 CEST
Wählt man eine CheckBox mit der OkOrNot Syntax ab, so wird dies nicht an das Backend geschickt.

Hat man beispielsweise ein ext. Attr. mit Syntax OkOrNot und default==OK dann kann man über die UMC kein Objekt anlegen, das dieses Attribut nicht gesetzt hat.
Comment 1 Andreas Büsching univentionstaff 2012-05-09 14:54:56 CEST
Das Problem konnte weiter eingegrenzt werden: Beim Anlegen eines UDM-Objektes wird  beim Zusammenbauen der zu setzenden Werte folgendes geprüft:


// get only non-empty values
umc.tools.forIn(vals, dojo.hitch(this, function(iname, ival) {
	if (!(dojo.isArray(ival) && !ival.length) && ival) {
		newVals[iname] = ival;
	}
}));

Damit werden boolsche Attribute mit dem Wert false nicht übernommen. Das ist in diesem Fall schlecht, da der Defaultwert true (bzw. OK) ist.
Comment 2 Alexander Kläser univentionstaff 2012-05-09 17:24:31 CEST
(In reply to comment #1)
> Das Problem konnte weiter eingegrenzt werden: Beim Anlegen eines UDM-Objektes
> wird  beim Zusammenbauen der zu setzenden Werte folgendes geprüft:
> 
> 
> // get only non-empty values
> umc.tools.forIn(vals, dojo.hitch(this, function(iname, ival) {
>     if (!(dojo.isArray(ival) && !ival.length) && ival) {
>         newVals[iname] = ival;
>     }
> }));
> 
> Damit werden boolsche Attribute mit dem Wert false nicht übernommen. Das ist in
> diesem Fall schlecht, da der Defaultwert true (bzw. OK) ist.

Wäre es vielleicht sinnvoll bool-Werte ohne wenn und aber zu übertragen?
Comment 3 Andreas Büsching univentionstaff 2012-05-10 08:43:35 CEST
(In reply to comment #2)
> (In reply to comment #1)
> Wäre es vielleicht sinnvoll bool-Werte ohne wenn und aber zu übertragen?

Ja natürlich :-)
Comment 4 Alexander Kläser univentionstaff 2012-05-10 13:41:53 CEST
Zur Korrektur muss zum einen umc.tools.isFalse() erweitert werden, dass auch auf "not" geprüft wird. Zum anderen muss die oben genannte Schleife wie folgt angepasst werden:

// get only non-empty values
umc.tools.forIn(vals, dojo.hitch(this, function(iname, ival) {
    if (typeof(ival) == 'boolean' || (!(dojo.isArray(ival) && !ival.length) && ival)) {
        newVals[iname] = ival;
    }
}));

typeof(true) == 'boolean'
Comment 5 Sönke Schwardt-Krummrich univentionstaff 2012-05-10 14:32:18 CEST
(In reply to comment #4)
> Zur Korrektur muss zum einen umc.tools.isFalse() erweitert werden, dass auch
> auf "not" geprüft wird. Zum anderen muss die oben genannte Schleife wie folgt
> angepasst werden:

Die Korrektur wurde eingecheckt. Changelogeintrag wurde erstellt.
Comment 6 Sönke Schwardt-Krummrich univentionstaff 2012-05-10 14:32:57 CEST
univention-management-console-module-udm (1.0.277-1) unstable; urgency=low
Comment 7 Felix Botner univentionstaff 2012-06-15 12:41:38 CEST
OK, Werte werden initial richtig gesetzt und später auch richtig aus dem LDAP Attribut in die Checkbox übernommen (mit ext. Attribut mit OkOrNot getestet).

Changelog Eintrag OK (ich habe ihn von UDM-Modules nach UMC verschoben)
Comment 8 Stefan Gohmann univentionstaff 2012-07-20 15:25:15 CEST
UCS 3.0-2 has been released: 
  http://forum.univention.de/viewtopic.php?f=54&t=1905

If this error occurs again, please use "Clone This Bug".