X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fcommon.pl;h=82a988ec59d3fd8815152e779d1b97fe9b23e75b;hb=afed390f75f0dad7df9d5aa5fbdac8f3005c852e;hp=3bc458a8d642dec18af65e2427685d1a9fd9fbb5;hpb=9257ca9ac3305509e73b05db383a9539282dd878;p=kivitendo-erp.git diff --git a/bin/mozilla/common.pl b/bin/mozilla/common.pl index 3bc458a8d..82a988ec5 100644 --- a/bin/mozilla/common.pl +++ b/bin/mozilla/common.pl @@ -9,6 +9,7 @@ # ###################################################################### +use Carp; use SL::Common; use SL::DBUtils; use SL::Form; @@ -76,6 +77,11 @@ sub select_part { $has_charge = 1; map { $_->{has_charge} = 1; } @parts; } + my $has_bestbefore = 0; + if (defined($parts[0]->{bestbefore})) { + $has_bestbefore = 1; + map { $_->{has_bestbefore} = 1; } @parts; + } my $has_ean = 0; if (defined($parts[0]->{ean})) { $has_ean = 1; @@ -92,7 +98,8 @@ sub select_part { "nextsub" => "select_part_internal", "callback_sub" => $callback_sub, "has_charge" => $has_charge, - "has_ean" => $has_ean, + "has_bestbefore" => $has_bestbefore, + "has_ean" => $has_ean, "remap_parts_id" => $remap_parts_id, "remap_partnumber" => $remap_partnumber }); @@ -176,7 +183,7 @@ sub part_selection_internal { my @header_sort = qw(partnumber description); my %header_title = ( "partnumber" => $locale->text("Part Number"), - "description" => $locale->text("Part description"), + "description" => $locale->text("Part Description"), ); my @header = @@ -477,27 +484,27 @@ sub reformat_numbers { # ------------------------------------------------------------------------- sub show_history { - $main::lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); my $form = $main::form; my %myconfig = %main::myconfig; my $locale = $main::locale; - my $dbh = $form->dbconnect(\%myconfig); - my ($sort, $sortby) = split(/\-\-/, $form->{order}); + my $dbh = $form->dbconnect(\%myconfig); + my ($sort, $sortby) = split(/\-\-/, $form->{order}); $sort =~ s/.*\.(.*)/$1/; - $form->{title} = $locale->text("History"); - $form->header(); - print $form->parse_html_template( "common/show_history", { - "DATEN" => $form->get_history($dbh,$form->{input_name},"",$form->{order}), - "SUCCESS" => ($form->get_history($dbh,$form->{input_name}) ne "0"), - uc($sort) => 1, - uc($sort)."BY" => $sortby - } ); - - $dbh->disconnect(); - $main::lxdebug->leave_sub(); + $form->{title} = $locale->text("History"); + $form->header(); + print $form->parse_html_template( "common/show_history", { + "DATEN" => $form->get_history($dbh,$form->{input_name},"",$form->{order}), + "SUCCESS" => ($form->get_history($dbh,$form->{input_name}) ne "0"), + uc($sort) => 1, + uc($sort)."BY" => $sortby + } ); + + $dbh->disconnect(); + $main::lxdebug->leave_sub(); } # ------------------------------------------------------------------------- @@ -520,6 +527,9 @@ sub call_sub { $form->error(sprintf($locale->text("Attempt to call an undefined sub named '%s'"), $name)); } + $::called_subs{$name}++; + confess "RECURSION DETECTION: call_sub($name) called " . $::called_subs{$name} . " time(s)" if $::called_subs{$name} > 10; + { no strict "refs"; &{ $name }(@_); @@ -531,7 +541,7 @@ sub call_sub { # ------------------------------------------------------------------------- sub show_vc_details { - $main::lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); my $form = $main::form; my %myconfig = %main::myconfig; @@ -550,7 +560,7 @@ sub show_vc_details { $form->header(); print $form->parse_html_template("common/show_vc_details", { "is_customer" => $form->{vc} eq "customer" }); - $main::lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } # ------------------------------------------------------------------------- @@ -586,7 +596,7 @@ sub mark_as_paid_common { if($form->{mark_as_paid}) { my $dbh ||= $form->get_standard_dbh($myconfig); - my $query = qq|UPDATE $db_name SET paid = amount WHERE id = ?|; + my $query = qq|UPDATE $db_name SET paid = amount, datepaid = current_date WHERE id = ?|; do_query($form, $dbh, $query, $form->{id}); $dbh->commit(); $form->redirect($locale->text("Marked as paid")); @@ -680,19 +690,7 @@ sub cov_selection_internal { sub sales_invoice { $main::lxdebug->enter_sub(); - $main::auth->assert('invoice_edit'); - - my $form = $main::form; - my %myconfig = %main::myconfig; - my $locale = $main::locale; - - $form->{script} = 'is.pl'; - my $script = "is"; - $form->{type} = "invoice"; - $locale = new Locale "$myconfig{countrycode}", "$script"; - - require "bin/mozilla/$form->{script}"; - &add; + print $::form->redirect_header('is.pl?action=add&type=invoice'); $main::lxdebug->leave_sub(); } @@ -700,18 +698,7 @@ sub sales_invoice { sub ar_transaction { $main::lxdebug->enter_sub(); - $main::auth->assert('general_ledger'); - - my $form = $main::form; - my %myconfig = %main::myconfig; - my $locale = $main::locale; - - $form->{script} = 'ar.pl'; - my $script = "ar"; - $locale = new Locale "$myconfig{countrycode}", "$script"; - - require "bin/mozilla/$form->{script}"; - &add; + print $::form->redirect_header('ar.pl?action=add'); $main::lxdebug->leave_sub(); } @@ -719,19 +706,7 @@ sub ar_transaction { sub vendor_invoice { $main::lxdebug->enter_sub(); - $main::auth->assert('invoice_edit'); - - my $form = $main::form; - my %myconfig = %main::myconfig; - my $locale = $main::locale; - - $form->{script} = 'ir.pl'; - my $script = "ir"; - $form->{type} = "invoice"; - $locale = new Locale "$myconfig{countrycode}", "$script"; - - require "bin/mozilla/$form->{script}"; - &add; + print $::form->redirect_header('ir.pl?action=add&type=invoice'); $main::lxdebug->leave_sub(); } @@ -739,18 +714,7 @@ sub vendor_invoice { sub ap_transaction { $main::lxdebug->enter_sub(); - $main::auth->assert('general_ledger'); - - my $form = $main::form; - my %myconfig = %main::myconfig; - my $locale = $main::locale; - - $form->{script} = 'ap.pl'; - my $script = "ap"; - $locale = new Locale "$myconfig{countrycode}", "$script"; - - require "bin/mozilla/$form->{script}"; - &add; + print $::form->redirect_header('ap.pl?action=add'); $main::lxdebug->leave_sub(); } @@ -758,20 +722,18 @@ sub ap_transaction { sub gl_transaction { $main::lxdebug->enter_sub(); - $main::auth->assert('general_ledger'); - - my $form = $main::form; - my %myconfig = %main::myconfig; - my $locale = $main::locale; - - $form->{script} = 'gl.pl'; - my $script = "gl"; - $locale = new Locale "$myconfig{countrycode}", "$script"; - - require "bin/mozilla/$form->{script}"; - &add; + print $::form->redirect_header('gl.pl?action=add'); $main::lxdebug->leave_sub(); } +if ($::use_rdbo) { + eval { + require SL::DB::Helpers::Mappings; + sub db { + goto &SL::DB::Helpers::Mappings::db; + } + } or die $@; +} + 1;