GLN: In Bericht Kunden/Lieferanten anzeigen und danach suchen können.
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Fri, 12 Feb 2016 15:25:40 +0000 (16:25 +0100)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Fri, 12 Feb 2016 16:16:32 +0000 (17:16 +0100)
SL/CT.pm
bin/mozilla/ct.pl
locale/de/all
locale/en/all
templates/webpages/ct/search.html

index cdf274b..f21f73b 100644 (file)
--- a/SL/CT.pm
+++ b/SL/CT.pm
@@ -75,6 +75,7 @@ sub search {
       "zipcode"            => "ct.zipcode",
       "city"               => "ct.city",
       "country"            => "ct.country",
+      "gln"                => "ct.gln",
       "discount"           => "ct.discount",
       "insertdate"         => "ct.itime",
       "salesman"           => "e.name",
@@ -143,6 +144,19 @@ sub search {
     push @values, ('%' . $form->{addr_country} . '%') x 2;
   }
 
+  if ($form->{addr_gln}) {
+    $where .= " AND ((lower(ct.gln) LIKE lower(?))
+                     OR
+                     (ct.id IN (
+                        SELECT so.trans_id
+                        FROM shipto so
+                        WHERE (so.module = 'CT')
+                          AND (lower(so.shiptogln) LIKE lower(?))
+                      ))
+                     )";
+    push @values, ('%' . $form->{addr_gln} . '%') x 2;
+  }
+
   if ( $form->{status} eq 'orphaned' ) {
     $where .=
       qq| AND ct.id NOT IN | .
index ec1ccbf..e8b6854 100644 (file)
@@ -145,6 +145,7 @@ sub list_names {
   push @options, $locale->text('Billing/shipping address (zipcode)') . " : $form->{zipcode}"   if $form->{addr_zipcode};
   push @options, $locale->text('Billing/shipping address (street)')  . " : $form->{street}"    if $form->{addr_street};
   push @options, $locale->text('Billing/shipping address (country)') . " : $form->{country}"   if $form->{addr_country};
+  push @options, $locale->text('Billing/shipping address (GLN)')     . " : $form->{addr_gln}"  if $form->{addr_gln};
 
   if ($form->{business_id}) {
     my $business = SL::DB::Manager::Business->find_by(id => $form->{business_id});
@@ -170,7 +171,7 @@ sub list_names {
     'id',        'name',    "$form->{db}number",   'contact',   'phone',    'discount',
     'fax',       'email',   'taxnumber',           'street',    'zipcode' , 'city',
     'business',  'payment', 'invnumber', 'ordnumber',           'quonumber', 'salesman',
-    'country',   'insertdate',           'pricegroup'
+    'country',   'gln',     'insertdate',           'pricegroup'
   );
 
   my @includeable_custom_variables = grep { $_->{includeable} } @{ $cvar_configs };
@@ -197,6 +198,7 @@ sub list_names {
     'zipcode'           => { 'text' => $locale->text('Zipcode'), },
     'city'              => { 'text' => $locale->text('City'), },
     'country'           => { 'text' => $locale->text('Country'), },
+    'gln'               => { 'text' => $locale->text('GLN'), },
     'salesman'          => { 'text' => $locale->text('Salesman'), },
     'discount'          => { 'text' => $locale->text('Discount'), },
     'payment'           => { 'text' => $locale->text('Payment Terms'), },
@@ -209,7 +211,7 @@ sub list_names {
 
   my @hidden_variables  = ( qw(
       db status obsolete name contact email cp_name addr_street addr_zipcode
-      addr_city addr_country business_id salesman_id insertdateto insertdatefrom
+      addr_city addr_country addr_gln business_id salesman_id insertdateto insertdatefrom
     ), "$form->{db}number",
     map({ "cvar_$_->{name}" } @searchable_custom_variables),
     map({'cvar_'. $_->{name} .'_qtyop'} grep({$_->{type} eq 'number'} @searchable_custom_variables)),
index 547fafd..6dd4877 100755 (executable)
@@ -389,6 +389,7 @@ $self->{texts} = {
   'Billed extra expenses'       => 'Abgerechnete Nebenkosten',
   'Billing Address'             => 'Rechnungsadresse',
   'Billing Periodicity'         => 'Abrechnungsperiodizität',
+  'Billing/shipping address (GLN)' => 'Rechnungsadresse (GLN)',
   'Billing/shipping address (city)' => 'Rechnungsadresse (Stadt)',
   'Billing/shipping address (country)' => 'Rechnungsadresse (Land)',
   'Billing/shipping address (street)' => 'Rechnungsadresse (Straße)',
@@ -1284,6 +1285,7 @@ $self->{texts} = {
   'GL Transaction (abbreviation)' => 'DB',
   'GL search'                   => 'FiBu Suche',
   'GL transactions changeable'  => 'Änderbarkeit von Dialogbuchungen',
+  'GLN'                         => 'GLN',
   'Gegenkonto'                  => 'Gegenkonto',
   'Gender'                      => 'Geschlecht',
   'General Ledger'              => 'Finanzbuchhaltung',
index 124ac89..f1dfda7 100644 (file)
@@ -306,6 +306,7 @@ $self->{texts} = {
   'Bestandskonto'               => '',
   'Bilanz'                      => '',
   'Billing Address'             => '',
+  'Billing/shipping address (GLN)' => '',
   'Billing/shipping address (city)' => '',
   'Billing/shipping address (country)' => '',
   'Billing/shipping address (street)' => '',
@@ -1035,6 +1036,7 @@ $self->{texts} = {
   'Fwd'                         => 'Forward',
   'GL Transaction'              => '',
   'GL transactions changeable'  => '',
+  'GLN'                         => '',
   'Gegenkonto'                  => '',
   'Gender'                      => '',
   'General Ledger'              => '',
index aa51707..d98b324 100644 (file)
     <th align="right" nowrap>[% 'Billing/shipping address (country)' | $T8 %]</th>
     <td><input name="addr_country" size="35"></td>
    </tr>
+   <tr>
+    <th align="right" nowrap>[% 'Billing/shipping address (GLN)' | $T8 %]</th>
+    <td><input name="addr_gln" size="35"></td>
+   </tr>
 
    [% IF SHOW_BUSINESS_TYPES %]
    <tr>
         <input name="l_insertdate" id="l_insertdate" class="checkbox" type="checkbox" value="Y">
         <label for="l_insertdate">[% 'Insert Date' | $T8 %]</label>
        </td>
+       <td>
+        <input name="l_gln" id="l_gln" type="checkbox" class="checkbox" value="Y" checked>
+        <label for="l_gln">[% 'GLN' | $T8 %]</label>
+       </td>
+      </tr>
       [% IF IS_CUSTOMER %]
+      <tr>
       <td>
        <input name="l_salesman" id="l_salesman" type="checkbox" class="checkbox" value="Y">
        <label for="l_salesman">[% 'Salesman' | $T8 %]</label>
       </td>
-      </tr>
-      <tr>
       <td>
        <input name="l_pricegroup" id="l_pricegroup" type="checkbox" class="checkbox" value="Y">
        <label for="l_pricegroup">[% 'Pricegroup' | $T8 %]</label>
       </td>
-      [% END %]
       </tr>
+      [% END %]
 
       [% CUSTOM_VARIABLES_INCLUSION_CODE %]