]> wagnertech.de Git - mfinanz.git/blobdiff - SL/DB/Invoice.pm
CVar-Helper: Beim Parsen darauf achten, ob unparsed_value ein Objekt enthält.
[mfinanz.git] / SL / DB / Invoice.pm
index 8bfc918e83bc6bb239ffd58cf2b1823c138f7327..76531e91964f7b4433a09d2466206cae8843460c 100644 (file)
@@ -77,6 +77,7 @@ sub _before_save_set_invnumber {
 
 sub items { goto &invoiceitems; }
 sub add_items { goto &add_invoiceitems; }
+sub record_number { goto &invnumber; };
 
 sub is_sales {
   # For compatibility with Order, DeliveryOrder
@@ -336,6 +337,10 @@ sub displayable_type {
   return t8('Invoice');
 }
 
+sub displayable_name {
+  join ' ', grep $_, map $_[0]->$_, qw(displayable_type record_number);
+};
+
 sub abbreviation {
   my ($self) = @_;
 
@@ -421,8 +426,13 @@ falsish value will be skipped.
 =item C<attributes>
 
 An optional hash reference. If it exists then it is passed to C<new>
-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
 
@@ -484,6 +494,16 @@ See L<SL::DB::Object::basic_info>.
 
 =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 E<lt>m.bunkus@linet-services.deE<gt>