Ruft mal value als getter auf, so wird ein DateTime-Objekt
zurückgegeben. Als setter aufgerufen, erwartete die Funktion bisher
aber, dass ein String übergeben wird. Somit war es nicht möglich, eine
Datums-CVar mit intuitiv zu clonen:
$new_cvar->value($old_cvar->value); # Subtle fail!
Mit dem Fix werden sowohl DateTime-Objekte als auch Strings unterstützt.
}
if ($type =~ m{^(?:date|timestamp)}) {
- return $self->timestamp_value(defined($unparsed) ? DateTime->from_kivitendo($unparsed) : undef);
+ return $self->timestamp_value(!defined($unparsed) ? undef : ref($unparsed) eq 'DateTime' ? $unparsed->clone : DateTime->from_kivitendo($unparsed));
}
# text, textfield, select