Filter nach Namen für Buchungsvorlagen implementiert
authorJan Büren <jan@kivitendo-premium.de>
Sat, 30 Sep 2017 07:45:08 +0000 (09:45 +0200)
committerJan Büren <jan@kivitendo-premium.de>
Sat, 30 Sep 2017 07:45:08 +0000 (09:45 +0200)
Hintergrund: Nachdem einige Vorlagen erstellt worden sind,
ist der Standard-Fall nicht mehr Anlegen oder Ändern, sondern
Suchen und Buchen. Entsprechend den Focus auch auf das Suchfeld gesetzt.

SL/Controller/RecordTemplate.pm
locale/de/all
templates/webpages/record_template/dialog.html

index a349378..9ce8e15 100644 (file)
@@ -52,7 +52,7 @@ sub action_show_dialog {
         title => t8('Record templates'),
       },
     })
-    ->focus("#record_template_dialog_new_template_name")
+    ->focus("#template_filter")
     ->render;
 }
 
@@ -84,6 +84,20 @@ sub action_delete {
     ->render;
 }
 
+sub action_filter_templates {
+  my ($self) = @_;
+
+  $self->{template_filter} = $::form->{template_filter};
+
+  $self
+    ->js
+    ->html('#record_template_dialog', $self->dialog_html)
+    ->focus("#record_template_dialog_new_template_name")
+    ->reinit_widgets
+    ->focus("#template_filter")
+    ->render();
+}
+
 #
 # helpers
 #
@@ -98,9 +112,10 @@ sub init_template      { SL::DB::RecordTemplate->new(id => $::form->{id})->load
 
 sub init_templates {
   my ($self) = @_;
-
   return scalar SL::DB::Manager::RecordTemplate->get_all_sorted(
-    where => [ template_type => $self->template_type ],
+    where => [ template_type => $self->template_type,
+              (template_name => { ilike => '%' . $::form->{template_filter} . '%' })x!! ($::form->{template_filter})
+             ],
   );
 }
 
index 181141f..4c2ff46 100755 (executable)
@@ -1371,6 +1371,7 @@ $self->{texts} = {
   'Filter for customer variables' => 'Filter für benutzerdefinierte Kundenvariablen',
   'Filter for item variables'   => 'Filter für benutzerdefinierte Artikelvariablen',
   'Filter parts'                => 'Artikel filtern',
+  'Filter record template'      => 'Filter für Buchungsvorlagen',
   'Financial Controlling'       => 'Finanzcontrolling',
   'Financial Controlling Report' => 'Finanzcontrollingbericht',
   'Financial Overview'          => 'Finanzübersicht',
index 4131b9b..d51a72b 100644 (file)
  [% L.button_tag("kivi.RecordTemplate.create()", LxERP.t8("Save")) %]
 </p>
 
+<h2 class="listheading">[% LxERP.t8("Filter record template") %]</h2>
+<p>
+<form method="post" action="javascript:kivi.RecordTemplate.filter_templates()">
+ [% LxERP.t8("Name") %]:
+ [% L.input_tag("template_filter", SELF.template_filter) %]
+ [% L.submit_tag('', LxERP.t8("Filter")) %]
+ [% L.button_tag('$("#template_filter").val("")', LxERP.t8('Reset')) %]
+</form>
+</p>
+
 [% SET templates = SELF.templates.as_list %]
 
 [% IF templates.size %]