Revision 5bc87ade
Von Moritz Bunkus vor fast 9 Jahren hinzugefügt
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
Zahlungsbedingungen: Flag »Fälligkeitsdatum automatisch berechnen«