From 2011816080c4a2fc413edca52a7ee6c792d17ca9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20B=C3=BCren?= Date: Tue, 8 Sep 2015 14:05:44 +0200 Subject: [PATCH] =?utf8?q?Doku:=20POD=20f=C3=BCr=20Invoice.pm=20erweitert?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit - Invoice anstatt Delivery Order bei new_from - Beispiel-Code für Benutzung von new_from mit parameter attributes - TODO angelegt, Controller sollten einige Datenfelder mit Hilfe von Backend-Funktionen prüfen können - in diesem Fall transdate --- SL/DB/Invoice.pm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/SL/DB/Invoice.pm b/SL/DB/Invoice.pm index 239280b2a..76531e919 100644 --- a/SL/DB/Invoice.pm +++ b/SL/DB/Invoice.pm @@ -426,8 +426,13 @@ falsish value will be skipped. =item C An optional hash reference. If it exists then it is passed to C -allowing the caller to set certain attributes for the new delivery -order. +allowing the caller to set certain attributes for the new invoice. +For example to set a different transdate (default is the current date), +call the method like this: + + my %params; + $params{attributes}{transdate} = '28.08.2015'; + $invoice = SL::DB::Invoice->new_from($self, %params)->post || die; =back @@ -489,6 +494,16 @@ See L. =back +=head1 TODO + As explained in the new_from example, it is possible to set transdate to a new value. + From a user / programm point of view transdate is more than holy and there should be + some validity checker available for controller code. At least the same logic like in + Form.pm from ar.pl should be available: + # see old stuff ar.pl post + #$form->error($locale->text('Cannot post transaction above the maximum future booking date!')) + # if ($form->date_max_future($transdate, \%myconfig)); + #$form->error($locale->text('Cannot post transaction for a closed period!')) if ($form->date_closed($form->{"transdate"}, \%myconfig)); + =head1 AUTHOR Moritz Bunkus Em.bunkus@linet-services.deE -- 2.20.1