Templatebasierte OE Suche übernommen.
authorSven Schöling <s.schoeling@linet-services.de>
Fri, 22 May 2009 14:22:01 +0000 (14:22 +0000)
committerSven Schöling <s.schoeling@linet-services.de>
Fri, 22 May 2009 14:22:01 +0000 (14:22 +0000)
SL/OE.pm
bin/mozilla/oe.pl
locale/de/all
locale/de/login
locale/de/oe
locale/de/todo
templates/webpages/oe/search_de.html [new file with mode: 0644]
templates/webpages/oe/search_master.html [new file with mode: 0644]

index d3b1313..9adbee2 100644 (file)
--- a/SL/OE.pm
+++ b/SL/OE.pm
@@ -83,7 +83,8 @@ sub transactions {
     qq|WHERE (o.quotation = ?) |;
   push(@values, $quotation);
 
-  my ($null, $department_id) = split /--/, $form->{department};
+  my ($null, $split_department_id) = split /--/, $form->{department};
+  my $department_id = $form->{department_id} || $split_department_id;
   if ($department_id) {
     $query .= qq| AND o.department_id = ?|;
     push(@values, $department_id);
index 656abcb..f8c4791 100644 (file)
@@ -507,8 +507,8 @@ sub update {
     my $rows = scalar @{ $form->{item_list} };
 
     # hier ist das problem fuer bug 817 $form->{discount} wird nicht durchgeschliffen
-    # ferner fallunterscheidung fuer verkauf oder einkauf s.a. bug 736 jb 04.05.2009 
-    # select discount as vendor_discount from vendor || 
+    # ferner fallunterscheidung fuer verkauf oder einkauf s.a. bug 736 jb 04.05.2009
+    # select discount as vendor_discount from vendor ||
     # select discount as customer_discount from customer
     $form->{"discount_$i"} = $form->format_amount(\%myconfig, $form->{"$form->{vc}_discount"} * 100);
 
@@ -588,274 +588,50 @@ sub search {
   check_oe_access();
 
   if ($form->{type} eq 'purchase_order') {
-    $form->{title} = $locale->text('Purchase Orders');
-    $form->{vc}    = 'vendor';
-    $ordlabel      = $locale->text('Order Number');
-    $ordnumber     = 'ordnumber';
-    $employee      = $locale->text('Employee');
-  }
+    $form->{vc}        = 'vendor';
+    $form->{ordnrname} = 'ordnumber';
+    $form->{title}     = $locale->text('Purchase Orders');
+    $form->{ordlabel}  = $locale->text('Order Number');
+
+  } elsif ($form->{type} eq 'request_quotation') {
+    $form->{vc}        = 'vendor';
+    $form->{ordnrname} = 'quonumber';
+    $form->{title}     = $locale->text('Request for Quotations');
+    $form->{ordlabel}  = $locale->text('RFQ Number');
+
+  } elsif ($form->{type} eq 'sales_order') {
+    $form->{vc}        = 'customer';
+    $form->{ordnrname} = 'ordnumber';
+    $form->{title}     = $locale->text('Sales Orders');
+    $form->{ordlabel}  = $locale->text('Order Number');
+
+  } elsif ($form->{type} eq 'sales_quotation') {
+    $form->{vc}        = 'customer';
+    $form->{ordnrname} = 'quonumber';
+    $form->{title}     = $locale->text('Quotations');
+    $form->{ordlabel}  = $locale->text('Quotation Number');
 
-  if ($form->{type} eq 'request_quotation') {
-    $form->{title} = $locale->text('Request for Quotations');
-    $form->{vc}    = 'vendor';
-    $ordlabel      = $locale->text('RFQ Number');
-    $ordnumber     = 'quonumber';
-    $employee      = $locale->text('Employee');
-  }
-
-  if ($form->{type} eq 'sales_order') {
-    $form->{title} = $locale->text('Sales Orders');
-    $form->{vc}    = 'customer';
-    $ordlabel      = $locale->text('Order Number');
-    $ordnumber     = 'ordnumber';
-    $employee      = $locale->text('Employee');
-  }
-
-  if ($form->{type} eq 'sales_quotation') {
-    $form->{title} = $locale->text('Quotations');
-    $form->{vc}    = 'customer';
-    $ordlabel      = $locale->text('Quotation Number');
-    $ordnumber     = 'quonumber';
-    $employee      = $locale->text('Employee');
-  }
-
-  # setup vendor / customer selection
-  $form->all_vc(\%myconfig, $form->{vc},
-                ($form->{vc} eq 'customer') ? "AR" : "AP");
-
-  # departments
-  if (@{ $form->{all_departments} }) {
-    $form->{selectdepartment} = "<option>\n";
-
-    map {
-      $form->{selectdepartment} .=
-        "<option>$_->{description}--$_->{id}</option>\n"
-    } (@{ $form->{all_departments} });
-  }
-
-  $department = qq|
-        <tr>
-         <th align=right nowrap>| . $locale->text('Department') . qq|</th>
-         <td colspan=3><select name=department>$form->{selectdepartment}</select></td>
-       </tr>
-| if $form->{selectdepartment};
-
-  my $delivered;
-  if (($form->{"type"} eq "sales_order") ||
-      ($form->{"type"} eq "purchase_order")) {
-    $delivered = qq|
-        <tr>
-          <td><input name="notdelivered" id="notdelivered" class="checkbox" type="checkbox" value="1" checked>
-            <label for="notdelivered">|. $locale->text('Not delivered') . qq|</label></td>
-          <td><input name="delivered" id="delivered" class="checkbox" type="checkbox" value="1" checked>
-            <label for="delivered">| . $locale->text('Delivered') . qq|</label></td>
-        </tr>
-|;
-  }
-
-  # use JavaScript Calendar or not
-  $form->{jsscript} = 1;
-  $jsscript = "";
-
-  $button1 = qq|
-     <td><input name=transdatefrom id=transdatefrom size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\">
-     <input type=button name=transdatefrom id="trigger3" value=|
-    . $locale->text('button') . qq|></td>
-    |;
-  $button2 = qq|
-     <td><input name=transdateto id=transdateto size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\">
-     <input type=button name=transdateto name=transdateto id="trigger4" value=|
-    . $locale->text('button') . qq|></td>
-   |;
-  $button3 = qq|
-     <td><input name=reqdatefrom id=reqdatefrom size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\">
-     <input type=button name=reqdatefrom id="trigger5" value=|
-    . $locale->text('button') . qq|></td>
-    |;
-  $button4 = qq|
-     <td><input name=reqdateto id=reqdateto size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\">
-     <input type=button name=reqdateto name=reqdateto id="trigger6" value=|
-    . $locale->text('button') . qq|></td>
-   |;
-  #write Trigger
-  $jsscript =
-   Form->write_trigger(\%myconfig, "4", "transdatefrom", "BR", "trigger3",
-                       "transdateto", "BL", "trigger4",
-                       "reqdatefrom", "BR", "trigger5", "reqdateto", "BL", "trigger6");
-
-  my $vc = $form->{vc} eq "customer" ? "customers" : "vendors";
-
-  $form->get_lists("projects"  => { "key" => "ALL_PROJECTS",
-                                    "all" => 1 },
-                   "employees" => "ALL_EMPLOYEES",
-                   "salesmen"  => "ALL_SALESMEN",
-                   $vc         => "ALL_" . uc($vc)
-                  );
-
-  my %labels = ();
-  my @values = ("");
-  foreach my $item (@{ $form->{"ALL_PROJECTS"} }) {
-    push(@values, $item->{"id"});
-    $labels{$item->{"id"}} = $item->{"projectnumber"};
-  }
-  my $projectnumber =
-    NTI($cgi->popup_menu('-name' => 'project_id', '-values' => \@values,
-                         '-labels' => \%labels));
-
-  #employees
-  %labels = ();
-  @values = ("");
-  foreach my $item (@{ $form->{"ALL_EMPLOYEES"} }) {
-    push(@values, $item->{"id"});
-    $labels{$item->{"id"}} = $item->{"name"} ne "" ? $item->{"name"} : $item->{"login"};
-  }
-
-  #salesmen
-  my %labels_salesmen = ();
-  my @values_salesmen = ('');
-  foreach my $item (@{ $form->{"ALL_SALESMEN"} }) {
-    push(@values_salesmen, $item->{"id"});
-    $labels_salesmen{$item->{"id"}} = $item->{"name"} ne "" ? $item->{"name"} : $item->{"login"};
-  }
-
-  my $employee_block = qq|
-    <tr>
-      <th align="right">| . $locale->text('Employee') . qq|</th>
-      <td>| .  NTI($cgi->popup_menu('-name'   => 'employee_id', '-values' => \@values, '-labels' => \%labels)) . qq|</td>
-    </tr>
-    <tr>
-      <th align="right">| . $locale->text('Salesman') . qq|</th>
-      <td>| .
-        NTI($cgi->popup_menu('-name'   => 'salesman_id',
-                             '-values' => \@values_salesmen,
-                             '-labels' => \%labels_salesmen)) . qq|
-      </td>
-    </tr>|;
-
-  %labels = ();
-  @values = ("");
-
-  foreach my $item (@{ $form->{($form->{vc} eq "customer" ? "ALL_CUSTOMERS" : "ALL_VENDORS")}}) {
-    push(@values, $item->{name}.qq|--|.$item->{"id"});
-    $labels{$item->{name}.qq|--|.$item->{"id"}} = $item->{"name"};
+  } else {
+    $form->show_generic_error($locale->text('oe.pl::search called with unknown type'), back_button => 1);
   }
 
-  my $vc_label = $form->{vc} eq "customer" ? $locale->text('Customer') : $locale->text('Vendor');
-  $vc =
-    $myconfig{vclimit} <=  scalar(@values)
-    ? qq|<input type="text" value="| . H(($form->{"old$form->{vc}"} =~ /^(.*)\-\-.*$/)) . qq|" name="$form->{vc}">|
-    : NTI($cgi->popup_menu('-name' => "$form->{vc}",
-                           '-default' => $form->{"old$form->{vc}"},
-                           '-onChange' => 'document.getElementById(\'update_button\').click();',
-                           '-values' => \@values,
-                           '-labels' => \%labels));
-  $form->header;
-
-  print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-<table width=100%>
-  <tr>
-    <th class=listtop>$form->{title}</th>
-  </tr>
-  <tr height="5"></tr>
-  <tr>
-    <td>
-      <table>
-        <tr>
-          <th align=right>$vc_label</th>
-          <td colspan=3>$vc</td>
-        </tr>
-$department
-        <tr>
-          <th align=right>$ordlabel</th>
-          <td colspan=3><input name="$ordnumber" size=20></td>
-        </tr>
-$employee_block
-        <tr>
-          <th align="right">| . $locale->text('Transaction description') . qq|</th>
-          <td colspan="3"><input name="transaction_description" size=20></td>
-        </tr>
-        <tr>
-          <th align="right">| . $locale->text("Project Number") . qq|</th>
-          <td colspan="3">$projectnumber</td>
-        </tr>
-        <tr>
-          <th align=right>| . $locale->text('Order Date') . " " . $locale->text('From') . qq|</th> $button1
-          <th align=right>| . $locale->text('Bis') . qq|</th> $button2
-        </tr>
-        <input type=hidden name=sort value=transdate>
-        <tr>
-          <th align=right>| . $locale->text('Delivery Date') . " " . $locale->text('From') . qq|</th> $button3
-          <th align=right>| . $locale->text('Bis') . qq|</th> $button4
-        </tr>
-        <input type=hidden name=sort value=reqdate>
-        <tr>
-          <th align=right>| . $locale->text('Include in Report') . qq|</th>
-          <td colspan=5>
-           <table>
-        <tr>
-          <td><input type="checkbox" name="open" value="1" id="open" checked> <label for="open">| . $locale->text("Open") . qq|</td>
-          <td><input type="checkbox" name="closed" value="1" id="closed"> <label for="closed">| . $locale->text("Closed") . qq|</td>
-        </tr>
-        $delivered
-             <tr>
-               <td><input name="l_id" class=checkbox type=checkbox value=Y> | . $locale->text('ID') . qq|</td>
-               <td><input name="l_$ordnumber" class=checkbox type=checkbox value=Y checked> $ordlabel</td>
-             </tr>
-             <tr>
-               <td><input name="l_transdate" class=checkbox type=checkbox value=Y checked> | . $locale->text('Date') . qq|</td>
-               <td><input name="l_reqdate" class=checkbox type=checkbox value=Y checked> | . $locale->text('Required by') . qq|</td>
-             </tr>
-             <tr>
-               <td><input name="l_name" class=checkbox type=checkbox value=Y checked> $vc_label</td>
-               <td><input name="l_employee" class=checkbox type=checkbox value=Y checked> $employee</td>
-
-               <td><input name="l_shipvia" class=checkbox type=checkbox value=Y> | . $locale->text('Ship via') . qq|</td>
-             </tr>
-             <tr>
-               <td><input name="l_netamount" class=checkbox type=checkbox value=Y> | . $locale->text('Amount') . qq|</td>
-               <td><input name="l_tax" class=checkbox type=checkbox value=Y> | . $locale->text('Tax') . qq|</td>
-               <td><input name="l_amount" class=checkbox type=checkbox value=Y checked> | . $locale->text('Total') . qq|</td>
-             </tr>
-             <tr>
-               <td><input name="l_marge_total" class=checkbox type=checkbox value=Y> | .             $locale->text('Ertrag') . qq|</td>
-               <td><input name="l_marge_percent" class=checkbox type=checkbox value=Y> | .             $locale->text('Ertrag prozentual') . qq|</td>
-             </tr>
-             <tr>
-          <td><input name="l_globalprojectnumber" class=checkbox type=checkbox value=Y> | . $locale->text('Project Number') . qq|</td>
-          <td><input name="l_transaction_description" class=checkbox type=checkbox value=Y> | . $locale->text('Transaction description') . qq|</td>
-             </tr>
-             <tr>
-               <td><input name="l_subtotal" class=checkbox type=checkbox value=Y> | . $locale->text('Subtotal') . qq|</td>
-                <td><input name="l_salesman" class="checkbox" type="checkbox" value="Y"> | . $locale->text('Salesman') . qq|</td>
-             </tr>
-           </table>
-          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-  <tr><td colspan=4><hr size=3 noshade></td></tr>
-</table>
-
-$jsscript
-
-<br>
-<input type=hidden name=nextsub value=orders>
-<input type=hidden name=vc value=$form->{vc}>
-<input type=hidden name=type value=$form->{type}>
+  # setup vendor / customer data
+  $form->all_vc(\%myconfig, $form->{vc}, ($form->{vc} eq 'customer') ? "AR" : "AP");
+  $form->get_lists("projects"     => { "key" => "ALL_PROJECTS", "all" => 1 },
+                   "employees"    => "ALL_EMPLOYEES",
+                   "salesmen"     => "ALL_SALESMEN",
+                   "departments"  => "ALL_DEPARTMENTS",
+                   "$form->{vc}s" => "ALL_VC");
+
+  # constants and subs for template
+  $form->{jsscript}        = 1;
+  $form->{employee_labels} = sub { $_[0]->{"name"} || $_[0]->{"login"} };
+  $form->{vc_keys}         = sub { "$_[0]->{name}--$_[0]->{id}" };
+  $form->{salesman_labels} = $form->{employee_labels};
 
-<input class=submit type=submit name=action value="|
-    . $locale->text('Continue') . qq|">
-</form>
+  $form->header();
 
-</body>
-</html>
-|;
+  print $form->parse_html_template('oe/search');
 
   $lxdebug->leave_sub();
 }
index 8450cb7..f0ff96b 100644 (file)
@@ -1835,6 +1835,7 @@ $self->{texts} = {
   'not transferred in yet'      => 'noch nicht eingelagert',
   'not transferred out yet'     => 'noch nicht ausgelagert',
   'number'                      => 'Nummer',
+  'oe.pl::search called with unknown type' => 'oe.pl::search mit unbekanntem Typ aufgerufen',
   'order'                       => 'Reihenfolge',
   'our vendor number at customer' => 'unsere Lieferanten-Nr. beim Kunden',
   'packing_list'                => 'Versandliste',
index b3857df..f04ac78 100644 (file)
@@ -168,7 +168,6 @@ $self->{texts} = {
   'History'                     => 'Historie',
   'ID'                          => 'Buchungsnummer',
   'In-line'                     => 'im Text',
-  'Include in Report'           => 'In Bericht aufnehmen',
   'Incorrect Password!'         => 'Ungültiges Passwort!',
   'Incorrect username or password!' => 'Ungültiger Benutzername oder falsches Passwort!',
   'Invalid follow-up ID.'       => 'Ung&uuml;ltige Wiedervorlage-ID.',
@@ -369,7 +368,6 @@ $self->{texts} = {
   'Zipcode'                     => 'PLZ',
   '[email]'                     => '[email]',
   'bin_list'                    => 'Lagerliste',
-  'button'                      => '?',
   'chargenumber #1'             => 'Chargennummer #1',
   'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Das Schl&uuml;sselwort "DB_config" fehlt.',
   'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Der Schl&uuml;ssel "LDAP_config" fehlt.',
@@ -382,6 +380,7 @@ $self->{texts} = {
   'no'                          => 'nein',
   'no chargenumber'             => 'keine Chargennummer',
   'none (pricegroup)'           => 'keine',
+  'oe.pl::search called with unknown type' => 'oe.pl::search mit unbekanntem Typ aufgerufen',
   'packing_list'                => 'Versandliste',
   'pick_list'                   => 'Entnahmeliste',
   'proforma'                    => 'Proforma',
index 86a14a5..00d93f6 100644 (file)
@@ -153,7 +153,6 @@ $self->{texts} = {
   'History'                     => 'Historie',
   'ID'                          => 'Buchungsnummer',
   'In-line'                     => 'im Text',
-  'Include in Report'           => 'In Bericht aufnehmen',
   'Invoice'                     => 'Rechnung',
   'Invoice Date missing!'       => 'Rechnungsdatum fehlt!',
   'Invoice Number missing!'     => 'Rechnungsnummer fehlt!',
@@ -338,7 +337,6 @@ $self->{texts} = {
   'Zipcode'                     => 'PLZ',
   '[email]'                     => '[email]',
   'bin_list'                    => 'Lagerliste',
-  'button'                      => '?',
   'chargenumber #1'             => 'Chargennummer #1',
   'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Das Schl&uuml;sselwort "DB_config" fehlt.',
   'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Der Schl&uuml;ssel "LDAP_config" fehlt.',
@@ -350,6 +348,7 @@ $self->{texts} = {
   'no'                          => 'nein',
   'no chargenumber'             => 'keine Chargennummer',
   'none (pricegroup)'           => 'keine',
+  'oe.pl::search called with unknown type' => 'oe.pl::search mit unbekanntem Typ aufgerufen',
   'packing_list'                => 'Versandliste',
   'pick_list'                   => 'Entnahmeliste',
   'proforma'                    => 'Proforma',
index fdce5d9..df26d05 100644 (file)
@@ -167,7 +167,6 @@ $self->{texts} = {
   'History'                     => 'Historie',
   'ID'                          => 'Buchungsnummer',
   'In-line'                     => 'im Text',
-  'Include in Report'           => 'In Bericht aufnehmen',
   'Invalid follow-up ID.'       => 'Ung&uuml;ltige Wiedervorlage-ID.',
   'Invoice'                     => 'Rechnung',
   'Invoice Date missing!'       => 'Rechnungsdatum fehlt!',
@@ -362,7 +361,6 @@ $self->{texts} = {
   'Zipcode'                     => 'PLZ',
   '[email]'                     => '[email]',
   'bin_list'                    => 'Lagerliste',
-  'button'                      => '?',
   'chargenumber #1'             => 'Chargennummer #1',
   'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Das Schl&uuml;sselwort "DB_config" fehlt.',
   'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Der Schl&uuml;ssel "LDAP_config" fehlt.',
@@ -375,6 +373,7 @@ $self->{texts} = {
   'no'                          => 'nein',
   'no chargenumber'             => 'keine Chargennummer',
   'none (pricegroup)'           => 'keine',
+  'oe.pl::search called with unknown type' => 'oe.pl::search mit unbekanntem Typ aufgerufen',
   'packing_list'                => 'Versandliste',
   'pick_list'                   => 'Entnahmeliste',
   'proforma'                    => 'Proforma',
diff --git a/templates/webpages/oe/search_de.html b/templates/webpages/oe/search_de.html
new file mode 100644 (file)
index 0000000..e0efc08
--- /dev/null
@@ -0,0 +1,243 @@
+[%- USE HTML %]
+[%- SET vclabel = vc == 'customer' ? 'Kunde' : 'Lieferant' %]
+<body>
+
+<form method="post" action="oe.pl">
+
+ <p><div class="listtop">[% HTML.escape(title) %]</div></p>
+
+<table width="100%">
+ <tr>
+  <td>
+   <table>
+    <tr>
+     <th align="right">[% HTML.escape(vclabel) %]</th>
+     <td colspan="3">
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = vc,
+                 default       = vc == 'customer' ? oldcustomer : oldvendor,
+                 style         = 'width: 250px',
+                 DATA          = ALL_VC,
+                 id_sub        = 'vc_keys',
+                 label_key     = 'name',
+                 select        = vc_select,
+                 limit         = vclimit,
+                 show_empty    = 1,
+                 allow_textbox = 1,
+                 -%]
+     </td>
+    </tr>
+[%- IF ALL_DEPARTMENTS.size %]
+    <tr>
+     <th align="right" nowrap>Abteilung</th>
+     <td colspan="3">
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'department_id',
+                 style         = 'width: 250px',
+                 DATA          = ALL_DEPARTMENTS,
+                 id_key        = 'id',
+                 label_key     = 'description',
+                 limit         = vclimit,
+                 show_empty    = 1,
+                 allow_textbox = 1,
+            -%]
+     </td>
+    </tr>
+[%- END %]
+    <tr>
+     <th align="right">[% HTML.escape(ordlabel) %]</th>
+     <td colspan="3"><input name="[% HTML.escape(ordnrname) %]" style="width: 250px"></td>
+    </tr>
+    <tr>
+     <th align="right">Bearbeiter</th>
+     <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'employee_id',
+                 style         = 'width: 250px',
+                 DATA          =  ALL_EMPLOYEES,
+                 id_key        = 'id',
+                 label_sub     = 'employee_labels',
+                 limit         = vclimit,
+                 show_empty    = 1,
+                 allow_textbox = 1,
+                 default       = ' ',
+            -%]
+     </td>
+    </tr>
+    <tr>
+     <th align="right">Verkäufer/in</th>
+     <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'salesman_id',
+                 style         = 'width: 250px',
+                 DATA          =  ALL_SALESMEN,
+                 id_key        = 'id',
+                 label_sub     = 'salesman_labels',
+                 limit         = vclimit,
+                 show_empty    = 1,
+                 allow_textbox = 1,
+            -%]
+     </td>
+    </tr>
+    <tr>
+     <th align="right">Vorgangsbezeichnung</th>
+     <td colspan="3"><input name="transaction_description" style="width: 250px"></td>
+    </tr>
+    <tr>
+     <th align="right">Projektnummer</th>
+     <td colspan="3">
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'project_id',
+                 style         = "width: 250px",
+                 DATA          =  ALL_PROJECTS,
+                 id_key        = 'id',
+                 label_key     = 'projectnumber',
+                 limit         = vclimit,
+                 show_empty    = 1,
+                 allow_textbox = 1,
+            -%]
+     </td>
+    </tr>
+    <tr>
+     <th align="right">Von</th>
+     <td>
+      <input name="transdatefrom" id="transdatefrom" size="11" title="[% HTML.escape(dateformat) %]" onBlur="check_right_date_format(this)">
+      <input type="button" name="transdatefrom" id="trigger3" value="?">
+     </td>
+     <th align="right">bis</th>
+     <td>
+      <input name="transdateto" id="transdateto" size="11" title="[% HTML.escape(dateformat) %]" onBlur="check_right_date_format(this)">
+      <input type="button" name="transdateto" name="transdateto" id="trigger4" value="?">
+     </td>
+    </tr>
+    <tr>
+     <th align="right">In Bericht aufnehmen</th>
+     <td colspan="5">
+      <table>
+       <tr>
+        <td>
+         <input type="checkbox" name="open" value="1" id="open" checked>
+         <label for="open">Offen</label>
+        </td>
+        <td>
+         <input type="checkbox" name="closed" value="1" id="closed">
+         <label for="closed">Geschlossen</label>
+        </td>
+       </tr>
+[%- IF type == 'sales_order' OR type == 'purchase_order' %]
+       <tr>
+        <td>
+         <input name="notdelivered" id="notdelivered" class="checkbox" type="checkbox" value="1" checked>
+         <label for="notdelivered">Nicht geliefert</label>
+        </td>
+        <td>
+         <input name="delivered" id="delivered" class="checkbox" type="checkbox" value="1" checked>
+         <label for="delivered">Geliefert</label>
+        </td>
+       </tr>
+[%- END %]
+       <tr>
+        <td>
+         <input name="l_id" id="l_id" class="checkbox" type="checkbox" value="Y">
+         <label for="l_id">Buchungsnummer</label>
+        </td>
+        <td>
+         <input name="l_[% HTML.escape(ordnrname) %]" id="l_[% HTML.escape(ordnrname) %]" class="checkbox" type="checkbox" value="Y" checked>
+         <label for="l_[% HTML.escape(ordnrname) %]">[% HTML.escape(ordlabel) %]</label>
+        </td>
+       </tr>
+       <tr>
+        <td>
+         <input name="l_transdate" id="l_transdate" class="checkbox" type="checkbox" value="Y" checked>
+         <label for="l_transdate">Datum</label>
+        </td>
+        <td>
+         <input name="l_reqdate" id="l_reqdate" class="checkbox" type="checkbox" value="Y" checked>
+         <label for="l_reqdate">Lieferdatum</label>
+        </td>
+       </tr>
+       <tr>
+        <td>
+         <input name="l_name" id="l_name" class="checkbox" type="checkbox" value="Y" checked>
+         <label for="l_name">[% HTML.escape(vclabel) %]
+        </td>
+        <td>
+         <input name="l_employee" id="l_employee" class="checkbox" type="checkbox" value="Y" checked>
+         <label for="l_employee">Bearbeiter</label>
+        </td>
+        <td>
+         <input name="l_shipvia" id="l_shipvia" class="checkbox" type="checkbox" value="Y">
+         <label for="l_shipvia">Transportmittel</label>
+        </td>
+       </tr>
+       <tr>
+        <td>
+         <input name="l_netamount" id="l_netamount" class="checkbox" type="checkbox" value="Y">
+         <label for="l_netamount">Betrag</label>
+        </td>
+        <td>
+         <input name="l_tax" id="l_tax" class="checkbox" type="checkbox" value="Y">
+         <label for="l_tax">Steuer</label>
+        </td>
+        <td>
+         <input name="l_amount" id="l_amount" class="checkbox" type="checkbox" value="Y" checked>
+         <label for="l_amount">Summe</label>
+        </td>
+       </tr>
+       <tr>
+        <td>
+         <input name="l_marge_total" id="l_marge_total" class="checkbox" type="checkbox" value="Y">
+         <label for="l_marge_total">Ertrag</label>
+        </td>
+        <td>
+         <input name="l_marge_percent" id="l_marge_percent" class="checkbox" type="checkbox" value="Y">
+         <label for="l_marge_percent">Ertrag prozentual</label>
+        </td>
+       </tr>
+       <tr>
+        <td>
+         <input name="l_globalprojectnumber" id="l_globalprojectnumber" class="checkbox" type="checkbox" value="Y">
+         <label for="l_globalprojectnumber">Projektnummer</label>
+        </td>
+        <td>
+         <input name="l_transaction_description" id="l_transaction_description" class="checkbox" type="checkbox" value="Y">
+         <label for="l_transaction_description">Vorgangsbezeichnung</label>
+        </td>
+       </tr>
+       <tr>
+        <td>
+         <input name="l_subtotal" id="l_subtotal" class="checkbox" type="checkbox" value="Y">
+         <label for="l_subtotal">Zwischensumme</label>
+        </td>
+        <td>
+         <input name="l_salesman" id="l_salesman" class="checkbox" type="checkbox" value="Y">
+         <label for="l_salesman">Verkäufer/in</label>
+        </td>
+       </tr>
+[%- IF type == 'sales_order' %]
+       <tr><td colspan="3"><hr></td></tr>
+[%- END %]
+      </table>
+     </td>
+    </tr>
+   </table>
+  </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+   Calendar.setup({ inputField : "transdatefrom", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger3" });
+   Calendar.setup({ inputField : "transdateto",   ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger4" });
+ //-->
+</script>
+
+<br>
+<input type="hidden" name="nextsub" value="orders">
+<input type="hidden" name="vc" value="[% HTML.escape(vc) %]">
+<input type="hidden" name="type" value="[% HTML.escape(type) %]">
+<input class="submit" type="submit" name="action" value="Weiter">
+</form>
+
+</body>
+</html>
diff --git a/templates/webpages/oe/search_master.html b/templates/webpages/oe/search_master.html
new file mode 100644 (file)
index 0000000..3936328
--- /dev/null
@@ -0,0 +1,243 @@
+[%- USE HTML %]
+[%- SET vclabel = vc == 'customer' ? '<translate>Customer</translate>' : '<translate>Vendor</translate>' %]
+<body>
+
+<form method="post" action="oe.pl">
+
+ <p><div class="listtop">[% HTML.escape(title) %]</div></p>
+
+<table width="100%">
+ <tr>
+  <td>
+   <table>
+    <tr>
+     <th align="right">[% HTML.escape(vclabel) %]</th>
+     <td colspan="3">
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = vc,
+                 default       = vc == 'customer' ? oldcustomer : oldvendor,
+                 style         = 'width: 250px',
+                 DATA          = ALL_VC,
+                 id_sub        = 'vc_keys',
+                 label_key     = 'name',
+                 select        = vc_select,
+                 limit         = vclimit,
+                 show_empty    = 1,
+                 allow_textbox = 1,
+                 -%]
+     </td>
+    </tr>
+[%- IF ALL_DEPARTMENTS.size %]
+    <tr>
+     <th align="right" nowrap><translate>Department</translate></th>
+     <td colspan="3">
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'department_id',
+                 style         = 'width: 250px',
+                 DATA          = ALL_DEPARTMENTS,
+                 id_key        = 'id',
+                 label_key     = 'description',
+                 limit         = vclimit,
+                 show_empty    = 1,
+                 allow_textbox = 1,
+            -%]
+     </td>
+    </tr>
+[%- END %]
+    <tr>
+     <th align="right">[% HTML.escape(ordlabel) %]</th>
+     <td colspan="3"><input name="[% HTML.escape(ordnrname) %]" style="width: 250px"></td>
+    </tr>
+    <tr>
+     <th align="right"><translate>Employee</translate></th>
+     <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'employee_id',
+                 style         = 'width: 250px',
+                 DATA          =  ALL_EMPLOYEES,
+                 id_key        = 'id',
+                 label_sub     = 'employee_labels',
+                 limit         = vclimit,
+                 show_empty    = 1,
+                 allow_textbox = 1,
+                 default       = ' ',
+            -%]
+     </td>
+    </tr>
+    <tr>
+     <th align="right"><translate>Salesman</translate></th>
+     <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'salesman_id',
+                 style         = 'width: 250px',
+                 DATA          =  ALL_SALESMEN,
+                 id_key        = 'id',
+                 label_sub     = 'salesman_labels',
+                 limit         = vclimit,
+                 show_empty    = 1,
+                 allow_textbox = 1,
+            -%]
+     </td>
+    </tr>
+    <tr>
+     <th align="right"><translate>Transaction description</translate></th>
+     <td colspan="3"><input name="transaction_description" style="width: 250px"></td>
+    </tr>
+    <tr>
+     <th align="right"><translate>Project Number</translate></th>
+     <td colspan="3">
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'project_id',
+                 style         = "width: 250px",
+                 DATA          =  ALL_PROJECTS,
+                 id_key        = 'id',
+                 label_key     = 'projectnumber',
+                 limit         = vclimit,
+                 show_empty    = 1,
+                 allow_textbox = 1,
+            -%]
+     </td>
+    </tr>
+    <tr>
+     <th align="right"><translate>From</translate></th>
+     <td>
+      <input name="transdatefrom" id="transdatefrom" size="11" title="[% HTML.escape(dateformat) %]" onBlur="check_right_date_format(this)">
+      <input type="button" name="transdatefrom" id="trigger3" value="?">
+     </td>
+     <th align="right"><translate>Bis</translate></th>
+     <td>
+      <input name="transdateto" id="transdateto" size="11" title="[% HTML.escape(dateformat) %]" onBlur="check_right_date_format(this)">
+      <input type="button" name="transdateto" name="transdateto" id="trigger4" value="?">
+     </td>
+    </tr>
+    <tr>
+     <th align="right"><translate>Include in Report</translate></th>
+     <td colspan="5">
+      <table>
+       <tr>
+        <td>
+         <input type="checkbox" name="open" value="1" id="open" checked>
+         <label for="open"><translate>Open</translate></label>
+        </td>
+        <td>
+         <input type="checkbox" name="closed" value="1" id="closed">
+         <label for="closed"><translate>Closed</translate></label>
+        </td>
+       </tr>
+[%- IF type == 'sales_order' OR type == 'purchase_order' %]
+       <tr>
+        <td>
+         <input name="notdelivered" id="notdelivered" class="checkbox" type="checkbox" value="1" checked>
+         <label for="notdelivered"><translate>Not delivered</translate></label>
+        </td>
+        <td>
+         <input name="delivered" id="delivered" class="checkbox" type="checkbox" value="1" checked>
+         <label for="delivered"><translate>Delivered</translate></label>
+        </td>
+       </tr>
+[%- END %]
+       <tr>
+        <td>
+         <input name="l_id" id="l_id" class="checkbox" type="checkbox" value="Y">
+         <label for="l_id"><translate>ID</translate></label>
+        </td>
+        <td>
+         <input name="l_[% HTML.escape(ordnrname) %]" id="l_[% HTML.escape(ordnrname) %]" class="checkbox" type="checkbox" value="Y" checked>
+         <label for="l_[% HTML.escape(ordnrname) %]">[% HTML.escape(ordlabel) %]</label>
+        </td>
+       </tr>
+       <tr>
+        <td>
+         <input name="l_transdate" id="l_transdate" class="checkbox" type="checkbox" value="Y" checked>
+         <label for="l_transdate"><translate>Date</translate></label>
+        </td>
+        <td>
+         <input name="l_reqdate" id="l_reqdate" class="checkbox" type="checkbox" value="Y" checked>
+         <label for="l_reqdate"><translate>Required by</translate></label>
+        </td>
+       </tr>
+       <tr>
+        <td>
+         <input name="l_name" id="l_name" class="checkbox" type="checkbox" value="Y" checked>
+         <label for="l_name">[% HTML.escape(vclabel) %]
+        </td>
+        <td>
+         <input name="l_employee" id="l_employee" class="checkbox" type="checkbox" value="Y" checked>
+         <label for="l_employee"><translate>Employee</translate></label>
+        </td>
+        <td>
+         <input name="l_shipvia" id="l_shipvia" class="checkbox" type="checkbox" value="Y">
+         <label for="l_shipvia"><translate>Ship via</translate></label>
+        </td>
+       </tr>
+       <tr>
+        <td>
+         <input name="l_netamount" id="l_netamount" class="checkbox" type="checkbox" value="Y">
+         <label for="l_netamount"><translate>Amount</translate></label>
+        </td>
+        <td>
+         <input name="l_tax" id="l_tax" class="checkbox" type="checkbox" value="Y">
+         <label for="l_tax"><translate>Tax</translate></label>
+        </td>
+        <td>
+         <input name="l_amount" id="l_amount" class="checkbox" type="checkbox" value="Y" checked>
+         <label for="l_amount"><translate>Total</translate></label>
+        </td>
+       </tr>
+       <tr>
+        <td>
+         <input name="l_marge_total" id="l_marge_total" class="checkbox" type="checkbox" value="Y">
+         <label for="l_marge_total"><translate>Ertrag</translate></label>
+        </td>
+        <td>
+         <input name="l_marge_percent" id="l_marge_percent" class="checkbox" type="checkbox" value="Y">
+         <label for="l_marge_percent"><translate>Ertrag prozentual</translate></label>
+        </td>
+       </tr>
+       <tr>
+        <td>
+         <input name="l_globalprojectnumber" id="l_globalprojectnumber" class="checkbox" type="checkbox" value="Y">
+         <label for="l_globalprojectnumber"><translate>Project Number</translate></label>
+        </td>
+        <td>
+         <input name="l_transaction_description" id="l_transaction_description" class="checkbox" type="checkbox" value="Y">
+         <label for="l_transaction_description"><translate>Transaction description</translate></label>
+        </td>
+       </tr>
+       <tr>
+        <td>
+         <input name="l_subtotal" id="l_subtotal" class="checkbox" type="checkbox" value="Y">
+         <label for="l_subtotal"><translate>Subtotal</translate></label>
+        </td>
+        <td>
+         <input name="l_salesman" id="l_salesman" class="checkbox" type="checkbox" value="Y">
+         <label for="l_salesman"><translate>Salesman</translate></label>
+        </td>
+       </tr>
+[%- IF type == 'sales_order' %]
+       <tr><td colspan="3"><hr></td></tr>
+[%- END %]
+      </table>
+     </td>
+    </tr>
+   </table>
+  </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+   Calendar.setup({ inputField : "transdatefrom", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger3" });
+   Calendar.setup({ inputField : "transdateto",   ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger4" });
+ //-->
+</script>
+
+<br>
+<input type="hidden" name="nextsub" value="orders">
+<input type="hidden" name="vc" value="[% HTML.escape(vc) %]">
+<input type="hidden" name="type" value="[% HTML.escape(type) %]">
+<input class="submit" type="submit" name="action" value="<translate>Continue</translate>">
+</form>
+
+</body>
+</html>