X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Famtemplates.pl;h=9f21e22c7154cc605388df981215132771591ab1;hb=075bd42af8885aee3c18fe055a2c82b8b43f4cea;hp=1dc734470fcfd4678f7e2860f41b83531a037df9;hpb=27557af4df09feccf6cb4e40b06af01102d029b1;p=kivitendo-erp.git diff --git a/bin/mozilla/amtemplates.pl b/bin/mozilla/amtemplates.pl index 1dc734470..9f21e22c7 100644 --- a/bin/mozilla/amtemplates.pl +++ b/bin/mozilla/amtemplates.pl @@ -31,6 +31,8 @@ # #====================================================================== +use File::Find; + use SL::AM; use SL::Form; @@ -61,7 +63,7 @@ sub display_template { my $form = $main::form; - $main::auth->assert('config'); + $main::auth->assert('admin'); $form->{edit} = 0; display_template_form(); @@ -74,7 +76,7 @@ sub edit_template { my $form = $main::form; - $main::auth->assert('config'); + $main::auth->assert('admin'); $form->{edit} = 1; display_template_form(); @@ -89,7 +91,7 @@ sub save_template { my %myconfig = %main::myconfig; my $locale = $main::locale; - $main::auth->assert('config'); + $main::auth->assert('admin'); $form->isblank("formname", $locale->text("You're not editing a file.")) unless ($form->{type} eq "stylesheet"); @@ -111,9 +113,12 @@ sub display_template_form { my %myconfig = %main::myconfig; my $locale = $main::locale; - $main::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"); @@ -187,6 +192,36 @@ sub display_template_form { @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 ]; # @@ -237,7 +272,7 @@ sub display_template_form { $options{"CAN_EDIT"} = $form->{"edit"}; if ($form->{edit}) { - $form->{fokus} = "Form.content"; + $::request->{layout}->focus("#edit_content"); } else { $options{"content"} = "\n\n" if (!$options{"content"});