am: fehlendes include für Historiensuche(2)
[kivitendo-erp.git] / bin / mozilla / amtemplates.pl
index 1545f65..d32cf79 100644 (file)
@@ -24,7 +24,8 @@
 # GNU General Public License for more details.
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1335, USA.
 #======================================================================
 #
 # administration
@@ -33,6 +34,7 @@
 
 use File::Find;
 
+use SL::DB::Default;
 use SL::AM;
 use SL::Form;
 
@@ -63,7 +65,7 @@ sub display_template {
 
   my $form     = $main::form;
 
-  $main::auth->assert('config');
+  $main::auth->assert('admin');
 
   $form->{edit} = 0;
   display_template_form();
@@ -76,7 +78,7 @@ sub edit_template {
 
   my $form     = $main::form;
 
-  $main::auth->assert('config');
+  $main::auth->assert('admin');
 
   $form->{edit} = 1;
   display_template_form();
@@ -91,7 +93,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");
 
@@ -113,7 +115,10 @@ sub display_template_form {
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
 
-  $main::auth->assert('config');
+  $main::auth->assert('admin');
+
+  my $defaults = SL::DB::Default->get;
+  $form->error($::locale->text('No print templates have been created for this client yet. Please do so in the client configuration.')) if !$defaults->templates;
 
   if ($form->{"formname"} =~ m|\.\.| || $form->{"formname"} =~ m|^/|) {
     $form->{"formname"} =~ s|.*/||;
@@ -197,6 +202,7 @@ sub display_template_form {
     #
     if ($format eq "tex") {
       # search all .tex-files in template dir (recursively)
+      my $template_dir = $defaults->templates;
       my @all_files;
       find(
         sub {
@@ -205,13 +211,13 @@ sub display_template_form {
 
           my $fname = $File::Find::name;
           # remove template dir from name
-          $fname =~ s|^$myconfig{templates}/||;
+          $fname =~ s|^\Q$template_dir\E/||;
           # remove .tex from name
           $fname =~ s|.tex$||;
 
           push(@all_files, $fname);
 
-          }, $myconfig{templates});
+          }, $template_dir);
 
       # 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;
@@ -271,10 +277,7 @@ sub display_template_form {
 
     $options{"CAN_EDIT"} = $form->{"edit"};
 
-    if ($form->{edit}) {
-      $form->{fokus} = "Form.content";
-
-    } else {
+    if (!$form->{edit}) {
       $options{"content"}                 = "\n\n" if (!$options{"content"});
       $options{"SHOW_SECOND_EDIT_BUTTON"} = $options{"lines"} > 25;
     }