X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Famtemplates.pl;h=4bc6f017b7e09d28d4903b7c6cd2ef14ad2fb432;hb=b81f2b8fd88c28f96f49fbe50e94276384d0d511;hp=1ef16c1eba371e726da90865e534a22156efecb2;hpb=8c7e44938a661e035f62840e1e177353240ace5d;p=kivitendo-erp.git diff --git a/bin/mozilla/amtemplates.pl b/bin/mozilla/amtemplates.pl index 1ef16c1eb..4bc6f017b 100644 --- a/bin/mozilla/amtemplates.pl +++ b/bin/mozilla/amtemplates.pl @@ -31,11 +31,15 @@ # #====================================================================== +use File::Find; + use SL::AM; use SL::Form; use Data::Dumper; +use strict; + 1; require "bin/mozilla/common.pl"; @@ -43,43 +47,51 @@ require "bin/mozilla/common.pl"; # end of main sub display { - call_sub($form->{display_nextsub}); + call_sub($main::form->{display_nextsub}); } sub save { - call_sub($form->{save_nextsub}); + call_sub($main::form->{save_nextsub}); } sub edit { - call_sub($form->{edit_nextsub}); + call_sub($main::form->{edit_nextsub}); } sub display_template { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); - $auth->assert('config'); + my $form = $main::form; + + $main::auth->assert('admin'); $form->{edit} = 0; display_template_form(); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub edit_template { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + my $form = $main::form; - $auth->assert('config'); + $main::auth->assert('admin'); $form->{edit} = 1; display_template_form(); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub save_template { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); - $auth->assert('config'); + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; + + $main::auth->assert('admin'); $form->isblank("formname", $locale->text("You're not editing a file.")) unless ($form->{type} eq "stylesheet"); @@ -91,18 +103,28 @@ sub save_template { $form->{edit} = 0; display_template_form(); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub display_template_form { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; - $auth->assert('config'); + $main::auth->assert('admin'); + + if ($form->{"formname"} =~ m|\.\.| || $form->{"formname"} =~ m|^/|) { + $form->{"formname"} =~ s|.*/||; + } - $form->{"formname"} =~ s|.*/||; my $format = $form->{"format"} eq "html" ? "html" : "tex"; $form->{"title"} = $form->{"type"} eq "stylesheet" ? $locale->text("Edit the stylesheet") : $locale->text("Edit templates"); + if ($form->{"format"}) { + $form->{"title"} = uc($form->{"format"}) . " - " . $form->{"title"}; + } my %options; @@ -121,29 +143,29 @@ sub display_template_form { my %formname_setup = ( - "balance_sheet" => { "translation" => $locale->text('Balance Sheet'), "html" => 1 }, - "bin_list" => $locale->text('Bin List'), - "bwa" => { "translation" => $locale->text('BWA'), "html" => 1 }, - "check" => { "translation" => $locale->text('Check'), "html" => 1 }, - "credit_note" => $locale->text('Credit Note'), - "income_statement" => { "translation" => $locale->text('Income Statement'), "html" => 1 }, - "invoice" => $locale->text('Invoice'), - "packing_list" => $locale->text('Packing List'), - "pick_list" => $locale->text('Pick List'), - "proforma" => $locale->text('Proforma Invoice'), - "purchase_order" => $locale->text('Purchase Order'), - "receipt" => { "translation" => $locale->text('Receipt'), "tex" => 1 }, - "request_quotation" => $locale->text('RFQ'), - "sales_order" => $locale->text('Confirmation'), - "sales_quotation" => $locale->text('Quotation'), - "statement" => $locale->text('Statement'), - "storno_invoice" => $locale->text('Storno Invoice'), - "storno_packing_list" => $locale->text('Storno Packing List'), - "ustva-2004" => { "translation" => $locale->text("USTVA 2004"), "tex" => 1 }, - "ustva-2005" => { "translation" => $locale->text("USTVA 2005"), "tex" => 1 }, - "ustva-2006" => { "translation" => $locale->text("USTVA 2006"), "tex" => 1 }, - "ustva-2007" => { "translation" => $locale->text("USTVA 2007"), "tex" => 1 }, - "ustva" => $locale->text("USTVA"), + # balance_sheet => { translation => $locale->text('Balance Sheet'), html => 1 }, + bin_list => $locale->text('Bin List'), + bwa => { translation => $locale->text('BWA'), html => 1 }, + check => { translation => $locale->text('Check'), html => 1 }, + credit_note => $locale->text('Credit Note'), + income_statement => { translation => $locale->text('Income Statement'), html => 1 }, + invoice => $locale->text('Invoice'), + pick_list => $locale->text('Pick List'), + proforma => $locale->text('Proforma Invoice'), + purchase_delivery_order => { translation => $::locale->text('Purchase delivery order'), tex => 1 }, + purchase_order => $locale->text('Purchase Order'), + receipt => { translation => $locale->text('Receipt'), tex => 1 }, + request_quotation => $locale->text('RFQ'), + sales_delivery_order => { translation => $::locale->text('Sales delivery order'), tex => 1 }, + sales_order => $locale->text('Confirmation'), + sales_quotation => $locale->text('Quotation'), + statement => $locale->text('Statement'), + storno_invoice => $locale->text('Storno Invoice'), + "ustva-2004" => { translation => $locale->text("USTVA 2004"), tex => 1 }, + "ustva-2005" => { translation => $locale->text("USTVA 2005"), tex => 1 }, + "ustva-2006" => { translation => $locale->text("USTVA 2006"), tex => 1 }, + "ustva-2007" => { translation => $locale->text("USTVA 2007"), tex => 1 }, + ustva => $locale->text("USTVA"), ); my (@values, $file, $setup); @@ -163,11 +185,43 @@ sub display_template_form { push(@values, { "value" => $ref->{"template"}, - "label" => $locale->text('Payment Reminder') . ": " . $ref->{"dunning_description"} }); + "label" => $locale->text('Payment Reminder') . ": " . $ref->{"dunning_description"} }, + { "value" => $ref->{"template"} . "_invoice", + "label" => $locale->text('Payment Reminder') . ": " . $ref->{"dunning_description"} . ' (' . $locale->text("Invoice for fees") . ')' }); } @values = sort({ $a->{"label"} cmp $b->{"label"} } @values); + # + # at the end: others/includes for tex + # + if ($format eq "tex") { + # search all .tex-files in template dir (recursively) + my @all_files; + find( + sub { + next if (-l $_ || -d $_); + next unless (-f $_ && $_ =~ m/.*?\.tex$/); + + my $fname = $File::Find::name; + # remove template dir from name + $fname =~ s|^$myconfig{templates}/||; + # remove .tex from name + $fname =~ s|.tex$||; + + push(@all_files, $fname); + + }, $myconfig{templates}); + + # filter all files already set up (i.e. not already in @values) + my @other_files = grep { my $a=$_; not grep {$a eq $_->{value}} @values } @all_files; + + # add other tex files + foreach my $o (@other_files) { + push(@values, { "value" => $o, "label" => $locale->text("Others")." ($o)" }); + } + } + $options{FORMNAME} = [ @values ]; # @@ -231,7 +285,7 @@ sub display_template_form { $form->header; print($form->parse_html_template("am/edit_templates", \%options)); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } 1;