Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5bc87ade

Von Moritz Bunkus vor fast 9 Jahren hinzugefügt

  • ID 5bc87ade7044239fa9e893b9d7cbd476dc627eea
  • Vorgänger b9d02507
  • Nachfolger 8e7908eb

Zahlungsbedingungen: Flag »Fälligkeitsdatum automatisch berechnen«

Unterschiede anzeigen:

bin/mozilla/io.pl
41 41
use List::MoreUtils qw(any uniq apply);
42 42
use List::Util qw(min max first);
43 43

  
44
use SL::ClientJS;
44 45
use SL::CVar;
45 46
use SL::Common;
47
use SL::Controller::Base;
46 48
use SL::CT;
47 49
use SL::Locale::String qw(t8);
48 50
use SL::IC;
......
1805 1807
  $main::lxdebug->leave_sub();
1806 1808
}
1807 1809

  
1808
sub set_duedate {
1809
  $main::lxdebug->enter_sub();
1810
sub get_payment_terms_for_invoice {
1811
  my $terms = $::form->{payment_id}  ? SL::DB::PaymentTerm->new(id => $::form->{payment_id}) ->load
1812
            : $::form->{customer_id} ? SL::DB::Customer   ->new(id => $::form->{customer_id})->load->payment
1813
            : $::form->{vendor_id}   ? SL::DB::Vendor     ->new(id => $::form->{vendor_id})  ->load->payment
1814
            :                          undef;
1810 1815

  
1811
  my $form     = $main::form;
1812
  my %myconfig = %main::myconfig;
1816
  return $terms;
1817
}
1813 1818

  
1819
sub set_duedate {
1814 1820
  _check_io_auth();
1815 1821

  
1816
  my $invdate = $form->{invdate} eq 'undefined' ? undef : $form->{invdate};
1817
  my $duedate = $form->get_duedate(\%myconfig, $invdate);
1822
  my $js      = SL::ClientJS->new(controller => SL::Controller::Base->new);
1823
  my $terms   = get_payment_terms_for_invoice();
1824
  my $invdate = $::form->{invdate} eq 'undefined' ? DateTime->today_local : DateTime->from_kivitendo($::form->{invdate});
1825
  my $duedate = $terms ? $terms->calc_date(reference_date => $invdate, due_date => $::form->{duedate})->to_kivitendo : ($::form->{duedate} || $invdate->to_kivitendo);
1818 1826

  
1819
  print $form->ajax_response_header() . ($duedate || $invdate);
1827
  if ($terms && $terms->auto_calculation) {
1828
    $js->hide('#duedate_container')
1829
       ->show('#duedate_fixed')
1830
       ->html('#duedate_fixed', $duedate);
1820 1831

  
1821
  $main::lxdebug->leave_sub();
1832
  } else {
1833
    $js->show('#duedate_container')
1834
       ->hide('#duedate_fixed');
1835
  }
1836

  
1837
  $js->val('#duedate', $duedate)
1838
     ->render;
1822 1839
}
1823 1840

  
1824 1841
sub _update_part_information {

Auch abrufbar als: Unified diff