X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Foe.pl;h=0bcb897bf98c446facfb361ab7fe7d92a46b4e8c;hb=a8878ddc44656ff31cd839f43956d2986ac2c99e;hp=73c70b30f1a1a506bd19311008e3ab279e65c35a;hpb=7bff84cbc6daa65a74b9f5c83415c98856eb30a1;p=kivitendo-erp.git diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index 73c70b30f..0bcb897bf 100644 --- a/bin/mozilla/oe.pl +++ b/bin/mozilla/oe.pl @@ -153,6 +153,8 @@ sub edit { check_oe_access(); + $form->{taxincluded_changed_by_user} = 1; + # show history button $form->{javascript} = qq||; #/show hhistory button @@ -400,19 +402,19 @@ sub form_header { } } - my $onload = ""; + my $dispatch_to_popup = ''; if ($form->{resubmit} && ($form->{format} eq "html")) { - $onload = "window.open('about:blank','Beleg'); document.oe.target = 'Beleg';"; - $onload .= "document.do.submit();"; + $dispatch_to_popup = "window.open('about:blank','Beleg'); document.oe.target = 'Beleg';"; + $dispatch_to_popup .= "document.do.submit();"; } elsif ($form->{resubmit}) { # emulate click for resubmitting actions - $onload = "document.oe.${_}.click(); " for grep { /^action_/ } keys %$form; - $onload .= "document.oe.submit();"; + $dispatch_to_popup = "document.oe.${_}.click(); " for grep { /^action_/ } keys %$form; + $dispatch_to_popup .= "document.oe.submit();"; } elsif ($creditwarning) { - $onload = "alert('$credittext')"; + $::request->{layout}->add_javascripts_inline("alert('$credittext')"); } - $TMPL_VAR{onload} = $onload; + $::request->{layout}->add_javascripts_inline("\$(function(){$dispatch_to_popup})"); $TMPL_VAR{dateformat} = $myconfig{dateformat}; $TMPL_VAR{numberformat} = $myconfig{numberformat}; @@ -475,16 +477,12 @@ sub form_footer { $TMPL_VAR{notes} = qq||; $TMPL_VAR{intnotes} = qq||; - IS->get_customer(\%myconfig, \%$form) if $form->{type} =~ /sales_(order|quotation)/; + my $paymet_id = $::form->{payment_id}; + IS->get_customer(\%myconfig, $::form) if $form->{type} =~ /sales_(order|quotation)/; + $::form->{payment_id} = $paymet_id; if ( $form->{vc} eq 'customer' && !$form->{taxincluded_changed_by_user} ) { - if ( $form->{taxincluded_checked} eq 'y' ) { - $form->{taxincluded} = 1; - } elsif ( $form->{taxincluded_checked} eq 'n' ) { - $form->{taxincluded} = 0; - } else { - $form->{taxincluded} = $myconfig{taxincluded_checked}; - } + $form->{taxincluded} = defined($form->{taxincluded_checked}) ? $form->{taxincluded_checked} : $myconfig{taxincluded_checked}; } if (!$form->{taxincluded}) { @@ -783,6 +781,7 @@ sub orders { my @columns = ( "transdate", "reqdate", "id", $ordnumber, + "customernumber", "name", "netamount", "tax", "amount", "curr", "employee", @@ -842,6 +841,7 @@ sub orders { 'ordnumber' => { 'text' => $locale->text('Order'), }, 'quonumber' => { 'text' => $form->{type} eq "request_quotation" ? $locale->text('RFQ') : $locale->text('Quotation'), }, 'name' => { 'text' => $form->{vc} eq 'customer' ? $locale->text('Customer') : $locale->text('Vendor'), }, + 'customernumber' => { 'text' => $locale->text('Customer Number'), }, 'netamount' => { 'text' => $locale->text('Amount'), }, 'tax' => { 'text' => $locale->text('Tax'), }, 'amount' => { 'text' => $locale->text('Total'), }, @@ -1225,7 +1225,7 @@ sub save { $form->{simple_save} = 1; if(!$form->{print_and_save}) { - delete @{$form}{ary_diff([keys %{ $form }], [qw(login stylesheet id script type cursor_fokus)])}; + delete @{$form}{ary_diff([keys %{ $form }], [qw(login id script type cursor_fokus)])}; edit(); ::end_of_request(); } @@ -1459,8 +1459,6 @@ sub backorder_exchangerate { $form->header; print qq| - -
{script}> |; @@ -1512,9 +1510,6 @@ sub backorder_exchangerate { . $locale->text('Continue') . qq|">
- - - |; $main::lxdebug->leave_sub(); @@ -1629,11 +1624,25 @@ sub save_as_new { delete($form->{$idx}); } - # clear reqdate unless changed - if ($form->{reqdate} && $form->{id}) { + # clear reqdate and transdate unless changed + if ( $form->{reqdate} && $form->{id} ) { my $saved_order = OE->retrieve_simple(id => $form->{id}); - if ($saved_order && $saved_order->{reqdate} eq $form->{reqdate}) { - delete $form->{reqdate}; + if ( $saved_order && $saved_order->{reqdate} eq $form->{reqdate} && $saved_order->{transdate} eq $form->{transdate} ) { + + my $dbh = $form->get_standard_dbh; + + my $wday = (localtime(time))[6]; + my $next_workday = $wday == 5 ? 3 : $wday == 6 ? 2 : 1; + + my $query = 'SELECT + date(current_date + interval \''. $next_workday .' days\') AS reqdate, + date(current_date) AS transdate'; + my $ref = selectfirst_hashref_query($form, $dbh, $query); + + map( + { $form->{$_} = $ref->{$_} } + keys %{$ref} + ); } } @@ -1990,7 +1999,7 @@ sub edit_periodic_invoices_config { $::form->{AR} = [ grep { $_->{link} =~ m/(?:^|:)AR(?::|$)/ } @{ $::form->{ALL_CHARTS} } ]; $::form->{title} = $::locale->text('Edit the configuration for periodic invoices'); - $::form->header(); + $::form->header(no_layout => 1); print $::form->parse_html_template('oe/edit_periodic_invoices_config', $config); $::lxdebug->leave_sub();