Englische Locales auf den neusten Stand bringen.
authorSven Schöling <s.schoeling@linet-services.de>
Fri, 11 Dec 2009 14:39:30 +0000 (15:39 +0100)
committerSven Schöling <s.schoeling@linet-services.de>
Fri, 11 Dec 2009 14:39:30 +0000 (15:39 +0100)
71 files changed:
locale/de/all
locale/de/ap
locale/de/do
locale/de/ic
locale/de/io
locale/de/ir
locale/de/is
locale/de/login
locale/de/oe
locale/de/todo
locale/en/all
locale/en/ap
locale/en/ar
locale/en/bankaccounts [new file with mode: 0644]
locale/en/cp_greeting_migration [new file with mode: 0644]
locale/en/ct
locale/en/dn
locale/en/do
locale/en/ic
locale/en/io
locale/en/ir
locale/en/is
locale/en/login
locale/en/lost
locale/en/menu
locale/en/menunew
locale/en/missing
locale/en/oe
locale/en/sepa [new file with mode: 0644]
locale/en/todo
templates/webpages/am/config_en.html
templates/webpages/am/edit_accounts_en.html
templates/webpages/amcvar/search_filter_en.html
templates/webpages/amcvar/search_include_en.html
templates/webpages/ap/search_en.html [new file with mode: 0644]
templates/webpages/ar/search_en.html [new file with mode: 0644]
templates/webpages/bankaccounts/bank_account_display_form_en.html [new file with mode: 0644]
templates/webpages/bankaccounts/bank_account_list_bottom_en.html [new file with mode: 0644]
templates/webpages/common/search_history_en.html
templates/webpages/common/show_history_en.html
templates/webpages/ct/ajax_autocomplete_en.html [new file with mode: 0644]
templates/webpages/ct/form_header_en.html
templates/webpages/ct/search_en.html
templates/webpages/dbupgrade/cp_greeting_update_form_en.html [new file with mode: 0644]
templates/webpages/do/form_header_en.html
templates/webpages/do/search_en.html
templates/webpages/dunning/search_en.html
templates/webpages/ic/ajax_autocomplete_en.html [new file with mode: 0644]
templates/webpages/ic/form_footer_en.html
templates/webpages/ic/search_en.html
templates/webpages/ir/_payments_en.html [new file with mode: 0644]
templates/webpages/ir/form_footer_en.html [new file with mode: 0644]
templates/webpages/ir/form_header_en.html [new file with mode: 0644]
templates/webpages/is/_payments_en.html [new file with mode: 0644]
templates/webpages/is/form_footer_en.html [new file with mode: 0644]
templates/webpages/is/form_header_en.html [new file with mode: 0644]
templates/webpages/oe/form_footer_en.html
templates/webpages/oe/form_header_en.html
templates/webpages/oe/sales_order_en.html
templates/webpages/oe/search_en.html
templates/webpages/report_generator/html_report_en.html
templates/webpages/sepa/bank_transfer_add_en.html [new file with mode: 0644]
templates/webpages/sepa/bank_transfer_create_en.html [new file with mode: 0644]
templates/webpages/sepa/bank_transfer_created_en.html [new file with mode: 0644]
templates/webpages/sepa/bank_transfer_edit_en.html [new file with mode: 0644]
templates/webpages/sepa/bank_transfer_list_bottom_en.html [new file with mode: 0644]
templates/webpages/sepa/bank_transfer_list_top_en.html [new file with mode: 0644]
templates/webpages/sepa/bank_transfer_mark_as_closed_step1_en.html [new file with mode: 0644]
templates/webpages/sepa/bank_transfer_search_en.html [new file with mode: 0644]
templates/webpages/ustva/report_en.html
templates/webpages/webdav/_list_en.html [new file with mode: 0644]

index b0464a0..8173d6a 100644 (file)
@@ -1407,8 +1407,6 @@ $self->{texts} = {
   'Set eMail text'              => 'eMail Text eingeben',
   'Setup Menu'                  => 'Menüsetup',
   'Setup Templates'             => 'Vorlagen auswählen',
-  'Ship'                        => 'Lagerausgang',
-  'Ship rcvd'                   => 'Lagereingang',
   'Ship to'                     => 'Lieferadresse',
   'Ship via'                    => 'Transportmittel',
   'Shipping Address'            => 'Lieferadresse',
index 51fd1a0..84333ce 100644 (file)
@@ -104,7 +104,6 @@ $self->{texts} = {
   'Dunning'                     => 'Mahnung',
   'ELSE'                        => 'Zusatz',
   'Edit Accounts Payables Transaction' => 'Kreditorenbuchung bearbeiten',
-  'Employee'                    => 'Bearbeiter',
   'Enter longdescription'       => 'Langtext eingeben',
   'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
   'Exch'                        => 'Wechselkurs.',
@@ -121,7 +120,6 @@ $self->{texts} = {
   'General ledger and cash'     => 'Finanzbuchhaltung und Zahlungsverkehr',
   'History'                     => 'Historie',
   'ID'                          => 'Buchungsnummer',
-  'Include in Report'           => 'In Bericht aufnehmen',
   'Invoice'                     => 'Rechnung',
   'Invoice (one letter abbreviation)' => 'R',
   'Invoice Date'                => 'Rechnungsdatum',
@@ -226,7 +224,6 @@ $self->{texts} = {
   'Storno Invoice'              => 'Stornorechnung',
   'Storno Packing List'         => 'Stornolieferschein',
   'Subject'                     => 'Betreff',
-  'Subtotal'                    => 'Zwischensumme',
   'Tax'                         => 'Steuer',
   'Tax Included'                => 'Steuer im Preis inbegriffen',
   'Taxkey'                      => 'Steuerschlüssel',
index b036f6c..2f0b0b8 100644 (file)
@@ -241,12 +241,9 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Seriennummer',
-  'Ship'                        => 'Lagerausgang',
-  'Ship rcvd'                   => 'Lagereingang',
   'Ship to'                     => 'Lieferadresse',
   'Ship via'                    => 'Transportmittel',
   'Shipping Address'            => 'Lieferadresse',
-  'Show details'                => 'Details anzeigen',
   'Stock'                       => 'Einlagern',
   'Storno Invoice'              => 'Stornorechnung',
   'Storno Packing List'         => 'Stornolieferschein',
index 984553a..6fe1856 100644 (file)
@@ -262,12 +262,9 @@ $self->{texts} = {
   'Serial Number'               => 'Seriennummer',
   'Service Number missing!'     => 'Dienstleistungsnummer fehlt!',
   'Services'                    => 'Dienstleistungen',
-  'Ship'                        => 'Lagerausgang',
-  'Ship rcvd'                   => 'Lagereingang',
   'Ship to'                     => 'Lieferadresse',
   'Shipping Address'            => 'Lieferadresse',
   'Short'                       => 'Knapp',
-  'Show details'                => 'Details anzeigen',
   'Sold'                        => 'Verkauft',
   'Storno Invoice'              => 'Stornorechnung',
   'Storno Packing List'         => 'Stornolieferschein',
index a3529f4..7eeece4 100644 (file)
@@ -203,11 +203,8 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Seriennummer',
-  'Ship'                        => 'Lagerausgang',
-  'Ship rcvd'                   => 'Lagereingang',
   'Ship to'                     => 'Lieferadresse',
   'Shipping Address'            => 'Lieferadresse',
-  'Show details'                => 'Details anzeigen',
   'Storno Invoice'              => 'Stornorechnung',
   'Storno Packing List'         => 'Stornolieferschein',
   'Street'                      => 'Straße',
index 3856ab2..47c13fd 100644 (file)
@@ -229,11 +229,8 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Seriennummer',
-  'Ship'                        => 'Lagerausgang',
-  'Ship rcvd'                   => 'Lagereingang',
   'Ship to'                     => 'Lieferadresse',
   'Shipping Address'            => 'Lieferadresse',
-  'Show details'                => 'Details anzeigen',
   'Skip'                        => 'Überspringen',
   'Storno Invoice'              => 'Stornorechnung',
   'Storno Packing List'         => 'Stornolieferschein',
index f38b4db..e906ba7 100644 (file)
@@ -233,11 +233,8 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Seriennummer',
-  'Ship'                        => 'Lagerausgang',
-  'Ship rcvd'                   => 'Lagereingang',
   'Ship to'                     => 'Lieferadresse',
   'Shipping Address'            => 'Lieferadresse',
-  'Show details'                => 'Details anzeigen',
   'Skip'                        => 'Überspringen',
   'Storno Invoice'              => 'Stornorechnung',
   'Storno Packing List'         => 'Stornolieferschein',
index 06d2385..e7e7294 100644 (file)
@@ -301,12 +301,9 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Seriennummer',
-  'Ship'                        => 'Lagerausgang',
-  'Ship rcvd'                   => 'Lagereingang',
   'Ship to'                     => 'Lieferadresse',
   'Ship via'                    => 'Transportmittel',
   'Shipping Address'            => 'Lieferadresse',
-  'Show details'                => 'Details anzeigen',
   'Stock'                       => 'Einlagern',
   'Storno Invoice'              => 'Stornorechnung',
   'Storno Packing List'         => 'Stornolieferschein',
index 93c36e7..6cdb6d3 100644 (file)
@@ -279,12 +279,9 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Seriennummer',
-  'Ship'                        => 'Lagerausgang',
-  'Ship rcvd'                   => 'Lagereingang',
   'Ship to'                     => 'Lieferadresse',
   'Ship via'                    => 'Transportmittel',
   'Shipping Address'            => 'Lieferadresse',
-  'Show details'                => 'Details anzeigen',
   'Stock'                       => 'Einlagern',
   'Storno Invoice'              => 'Stornorechnung',
   'Storno Packing List'         => 'Stornolieferschein',
index 1090cb9..391648e 100644 (file)
@@ -298,12 +298,9 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Seriennummer',
-  'Ship'                        => 'Lagerausgang',
-  'Ship rcvd'                   => 'Lagereingang',
   'Ship to'                     => 'Lieferadresse',
   'Ship via'                    => 'Transportmittel',
   'Shipping Address'            => 'Lieferadresse',
-  'Show details'                => 'Details anzeigen',
   'Stock'                       => 'Einlagern',
   'Storno Invoice'              => 'Stornorechnung',
   'Storno Packing List'         => 'Stornolieferschein',
index 4a472a3..524bf2f 100644 (file)
@@ -93,6 +93,8 @@ $self->{texts} = {
   'Account deleted!'            => '',
   'Account for fees'            => '',
   'Account for interest'        => '',
+  'Account number'              => '',
+  'Account number #1, bank code #2, #3' => '',
   'Account saved!'              => '',
   'Accounting Group deleted!'   => '',
   'Accounting Group saved!'     => '',
@@ -147,6 +149,7 @@ $self->{texts} = {
   'Add Warehouse'               => '',
   'Add a new group'             => '',
   'Add and edit units'          => '',
+  'Add bank account'            => '',
   'Add custom variable'         => '',
   'Add note'                    => '',
   'Add to group'                => '',
@@ -162,7 +165,9 @@ $self->{texts} = {
   'All changes in that file have been reverted.' => '',
   'All database upgrades have been applied.' => '',
   'All general ledger entries'  => '',
+  'All of the exports you have selected were already closed.' => '',
   'All reports'                 => '',
+  'All the selected exports have already been closed, or all of their items have already been executed.' => '',
   'Allow access'                => '',
   'Allow the following users access to my follow-ups:' => '',
   'Alternatively you can create a new part which will then be selected.' => '',
@@ -234,6 +239,12 @@ $self->{texts} = {
   'Bank Code Number'            => '',
   'Bank Connection Tax Office'  => '',
   'Bank Connections'            => '',
+  'Bank accounts'               => '',
+  'Bank code'                   => '',
+  'Bank transfer amount'        => '',
+  'Bank transfer payment list for export #1' => '',
+  'Bank transfer via SEPA'      => '',
+  'Bank transfers via SEPA'     => '',
   'Base unit'                   => '',
   'Basic data'                  => '',
   'Batch Printing'              => '',
@@ -332,6 +343,7 @@ $self->{texts} = {
   'Change Lx-Office installation settings (all menu entries beneath \'System\')' => '',
   'Charge Number'               => '',
   'Charge number'               => '',
+  'Chart'                       => '',
   'Chart Type'                  => '',
   'Chart balance'               => '',
   'Chart of Accounts'           => '',
@@ -350,6 +362,7 @@ $self->{texts} = {
   'Click on login name to edit!' => '',
   'Close'                       => '',
   'Close Books up to'           => '',
+  'Close SEPA exports'          => '',
   'Close Window'                => '',
   'Closed'                      => '',
   'Collective Orders only work for orders from one customer!' => '',
@@ -399,6 +412,8 @@ $self->{texts} = {
   'Create and edit sales orders' => '',
   'Create and edit sales quotations' => '',
   'Create and edit vendor invoices' => '',
+  'Create bank transfer'        => '',
+  'Create bank transfer via SEPA XML' => '',
   'Create invoice?'             => '',
   'Create new'                  => '',
   'Create tables'               => '',
@@ -515,6 +530,8 @@ $self->{texts} = {
   'Description (Click on Description for details)' => '',
   'Description missing!'        => '',
   'Description must not be empty!' => '',
+  'Destination BIC'             => '',
+  'Destination IBAN'            => '',
   'Destination bin'             => '',
   'Destination warehouse'       => '',
   'Destination warehouse and bin' => '',
@@ -526,6 +543,7 @@ $self->{texts} = {
   'Display'                     => '',
   'Display file'                => '',
   'Display options'             => '',
+  'Do you really want to close the following SEPA exports? No payment will be recorded for bank transfers that haven\'t been marked as executed yet.' => '',
   'Do you really want to delete AP transaction #1?' => '',
   'Do you really want to delete AR transaction #1?' => '',
   'Do you really want to delete GL transaction #1?' => '',
@@ -538,6 +556,7 @@ $self->{texts} = {
   'Document'                    => '',
   'Documents in the WebDAV repository' => '',
   'Done'                        => '',
+  'Download SEPA XML export file' => '',
   'Download the backup'         => '',
   'Draft saved.'                => '',
   'Drawing'                     => '',
@@ -625,6 +644,7 @@ $self->{texts} = {
   'Edit Vendor Invoice'         => '',
   'Edit Warehouse'              => '',
   'Edit and delete a group'     => '',
+  'Edit bank account'           => '',
   'Edit custom variable'        => '',
   'Edit file'                   => '',
   'Edit greetings'              => '',
@@ -643,11 +663,13 @@ $self->{texts} = {
   'Edit the stylesheet'         => '',
   'Edit units'                  => '',
   'Editable'                    => '',
+  'Either there are no open invoices, or you have already initiated bank transfers with the open amounts for those that are still open.' => '',
   'Element disabled'            => '',
   'Employee'                    => '',
   'Empty transaction!'          => '',
   'Enter a description for this new draft.' => '',
   'Enter longdescription'       => '',
+  'Enter the requested execution date or leave empty for the quickest possible execution:' => '',
   'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' => '',
   'Equity'                      => '',
   'Error'                       => '',
@@ -666,6 +688,10 @@ $self->{texts} = {
   'Exchangerate Difference'     => '',
   'Exchangerate for payment missing!' => '',
   'Exchangerate missing!'       => '',
+  'Executed'                    => '',
+  'Execution date'              => '',
+  'Execution date from'         => '',
+  'Execution date to'           => '',
   'Existing Buchungsgruppen'    => '',
   'Existing Datasets'           => '',
   'Existing pending follow-ups for this item' => '',
@@ -682,6 +708,9 @@ $self->{texts} = {
   'Export Stammdaten'           => '',
   'Export as CSV'               => '',
   'Export as PDF'               => '',
+  'Export date'                 => '',
+  'Export date from'            => '',
+  'Export date to'              => '',
   'Extended'                    => '',
   'Extension Of Time'           => '',
   'Factor'                      => '',
@@ -829,6 +858,7 @@ $self->{texts} = {
   'Invoice deleted!'            => '',
   'Invoice for fees'            => '',
   'Invoice has already been storno\'d!' => '',
+  'Invoice number'              => '',
   'Invoice with Storno (abbreviation)' => '',
   'Invoices'                    => '',
   'Is this a summary account to record' => '',
@@ -906,8 +936,12 @@ $self->{texts} = {
   'List Tax'                    => '',
   'List Transactions'           => '',
   'List Warehouses'             => '',
+  'List bank accounts'          => '',
   'List export'                 => '',
+  'List of bank accounts'       => '',
+  'List of bank transfers'      => '',
   'List of custom variables'    => '',
+  'List open SEPA exports'      => '',
   'Load draft'                  => '',
   'Local Tax Office Preferences' => '',
   'Lock System'                 => '',
@@ -935,6 +969,7 @@ $self->{texts} = {
   'Mar'                         => '',
   'March'                       => '',
   'Margins'                     => '',
+  'Mark as closed'              => '',
   'Mark as paid?'               => '',
   'Mark closed'                 => '',
   'Marked as paid'              => '',
@@ -968,6 +1003,7 @@ $self->{texts} = {
   'Monat'                       => '',
   'Monthly'                     => '',
   'More than one control file with the tag \'%s\' exist.' => '',
+  'Multi mode not supported.'   => '',
   'Multibyte Encoding'          => '',
   'MwSt. inkl.'                 => '',
   'Name'                        => '',
@@ -979,6 +1015,7 @@ $self->{texts} = {
   'New Buchungsgruppe [% loop.count %]' => '',
   'New Templates'               => '',
   'New assembly'                => '',
+  'New bank account'            => '',
   'New contact'                 => '',
   'New customer'                => '',
   'New invoice'                 => '',
@@ -998,6 +1035,7 @@ $self->{texts} = {
   'No Vendor was found matching the search parameters.' => '',
   'No action defined.'          => '',
   'No backup file has been uploaded.' => '',
+  'No bank information has been entered in this vendor\'s master data entry. You cannot create bank transfers unless you enter bank information.' => '',
   'No bins have been added to this warehouse yet.' => '',
   'No customer has been selected yet.' => '',
   'No data was found.'          => '',
@@ -1012,6 +1050,7 @@ $self->{texts} = {
   'No part was found matching the search parameters.' => '',
   'No prices will be updated because no prices have been entered.' => '',
   'No problems were recognized.' => '',
+  'No transfers were executed in this export.' => '',
   'No unknown units where found.' => '',
   'No user has been selected.'  => '',
   'No valid number entered for pricegroup "#1".' => '',
@@ -1056,6 +1095,7 @@ $self->{texts} = {
   'One or more Perl modules missing' => '',
   'Only due follow-ups'         => '',
   'Open'                        => '',
+  'Open amount'                 => '',
   'OpenDocument/OASIS'          => '',
   'Openings'                    => '',
   'Optional comment'            => '',
@@ -1113,6 +1153,7 @@ $self->{texts} = {
   'Payment Terms missing in row ' => '',
   'Payment Terms saved!'        => '',
   'Payment date missing!'       => '',
+  'Payment list as PDF'         => '',
   'Payment posted!'             => '',
   'Payment terms deleted!'      => '',
   'Payments'                    => '',
@@ -1124,6 +1165,7 @@ $self->{texts} = {
   'Phone1'                      => '',
   'Phone2'                      => '',
   'Pick List'                   => '',
+  'Please Check the bank information for each vendor:' => '',
   'Please ask your administrator to create warehouses and bins.' => '',
   'Please enter a license key.' => '',
   'Please enter a number of licenses.' => '',
@@ -1142,6 +1184,7 @@ $self->{texts} = {
   'Please select a vendor from the list below.' => '',
   'Please select the chart of accounts this installation is using from the list below.' => '',
   'Please select the database you want to backup' => '',
+  'Please select the source bank account for the transfers:' => '',
   'Please seletct the dataset you want to delete:' => '',
   'Please specify a description for the warehouse designated for these goods.' => '',
   'Plural'                      => '',
@@ -1149,6 +1192,7 @@ $self->{texts} = {
   'Portrait'                    => '',
   'Post'                        => '',
   'Post Payment'                => '',
+  'Post payments'               => '',
   'Postscript'                  => '',
   'Posustva_coa'                => '',
   'Preferences'                 => '',
@@ -1157,6 +1201,7 @@ $self->{texts} = {
   'Preis'                       => '',
   'Preisgruppe'                 => '',
   'Preisklasse'                 => '',
+  'Prepare bank transfer via SEPA XML' => '',
   'Prepayment'                  => '',
   'Preview'                     => '',
   'Previous transdate text'     => '',
@@ -1211,6 +1256,7 @@ $self->{texts} = {
   'Purchase Prices'             => '',
   'Purchase delivery order'     => '',
   'Purchase invoices'           => '',
+  'Purpose'                     => '',
   'Qty'                         => '',
   'Qty according to delivery order' => '',
   'Qty in stock'                => '',
@@ -1271,6 +1317,9 @@ $self->{texts} = {
   'Request for Quotation'       => '',
   'Request for Quotations'      => '',
   'Request quotation'           => '',
+  'Requested execution date'    => '',
+  'Requested execution date from' => '',
+  'Requested execution date to' => '',
   'Required by'                 => '',
   'Restore Dataset'             => '',
   'Revenue'                     => '',
@@ -1281,6 +1330,8 @@ $self->{texts} = {
   'SAVED'                       => '',
   'SAVED FOR DUNNING'           => '',
   'SCREENED'                    => '',
+  'SEPA XML download'           => '',
+  'SEPA exports:'               => '',
   'Saldo Credit'                => '',
   'Saldo Debit'                 => '',
   'Saldo neu'                   => '',
@@ -1302,6 +1353,7 @@ $self->{texts} = {
   'Sat. Phone'                  => '',
   'Satz %'                      => '',
   'Save'                        => '',
+  'Save Draft'                  => '',
   'Save account first to insert taxkeys' => '',
   'Save and AP Transaction'     => '',
   'Save and AR Transaction'     => '',
@@ -1352,8 +1404,6 @@ $self->{texts} = {
   'Set eMail text'              => '',
   'Setup Menu'                  => '',
   'Setup Templates'             => '',
-  'Ship'                        => '',
-  'Ship rcvd'                   => '',
   'Ship to'                     => '',
   'Ship via'                    => '',
   'Shipping Address'            => '',
@@ -1362,8 +1412,10 @@ $self->{texts} = {
   'Shopartikel'                 => '',
   'Short'                       => '',
   'Show'                        => '',
+  'Show Salesman'               => '',
   'Show TODO list'              => '',
   'Show by default'             => '',
+  'Show custom variable search inputs' => '',
   'Show details'                => '',
   'Show follow ups...'          => '',
   'Show old dunnings'           => '',
@@ -1377,6 +1429,9 @@ $self->{texts} = {
   'Sold'                        => '',
   'Solution'                    => '',
   'Source'                      => '',
+  'Source BIC'                  => '',
+  'Source IBAN'                 => '',
+  'Source bank account'         => '',
   'Source bin'                  => '',
   'Spoolfile'                   => '',
   'Start Dunning Process'       => '',
@@ -1389,6 +1444,7 @@ $self->{texts} = {
   'Statement sent to'           => '',
   'Statements sent to printer!' => '',
   'Step 1 of 3: Parts'          => '',
+  'Step 2'                      => '',
   'Step 2 of 3: Services'       => '',
   'Step 3 of 3: Assemblies'     => '',
   'Step 3 of 3: Default units'  => '',
@@ -1416,6 +1472,7 @@ $self->{texts} = {
   'TODO list options'           => '',
   'TOP100'                      => '',
   'TOTAL'                       => '',
+  'Target bank account'         => '',
   'Tax'                         => '',
   'Tax Consultant'              => '',
   'Tax Included'                => '',
@@ -1459,11 +1516,13 @@ $self->{texts} = {
   'Text field variables: \'WIDTH=w HEIGHT=h\' sets the width and height of the text field. They default to 30 and 5 respectively.' => '',
   'Text variables: \'MAXLENGTH=n\' sets the maximum entry length to \'n\'.' => '',
   'Text, text field and number variables: The default value will be used as-is.' => '',
+  'That export does not exist.' => '',
   'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => '',
   'The AP transaction #1 has been deleted.' => '',
   'The AR transaction #1 has been deleted.' => '',
   'The GL transaction #1 has been deleted.' => '',
   'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => '',
+  'The SEPA export has been created.' => '',
   'The access rights have been saved.' => '',
   'The assembly has been created.' => '',
   'The assistant could not find anything wrong with #1. Maybe the problem has been solved in the meantime.' => '',
@@ -1471,6 +1530,7 @@ $self->{texts} = {
   'The authentication database is not reachable at the moment. Either it hasn\'t been set up yet or the database server might be down. Please contact your administrator.' => '',
   'The available options depend on the varibale type:' => '',
   'The backup you upload here has to be a file created with &quot;pg_dump -o -Ft&quot;.' => '',
+  'The bank information must not be empty.' => '',
   'The base unit does not exist or it is about to be deleted in row %d.' => '',
   'The base unit does not exist.' => '',
   'The base unit relations must not contain loops (e.g. by saying that unit A\'s base unit is B, B\'s base unit is C and C\'s base unit is A) in row %d.' => '',
@@ -1537,6 +1597,7 @@ $self->{texts} = {
   'The parts have been removed.' => '',
   'The parts have been stocked.' => '',
   'The parts have been transferred.' => '',
+  'The payments have been posted.' => '',
   'The pg_dump process could not be started.' => '',
   'The pg_restore process could not be started.' => '',
   'The preferred one is to install packages provided by your operating system distribution (e.g. Debian or RPM packages).' => '',
@@ -1548,7 +1609,9 @@ $self->{texts} = {
   'The second reason is that Lx-Office allowed the user to enter the tax amount manually regardless of the taxkey used.' => '',
   'The second way is to use Perl\'s CPAN module and let it download and install the module for you.' => '',
   'The selected  PostgreSQL installation uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => '',
+  'The selected bank account does not exist anymore.' => '',
   'The selected bin does not exist.' => '',
+  'The selected exports have been closed.' => '',
   'The selected warehouse does not exist.' => '',
   'The selected warehouse is empty.' => '',
   'The session is invalid or has expired.' => '',
@@ -1714,6 +1777,7 @@ $self->{texts} = {
   'Verrechnungseinheit'         => '',
   'Version'                     => '',
   'View License'                => '',
+  'View SEPA export'            => '',
   'View warehouse content'      => '',
   'Von Konto: '                 => '',
   'WEBDAV access'               => '',
@@ -1769,11 +1833,18 @@ $self->{texts} = {
   'You did not enter a name!'   => '',
   'You do not have the permissions to access this function.' => '',
   'You have entered or selected the following shipping address for this customer:' => '',
+  'You have not added bank accounts yet.' => '',
   'You have not selected any delivery order.' => '',
+  'You have not selected any export.' => '',
+  'You have not selected any item.' => '',
+  'You have selected none of the invoices.' => '',
   'You have to chose a dimension unit and a service unit which will then be assigned to those entries.' => '',
   'You have to chose which unit to save for each of them.' => '',
   'You have to create at least one group, grant it access to Lx-Office\'s functions and assign users to it.' => '',
   'You have to create new Buchungsgruppen for all the combinations of inventory, income and expense accounts that have been used already.' => '',
+  'You have to enter a company name in your user preferences (see the "Program" menu, "Preferences").' => '',
+  'You have to fill in at least an account number, the bank code, the IBAN and the BIC.' => '',
+  'You have to specify an execution date for each antry.' => '',
   'You must chose a user.'      => '',
   'You will now be forwarded to the administration panel.' => '',
   'You\'re not editing a file.' => '',
@@ -1797,6 +1868,9 @@ $self->{texts} = {
   'as at'                       => '',
   'assembly_list'               => '',
   'back'                        => '',
+  'bank_transfer_payment_list_#1' => '',
+  'bankaccounts'                => '',
+  'banktransfers'               => '',
   'bin_list'                    => '',
   'bis'                         => '',
   'button'                      => '',
@@ -1805,13 +1879,16 @@ $self->{texts} = {
   'chart_of_accounts'           => '',
   'choice'                      => '',
   'choice part'                 => '',
+  'click here to edit cvars'    => '',
   'close'                       => '',
+  'closed'                      => '',
   'config/authentication.pl: Key "DB_config" is missing.' => '',
   'config/authentication.pl: Key "LDAP_config" is missing.' => '',
   'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => '',
   'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => '',
   'continue'                    => '',
   'correction'                  => '',
+  'cp_greeting to cp_gender migration' => '',
   'customer'                    => '',
   'customer_list'               => '',
   'customernumber not unique!'  => '',
@@ -1828,6 +1905,7 @@ $self->{texts} = {
   'eMail?'                      => '',
   'ea'                          => '',
   'emailed to'                  => '',
+  'executed'                    => '',
   'female'                      => '',
   'follow_up_list'              => '',
   'for'                         => '',
@@ -1855,10 +1933,13 @@ $self->{texts} = {
   'no'                          => '',
   'no chargenumber'             => '',
   'none (pricegroup)'           => '',
+  'not executed'                => '',
   'not transferred in yet'      => '',
   'not transferred out yet'     => '',
+  'not yet executed'            => '',
   'number'                      => '',
   'oe.pl::search called with unknown type' => '',
+  'open'                        => '',
   'order'                       => '',
   'our vendor number at customer' => '',
   'packing_list'                => '',
index 130e80b..7c86498 100644 (file)
@@ -104,7 +104,6 @@ $self->{texts} = {
   'Dunning'                     => 'Dunning',
   'ELSE'                        => 'ELSE',
   'Edit Accounts Payables Transaction' => 'Edit Creditor Transaction',
-  'Employee'                    => 'Employee',
   'Enter longdescription'       => 'Enter longdescription',
   'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
   'Exch'                        => 'Exch',
@@ -121,7 +120,6 @@ $self->{texts} = {
   'General ledger and cash'     => 'General ledger and cash',
   'History'                     => 'History',
   'ID'                          => 'ID',
-  'Include in Report'           => 'Include in Report',
   'Invoice'                     => 'Invoice',
   'Invoice (one letter abbreviation)' => 'Invoice (one letter abbreviation)',
   'Invoice Date'                => 'Invoice Date',
@@ -226,7 +224,6 @@ $self->{texts} = {
   'Storno Invoice'              => 'Storno Invoice',
   'Storno Packing List'         => 'Storno Packing List',
   'Subject'                     => 'Subject',
-  'Subtotal'                    => 'Subtotal',
   'Tax'                         => 'Tax',
   'Tax Included'                => 'Tax Included',
   'Taxkey'                      => 'Taxkey',
index 60cc426..dfd94d0 100644 (file)
@@ -124,7 +124,6 @@ $self->{texts} = {
   'General ledger and cash'     => 'General ledger and cash',
   'History'                     => 'History',
   'ID'                          => 'ID',
-  'Include in Report'           => 'Include in Report',
   'Incoming Payments'           => 'Incoming Payments',
   'Invoice'                     => 'Invoice',
   'Invoice (one letter abbreviation)' => 'Invoice (one letter abbreviation)',
@@ -231,7 +230,6 @@ $self->{texts} = {
   'Storno Invoice'              => 'Storno Invoice',
   'Storno Packing List'         => 'Storno Packing List',
   'Subject'                     => 'Subject',
-  'Subtotal'                    => 'Subtotal',
   'Tax'                         => 'Tax',
   'Tax Included'                => 'Tax Included',
   'Taxkey'                      => 'Taxkey',
diff --git a/locale/en/bankaccounts b/locale/en/bankaccounts
new file mode 100644 (file)
index 0000000..bdbc3e2
--- /dev/null
@@ -0,0 +1,221 @@
+#!/usr/bin/perl
+
+$self->{texts} = {
+  'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+  'ADDED'                       => 'ADDED',
+  'AP'                          => 'Purchases',
+  'AR'                          => 'Sales',
+  'Account number'              => 'Account number',
+  'Add bank account'            => 'Add bank account',
+  'Address'                     => 'Address',
+  'Advance turnover tax return' => 'Advance turnover tax return',
+  'All reports'                 => 'All reports',
+  'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+  'BIC'                         => 'BIC',
+  'Bank'                        => 'Bank',
+  'Bank code'                   => 'Bank code',
+  'Bcc'                         => 'Bcc',
+  'Bin List'                    => 'Bin List',
+  'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+  'CANCELED'                    => 'CANCELED',
+  'CR'                          => 'CR',
+  'CRM admin'                   => 'CRM admin',
+  'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+  'CRM follow up'               => 'CRM follow up',
+  'CRM know how'                => 'CRM know how',
+  'CRM notices'                 => 'CRM notices',
+  'CRM opportunity'             => 'CRM opportunity',
+  'CRM optional software'       => 'CRM optional software',
+  'CRM other'                   => 'CRM other',
+  'CRM search'                  => 'CRM search',
+  'CRM send email'              => 'CRM send email',
+  'CRM services'                => 'CRM services',
+  'CRM status'                  => 'CRM status',
+  'CRM termin'                  => 'CRM termin',
+  'CRM user'                    => 'CRM user',
+  'CSV export -- options'       => 'CSV export -- options',
+  'Cc'                          => 'Cc',
+  'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+  'Confirmation'                => 'Confirmation',
+  'Contact'                     => 'Contact',
+  'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+  'Create and edit RFQs'        => 'Create and edit RFQs',
+  'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+  'Create and edit dunnings'    => 'Create and edit dunnings',
+  'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+  'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+  'Create and edit projects'    => 'Create and edit projects',
+  'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+  'Create and edit purchase orders' => 'Create and edit purchase orders',
+  'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+  'Create and edit sales orders' => 'Create and edit sales orders',
+  'Create and edit sales quotations' => 'Create and edit sales quotations',
+  'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+  'Credit Note'                 => 'Credit Note',
+  'Customer Number'             => 'Customer Number',
+  'Customer details'            => 'Customer details',
+  'DATEV Export'                => 'DATEV Export',
+  'DELETED'                     => 'DELETED',
+  'DR'                          => 'DR',
+  'DUNNING STARTED'             => 'DUNNING STARTED',
+  'Dataset upgrade'             => 'Dataset upgrade',
+  'Date'                        => 'Date',
+  'Delivery Order'              => 'Delivery Order',
+  'Dependency loop detected:'   => 'Dependency loop detected:',
+  'Directory'                   => 'Directory',
+  'Dunning'                     => 'Dunning',
+  'ELSE'                        => 'ELSE',
+  'Edit bank account'           => 'Edit bank account',
+  'Enter longdescription'       => 'Enter longdescription',
+  'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+  'File'                        => 'File',
+  'General ledger and cash'     => 'General ledger and cash',
+  'History'                     => 'History',
+  'IBAN'                        => 'IBAN',
+  'Invoice'                     => 'Invoice',
+  'List of bank accounts'       => 'List of bank accounts',
+  'MAILED'                      => 'MAILED',
+  'Manage license keys'         => 'Manage license keys',
+  'Mark as paid?'               => 'Mark as paid?',
+  'Marked as paid'              => 'Marked as paid',
+  'Master Data'                 => 'Master Data',
+  'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+  'Message'                     => 'Message',
+  'Missing \'description\' field.' => 'Missing \'description\' field.',
+  'Missing \'tag\' field.'      => 'Missing \'tag\' field.',
+  'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+  'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+  'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+  'Name'                        => 'Name',
+  'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+  'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+  'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+  'No action defined.'          => 'No action defined.',
+  'No customer has been selected yet.' => 'No customer has been selected yet.',
+  'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+  'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+  'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+  'Others'                      => 'Others',
+  'PAYMENT POSTED'              => 'PAYMENT POSTED',
+  'PDF export -- options'       => 'PDF export -- options',
+  'POSTED'                      => 'POSTED',
+  'POSTED AS NEW'               => 'POSTED AS NEW',
+  'PRINTED'                     => 'PRINTED',
+  'Packing List'                => 'Packing List',
+  'Page #1/#2'                  => 'Page #1/#2',
+  'Part Number'                 => 'Part Number',
+  'Part description'            => 'Part description',
+  'Pick List'                   => 'Pick List',
+  'Please enter values'         => 'Please enter values',
+  'Preview'                     => 'Preview',
+  'Proforma Invoice'            => 'Proforma Invoice',
+  'Purchase Order'              => 'Purchase Order',
+  'Quotation'                   => 'Quotation',
+  'RFQ'                         => 'RFQ',
+  'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+  'Reports'                     => 'Reports',
+  'SAVED'                       => 'SAVED',
+  'SAVED FOR DUNNING'           => 'SAVED FOR DUNNING',
+  'SCREENED'                    => 'SCREENED',
+  'Select a Customer'           => 'Select a Customer',
+  'Select a customer'           => 'Select a customer',
+  'Select a part'               => 'Select a part',
+  'Select a vendor'             => 'Select a vendor',
+  'Storno Invoice'              => 'Storno Invoice',
+  'Storno Packing List'         => 'Storno Packing List',
+  'Subject'                     => 'Subject',
+  'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+  'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+  'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+  'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+  'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+  'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+  'The connection to the template database failed:' => 'The connection to the template database failed:',
+  'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+  'The list has been printed.'  => 'The list has been printed.',
+  'To (email)'                  => 'To (email)',
+  'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+  'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+  'Unit'                        => 'Unit',
+  'Unknown dependency \'%s\'.'  => 'Unknown dependency \'%s\'.',
+  'Value'                       => 'Value',
+  'Variable'                    => 'Variable',
+  'Vendor details'              => 'Vendor details',
+  'View warehouse content'      => 'View warehouse content',
+  'Warehouse management'        => 'Warehouse management',
+  'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+  'You have to fill in at least an account number, the bank code, the IBAN and the BIC.' => 'You have to fill in at least an account number, the bank code, the IBAN and the BIC.',
+  'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+  '[email]'                     => '[email]',
+  'bankaccounts'                => 'bankaccounts',
+  'bin_list'                    => 'bin_list',
+  'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+  'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+  'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+  'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+  'customer'                    => 'customer',
+  'invoice'                     => 'invoice',
+  'no'                          => 'no',
+  'packing_list'                => 'packing_list',
+  'pick_list'                   => 'pick_list',
+  'proforma'                    => 'proforma',
+  'purchase_order'              => 'purchase_order',
+  'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+  'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+  'request_quotation'           => 'request_quotation',
+  'sales_order'                 => 'sales_order',
+  'sales_quotation'             => 'sales_quotation',
+  'vendor'                      => 'vendor',
+  'yes'                         => 'yes',
+};
+
+$self->{subs} = {
+  'E'                           => 'E',
+  'H'                           => 'H',
+  'NTI'                         => 'NTI',
+  'Q'                           => 'Q',
+  'ap_transaction'              => 'ap_transaction',
+  'ar_transaction'              => 'ar_transaction',
+  'bank_account_add'            => 'bank_account_add',
+  'bank_account_display_form'   => 'bank_account_display_form',
+  'bank_account_edit'           => 'bank_account_edit',
+  'bank_account_list'           => 'bank_account_list',
+  'bank_account_save'           => 'bank_account_save',
+  'build_std_url'               => 'build_std_url',
+  'calculate_qty'               => 'calculate_qty',
+  'call_sub'                    => 'call_sub',
+  'cov_selection_internal'      => 'cov_selection_internal',
+  'delivery_customer_selection' => 'delivery_customer_selection',
+  'dispatcher'                  => 'dispatcher',
+  'format_dates'                => 'format_dates',
+  'gl_transaction'              => 'gl_transaction',
+  'mark_as_paid_common'         => 'mark_as_paid_common',
+  'part_selection_internal'     => 'part_selection_internal',
+  'reformat_numbers'            => 'reformat_numbers',
+  'report_generator_back'       => 'report_generator_back',
+  'report_generator_dispatcher' => 'report_generator_dispatcher',
+  'report_generator_do'         => 'report_generator_do',
+  'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+  'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+  'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+  'retrieve_partunits'          => 'retrieve_partunits',
+  'sales_invoice'               => 'sales_invoice',
+  'select_part'                 => 'select_part',
+  'select_part_internal'        => 'select_part_internal',
+  'set_longdescription'         => 'set_longdescription',
+  'show_history'                => 'show_history',
+  'show_vc_details'             => 'show_vc_details',
+  'vendor_invoice'              => 'vendor_invoice',
+  'vendor_selection'            => 'vendor_selection',
+  'add'                         => 'add',
+  'back'                        => 'back',
+  'close'                       => 'close',
+  'continue'                    => 'continue',
+  'delete'                      => 'delete',
+  'export_as_csv'               => 'export_as_csv',
+  'export_as_pdf'               => 'export_as_pdf',
+  'new_part'                    => 'new_part',
+  'save'                        => 'save',
+};
+
+1;
diff --git a/locale/en/cp_greeting_migration b/locale/en/cp_greeting_migration
new file mode 100644 (file)
index 0000000..0f67c20
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/perl
+
+$self->{texts} = {
+  'Database update error:'      => 'Database update error:',
+};
+
+$self->{subs} = {
+  'do_query'                    => 'do_query',
+  'do_update'                   => 'do_update',
+  'migrate_data'                => 'migrate_data',
+  'mydberror'                   => 'mydberror',
+  'print_question'              => 'print_question',
+  'query_result'                => 'query_result',
+  'set_default_greetings'       => 'set_default_greetings',
+};
+
+1;
index e28432c..8715bd9 100644 (file)
@@ -213,6 +213,7 @@ $self->{subs} = {
   'Q'                           => 'Q',
   'add'                         => 'add',
   'add_transaction'             => 'add_transaction',
+  'ajax_autocomplete'           => 'ajax_autocomplete',
   'ap_transaction'              => 'ap_transaction',
   'ar_transaction'              => 'ar_transaction',
   'build_std_url'               => 'build_std_url',
index d954e40..78643f8 100644 (file)
@@ -219,8 +219,8 @@ $self->{texts} = {
   'SCREENED'                    => 'SCREENED',
   'Sales Invoice'               => 'Sales Invoice',
   'Sales Order'                 => 'Sales Order',
-  'Salesperson'                 => 'Salesperson',
   'Sales quotation'             => 'Sales quotation',
+  'Salesperson'                 => 'Salesperson',
   'Screen'                      => 'Screen',
   'Select a Customer'           => 'Select a Customer',
   'Select a customer'           => 'Select a customer',
index 29fa9fc..24cee46 100644 (file)
@@ -241,12 +241,9 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Serial No.',
-  'Ship'                        => 'Ship',
-  'Ship rcvd'                   => 'Ship rcvd',
   'Ship to'                     => 'Ship to',
   'Ship via'                    => 'Ship via',
   'Shipping Address'            => 'Shipping Address',
-  'Show details'                => 'Show details',
   'Stock'                       => 'Stock',
   'Storno Invoice'              => 'Storno Invoice',
   'Storno Packing List'         => 'Storno Packing List',
index a035bac..140c9bf 100644 (file)
@@ -262,12 +262,9 @@ $self->{texts} = {
   'Serial Number'               => 'Serial Number',
   'Service Number missing!'     => 'Service Number missing!',
   'Services'                    => 'Services',
-  'Ship'                        => 'Ship',
-  'Ship rcvd'                   => 'Ship rcvd',
   'Ship to'                     => 'Ship to',
   'Shipping Address'            => 'Shipping Address',
   'Short'                       => 'Short',
-  'Show details'                => 'Show details',
   'Sold'                        => 'Sold',
   'Storno Invoice'              => 'Storno Invoice',
   'Storno Packing List'         => 'Storno Packing List',
@@ -357,6 +354,7 @@ $self->{subs} = {
   '_update_ship'                => '_update_ship',
   'add'                         => 'add',
   'addtop100'                   => 'addtop100',
+  'ajax_autocomplete'           => 'ajax_autocomplete',
   'ap_transaction'              => 'ap_transaction',
   'ar_transaction'              => 'ar_transaction',
   'assembly_row'                => 'assembly_row',
index 9325123..f5744d6 100644 (file)
@@ -203,11 +203,8 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Serial No.',
-  'Ship'                        => 'Ship',
-  'Ship rcvd'                   => 'Ship rcvd',
   'Ship to'                     => 'Ship to',
   'Shipping Address'            => 'Shipping Address',
-  'Show details'                => 'Show details',
   'Storno Invoice'              => 'Storno Invoice',
   'Storno Packing List'         => 'Storno Packing List',
   'Street'                      => 'Street',
index cd54583..9fdb38b 100644 (file)
@@ -9,7 +9,6 @@ $self->{texts} = {
   'AP Transaction'              => 'Purchase Transaction',
   'AR'                          => 'Sales',
   'AR Transaction'              => 'Sales Transaction',
-  'Account'                     => 'Account',
   'Add Purchase Order'          => 'Add Purchase Order',
   'Add Quotation'               => 'Add Quotation',
   'Add Request for Quotation'   => 'Add Request for Quotation',
@@ -18,7 +17,6 @@ $self->{texts} = {
   'Address'                     => 'Address',
   'Advance turnover tax return' => 'Advance turnover tax return',
   'All reports'                 => 'All reports',
-  'Amount'                      => 'Amount',
   'Apr'                         => 'Apr',
   'April'                       => 'April',
   'Are you sure you want to delete Invoice Number' => 'Are you sure you want to delete Invoice Number',
@@ -60,7 +58,6 @@ $self->{texts} = {
   'Confirm!'                    => 'Confirm!',
   'Confirmation'                => 'Confirmation',
   'Contact'                     => 'Contact',
-  'Contact Person'              => 'Contact Person',
   'Continue'                    => 'Continue',
   'Country'                     => 'Country',
   'Create and edit RFQs'        => 'Create and edit RFQs',
@@ -75,9 +72,7 @@ $self->{texts} = {
   'Create and edit sales orders' => 'Create and edit sales orders',
   'Create and edit sales quotations' => 'Create and edit sales quotations',
   'Create and edit vendor invoices' => 'Create and edit vendor invoices',
-  'Credit Limit'                => 'Credit Limit',
   'Credit Note'                 => 'Credit Note',
-  'Currency'                    => 'Currency',
   'Customer'                    => 'Customer',
   'Customer Number'             => 'Customer Number',
   'Customer details'            => 'Customer details',
@@ -91,7 +86,6 @@ $self->{texts} = {
   'Date'                        => 'Date',
   'Dec'                         => 'Dec',
   'December'                    => 'December',
-  'Delete'                      => 'Delete',
   'Delete drafts'               => 'Delete drafts',
   'Delivered'                   => 'Delivered',
   'Delivery Date'               => 'Delivery Date',
@@ -99,43 +93,33 @@ $self->{texts} = {
   'Department'                  => 'Department',
   'Dependency loop detected:'   => 'Dependency loop detected:',
   'Description'                 => 'Description',
-  'Details (one letter abbreviation)' => 'Details (one letter abbreviation)',
   'Directory'                   => 'Directory',
   'Discount'                    => 'Discount',
   'Draft saved.'                => 'Draft saved.',
-  'Due Date'                    => 'Due Date',
   'Dunning'                     => 'Dunning',
   'E-mail'                      => 'E-mail',
   'E-mail address missing!'     => 'E-mail address missing!',
   'EK'                          => 'EK',
   'ELSE'                        => 'ELSE',
   'Edit Vendor Invoice'         => 'Edit Vendor Invoice',
-  'Employee'                    => 'Employee',
   'Enter longdescription'       => 'Enter longdescription',
   'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
   'Ertrag'                      => 'Ertrag',
-  'Exch'                        => 'Exch',
-  'Exchangerate'                => 'Exchangerate',
   'Exchangerate for payment missing!' => 'Exchangerate for payment missing!',
   'Exchangerate missing!'       => 'Exchangerate missing!',
   'Extended'                    => 'Extended',
-  'Falsches Datumsformat!'      => 'Falsches Datumsformat!',
   'Fax'                         => 'Fax',
   'Feb'                         => 'Feb',
   'February'                    => 'February',
   'File'                        => 'File',
-  'Follow-Up'                   => 'Follow-Up',
   'GL Transaction'              => 'GL Transaction',
   'General ledger and cash'     => 'General ledger and cash',
   'Group'                       => 'Group',
   'History'                     => 'History',
   'In-line'                     => 'In-line',
-  'Internal Notes'              => 'Internal Notes',
   'Invnumber missing!'          => 'Invnumber missing!',
   'Invoice'                     => 'Invoice',
-  'Invoice Date'                => 'Invoice Date',
   'Invoice Date missing!'       => 'Invoice Date missing!',
-  'Invoice Number'              => 'Invoice Number',
   'Invoice Number missing!'     => 'Invoice Number missing!',
   'Invoice deleted!'            => 'Invoice deleted!',
   'Invoice has already been storno\'d!' => 'Invoice has already been storno\'d!',
@@ -158,11 +142,9 @@ $self->{texts} = {
   'May'                         => 'May',
   'May '                        => 'May ',
   'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
-  'Memo'                        => 'Memo',
   'Message'                     => 'Message',
   'Missing \'description\' field.' => 'Missing \'description\' field.',
   'Missing \'tag\' field.'      => 'Missing \'tag\' field.',
-  'Missing amount'              => 'Missing amount',
   'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
   'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
   'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
@@ -176,7 +158,6 @@ $self->{texts} = {
   'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
   'No vendor has been selected yet.' => 'No vendor has been selected yet.',
   'No.'                         => 'No.',
-  'Notes'                       => 'Notes',
   'Nov'                         => 'Nov',
   'November'                    => 'November',
   'Number'                      => 'Number',
@@ -185,9 +166,7 @@ $self->{texts} = {
   'October'                     => 'October',
   'On Hand'                     => 'On Hand',
   'OpenDocument/OASIS'          => 'OpenDocument/OASIS',
-  'Order Date'                  => 'Order Date',
   'Order Date missing!'         => 'Order Date missing!',
-  'Order Number'                => 'Order Number',
   'Order Number missing!'       => 'Order Number missing!',
   'Others'                      => 'Others',
   'PAYMENT POSTED'              => 'PAYMENT POSTED',
@@ -204,12 +183,9 @@ $self->{texts} = {
   'Part description'            => 'Part description',
   'Payment date missing!'       => 'Payment date missing!',
   'Payment posted!'             => 'Payment posted!',
-  'Payments'                    => 'Payments',
   'Phone'                       => 'Phone',
   'Pick List'                   => 'Pick List',
   'Please enter values'         => 'Please enter values',
-  'Post'                        => 'Post',
-  'Post Payment'                => 'Post Payment',
   'Postscript'                  => 'Postscript',
   'Preview'                     => 'Preview',
   'Price'                       => 'Price',
@@ -218,22 +194,18 @@ $self->{texts} = {
   'Printer'                     => 'Printer',
   'Proforma Invoice'            => 'Proforma Invoice',
   'Project'                     => 'Project',
-  'Project Number'              => 'Project Number',
   'Project not on file!'        => 'Project not on file!',
   'Purchase Order'              => 'Purchase Order',
   'Qty'                         => 'Qty',
   'Queue'                       => 'Queue',
   'Quotation'                   => 'Quotation',
-  'Quotation Date'              => 'Quotation Date',
   'Quotation Date missing!'     => 'Quotation Date missing!',
   'Quotation Number missing!'   => 'Quotation Number missing!',
   'RFQ'                         => 'RFQ',
   'ROP'                         => 'ROP',
   'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
   'Rechnungsnummer'             => 'Rechnungsnummer',
-  'Record in'                   => 'Record in',
   'Release From Stock'          => 'Release From Stock',
-  'Remaining'                   => 'Remaining',
   'Reports'                     => 'Reports',
   'Reqdate'                     => 'Reqdate',
   'Request for Quotation'       => 'Request for Quotation',
@@ -245,7 +217,6 @@ $self->{texts} = {
   'Sales Invoice'               => 'Sales Invoice',
   'Sales Order'                 => 'Sales Order',
   'Sales quotation'             => 'Sales quotation',
-  'Save draft'                  => 'Save draft',
   'Screen'                      => 'Screen',
   'Select a Customer'           => 'Select a Customer',
   'Select a customer'           => 'Select a customer',
@@ -258,21 +229,14 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Serial No.',
-  'Ship'                        => 'Ship',
-  'Ship rcvd'                   => 'Ship rcvd',
   'Ship to'                     => 'Ship to',
   'Shipping Address'            => 'Shipping Address',
-  'Show details'                => 'Show details',
   'Skip'                        => 'Skip',
-  'Source'                      => 'Source',
-  'Steuersatz'                  => 'Steuersatz',
-  'Storno'                      => 'Storno',
   'Storno Invoice'              => 'Storno Invoice',
   'Storno Packing List'         => 'Storno Packing List',
   'Street'                      => 'Street',
   'Subject'                     => 'Subject',
   'Subtotal'                    => 'Subtotal',
-  'Tax Included'                => 'Tax Included',
   'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
   'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
   'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
@@ -281,16 +245,12 @@ $self->{texts} = {
   'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
   'The connection to the template database failed:' => 'The connection to the template database failed:',
   'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
-  'There are #1 unfinished follow-ups of which #2 are due.' => 'There are #1 unfinished follow-ups of which #2 are due.',
   'To (email)'                  => 'To (email)',
-  'Total'                       => 'Total',
   'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
   'Transfer To Stock'           => 'Transfer To Stock',
   'Trying to call a sub without a name' => 'Trying to call a sub without a name',
   'Unit'                        => 'Unit',
   'Unknown dependency \'%s\'.'  => 'Unknown dependency \'%s\'.',
-  'Update'                      => 'Update',
-  'Use As Template'             => 'Use As Template',
   'Value'                       => 'Value',
   'Variable'                    => 'Variable',
   'Vendor'                      => 'Vendor',
@@ -308,16 +268,13 @@ $self->{texts} = {
   'Zipcode'                     => 'Zipcode',
   '[email]'                     => '[email]',
   'bin_list'                    => 'bin_list',
-  'button'                      => 'button',
   'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
   'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
   'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
   'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
   'customer'                    => 'customer',
   'emailed to'                  => 'emailed to',
-  'history'                     => 'history',
   'invoice'                     => 'invoice',
-  'mark as paid'                => 'mark as paid',
   'no'                          => 'no',
   'none (pricegroup)'           => 'none (pricegroup)',
   'packing_list'                => 'packing_list',
@@ -331,7 +288,6 @@ $self->{texts} = {
   'sent'                        => 'sent',
   'sent to printer'             => 'sent to printer',
   'vendor'                      => 'vendor',
-  'wrongformat'                 => 'wrongformat',
   'yes'                         => 'yes',
 };
 
@@ -341,6 +297,7 @@ $self->{subs} = {
   'NTI'                         => 'NTI',
   'Q'                           => 'Q',
   '_check_io_auth'              => '_check_io_auth',
+  '_max_datepaid'               => '_max_datepaid',
   '_render_custom_variables_inputs' => '_render_custom_variables_inputs',
   '_update_custom_variables'    => '_update_custom_variables',
   '_update_part_information'    => '_update_part_information',
@@ -427,6 +384,7 @@ $self->{subs} = {
   'post'                        => 'post',
   'post_payment'                => 'post_payment',
   'save_draft'                  => 'save_draft',
+  'save_draft'                  => 'save_draft',
   'skip'                        => 'skip',
   'storno'                      => 'storno',
   'update'                      => 'update',
index 6117730..e0e7df7 100644 (file)
@@ -9,7 +9,6 @@ $self->{texts} = {
   'AP Transaction'              => 'Purchase Transaction',
   'AR'                          => 'Sales',
   'AR Transaction'              => 'Sales Transaction',
-  'Account'                     => 'Account',
   'Add Credit Note'             => 'Add Credit Note',
   'Add Purchase Order'          => 'Add Purchase Order',
   'Add Quotation'               => 'Add Quotation',
@@ -20,7 +19,6 @@ $self->{texts} = {
   'Address'                     => 'Address',
   'Advance turnover tax return' => 'Advance turnover tax return',
   'All reports'                 => 'All reports',
-  'Amount'                      => 'Amount',
   'Apr'                         => 'Apr',
   'April'                       => 'April',
   'Are you sure you want to delete Invoice Number' => 'Are you sure you want to delete Invoice Number',
@@ -57,14 +55,11 @@ $self->{texts} = {
   'Cannot storno storno invoice!' => 'Cannot storno storno invoice!',
   'Cc'                          => 'Cc',
   'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
-  'Choose Customer'             => 'Choose Customer',
-  'Choose Vendor'               => 'Choose Vendor',
   'City'                        => 'City',
   'Company Name'                => 'Company Name',
   'Confirm!'                    => 'Confirm!',
   'Confirmation'                => 'Confirmation',
   'Contact'                     => 'Contact',
-  'Contact Person'              => 'Contact Person',
   'Continue'                    => 'Continue',
   'Country'                     => 'Country',
   'Create and edit RFQs'        => 'Create and edit RFQs',
@@ -79,20 +74,13 @@ $self->{texts} = {
   'Create and edit sales orders' => 'Create and edit sales orders',
   'Create and edit sales quotations' => 'Create and edit sales quotations',
   'Create and edit vendor invoices' => 'Create and edit vendor invoices',
-  'Credit Limit'                => 'Credit Limit',
-  'Credit Limit exceeded!!!'    => 'Credit Limit exceeded!!!',
   'Credit Note'                 => 'Credit Note',
-  'Credit Note Date'            => 'Credit Note Date',
-  'Credit Note Number'          => 'Credit Note Number',
-  'Currency'                    => 'Currency',
   'Customer'                    => 'Customer',
   'Customer Number'             => 'Customer Number',
-  'Customer Order Number'       => 'Customer Order Number',
   'Customer details'            => 'Customer details',
   'Customer missing!'           => 'Customer missing!',
   'Customer not on file or locked!' => 'Customer not on file or locked!',
   'Customer not on file!'       => 'Customer not on file!',
-  'Customer type'               => 'Customer type',
   'DATEV Export'                => 'DATEV Export',
   'DELETED'                     => 'DELETED',
   'DR'                          => 'DR',
@@ -101,22 +89,17 @@ $self->{texts} = {
   'Date'                        => 'Date',
   'Dec'                         => 'Dec',
   'December'                    => 'December',
-  'Delete'                      => 'Delete',
   'Delete drafts'               => 'Delete drafts',
   'Delivered'                   => 'Delivered',
   'Delivery Date'               => 'Delivery Date',
   'Delivery Order'              => 'Delivery Order',
-  'Delivery Order Number'       => 'Delivery Order Number',
   'Department'                  => 'Department',
   'Dependency loop detected:'   => 'Dependency loop detected:',
   'Description'                 => 'Description',
-  'Details (one letter abbreviation)' => 'Details (one letter abbreviation)',
   'Directory'                   => 'Directory',
   'Discount'                    => 'Discount',
   'Draft saved.'                => 'Draft saved.',
-  'Due Date'                    => 'Due Date',
   'Dunning'                     => 'Dunning',
-  'Dunning Amount'              => 'Dunning Amount',
   'E-mail'                      => 'E-mail',
   'E-mail address missing!'     => 'E-mail address missing!',
   'EK'                          => 'EK',
@@ -125,33 +108,23 @@ $self->{texts} = {
   'Edit Sales Invoice'          => 'Edit Sales Invoice',
   'Edit Storno Credit Note'     => 'Edit Storno Credit Note',
   'Edit Storno Invoice'         => 'Edit Storno Invoice',
-  'Employee'                    => 'Employee',
   'Enter longdescription'       => 'Enter longdescription',
   'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
   'Ertrag'                      => 'Ertrag',
-  'Ertrag prozentual'           => 'Ertrag prozentual',
-  'Exch'                        => 'Exch',
-  'Exchangerate'                => 'Exchangerate',
   'Exchangerate for payment missing!' => 'Exchangerate for payment missing!',
   'Exchangerate missing!'       => 'Exchangerate missing!',
   'Extended'                    => 'Extended',
-  'Falsches Datumsformat!'      => 'Falsches Datumsformat!',
   'Fax'                         => 'Fax',
   'Feb'                         => 'Feb',
   'February'                    => 'February',
   'File'                        => 'File',
-  'Follow-Up'                   => 'Follow-Up',
   'GL Transaction'              => 'GL Transaction',
   'General ledger and cash'     => 'General ledger and cash',
   'Group'                       => 'Group',
   'History'                     => 'History',
   'In-line'                     => 'In-line',
-  'Incoming Payments'           => 'Incoming Payments',
-  'Internal Notes'              => 'Internal Notes',
   'Invoice'                     => 'Invoice',
-  'Invoice Date'                => 'Invoice Date',
   'Invoice Date missing!'       => 'Invoice Date missing!',
-  'Invoice Number'              => 'Invoice Number',
   'Invoice Number missing!'     => 'Invoice Number missing!',
   'Invoice deleted!'            => 'Invoice deleted!',
   'Invoice has already been storno\'d!' => 'Invoice has already been storno\'d!',
@@ -171,15 +144,12 @@ $self->{texts} = {
   'Mark as paid?'               => 'Mark as paid?',
   'Marked as paid'              => 'Marked as paid',
   'Master Data'                 => 'Master Data',
-  'Max. Dunning Level'          => 'Max. Dunning Level',
   'May'                         => 'May',
   'May '                        => 'May ',
   'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
-  'Memo'                        => 'Memo',
   'Message'                     => 'Message',
   'Missing \'description\' field.' => 'Missing \'description\' field.',
   'Missing \'tag\' field.'      => 'Missing \'tag\' field.',
-  'Missing amount'              => 'Missing amount',
   'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
   'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
   'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
@@ -193,7 +163,6 @@ $self->{texts} = {
   'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
   'No vendor has been selected yet.' => 'No vendor has been selected yet.',
   'No.'                         => 'No.',
-  'Notes'                       => 'Notes',
   'Nov'                         => 'Nov',
   'November'                    => 'November',
   'Number'                      => 'Number',
@@ -202,10 +171,7 @@ $self->{texts} = {
   'October'                     => 'October',
   'On Hand'                     => 'On Hand',
   'OpenDocument/OASIS'          => 'OpenDocument/OASIS',
-  'Order'                       => 'Order',
-  'Order Date'                  => 'Order Date',
   'Order Date missing!'         => 'Order Date missing!',
-  'Order Number'                => 'Order Number',
   'Order Number missing!'       => 'Order Number missing!',
   'Others'                      => 'Others',
   'PAYMENT POSTED'              => 'PAYMENT POSTED',
@@ -220,41 +186,30 @@ $self->{texts} = {
   'Part Description'            => 'Part Description',
   'Part Number'                 => 'Part Number',
   'Part description'            => 'Part description',
-  'Payment Terms'               => 'Payment Terms',
   'Payment date missing!'       => 'Payment date missing!',
   'Payment posted!'             => 'Payment posted!',
-  'Payments'                    => 'Payments',
   'Phone'                       => 'Phone',
   'Pick List'                   => 'Pick List',
   'Please enter values'         => 'Please enter values',
-  'Post'                        => 'Post',
-  'Post Payment'                => 'Post Payment',
   'Postscript'                  => 'Postscript',
   'Preview'                     => 'Preview',
   'Price'                       => 'Price',
   'Price Factor'                => 'Price Factor',
   'Pricegroup'                  => 'Pricegroup',
-  'Print'                       => 'Print',
-  'Print and Post'              => 'Print and Post',
   'Printer'                     => 'Printer',
   'Proforma Invoice'            => 'Proforma Invoice',
   'Project'                     => 'Project',
-  'Project Number'              => 'Project Number',
   'Project not on file!'        => 'Project not on file!',
   'Purchase Order'              => 'Purchase Order',
   'Qty'                         => 'Qty',
   'Queue'                       => 'Queue',
   'Quotation'                   => 'Quotation',
-  'Quotation Date'              => 'Quotation Date',
   'Quotation Date missing!'     => 'Quotation Date missing!',
-  'Quotation Number'            => 'Quotation Number',
   'Quotation Number missing!'   => 'Quotation Number missing!',
   'RFQ'                         => 'RFQ',
   'ROP'                         => 'ROP',
   'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
-  'Record in'                   => 'Record in',
   'Release From Stock'          => 'Release From Stock',
-  'Remaining'                   => 'Remaining',
   'Reports'                     => 'Reports',
   'Reqdate'                     => 'Reqdate',
   'Request for Quotation'       => 'Request for Quotation',
@@ -266,8 +221,6 @@ $self->{texts} = {
   'Sales Invoice'               => 'Sales Invoice',
   'Sales Order'                 => 'Sales Order',
   'Sales quotation'             => 'Sales quotation',
-  'Salesman'                    => 'Salesman',
-  'Save draft'                  => 'Save draft',
   'Screen'                      => 'Screen',
   'Select a Customer'           => 'Select a Customer',
   'Select a customer'           => 'Select a customer',
@@ -280,23 +233,14 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Serial No.',
-  'Ship'                        => 'Ship',
-  'Ship rcvd'                   => 'Ship rcvd',
   'Ship to'                     => 'Ship to',
-  'Ship via'                    => 'Ship via',
   'Shipping Address'            => 'Shipping Address',
-  'Shipping Point'              => 'Shipping Point',
-  'Show details'                => 'Show details',
   'Skip'                        => 'Skip',
-  'Source'                      => 'Source',
-  'Steuersatz'                  => 'Steuersatz',
-  'Storno'                      => 'Storno',
   'Storno Invoice'              => 'Storno Invoice',
   'Storno Packing List'         => 'Storno Packing List',
   'Street'                      => 'Street',
   'Subject'                     => 'Subject',
   'Subtotal'                    => 'Subtotal',
-  'Tax Included'                => 'Tax Included',
   'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
   'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
   'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
@@ -305,18 +249,12 @@ $self->{texts} = {
   'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
   'The connection to the template database failed:' => 'The connection to the template database failed:',
   'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
-  'There are #1 unfinished follow-ups of which #2 are due.' => 'There are #1 unfinished follow-ups of which #2 are due.',
   'To (email)'                  => 'To (email)',
-  'Total'                       => 'Total',
-  'Trade Discount'              => 'Trade Discount',
-  'Transaction description'     => 'Transaction description',
   'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
   'Transfer To Stock'           => 'Transfer To Stock',
   'Trying to call a sub without a name' => 'Trying to call a sub without a name',
   'Unit'                        => 'Unit',
   'Unknown dependency \'%s\'.'  => 'Unknown dependency \'%s\'.',
-  'Update'                      => 'Update',
-  'Use As Template'             => 'Use As Template',
   'Value'                       => 'Value',
   'Variable'                    => 'Variable',
   'Vendor'                      => 'Vendor',
@@ -333,16 +271,13 @@ $self->{texts} = {
   'Zipcode'                     => 'Zipcode',
   '[email]'                     => '[email]',
   'bin_list'                    => 'bin_list',
-  'button'                      => 'button',
   'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
   'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
   'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
   'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
   'customer'                    => 'customer',
   'emailed to'                  => 'emailed to',
-  'history'                     => 'history',
   'invoice'                     => 'invoice',
-  'mark as paid'                => 'mark as paid',
   'no'                          => 'no',
   'none (pricegroup)'           => 'none (pricegroup)',
   'packing_list'                => 'packing_list',
@@ -356,7 +291,6 @@ $self->{texts} = {
   'sent'                        => 'sent',
   'sent to printer'             => 'sent to printer',
   'vendor'                      => 'vendor',
-  'wrongformat'                 => 'wrongformat',
   'yes'                         => 'yes',
 };
 
@@ -461,6 +395,7 @@ $self->{subs} = {
   'print'                       => 'print',
   'print_and_post'              => 'print_and_post',
   'save_draft'                  => 'save_draft',
+  'save_draft'                  => 'save_draft',
   'ship_to'                     => 'ship_to',
   'skip'                        => 'skip',
   'storno'                      => 'storno',
index 7578046..d38739d 100644 (file)
@@ -301,12 +301,9 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Serial No.',
-  'Ship'                        => 'Ship',
-  'Ship rcvd'                   => 'Ship rcvd',
   'Ship to'                     => 'Ship to',
   'Ship via'                    => 'Ship via',
   'Shipping Address'            => 'Shipping Address',
-  'Show details'                => 'Show details',
   'Stock'                       => 'Stock',
   'Storno Invoice'              => 'Storno Invoice',
   'Storno Packing List'         => 'Storno Packing List',
index 05a7378..5e165a9 100644 (file)
@@ -4,8 +4,6 @@
 # This file will be auto-generated by locales.pl. Do not edit it.
 
 @lost = (
-  { 'text' => 'Receipt printing failed!', 'translation' => '' },
-  { 'text' => 'successfully deleted!', 'translation' => '' },
   { 'text' => 'C', 'translation' => '' },
   { 'text' => 'Sales', 'translation' => '' },
   { 'text' => 'collected on sales', 'translation' => '' },
@@ -54,6 +52,8 @@
   { 'text' => 'O', 'translation' => '' },
   { 'text' => 'Accounts', 'translation' => '' },
   { 'text' => 'Retained Earnings', 'translation' => '' },
+  { 'text' => 'Ship rcvd', 'translation' => '' },
+  { 'text' => 'Ship', 'translation' => '' },
 );
 
 1;
index 551a553..a40506c 100644 (file)
@@ -40,6 +40,7 @@ $self->{texts} = {
   'Add Vendor'                  => 'Add Vendor',
   'Add Vendor Invoice'          => 'Add Vendor Invoice',
   'Add Warehouse'               => 'Add Warehouse',
+  'Add bank account'            => 'Add bank account',
   'Administration area'         => 'Administration area',
   'Advance turnover tax return' => 'Advance turnover tax return',
   'All reports'                 => 'All reports',
@@ -47,6 +48,9 @@ $self->{texts} = {
   'Audit Control'               => 'Audit Control',
   'BWA'                         => 'BWA',
   'Balance Sheet'               => 'Balance Sheet',
+  'Bank accounts'               => 'Bank accounts',
+  'Bank transfer via SEPA'      => 'Bank transfer via SEPA',
+  'Bank transfers via SEPA'     => 'Bank transfers via SEPA',
   'Batch Printing'              => 'Batch Printing',
   'Bcc'                         => 'Bcc',
   'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
@@ -131,6 +135,7 @@ $self->{texts} = {
   'List Printer'                => 'List Printer',
   'List Tax'                    => 'List Tax',
   'List Warehouses'             => 'List Warehouses',
+  'List bank accounts'          => 'List bank accounts',
   'Logout'                      => 'Logout',
   'Manage license keys'         => 'Manage license keys',
   'Master Data'                 => 'Master Data',
index 3739518..c25d1c3 100644 (file)
@@ -39,6 +39,7 @@ $self->{texts} = {
   'Add Vendor'                  => 'Add Vendor',
   'Add Vendor Invoice'          => 'Add Vendor Invoice',
   'Add Warehouse'               => 'Add Warehouse',
+  'Add bank account'            => 'Add bank account',
   'Administration area'         => 'Administration area',
   'Advance turnover tax return' => 'Advance turnover tax return',
   'All reports'                 => 'All reports',
@@ -46,6 +47,9 @@ $self->{texts} = {
   'Audit Control'               => 'Audit Control',
   'BWA'                         => 'BWA',
   'Balance Sheet'               => 'Balance Sheet',
+  'Bank accounts'               => 'Bank accounts',
+  'Bank transfer via SEPA'      => 'Bank transfer via SEPA',
+  'Bank transfers via SEPA'     => 'Bank transfers via SEPA',
   'Batch Printing'              => 'Batch Printing',
   'Bcc'                         => 'Bcc',
   'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
@@ -130,6 +134,7 @@ $self->{texts} = {
   'List Printer'                => 'List Printer',
   'List Tax'                    => 'List Tax',
   'List Warehouses'             => 'List Warehouses',
+  'List bank accounts'          => 'List bank accounts',
   'Logout'                      => 'Logout',
   'Manage license keys'         => 'Manage license keys',
   'Master Data'                 => 'Master Data',
index 8ee0961..563cd2f 100644 (file)
@@ -82,6 +82,8 @@ $missing = {
   'Account deleted!'            => '',
   'Account for fees'            => '',
   'Account for interest'        => '',
+  'Account number'              => '',
+  'Account number #1, bank code #2, #3' => '',
   'Account saved!'              => '',
   'Accounting Group deleted!'   => '',
   'Accounting Group saved!'     => '',
@@ -134,6 +136,7 @@ $missing = {
   'Add Warehouse'               => '',
   'Add a new group'             => '',
   'Add and edit units'          => '',
+  'Add bank account'            => '',
   'Add custom variable'         => '',
   'Add note'                    => '',
   'Add to group'                => '',
@@ -149,7 +152,9 @@ $missing = {
   'All changes in that file have been reverted.' => '',
   'All database upgrades have been applied.' => '',
   'All general ledger entries'  => '',
+  'All of the exports you have selected were already closed.' => '',
   'All reports'                 => '',
+  'All the selected exports have already been closed, or all of their items have already been executed.' => '',
   'Allow access'                => '',
   'Allow the following users access to my follow-ups:' => '',
   'Alternatively you can create a new part which will then be selected.' => '',
@@ -221,6 +226,12 @@ $missing = {
   'Bank Code Number'            => '',
   'Bank Connection Tax Office'  => '',
   'Bank Connections'            => '',
+  'Bank accounts'               => '',
+  'Bank code'                   => '',
+  'Bank transfer amount'        => '',
+  'Bank transfer payment list for export #1' => '',
+  'Bank transfer via SEPA'      => '',
+  'Bank transfers via SEPA'     => '',
   'Base unit'                   => '',
   'Basic data'                  => '',
   'Batch Printing'              => '',
@@ -319,6 +330,7 @@ $missing = {
   'Change Lx-Office installation settings (all menu entries beneath \'System\')' => '',
   'Charge Number'               => '',
   'Charge number'               => '',
+  'Chart'                       => '',
   'Chart Type'                  => '',
   'Chart balance'               => '',
   'Chart of Accounts'           => '',
@@ -336,6 +348,7 @@ $missing = {
   'Click on login name to edit!' => '',
   'Close'                       => '',
   'Close Books up to'           => '',
+  'Close SEPA exports'          => '',
   'Close Window'                => '',
   'Closed'                      => '',
   'Collective Orders only work for orders from one customer!' => '',
@@ -385,6 +398,8 @@ $missing = {
   'Create and edit sales orders' => '',
   'Create and edit sales quotations' => '',
   'Create and edit vendor invoices' => '',
+  'Create bank transfer'        => '',
+  'Create bank transfer via SEPA XML' => '',
   'Create invoice?'             => '',
   'Create new'                  => '',
   'Create tables'               => '',
@@ -501,6 +516,8 @@ $missing = {
   'Description (Click on Description for details)' => '',
   'Description missing!'        => '',
   'Description must not be empty!' => '',
+  'Destination BIC'             => '',
+  'Destination IBAN'            => '',
   'Destination bin'             => '',
   'Destination warehouse'       => '',
   'Destination warehouse and bin' => '',
@@ -512,6 +529,7 @@ $missing = {
   'Display'                     => '',
   'Display file'                => '',
   'Display options'             => '',
+  'Do you really want to close the following SEPA exports? No payment will be recorded for bank transfers that haven\'t been marked as executed yet.' => '',
   'Do you really want to delete AP transaction #1?' => '',
   'Do you really want to delete AR transaction #1?' => '',
   'Do you really want to delete GL transaction #1?' => '',
@@ -524,6 +542,7 @@ $missing = {
   'Document'                    => '',
   'Documents in the WebDAV repository' => '',
   'Done'                        => '',
+  'Download SEPA XML export file' => '',
   'Download the backup'         => '',
   'Draft saved.'                => '',
   'Drawing'                     => '',
@@ -609,6 +628,7 @@ $missing = {
   'Edit Vendor Invoice'         => '',
   'Edit Warehouse'              => '',
   'Edit and delete a group'     => '',
+  'Edit bank account'           => '',
   'Edit custom variable'        => '',
   'Edit file'                   => '',
   'Edit greetings'              => '',
@@ -627,11 +647,13 @@ $missing = {
   'Edit the stylesheet'         => '',
   'Edit units'                  => '',
   'Editable'                    => '',
+  'Either there are no open invoices, or you have already initiated bank transfers with the open amounts for those that are still open.' => '',
   'Element disabled'            => '',
   'Employee'                    => '',
   'Empty transaction!'          => '',
   'Enter a description for this new draft.' => '',
   'Enter longdescription'       => '',
+  'Enter the requested execution date or leave empty for the quickest possible execution:' => '',
   'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' => '',
   'Equity'                      => '',
   'Error'                       => '',
@@ -650,6 +672,10 @@ $missing = {
   'Exchangerate Difference'     => '',
   'Exchangerate for payment missing!' => '',
   'Exchangerate missing!'       => '',
+  'Executed'                    => '',
+  'Execution date'              => '',
+  'Execution date from'         => '',
+  'Execution date to'           => '',
   'Existing Buchungsgruppen'    => '',
   'Existing Datasets'           => '',
   'Existing pending follow-ups for this item' => '',
@@ -666,6 +692,9 @@ $missing = {
   'Export Stammdaten'           => '',
   'Export as CSV'               => '',
   'Export as PDF'               => '',
+  'Export date'                 => '',
+  'Export date from'            => '',
+  'Export date to'              => '',
   'Extended'                    => '',
   'Extension Of Time'           => '',
   'Factor'                      => '',
@@ -813,6 +842,7 @@ $missing = {
   'Invoice deleted!'            => '',
   'Invoice for fees'            => '',
   'Invoice has already been storno\'d!' => '',
+  'Invoice number'              => '',
   'Invoice with Storno (abbreviation)' => '',
   'Invoices'                    => '',
   'Is this a summary account to record' => '',
@@ -890,8 +920,12 @@ $missing = {
   'List Tax'                    => '',
   'List Transactions'           => '',
   'List Warehouses'             => '',
+  'List bank accounts'          => '',
   'List export'                 => '',
+  'List of bank accounts'       => '',
+  'List of bank transfers'      => '',
   'List of custom variables'    => '',
+  'List open SEPA exports'      => '',
   'Load draft'                  => '',
   'Local Tax Office Preferences' => '',
   'Lock System'                 => '',
@@ -919,6 +953,7 @@ $missing = {
   'Mar'                         => '',
   'March'                       => '',
   'Margins'                     => '',
+  'Mark as closed'              => '',
   'Mark as paid?'               => '',
   'Mark closed'                 => '',
   'Marked as paid'              => '',
@@ -952,6 +987,7 @@ $missing = {
   'Monat'                       => '',
   'Monthly'                     => '',
   'More than one control file with the tag \'%s\' exist.' => '',
+  'Multi mode not supported.'   => '',
   'Multibyte Encoding'          => '',
   'MwSt. inkl.'                 => '',
   'Name'                        => '',
@@ -963,6 +999,7 @@ $missing = {
   'New Buchungsgruppe [% loop.count %]' => '',
   'New Templates'               => '',
   'New assembly'                => '',
+  'New bank account'            => '',
   'New contact'                 => '',
   'New customer'                => '',
   'New invoice'                 => '',
@@ -982,6 +1019,7 @@ $missing = {
   'No Vendor was found matching the search parameters.' => '',
   'No action defined.'          => '',
   'No backup file has been uploaded.' => '',
+  'No bank information has been entered in this vendor\'s master data entry. You cannot create bank transfers unless you enter bank information.' => '',
   'No bins have been added to this warehouse yet.' => '',
   'No customer has been selected yet.' => '',
   'No data was found.'          => '',
@@ -996,6 +1034,7 @@ $missing = {
   'No part was found matching the search parameters.' => '',
   'No prices will be updated because no prices have been entered.' => '',
   'No problems were recognized.' => '',
+  'No transfers were executed in this export.' => '',
   'No unknown units where found.' => '',
   'No user has been selected.'  => '',
   'No valid number entered for pricegroup "#1".' => '',
@@ -1040,6 +1079,7 @@ $missing = {
   'One or more Perl modules missing' => '',
   'Only due follow-ups'         => '',
   'Open'                        => '',
+  'Open amount'                 => '',
   'OpenDocument/OASIS'          => '',
   'Openings'                    => '',
   'Optional comment'            => '',
@@ -1097,6 +1137,7 @@ $missing = {
   'Payment Terms missing in row ' => '',
   'Payment Terms saved!'        => '',
   'Payment date missing!'       => '',
+  'Payment list as PDF'         => '',
   'Payment posted!'             => '',
   'Payment terms deleted!'      => '',
   'Payments'                    => '',
@@ -1108,6 +1149,7 @@ $missing = {
   'Phone1'                      => '',
   'Phone2'                      => '',
   'Pick List'                   => '',
+  'Please Check the bank information for each vendor:' => '',
   'Please ask your administrator to create warehouses and bins.' => '',
   'Please enter a license key.' => '',
   'Please enter a number of licenses.' => '',
@@ -1126,6 +1168,7 @@ $missing = {
   'Please select a vendor from the list below.' => '',
   'Please select the chart of accounts this installation is using from the list below.' => '',
   'Please select the database you want to backup' => '',
+  'Please select the source bank account for the transfers:' => '',
   'Please seletct the dataset you want to delete:' => '',
   'Please specify a description for the warehouse designated for these goods.' => '',
   'Plural'                      => '',
@@ -1133,6 +1176,7 @@ $missing = {
   'Portrait'                    => '',
   'Post'                        => '',
   'Post Payment'                => '',
+  'Post payments'               => '',
   'Postscript'                  => '',
   'Posustva_coa'                => '',
   'Preferences'                 => '',
@@ -1141,6 +1185,7 @@ $missing = {
   'Preis'                       => '',
   'Preisgruppe'                 => '',
   'Preisklasse'                 => '',
+  'Prepare bank transfer via SEPA XML' => '',
   'Prepayment'                  => '',
   'Preview'                     => '',
   'Previous transdate text'     => '',
@@ -1195,6 +1240,7 @@ $missing = {
   'Purchase Prices'             => '',
   'Purchase delivery order'     => '',
   'Purchase invoices'           => '',
+  'Purpose'                     => '',
   'Qty'                         => '',
   'Qty according to delivery order' => '',
   'Qty in stock'                => '',
@@ -1255,6 +1301,9 @@ $missing = {
   'Request for Quotation'       => '',
   'Request for Quotations'      => '',
   'Request quotation'           => '',
+  'Requested execution date'    => '',
+  'Requested execution date from' => '',
+  'Requested execution date to' => '',
   'Required by'                 => '',
   'Restore Dataset'             => '',
   'Revenue'                     => '',
@@ -1265,6 +1314,8 @@ $missing = {
   'SAVED'                       => '',
   'SAVED FOR DUNNING'           => '',
   'SCREENED'                    => '',
+  'SEPA XML download'           => '',
+  'SEPA exports:'               => '',
   'Saldo Credit'                => '',
   'Saldo Debit'                 => '',
   'Saldo neu'                   => '',
@@ -1286,6 +1337,7 @@ $missing = {
   'Sat. Phone'                  => '',
   'Satz %'                      => '',
   'Save'                        => '',
+  'Save Draft'                  => '',
   'Save account first to insert taxkeys' => '',
   'Save and AP Transaction'     => '',
   'Save and AR Transaction'     => '',
@@ -1336,8 +1388,6 @@ $missing = {
   'Set eMail text'              => '',
   'Setup Menu'                  => '',
   'Setup Templates'             => '',
-  'Ship'                        => '',
-  'Ship rcvd'                   => '',
   'Ship to'                     => '',
   'Ship via'                    => '',
   'Shipping Address'            => '',
@@ -1346,8 +1396,10 @@ $missing = {
   'Shopartikel'                 => '',
   'Short'                       => '',
   'Show'                        => '',
+  'Show Salesman'               => '',
   'Show TODO list'              => '',
   'Show by default'             => '',
+  'Show custom variable search inputs' => '',
   'Show details'                => '',
   'Show follow ups...'          => '',
   'Show old dunnings'           => '',
@@ -1361,6 +1413,9 @@ $missing = {
   'Sold'                        => '',
   'Solution'                    => '',
   'Source'                      => '',
+  'Source BIC'                  => '',
+  'Source IBAN'                 => '',
+  'Source bank account'         => '',
   'Source bin'                  => '',
   'Spoolfile'                   => '',
   'Start Dunning Process'       => '',
@@ -1373,6 +1428,7 @@ $missing = {
   'Statement sent to'           => '',
   'Statements sent to printer!' => '',
   'Step 1 of 3: Parts'          => '',
+  'Step 2'                      => '',
   'Step 2 of 3: Services'       => '',
   'Step 3 of 3: Assemblies'     => '',
   'Step 3 of 3: Default units'  => '',
@@ -1400,6 +1456,7 @@ $missing = {
   'TODO list options'           => '',
   'TOP100'                      => '',
   'TOTAL'                       => '',
+  'Target bank account'         => '',
   'Tax'                         => '',
   'Tax Consultant'              => '',
   'Tax Included'                => '',
@@ -1443,11 +1500,13 @@ $missing = {
   'Text field variables: \'WIDTH=w HEIGHT=h\' sets the width and height of the text field. They default to 30 and 5 respectively.' => '',
   'Text variables: \'MAXLENGTH=n\' sets the maximum entry length to \'n\'.' => '',
   'Text, text field and number variables: The default value will be used as-is.' => '',
+  'That export does not exist.' => '',
   'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => '',
   'The AP transaction #1 has been deleted.' => '',
   'The AR transaction #1 has been deleted.' => '',
   'The GL transaction #1 has been deleted.' => '',
   'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => '',
+  'The SEPA export has been created.' => '',
   'The access rights have been saved.' => '',
   'The assembly has been created.' => '',
   'The assistant could not find anything wrong with #1. Maybe the problem has been solved in the meantime.' => '',
@@ -1455,6 +1514,7 @@ $missing = {
   'The authentication database is not reachable at the moment. Either it hasn\'t been set up yet or the database server might be down. Please contact your administrator.' => '',
   'The available options depend on the varibale type:' => '',
   'The backup you upload here has to be a file created with &quot;pg_dump -o -Ft&quot;.' => '',
+  'The bank information must not be empty.' => '',
   'The base unit does not exist or it is about to be deleted in row %d.' => '',
   'The base unit does not exist.' => '',
   'The base unit relations must not contain loops (e.g. by saying that unit A\'s base unit is B, B\'s base unit is C and C\'s base unit is A) in row %d.' => '',
@@ -1521,6 +1581,7 @@ $missing = {
   'The parts have been removed.' => '',
   'The parts have been stocked.' => '',
   'The parts have been transferred.' => '',
+  'The payments have been posted.' => '',
   'The pg_dump process could not be started.' => '',
   'The pg_restore process could not be started.' => '',
   'The preferred one is to install packages provided by your operating system distribution (e.g. Debian or RPM packages).' => '',
@@ -1532,7 +1593,9 @@ $missing = {
   'The second reason is that Lx-Office allowed the user to enter the tax amount manually regardless of the taxkey used.' => '',
   'The second way is to use Perl\'s CPAN module and let it download and install the module for you.' => '',
   'The selected  PostgreSQL installation uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => '',
+  'The selected bank account does not exist anymore.' => '',
   'The selected bin does not exist.' => '',
+  'The selected exports have been closed.' => '',
   'The selected warehouse does not exist.' => '',
   'The selected warehouse is empty.' => '',
   'The session is invalid or has expired.' => '',
@@ -1698,6 +1761,7 @@ $missing = {
   'Verrechnungseinheit'         => '',
   'Version'                     => '',
   'View License'                => '',
+  'View SEPA export'            => '',
   'View warehouse content'      => '',
   'Von Konto: '                 => '',
   'WEBDAV access'               => '',
@@ -1753,11 +1817,18 @@ $missing = {
   'You did not enter a name!'   => '',
   'You do not have the permissions to access this function.' => '',
   'You have entered or selected the following shipping address for this customer:' => '',
+  'You have not added bank accounts yet.' => '',
   'You have not selected any delivery order.' => '',
+  'You have not selected any export.' => '',
+  'You have not selected any item.' => '',
+  'You have selected none of the invoices.' => '',
   'You have to chose a dimension unit and a service unit which will then be assigned to those entries.' => '',
   'You have to chose which unit to save for each of them.' => '',
   'You have to create at least one group, grant it access to Lx-Office\'s functions and assign users to it.' => '',
   'You have to create new Buchungsgruppen for all the combinations of inventory, income and expense accounts that have been used already.' => '',
+  'You have to enter a company name in your user preferences (see the "Program" menu, "Preferences").' => '',
+  'You have to fill in at least an account number, the bank code, the IBAN and the BIC.' => '',
+  'You have to specify an execution date for each antry.' => '',
   'You must chose a user.'      => '',
   'You will now be forwarded to the administration panel.' => '',
   'You\'re not editing a file.' => '',
@@ -1781,6 +1852,9 @@ $missing = {
   'as at'                       => '',
   'assembly_list'               => '',
   'back'                        => '',
+  'bank_transfer_payment_list_#1' => '',
+  'bankaccounts'                => '',
+  'banktransfers'               => '',
   'bin_list'                    => '',
   'bis'                         => '',
   'button'                      => '',
@@ -1789,13 +1863,16 @@ $missing = {
   'chart_of_accounts'           => '',
   'choice'                      => '',
   'choice part'                 => '',
+  'click here to edit cvars'    => '',
   'close'                       => '',
+  'closed'                      => '',
   'config/authentication.pl: Key "DB_config" is missing.' => '',
   'config/authentication.pl: Key "LDAP_config" is missing.' => '',
   'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => '',
   'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => '',
   'continue'                    => '',
   'correction'                  => '',
+  'cp_greeting to cp_gender migration' => '',
   'customer'                    => '',
   'customer_list'               => '',
   'customernumber not unique!'  => '',
@@ -1812,6 +1889,7 @@ $missing = {
   'eMail?'                      => '',
   'ea'                          => '',
   'emailed to'                  => '',
+  'executed'                    => '',
   'female'                      => '',
   'follow_up_list'              => '',
   'for'                         => '',
@@ -1839,10 +1917,13 @@ $missing = {
   'no'                          => '',
   'no chargenumber'             => '',
   'none (pricegroup)'           => '',
+  'not executed'                => '',
   'not transferred in yet'      => '',
   'not transferred out yet'     => '',
+  'not yet executed'            => '',
   'number'                      => '',
   'oe.pl::search called with unknown type' => '',
+  'open'                        => '',
   'order'                       => '',
   'our vendor number at customer' => '',
   'packing_list'                => '',
index 1626976..f14cbfe 100644 (file)
@@ -279,12 +279,9 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Serial No.',
-  'Ship'                        => 'Ship',
-  'Ship rcvd'                   => 'Ship rcvd',
   'Ship to'                     => 'Ship to',
   'Ship via'                    => 'Ship via',
   'Shipping Address'            => 'Shipping Address',
-  'Show details'                => 'Show details',
   'Stock'                       => 'Stock',
   'Storno Invoice'              => 'Storno Invoice',
   'Storno Packing List'         => 'Storno Packing List',
diff --git a/locale/en/sepa b/locale/en/sepa
new file mode 100644 (file)
index 0000000..742d910
--- /dev/null
@@ -0,0 +1,279 @@
+#!/usr/bin/perl
+
+$self->{texts} = {
+  'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+  'ADDED'                       => 'ADDED',
+  'AP'                          => 'Purchases',
+  'AP Transaction'              => 'Purchase Transaction',
+  'AR'                          => 'Sales',
+  'AR Transaction'              => 'Sales Transaction',
+  'Account number #1, bank code #2, #3' => 'Account number #1, bank code #2, #3',
+  'Address'                     => 'Address',
+  'Advance turnover tax return' => 'Advance turnover tax return',
+  'All of the exports you have selected were already closed.' => 'All of the exports you have selected were already closed.',
+  'All reports'                 => 'All reports',
+  'All the selected exports have already been closed, or all of their items have already been executed.' => 'All the selected exports have already been closed, or all of their items have already been executed.',
+  'Amount'                      => 'Amount',
+  'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+  'Bank transfer payment list for export #1' => 'Bank transfer payment list for export #1',
+  'Bcc'                         => 'Bcc',
+  'Bin List'                    => 'Bin List',
+  'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+  'CANCELED'                    => 'CANCELED',
+  'CR'                          => 'CR',
+  'CRM admin'                   => 'CRM admin',
+  'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+  'CRM follow up'               => 'CRM follow up',
+  'CRM know how'                => 'CRM know how',
+  'CRM notices'                 => 'CRM notices',
+  'CRM opportunity'             => 'CRM opportunity',
+  'CRM optional software'       => 'CRM optional software',
+  'CRM other'                   => 'CRM other',
+  'CRM search'                  => 'CRM search',
+  'CRM send email'              => 'CRM send email',
+  'CRM services'                => 'CRM services',
+  'CRM status'                  => 'CRM status',
+  'CRM termin'                  => 'CRM termin',
+  'CRM user'                    => 'CRM user',
+  'CSV export -- options'       => 'CSV export -- options',
+  'Cc'                          => 'Cc',
+  'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+  'Close SEPA exports'          => 'Close SEPA exports',
+  'Closed'                      => 'Closed',
+  'Confirmation'                => 'Confirmation',
+  'Contact'                     => 'Contact',
+  'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+  'Create and edit RFQs'        => 'Create and edit RFQs',
+  'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+  'Create and edit dunnings'    => 'Create and edit dunnings',
+  'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+  'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+  'Create and edit projects'    => 'Create and edit projects',
+  'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+  'Create and edit purchase orders' => 'Create and edit purchase orders',
+  'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+  'Create and edit sales orders' => 'Create and edit sales orders',
+  'Create and edit sales quotations' => 'Create and edit sales quotations',
+  'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+  'Create bank transfer via SEPA XML' => 'Create bank transfer via SEPA XML',
+  'Credit Note'                 => 'Credit Note',
+  'Customer'                    => 'Customer',
+  'Customer Number'             => 'Customer Number',
+  'Customer details'            => 'Customer details',
+  'DATEV Export'                => 'DATEV Export',
+  'DELETED'                     => 'DELETED',
+  'DR'                          => 'DR',
+  'DUNNING STARTED'             => 'DUNNING STARTED',
+  'Dataset upgrade'             => 'Dataset upgrade',
+  'Date'                        => 'Date',
+  'Delivery Order'              => 'Delivery Order',
+  'Dependency loop detected:'   => 'Dependency loop detected:',
+  'Destination BIC'             => 'Destination BIC',
+  'Destination IBAN'            => 'Destination IBAN',
+  'Directory'                   => 'Directory',
+  'Dunning'                     => 'Dunning',
+  'ELSE'                        => 'ELSE',
+  'Either there are no open invoices, or you have already initiated bank transfers with the open amounts for those that are still open.' => 'Either there are no open invoices, or you have already initiated bank transfers with the open amounts for those that are still open.',
+  'Employee'                    => 'Employee',
+  'Enter longdescription'       => 'Enter longdescription',
+  'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+  'Executed'                    => 'Executed',
+  'Execution date'              => 'Execution date',
+  'Execution date from'         => 'Execution date from',
+  'Execution date to'           => 'Execution date to',
+  'Export date'                 => 'Export date',
+  'Export date from'            => 'Export date from',
+  'Export date to'              => 'Export date to',
+  'File'                        => 'File',
+  'GL Transaction'              => 'GL Transaction',
+  'General ledger and cash'     => 'General ledger and cash',
+  'History'                     => 'History',
+  'Invoice'                     => 'Invoice',
+  'Invoice number'              => 'Invoice number',
+  'List of bank transfers'      => 'List of bank transfers',
+  'MAILED'                      => 'MAILED',
+  'Manage license keys'         => 'Manage license keys',
+  'Mark as paid?'               => 'Mark as paid?',
+  'Marked as paid'              => 'Marked as paid',
+  'Master Data'                 => 'Master Data',
+  'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+  'Message'                     => 'Message',
+  'Missing \'description\' field.' => 'Missing \'description\' field.',
+  'Missing \'tag\' field.'      => 'Missing \'tag\' field.',
+  'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+  'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+  'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+  'Multi mode not supported.'   => 'Multi mode not supported.',
+  'Name'                        => 'Name',
+  'No'                          => 'No',
+  'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+  'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+  'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+  'No action defined.'          => 'No action defined.',
+  'No customer has been selected yet.' => 'No customer has been selected yet.',
+  'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+  'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+  'No transfers were executed in this export.' => 'No transfers were executed in this export.',
+  'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+  'Number'                      => 'Number',
+  'Others'                      => 'Others',
+  'PAYMENT POSTED'              => 'PAYMENT POSTED',
+  'PDF export -- options'       => 'PDF export -- options',
+  'POSTED'                      => 'POSTED',
+  'POSTED AS NEW'               => 'POSTED AS NEW',
+  'PRINTED'                     => 'PRINTED',
+  'Packing List'                => 'Packing List',
+  'Page #1/#2'                  => 'Page #1/#2',
+  'Part Number'                 => 'Part Number',
+  'Part description'            => 'Part description',
+  'Pick List'                   => 'Pick List',
+  'Please enter values'         => 'Please enter values',
+  'Prepare bank transfer via SEPA XML' => 'Prepare bank transfer via SEPA XML',
+  'Preview'                     => 'Preview',
+  'Proforma Invoice'            => 'Proforma Invoice',
+  'Purchase Order'              => 'Purchase Order',
+  'Quotation'                   => 'Quotation',
+  'RFQ'                         => 'RFQ',
+  'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+  'Reference'                   => 'Reference',
+  'Reports'                     => 'Reports',
+  'Request quotation'           => 'Request quotation',
+  'Requested execution date from' => 'Requested execution date from',
+  'Requested execution date to' => 'Requested execution date to',
+  'SAVED'                       => 'SAVED',
+  'SAVED FOR DUNNING'           => 'SAVED FOR DUNNING',
+  'SCREENED'                    => 'SCREENED',
+  'Sales Invoice'               => 'Sales Invoice',
+  'Sales Order'                 => 'Sales Order',
+  'Sales quotation'             => 'Sales quotation',
+  'Select a Customer'           => 'Select a Customer',
+  'Select a customer'           => 'Select a customer',
+  'Select a part'               => 'Select a part',
+  'Select a vendor'             => 'Select a vendor',
+  'Source BIC'                  => 'Source BIC',
+  'Source IBAN'                 => 'Source IBAN',
+  'Storno Invoice'              => 'Storno Invoice',
+  'Storno Packing List'         => 'Storno Packing List',
+  'Subject'                     => 'Subject',
+  'That export does not exist.' => 'That export does not exist.',
+  'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+  'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+  'The bank information must not be empty.' => 'The bank information must not be empty.',
+  'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+  'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+  'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+  'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+  'The connection to the template database failed:' => 'The connection to the template database failed:',
+  'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+  'The list has been printed.'  => 'The list has been printed.',
+  'The payments have been posted.' => 'The payments have been posted.',
+  'The selected bank account does not exist anymore.' => 'The selected bank account does not exist anymore.',
+  'The selected exports have been closed.' => 'The selected exports have been closed.',
+  'To (email)'                  => 'To (email)',
+  'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+  'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+  'Unit'                        => 'Unit',
+  'Unknown dependency \'%s\'.'  => 'Unknown dependency \'%s\'.',
+  'Value'                       => 'Value',
+  'Variable'                    => 'Variable',
+  'Vendor'                      => 'Vendor',
+  'Vendor Invoice'              => 'Vendor Invoice',
+  'Vendor details'              => 'Vendor details',
+  'View SEPA export'            => 'View SEPA export',
+  'View warehouse content'      => 'View warehouse content',
+  'Warehouse management'        => 'Warehouse management',
+  'Yes'                         => 'Yes',
+  'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+  'You have not added bank accounts yet.' => 'You have not added bank accounts yet.',
+  'You have not selected any export.' => 'You have not selected any export.',
+  'You have not selected any item.' => 'You have not selected any item.',
+  'You have selected none of the invoices.' => 'You have selected none of the invoices.',
+  'You have to enter a company name in your user preferences (see the "Program" menu, "Preferences").' => 'You have to enter a company name in your user preferences (see the "Program" menu, "Preferences").',
+  'You have to specify an execution date for each antry.' => 'You have to specify an execution date for each antry.',
+  'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+  '[email]'                     => '[email]',
+  'bank_transfer_payment_list_#1' => 'bank_transfer_payment_list_#1',
+  'banktransfers'               => 'banktransfers',
+  'bin_list'                    => 'bin_list',
+  'closed'                      => 'closed',
+  'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+  'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+  'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+  'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+  'customer'                    => 'customer',
+  'executed'                    => 'executed',
+  'invoice'                     => 'invoice',
+  'no'                          => 'no',
+  'not yet executed'            => 'not yet executed',
+  'open'                        => 'open',
+  'packing_list'                => 'packing_list',
+  'pick_list'                   => 'pick_list',
+  'proforma'                    => 'proforma',
+  'purchase_order'              => 'purchase_order',
+  'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+  'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+  'request_quotation'           => 'request_quotation',
+  'sales_order'                 => 'sales_order',
+  'sales_quotation'             => 'sales_quotation',
+  'vendor'                      => 'vendor',
+  'yes'                         => 'yes',
+};
+
+$self->{subs} = {
+  'E'                           => 'E',
+  'H'                           => 'H',
+  'NTI'                         => 'NTI',
+  'Q'                           => 'Q',
+  'ap_transaction'              => 'ap_transaction',
+  'ar_transaction'              => 'ar_transaction',
+  'bank_transfer_add'           => 'bank_transfer_add',
+  'bank_transfer_create'        => 'bank_transfer_create',
+  'bank_transfer_download_sepa_xml' => 'bank_transfer_download_sepa_xml',
+  'bank_transfer_edit'          => 'bank_transfer_edit',
+  'bank_transfer_list'          => 'bank_transfer_list',
+  'bank_transfer_mark_as_closed_step1' => 'bank_transfer_mark_as_closed_step1',
+  'bank_transfer_mark_as_closed_step2' => 'bank_transfer_mark_as_closed_step2',
+  'bank_transfer_payment_list_as_pdf' => 'bank_transfer_payment_list_as_pdf',
+  'bank_transfer_post_payments' => 'bank_transfer_post_payments',
+  'bank_transfer_search'        => 'bank_transfer_search',
+  'build_std_url'               => 'build_std_url',
+  'calculate_qty'               => 'calculate_qty',
+  'call_sub'                    => 'call_sub',
+  'cov_selection_internal'      => 'cov_selection_internal',
+  'delivery_customer_selection' => 'delivery_customer_selection',
+  'dispatcher'                  => 'dispatcher',
+  'format_dates'                => 'format_dates',
+  'gl_transaction'              => 'gl_transaction',
+  'mark_as_paid_common'         => 'mark_as_paid_common',
+  'part_selection_internal'     => 'part_selection_internal',
+  'reformat_numbers'            => 'reformat_numbers',
+  'report_generator_back'       => 'report_generator_back',
+  'report_generator_dispatcher' => 'report_generator_dispatcher',
+  'report_generator_do'         => 'report_generator_do',
+  'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+  'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+  'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+  'retrieve_partunits'          => 'retrieve_partunits',
+  'sales_invoice'               => 'sales_invoice',
+  'select_part'                 => 'select_part',
+  'select_part_internal'        => 'select_part_internal',
+  'set_longdescription'         => 'set_longdescription',
+  'show_history'                => 'show_history',
+  'show_vc_details'             => 'show_vc_details',
+  'vendor_invoice'              => 'vendor_invoice',
+  'vendor_selection'            => 'vendor_selection',
+  'back'                        => 'back',
+  'close'                       => 'close',
+  'continue'                    => 'continue',
+  'create_bank_transfer'        => 'create_bank_transfer',
+  'export_as_csv'               => 'export_as_csv',
+  'export_as_pdf'               => 'export_as_pdf',
+  'mark_as_closed'              => 'mark_as_closed',
+  'new_part'                    => 'new_part',
+  'payment_list_as_pdf'         => 'payment_list_as_pdf',
+  'post_payments'               => 'post_payments',
+  'sepa_xml_download'           => 'sepa_xml_download',
+  'step_2'                      => 'step_2',
+};
+
+1;
index e78ff7d..61dd444 100644 (file)
@@ -298,12 +298,9 @@ $self->{texts} = {
   'Sep'                         => 'Sep',
   'September'                   => 'September',
   'Serial No.'                  => 'Serial No.',
-  'Ship'                        => 'Ship',
-  'Ship rcvd'                   => 'Ship rcvd',
   'Ship to'                     => 'Ship to',
   'Ship via'                    => 'Ship via',
   'Shipping Address'            => 'Shipping Address',
-  'Show details'                => 'Show details',
   'Stock'                       => 'Stock',
   'Storno Invoice'              => 'Storno Invoice',
   'Storno Packing List'         => 'Storno Packing List',
index 5311df8..cd66d9d 100644 (file)
        </select>
       </td>
      </tr>
+
+     <tr>
+      <th align="right">Show custom variable search inputs</th>
+      <td>
+       <select name="hide_cvar_search_options">
+        <option value="0"[% IF !myconfig_hide_cvar_search_options %] selected[% END %]>Show by default</option>
+        <option value="1"[% IF  myconfig_hide_cvar_search_options %] selected[% END %]>Hide by default</option>
+       </select>
+      </td>
+     </tr>
     </table>
 
     <br style="clear: left" />
index c8011a6..26100f9 100644 (file)
@@ -191,7 +191,7 @@ window.onload = function() {
           <th align="left">BWA</th>
           <td colspan="3"><select name="pos_bwa">[% select_bwa %]</select></td>
         </tr>
-       <!-- Diese Steuerfunktion hat keine Auswirkung in der Bilanz und wird erstmal deaktiviert. -->
+        <!-- Diese Steuerfunktion hat keine Auswirkung in der Bilanz und wird erstmal deaktiviert. -->
         <!-- tr>
           <th align="left">Bilanz</th>
           <td colspan="3"><select name="pos_bilanz">[% select_bilanz %]</select></td>
index b967e77..56e00a7 100644 (file)
@@ -2,7 +2,7 @@
 
    [%- FOREACH var = variables %]
    [%- IF var.searchable %]
-   <tr>
+   <tr id='cvar_filter_[% var.name %]'>
     <td align="right" valign="top">[% HTML.escape(var.description) %]</td>
     <td valign="top">
 
    </tr>
    [%- END %]
    [%- END %]
+[% IF hidden_cvar_filters %]
+   <tr><td></td><td colspan="3"><a href="#" id="cvar_filter-toggle"><i>click here to edit cvars</i></a></td></tr>
+   <script type='text/javascript'>
+     $('#cvar_filter-toggle').click(function() { $('[id^="cvar_filter"]').toggle(); $('[id^="l_cvartd_"]').toggle(); });
+     $(document).ready(function(){ $('[id^="cvar_filter_"]').hide(); $('[id^="l_cvartd_"]').hide(); });
+   </script>
+[% END %]
index 4c16c51..3fd967f 100644 (file)
@@ -8,7 +8,7 @@
    <tr>
     [%- SET start_new_row = '0' %]
     [%- END %]
-    <td>
+    <td id="[% HTML.escape(include_prefix) %]cvartd_[% HTML.escape(var.name) %]">
      <input type="checkbox"
             name="[% HTML.escape(include_prefix) %]cvar_[% HTML.escape(var.name) %]"
             id="[% HTML.escape(include_prefix) %]cvar_[% HTML.escape(var.name) %]"
diff --git a/templates/webpages/ap/search_en.html b/templates/webpages/ap/search_en.html
new file mode 100644 (file)
index 0000000..39425e8
--- /dev/null
@@ -0,0 +1,191 @@
+<body>
+
+ <form method=post name="search" action=[% script %]>
+
+  <table width=100%>
+  <tr><th class=listtop>[% title %]</th></tr>
+  <tr height="5"></tr>
+  <tr>
+   <td>
+    <table>
+     <tr>
+      <th align=right>Vendor</th>
+      <td colspan=3>
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'vendor',
+                 default       = 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,
+                 -%]
+[% INCLUDE 'generic/autocomplete.html', AUTOCOMPLETES => [
+  { script => 'ct.pl', column => 'name', selector => 'input[name="vendor"]', params => { vc => 'vendor' } },
+]
+%]
+      </td>
+     </tr>
+     <tr>
+      <th align=right nowrap>Department</th>
+      <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'department',
+                 style         = 'width: 250px',
+                 DATA          = ALL_DEPARTMENTS,
+                 id_key        = 'id',
+                 label_key     = 'description',
+                 show_empty    = 1,
+                 allow_textbox = 0,
+            -%]
+      </td>
+     </tr>
+     <tr>
+      <th align=right nowrap>Invoice Number</th>
+      <td colspan=3><input name=invnumber size=20></td>
+     </tr>
+     <tr>
+      <th align=right nowrap>Order Number</th>
+      <td colspan=3><input name=ordnumber size=20></td>
+     </tr>
+     <tr>
+      <th align=right nowrap>Notes</th>
+      <td colspan=3><input name=notes size=40></td>
+     </tr>
+     <tr>
+      <th align="right">Project Number</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 = 0,
+            -%]
+      </td>
+     </tr>
+     <tr>
+      <th align=right nowrap>From</th>
+      <td>
+       <input name=transdatefrom id=transdatefrom size=11 title="dateformat | html %]" onBlur=\"check_right_date_format(this)\">
+       <input type=button name=transdatefrom id="trigger1" value=button>
+      </td>
+     <th align=right>Bis</th>
+     <td>
+      <input name=transdateto id=transdateto size=11 title="[% dateformat | html %]" onBlur=\"check_right_date_format(this)\">
+      <input type=button name=transdateto name=transdateto id="trigger2" value=button>
+     </td>
+    </tr>
+   <input type=hidden name=sort value=transdate>
+   </table>
+    </td>
+    </tr>
+    <tr>
+     <td>
+      <table>
+       <tr>
+        <th align=right nowrap>Include in Report</th>
+        <td>
+         <table width=100%>
+          <tr>
+           <td align=right><input name=open class=checkbox type=checkbox value=Y checked></td>
+           <td nowrap>Open</td>
+           <td align=right><input name=closed class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Closed</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_id" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>ID</td>
+           <td align=right><input name="l_invnumber" class=checkbox type=checkbox value=Y checked></td>
+           <td nowrap>Invoice Number</td>
+           <td align=right><input name="l_ordnumber" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Order Number</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_name" class=checkbox type=checkbox value=Y checked></td>
+           <td nowrap>Vendor</td>
+           <td align=right><input name="l_transdate" class=checkbox type=checkbox value=Y checked></td>
+           <td nowrap>Invoice Date</td>
+           <td align=right><input name="l_netamount" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Amount</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_tax" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Tax</td>
+           <td align=right><input name="l_amount" class=checkbox type=checkbox value=Y checked></td>
+           <td nowrap>Total</td>
+           <td align=right><input name="l_datepaid" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Date Paid</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_paid" class=checkbox type=checkbox value=Y checked></td>
+           <td nowrap>Paid</td>
+           <td align=right><input name="l_duedate" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Due Date</td>
+           <td align=right><input name="l_due" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Amount Due</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_notes" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Notes</td>
+           <td align=right><input name="l_employee" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Employee</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_subtotal" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Subtotal</td>
+           <td align=right><input name="l_globalprojectnumber" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Project Number</td>
+         </tr>
+         <tr>
+          <td colspan=4 align=left><b>Vendor </td>
+         </tr>
+         <tr>
+           <td align=right><input name="l_vendornumber" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Vendor Number</td>
+           <td align=right><input name="l_country" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Country</td>
+           <td align=right><input name="l_ustid" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>USt-IdNr.</td>
+           <td align=right><input name="l_taxzone" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Steuersatz</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_payment_terms" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Payment Terms</td>
+           <td align=right><input name="l_charts" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Buchungskonto</td>
+          </tr>
+         </table>
+        </td>
+       </tr>
+      </table>
+     </td>
+    </tr>
+    <tr>
+     <td><hr size=3 noshade></td>
+    </tr>
+   </table>
+   <input type=hidden name=nextsub value=[% nextsub %]>
+   <br>
+   <input class=submit type=submit name=action value="Continue">
+  </form>
+ </body>
+ <script type="text/javascript">
+ <!--
+   Calendar.setup( { inputField : "transdatefrom", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BR", button : "trigger1" });
+   Calendar.setup( { inputField : "transdateto", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger2" });
+   $(document).ready(function(){
+    focus();
+    setupDateFormat('[% dateformat | html %]','Falsches Datumsformat!');
+    setupPoints('[% numberformat | html %]','wrongformat');
+   })
+ //-->
+ </script>
+</html>
diff --git a/templates/webpages/ar/search_en.html b/templates/webpages/ar/search_en.html
new file mode 100644 (file)
index 0000000..289c27f
--- /dev/null
@@ -0,0 +1,207 @@
+<body>
+
+ <form method=post name="search" action=[% script %]>
+
+  <table width=100%>
+  <tr><th class=listtop>[% title %]</th></tr>
+  <tr height="5"></tr>
+  <tr>
+   <td>
+    <table>
+     <tr>
+      <th align=right>Customer</th>
+      <td colspan=3>
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'customer',
+                 default       = oldcustomer,
+                 style         = 'width: 250px',
+                 DATA          = ALL_VC,
+                 id_sub        = 'vc_keys',
+                 label_key     = 'name',
+                 select        = vc_select,
+                 limit         = vclimit,
+                 show_empty    = 1,
+                 allow_textbox = 1,
+                 -%]
+[% INCLUDE 'generic/autocomplete.html', AUTOCOMPLETES => [
+  { script => 'ct.pl', column => 'name', selector => 'input[name="customer"]', params => { vc => 'customer' } },
+]
+%]
+      </td>
+     </tr>
+     <tr>
+      <th align=right nowrap>Department</th>
+      <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'department',
+                 style         = 'width: 250px',
+                 DATA          = ALL_DEPARTMENTS,
+                 id_key        = 'id',
+                 label_key     = 'description',
+                 show_empty    = 1,
+                 allow_textbox = 0,
+            -%]
+      </td>
+     </tr>
+     <tr>
+      <th align=right nowrap>Invoice Number</th>
+      <td colspan=3><input name=invnumber size=20></td>
+     </tr>
+     <tr>
+      <th align=right nowrap>Order Number</th>
+      <td colspan=3><input name=ordnumber size=20></td>
+     </tr>
+     <tr>
+      <th align=right nowrap>Transaction description</th>
+      <td colspan=3><input name=transaction_description size=40></td>
+     </tr>
+     <tr>
+      <th align=right nowrap>Notes</th>
+      <td colspan=3><input name=notes size=40></td>
+     </tr>
+     <tr>
+      <th align="right">Project Number</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 = 0,
+            -%]
+      </td>
+     </tr>
+     <tr>
+      <th align=right nowrap>From</th>
+      <td>
+       <input name=transdatefrom id=transdatefrom size=11 title="dateformat | html %]" onBlur=\"check_right_date_format(this)\">
+       <input type=button name=transdatefrom id="trigger1" value=button>
+      </td>
+     <th align=right>Bis</th>
+     <td>
+      <input name=transdateto id=transdateto size=11 title="[% dateformat | html %]" onBlur=\"check_right_date_format(this)\">
+      <input type=button name=transdateto name=transdateto id="trigger2" value=button>
+     </td>
+    </tr>
+   <input type=hidden name=sort value=transdate>
+   </table>
+    </td>
+    </tr>
+    <tr>
+     <td>
+      <table>
+       <tr>
+        <th align=right nowrap>Include in Report</th>
+        <td>
+         <table width=100%>
+          <tr>
+           <td align=right><input name=open class=checkbox type=checkbox value=Y checked></td>
+           <td nowrap>Open</td>
+           <td align=right><input name=closed class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Closed</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_id" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>ID</td>
+           <td align=right><input name="l_invnumber" class=checkbox type=checkbox value=Y checked></td>
+           <td nowrap>Invoice Number</td>
+           <td align=right><input name="l_ordnumber" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Order Number</td>
+           <td align=right><input name="l_transdate" class=checkbox type=checkbox value=Y checked></td>
+           <td nowrap>Invoice Date</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_name" class=checkbox type=checkbox value=Y checked></td>
+           <td nowrap>Customer</td>
+           <td align=right><input name="l_netamount" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Amount</td>
+           <td align=right><input name="l_tax" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Tax</td>
+           <td align=right><input name="l_amount" class=checkbox type=checkbox value=Y checked></td>
+           <td nowrap>Total</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_datepaid" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Date Paid</td>
+           <td align=right><input name="l_paid" class=checkbox type=checkbox value=Y checked></td>
+           <td nowrap>Paid</td>
+           <td align=right><input name="l_duedate" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Due Date</td>
+           <td align=right><input name="l_due" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Amount Due</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_notes" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Notes</td>
+           <td align=right><input name="l_salesman" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Salesperson</td>
+           <td align=right><input name="l_shippingpoint" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Shipping Point</td>
+           <td align=right><input name="l_shipvia" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Ship via</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_marge_total" class=checkbox type=checkbox value=Y></td>
+           <td nowrap> Ertrag</td>
+           <td align=right><input name="l_marge_percent" class=checkbox type=checkbox value=Y></td>
+           <td nowrap> Ertrag prozentual</td>
+           <td align=right><input name="l_employee" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Employee</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_subtotal" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Subtotal</td>
+           <td align=right><input name="l_globalprojectnumber" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Project Number</td>
+           <td align=right><input name="l_transaction_description" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Transaction description</td>
+          </tr>
+          <tr>
+           <td colspan=4 align=left><b>Customer </td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_customernumber" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Customer Number</td>
+           <td align=right><input name="l_country" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Country</td>
+           <td align=right><input name="l_ustid" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>USt-IdNr.</td>
+           <td align=right><input name="l_taxzone" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Steuersatz</td>
+          </tr>
+          <tr>
+           <td align=right><input name="l_payment_terms" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Payment Terms</td>
+           <td align=right><input name="l_charts" class=checkbox type=checkbox value=Y></td>
+           <td nowrap>Buchungskonto</td>
+          </tr>
+         </table>
+        </td>
+       </tr>
+      </table>
+     </td>
+    </tr>
+    <tr>
+     <td><hr size=3 noshade></td>
+    </tr>
+   </table>
+   <input type=hidden name=nextsub value=[% nextsub %]>
+   <br>
+   <input class=submit type=submit name=action value="Continue">
+  </form>
+ </body>
+ <script type="text/javascript">
+ <!--
+   Calendar.setup( { inputField : "transdatefrom", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BR", button : "trigger1" });
+   Calendar.setup( { inputField : "transdateto", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger2" });
+   $(document).ready(function(){
+    focus();
+    setupDateFormat('[% dateformat | html %]','Falsches Datumsformat!');
+    setupPoints('[% numberformat | html %]','wrongformat');
+   })
+ //-->
+ </script>
+</html>
diff --git a/templates/webpages/bankaccounts/bank_account_display_form_en.html b/templates/webpages/bankaccounts/bank_account_display_form_en.html
new file mode 100644 (file)
index 0000000..e6bdd65
--- /dev/null
@@ -0,0 +1,70 @@
+[% USE HTML %]
+<body>
+
+[%- IF params.error %]
+ <p><div class="error_message">[% params.error %]</div></p>
+[%- END %]
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <form method="post" action="bankaccounts.pl">
+
+  <p>
+   <table>
+    <tr>
+     <td align="right">Account number</td>
+     <td><input name="account.account_number" size="20" maxlength="100" value="[% HTML.escape(account.account_number) %]"></td>
+    </tr>
+
+    <tr>
+     <td align="right">Bank code</td>
+     <td><input name="account.bank_code" size="20" maxlength="100" value="[% HTML.escape(account.bank_code) %]"></td>
+    </tr>
+
+    <tr>
+     <td align="right">Bank</td>
+     <td><input name="account.bank" size="30" value="[% HTML.escape(account.bank) %]"></td>
+    </tr>
+
+    <tr>
+     <td align="right">IBAN</td>
+     <td><input name="account.iban" size="30" maxlength="100" value="[% HTML.escape(account.iban) %]"></td>
+    </tr>
+
+    <tr>
+     <td align="right">BIC</td>
+     <td><input name="account.bic" size="30" maxlength="100" value="[% HTML.escape(account.bic) %]"></td>
+    </tr>
+
+    <tr>
+     <td align="right">Chart</td>
+     <td>
+      [%- INCLUDE generic/multibox.html
+            name      = 'account.chart_id',
+            DATA      = CHARTS,
+            id_key    = 'id',
+            label_sub = 'chart_label',
+            style     = 'width: 300px',
+      -%]
+     </td>
+    </tr>
+
+   </table>
+  </p>
+
+  <p>
+   <input type="hidden" name="action" value="dispatcher">
+   <input type="hidden" name="account.id" value="[% HTML.escape(account.id) %]">
+   <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+
+[%- IF account.id %]
+   <input type="submit" name="action_bank_account_save" value="Save">
+   <input type="submit" name="action_bank_account_delete" value="Delete">
+[%- ELSE %]
+   <input type="submit" name="action_bank_account_save" value="Add">
+[%- END %]
+  </p>
+ </form>
+
+</body>
+</html>
diff --git a/templates/webpages/bankaccounts/bank_account_list_bottom_en.html b/templates/webpages/bankaccounts/bank_account_list_bottom_en.html
new file mode 100644 (file)
index 0000000..1fef28b
--- /dev/null
@@ -0,0 +1,11 @@
+[% USE HTML %]
+ <form action="bankaccounts.pl" method="post">
+  <p>
+   New bank account<br>
+   <input type="submit" value="Add">
+  </p>
+
+  <input type="hidden" name="action" value="bank_account_add">
+  <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ </form>
+
index c9f989f..8cb75c3 100644 (file)
 
 <input type="hidden" name="action" value="show_am_history">
 
-       <table>
-               <tr>
-                       <th class ="listtop">history search engine</th>
-                       </th>
-               </tr>
-               <tr>
-                       <td>
-                               <script type="text/javascript">
-                                       <!--
+  <table>
+    <tr>
+      <th class ="listtop">history search engine</th>
+      </th>
+    </tr>
+    <tr>
+      <td>
+        <script type="text/javascript">
+          <!--
                     function uncheckOther(id) {
-                                               if(!(
-                                                   (document.getElementById('non-deleted').checked == false)
-                                               &&
-                                                   (document.getElementById('both').checked == false)
-                                                   &&
-                                                   (document.getElementById('deleted').checked == false)
-                                                 )) {
-                                                               if(id == "deleted") {
-                                                                       document.getElementById('non-deleted').checked = false;
-                                                                       document.getElementById('both').checked = false;
-                                                               }
-                                                               if(id == "non-deleted") {
-                                                                       document.getElementById('deleted').checked = false;
-                                                                       document.getElementById('both').checked = false;
-                                                               }
-                                                               if(id == "both") {
-                                                                       document.getElementById('non-deleted').checked = false;
-                                                                       document.getElementById('deleted').checked = false;
-                                                               }
-                                               }
-                                       }
+            if(!(
+                (document.getElementById('non-deleted').checked == false)
+                &&
+                (document.getElementById('both').checked == false)
+                &&
+                (document.getElementById('deleted').checked == false)
+              )) {
+                if(id == "deleted") {
+                  document.getElementById('non-deleted').checked = false;
+                  document.getElementById('both').checked = false;
+                }
+                if(id == "non-deleted") {
+                  document.getElementById('deleted').checked = false;
+                  document.getElementById('both').checked = false;
+                }
+                if(id == "both") {
+                  document.getElementById('non-deleted').checked = false;
+                  document.getElementById('deleted').checked = false;
+                }
+            }
+          }
 
-                                       var defaults = new Array('SAVED', 'DELETED', 'ADDED', 'PAYMENT POSTED', 'POSTED', 'POSTED AS NEW', 'SAVED FOR DUNNING', 'DUNNING STARTED', 'PRINTED');
-                                       var translated = new Object();
-                                       translated['SAVED'] = 'SAVED';
-                                       translated['DELETED'] = 'DELETED';
-                                       translated['ADDED'] = 'ADDED';
-                                       translated['PAYMENT POSTED'] = 'PAYMENT POSTED';
-                                       translated['POSTED'] = 'POSTED';
-                                       translated['POSTED AS NEW'] = 'POSTED AS NEW'
-                                       translated['SAVED FOR DUNNING'] = 'SAVED FOR DUNNING';
-                                       translated['DUNNING STARTED'] = 'DUNNING STARTED';
-                                       translated['PRINTED'] = 'PRINTED';
+          var defaults = new Array('SAVED', 'DELETED', 'ADDED', 'PAYMENT POSTED', 'POSTED', 'POSTED AS NEW', 'SAVED FOR DUNNING', 'DUNNING STARTED', 'PRINTED');
+          var translated = new Object();
+          translated['SAVED'] = 'SAVED';
+          translated['DELETED'] = 'DELETED';
+          translated['ADDED'] = 'ADDED';
+          translated['PAYMENT POSTED'] = 'PAYMENT POSTED';
+          translated['POSTED'] = 'POSTED';
+          translated['POSTED AS NEW'] = 'POSTED AS NEW'
+          translated['SAVED FOR DUNNING'] = 'SAVED FOR DUNNING';
+          translated['DUNNING STARTED'] = 'DUNNING STARTED';
+          translated['PRINTED'] = 'PRINTED';
 
-                                       var jscalender = "<table valign=\"top\">"
-                                                                       + "<tr><td colspan=\"2\"><b>Period:&nbsp;</b></td></tr>"
-                                                                       + "<tr><td>from (time):&nbsp;"
-                                                                       + "<input name=\"fromdate\" id=\"fromdate\" size=\"11\" title=\"[% HTML.escape(myconfig_dateformat) %]\" value=\"[% HTML.escape(fromdate) %]\">"
-                                                                       + "<input type=\"button\" name=\"fromdate\" id=\"trigger1\" value=\"?\">"
-                                                                       + "&nbsp;</td><td>to (time):&nbsp;"
-                                                                       + "<input name=\"todate\" id=\"todate\" size=\"11\" title=\"[% HTML.escape(myconfig_dateformat) %]\" value=\"[% HTML.escape(todate) %]\">"
-                                                                       + "<input type=\"button\" name=\"todate\" id=\"trigger2\" value=\"?\"></td></tr></table>";
-                                       var mitarbeiter = "<table valign=\"top\">"
-                                                                       + "<tr><td><b>Mitarbeiter:</b>&nbsp;</td>"
-                                                                       + "<td><input type='text' name='mitarbeiter' id='mitarbeiter'></td>"
-                                                                       + "</tr></table>";
+          var jscalender = "<table valign=\"top\">"
+                  + "<tr><td colspan=\"2\"><b>Period:&nbsp;</b></td></tr>"
+                  + "<tr><td>from (time):&nbsp;"
+                  + "<input name=\"fromdate\" id=\"fromdate\" size=\"11\" title=\"[% HTML.escape(myconfig_dateformat) %]\" value=\"[% HTML.escape(fromdate) %]\">"
+                  + "<input type=\"button\" name=\"fromdate\" id=\"trigger1\" value=\"?\">"
+                  + "&nbsp;</td><td>to (time):&nbsp;"
+                  + "<input name=\"todate\" id=\"todate\" size=\"11\" title=\"[% HTML.escape(myconfig_dateformat) %]\" value=\"[% HTML.escape(todate) %]\">"
+                  + "<input type=\"button\" name=\"todate\" id=\"trigger2\" value=\"?\"></td></tr></table>";
+          var mitarbeiter = "<table valign=\"top\">"
+                  + "<tr><td><b>Mitarbeiter:</b>&nbsp;</td>"
+                  + "<td><input type='text' name='mitarbeiter' id='mitarbeiter'></td>"
+                  + "</tr></table>";
 
-                                       var tempString = "";
-                                       function addForm(last, remove) {
-                                               if(last == "INIT") {
-                                                       tempString = "<select id='selectForm'><option></option>";
-                                                       for(i=0;i<defaults.length;i++) {
-                                                               tempString += "\<option value\=\'" + defaults[i] + "\'\ onClick=\"javascript:addForm(\'" + defaults[i] + "\', " + i + ");\">" + translated[defaults[i]] + "\<\/option\>" + "\n";
-                                                       }
-                                                       tempString += "</select>";
-                                                       document.getElementById('selectEmployee').innerHTML = mitarbeiter;
-                                                       document.getElementById('selectDate').innerHTML = jscalender;
-                                                       document.getElementById('selectTable').innerHTML = tempString;
+          var tempString = "";
+          function addForm(last, remove) {
+            if(last == "INIT") {
+              tempString = "<select id='selectForm'><option></option>";
+              for(i=0;i<defaults.length;i++) {
+                tempString += "\<option value\=\'" + defaults[i] + "\'\ onClick=\"javascript:addForm(\'" + defaults[i] + "\', " + i + ");\">" + translated[defaults[i]] + "\<\/option\>" + "\n";
+              }
+              tempString += "</select>";
+              document.getElementById('selectEmployee').innerHTML = mitarbeiter;
+              document.getElementById('selectDate').innerHTML = jscalender;
+              document.getElementById('selectTable').innerHTML = tempString;
 
-                                                       Calendar.setup(
-                                       {
-                                     inputField : "fromdate",
-                                     ifFormat :"%d.%m.%Y",
-                                     align : "BL",
-                                     button : "trigger1"
-                                       });
+              Calendar.setup(
+                    {
+                          inputField : "fromdate",
+                          ifFormat :"%d.%m.%Y",
+                          align : "BL",
+                          button : "trigger1"
+                      });
 
-                                           Calendar.setup(
-                                               {
-                                     inputField : "todate",
-                                         ifFormat :"%d.%m.%Y",
-                                         align : "BL",
-                                         button : "trigger2"
-                                               });
-                                               }
-                                               else {
-                                                       defaults.splice(remove,1);
-                                                       document.getElementById('inputText').innerHTML += ((document.getElementById('inputText').innerHTML == "") ? ("<b>You've already chosen the following limitations:</b><br>") : ("<br>")) + translated[last];
-                                                       if(defaults.length > 0) {
-                                                               document.getElementById('einschraenkungen').value += ((document.getElementById('einschraenkungen').value == "") ? ("") : (",")) + last;
-                                                               tempString = "<select id='selectForm'><option></option>";
-                                                               for(i=0;i<defaults.length;i++) {
-                                                                       tempString += "\<option value\=\'" + defaults[i] + "\'\ onClick=\"javascript:addForm(\'" + defaults[i] + "\', " + i + ");\">" + translated[defaults[i]] + "\<\/option\>" + "\n";
-                                                               }
-                                                               tempString += "</select>";
-                                                               document.getElementById('selectTable').innerHTML = tempString;
-                                                       }
-                                                       else {
-                                                               document.getElementById('selectTable').innerHTML = "";
-                                                       }
-                                               }
-                                       }
+                    Calendar.setup(
+                    {
+                          inputField : "todate",
+                          ifFormat :"%d.%m.%Y",
+                          align : "BL",
+                          button : "trigger2"
+                    });
+            }
+            else {
+              defaults.splice(remove,1);
+              document.getElementById('inputText').innerHTML += ((document.getElementById('inputText').innerHTML == "") ? ("<b>You've already chosen the following limitations:</b><br>") : ("<br>")) + translated[last];
+              if(defaults.length > 0) {
+                document.getElementById('einschraenkungen').value += ((document.getElementById('einschraenkungen').value == "") ? ("") : (",")) + last;
+                tempString = "<select id='selectForm'><option></option>";
+                for(i=0;i<defaults.length;i++) {
+                  tempString += "\<option value\=\'" + defaults[i] + "\'\ onClick=\"javascript:addForm(\'" + defaults[i] + "\', " + i + ");\">" + translated[defaults[i]] + "\<\/option\>" + "\n";
+                }
+                tempString += "</select>";
+                document.getElementById('selectTable').innerHTML = tempString;
+              }
+              else {
+                document.getElementById('selectTable').innerHTML = "";
+              }
+            }
+          }
 
-                                       function resetAll() {
-                                               document.getElementById('selectTable').innerHTML = "<a href=\"javascript:addForm('INIT')\">Yes";
-                                               document.getElementById('inputText').innerHTML = "";
-                                       }
-                                       //-->
-                               </script>
-                               <table>
-                                       <tr>
-                                               <td>
-                                                       <b>What</b> do you want to look for?:
-                                               </td>
-                                               <td>
-                                                       <select name="what2search" id="what2search">
-                                                               <option name="Artikelnummer" value="Artikelnummer" id="Artikelnummer">Part Number</option>
-                                                               <option name="Kundennummer" value="Kundennummer" id="Kundennummer">Customer Number</option>
-                                                               <option name="Lieferantennummer" value="Lieferantennummer" id="Lieferantennummer">Vendor Number</option>
-                                                               <option name="Projektnummer" value="Projektnummer" id="Projektnummer">Project Number</option>
-                                                               <option name="Buchungsnummer" value="Buchungsnummer" id="Buchungsnummer">ID</option>
-                                                               <option name="Eingangsrechnungnummer" value="Eingangsrechnungnummer" id="Eingangsrechnungnummer">Incoming invoice number</option>
-                                                               <option name="Ausgangsrechnungnummer" value="Ausgangsrechnungnummer" id="Ausgangsrechnungnummer">Sales invoice number</option>
+          function resetAll() {
+            document.getElementById('selectTable').innerHTML = "<a href=\"javascript:addForm('INIT')\">Yes";
+            document.getElementById('inputText').innerHTML = "";
+          }
+          //-->
+        </script>
+        <table>
+          <tr>
+            <td>
+              <b>What</b> do you want to look for?:
+            </td>
+            <td>
+              <select name="what2search" id="what2search">
+                <option name="Artikelnummer" value="Artikelnummer" id="Artikelnummer">Part Number</option>
+                <option name="Kundennummer" value="Kundennummer" id="Kundennummer">Customer Number</option>
+                <option name="Lieferantennummer" value="Lieferantennummer" id="Lieferantennummer">Vendor Number</option>
+                <option name="Projektnummer" value="Projektnummer" id="Projektnummer">Project Number</option>
+                <option name="Buchungsnummer" value="Buchungsnummer" id="Buchungsnummer">ID</option>
+                <option name="Eingangsrechnungnummer" value="Eingangsrechnungnummer" id="Eingangsrechnungnummer">Incoming invoice number</option>
+                <option name="Ausgangsrechnungnummer" value="Ausgangsrechnungnummer" id="Ausgangsrechnungnummer">Sales invoice number</option>
                 <option name="Mahnungsnummer" value="Mahnungsnummer" id="Mahnungsnummer">Dunning number</option>
-                                                       </select>
-                                               </td>
-                                       </tr>
-                                       <tr>
-                                               <td>
-                                                What's the <b>term</b> you're looking for?
-                                               </td>
-                                               <td>
-                                                       <input type="text" name="searchid" id="searchid" value="[% HTML.escape(searchid) %]">
-                                               </td>
-                                       </tr>
-                                       <tr>
-                                               <td valign="top">
-                                                Do you want to <b>limit</b> your search?
-                                               </td>
-                                               <td>
-                                                       <table valign=\"top\" cellpadding=\"0\" marginheight=\"0\" marginwidth=\"0\" cellspacing=\"0\" topmargin=\"0\" leftmargin=\"0\">
-                                                               <tr>
-                                                                       <td>
-                                                                               <div id="selectTable"><a href="javascript:addForm('INIT')">Yes</div>
-                                                                               <div id="inputText"></div>
-                                                                       </td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td>
-                                                                               <div id="selectEmployee"></div>
-                                                                       </td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td>
-                                                                               <div id="selectDate"></div>
-                                                                       </td>
-                                                               </tr>
-                                                       </table>
-                                                       <input type="hidden" name="einschraenkungen" id="einschraenkungen" value="">
-                                               </td>
-                                       </tr>
-                                       </tr>
-                                       <tr>
-                                               <td colspan="6">
-                                                       <input type="submit" class="submit" value="submit">
-                                                       <input type="reset" class="submit" value="reset" onClick="javascript:resetAll();">
-                                               </td>
-                                               <td>
-                                               </td>
-                                       </tr>
-                               </table>
-                       </td>
-               </tr>
-       </table>
+              </select>
+            </td>
+          </tr>
+          <tr>
+            <td>
+             What's the <b>term</b> you're looking for?
+            </td>
+            <td>
+              <input type="text" name="searchid" id="searchid" value="[% HTML.escape(searchid) %]">
+            </td>
+          </tr>
+          <tr>
+            <td valign="top">
+             Do you want to <b>limit</b> your search?
+            </td>
+            <td>
+              <table valign=\"top\" cellpadding=\"0\" marginheight=\"0\" marginwidth=\"0\" cellspacing=\"0\" topmargin=\"0\" leftmargin=\"0\">
+                <tr>
+                  <td>
+                    <div id="selectTable"><a href="javascript:addForm('INIT')">Yes</a></div>
+                    <div id="inputText"></div>
+                  </td>
+                </tr>
+                <tr>
+                  <td>
+                    <div id="selectEmployee"></div>
+                  </td>
+                </tr>
+                <tr>
+                  <td>
+                    <div id="selectDate"></div>
+                  </td>
+                </tr>
+              </table>
+              <input type="hidden" name="einschraenkungen" id="einschraenkungen" value="">
+            </td>
+          </tr>
+          </tr>
+          <tr>
+            <td colspan="6">
+              <input type="submit" class="submit" value="submit">
+              <input type="reset" class="submit" value="reset" onClick="javascript:resetAll();">
+            </td>
+            <td>
+            </td>
+          </tr>
+        </table>
+      </td>
+    </tr>
+  </table>
 </form>
index bde1bc7..2493eb0 100644 (file)
 [% END %]
 
 <table>
-       <tr>
-               <th class="listtop">
+  <tr>
+    <th class="listtop">
       <table height="0" width="0" cellpadding="0" cellspacing="0" marginheight="0" marginwidth="0" border="0">
         <tr>
           <td align="center" valign="middle">
-                            &nbsp;Zeitpunkt&nbsp;
+           &nbsp;Zeitpunkt&nbsp;
           </td>
           <td valign="top">
            [% PROCESS column_header THIS_COLUMN=ITIME THIS_COLUMN_DOWN=ITIMEBY column='h.itime' %]
           </td>
         </tr>
       </table>
-               </th>
-               <th class=listtop>
+    </th>
+    <th class=listtop>
       <table height="0" width="0" cellpadding="0" cellspacing="0" marginheight="0" marginwidth="0" border="0">
         <tr>
           <td align="center" valign="middle">
           </td>
         </tr>
       </table>
-               </th>
-               <th class=listtop>
+    </th>
+    <th class=listtop>
       <table>
         <tr>
           <td>
-                             &nbsp;Aktion&nbsp;
+            &nbsp;Aktion&nbsp;
           </td>
         </tr>
       </table>
-               </th>
-               <th class=listtop>
+    </th>
+    <th class=listtop>
       <table>
         <tr>
           <td>
         </tr>
       </table>
     </th>
-       </tr>
+  </tr>
   <tbody>
 [% FOREACH row = DATEN %]
   <tr class="listrow[% loop.count % 2 %]">
-               <td nowrap>
-                       &nbsp;[% HTML.escape(row.itime) %]&nbsp;
-               </td>
-               <td nowrap>
-                       &nbsp;[% HTML.escape(row.name) %]&nbsp;
-               </td>
-               <td>
-                       &nbsp;[% HTML.escape(row.addition) %]&nbsp;
-               </td>
-               <td>
+    <td nowrap>
+      &nbsp;[% HTML.escape(row.itime) %]&nbsp;
+    </td>
+    <td nowrap>
+      &nbsp;[% HTML.escape(row.name) %]&nbsp;
+    </td>
+    <td>
+      &nbsp;[% HTML.escape(row.addition) %]&nbsp;
+    </td>
+    <td>
       &nbsp;[% HTML.escape(row.what_done) %]&nbsp;
     </td>
     <td>
     <td>
       &nbsp;[% HTML.escape(row.snumbers) %]&nbsp;
     </td>
-       </tr>
+  </tr>
 [% END %]
 </tbody>
 </table>
diff --git a/templates/webpages/ct/ajax_autocomplete_en.html b/templates/webpages/ct/ajax_autocomplete_en.html
new file mode 100644 (file)
index 0000000..25ab8c3
--- /dev/null
@@ -0,0 +1,6 @@
+[%- USE HTML %]
+[%- FOREACH vc = CT %]
+[%- IF loop.count < limit %]
+[% vc.$column %]
+[%- END %]
+[%- END %]
index f532b07..1483d4d 100644 (file)
      <tr>
       <th align="right">Tax Number / SSN</th>
       <td><input name="taxnumber" size="20" value="[% HTML.escape(taxnumber) %]"></td>
-      <!-- Anm.: R&B 15.11.2008        VAT Reg No ist Ust-ID in GB, aber generell sollte es laut Richardson die sales tax id sein -->
-       <th align="right">sales tax identification number</th>
+      <!-- Anm.: R&B 15.11.2008     VAT Reg No ist Ust-ID in GB, aber generell sollte es laut Richardson die sales tax id sein -->
+      <th align="right">sales tax identification number</th>
       <td><input name="ustid" maxlength="14" size="20" value="[% HTML.escape(ustid) %]"></td>
       [%- IF is_customer %]
       <th align="right">our vendor number at customer</th>
       <td><input name="c_vendor_id" size="10" value="[% HTML.escape(c_vendor_id) %]"></td>
       [%- ELSE %]
       <th align="right">Customer Number</th>
-       <td><input name="v_customer_id" size="10" value="[% HTML.escape(v_customer_id) %]"></td>
+      <td><input name="v_customer_id" size="10" value="[% HTML.escape(v_customer_id) %]"></td>
       [%- END %]
      </tr>
 
      }
    }
   -->
-  
+
   </script>
 
 
index 8ab082b..d7a9e68 100644 (file)
         <label for="l_fax">Fax</label>
        </td>
        <td>
-       <input name="l_zipcode" id="l_zipcode" type="checkbox" class="checkbox" value="Y" checked>
+        <input name="l_zipcode" id="l_zipcode" type="checkbox" class="checkbox" value="Y" checked>
         <label for="l_zipcode">Zipcode</label>
        </td>
       </tr>
         <input name="l_business" id="l_business" type="checkbox" class="checkbox" value="Y">
         <label for="l_business">[% IF IS_CUSTOMER %]Customer type[% ELSE %]Vendor type[% END %]</label>
        </td>
-       <td>
+       <td>
         <input name="l_city" id="l_city" type="checkbox" class="checkbox" value="Y" checked>
         <label for="l_city">City</label>
-       </td>
+      </td>
       </tr>
 
       <tr>
         <input name="l_quonumber" id="l_quonumber" type="checkbox" class="checkbox" value="Y">
         <label for="l_quonumber">[% IF IS_CUSTOMER %]Quotations[% ELSE %]RFQs[% END %]</label>
        </td>
-       <td>
-       </td>
+       <td>
+       </td>
       </tr>
 
       [% CUSTOM_VARIABLES_INCLUSION_CODE %]
diff --git a/templates/webpages/dbupgrade/cp_greeting_update_form_en.html b/templates/webpages/dbupgrade/cp_greeting_update_form_en.html
new file mode 100644 (file)
index 0000000..02e7b97
--- /dev/null
@@ -0,0 +1,36 @@
+[% USE HTML %]<div class="listtop">cp_greeting to cp_gender migration</div>
+
+
+<form action="[% script %]" method="POST">
+<br>
+<p> The method for generating greetings ("Dear Mr. Smith") is being changed so the greeting is controlled by the gender. For this a new database field cp_gender is introduced, while the old database field cp_greeting will be removed. The various translations (Mr./Herr/Monsieur) will be stored in the database, under generic_translations. The print variable cp_greeting still exists, however, so print templates don't have to be changed, and the variable is assigned according to the gender of the contact person and the desired language.</p>
+
+<p>During the conversion process all contact persons need to be assigned a gender. The gender is detected automatically where possible, but in some cases will have to be set manually.</p>
+
+During the conversion process:<br>
+1. All contact persons will have their gender set to "m" (male) as a default<br>
+2. All contact persons where the greeting contains "frau,mrs,miss" are set to "f" (female)<br>
+
+<p>The gender of the following contact persons couldn't be determined automatically from the greeting, please set the gender manually:</p>
+[% gender_table %]
+
+
+<p>Please enter your desired default greeting for men and women. To change the
+default greeting or add a greeting in more languages, go to: System -> Languages -> Greetings
+</p>
+
+<p>
+Greeting for men: [% default_greeting_text_male %] <br>
+Greeting for women: [% default_greeting_text_female %] <br>
+</p>
+
+<br><br>
+The data from the cp_greeting field will now be dropped. To prevent any data loss if you used the cp_greeting field for anything else, we suggest you transfer this information to the cp_title field:
+<br>
+[% title_table %]
+
+<input type=hidden name="do_migrate" value="1"> 
+<input type=submit VALUE="submit">
+
+</form>
+
index 284862a..9ea8387 100644 (file)
         <td>
          [%- UNLESS !delivered && SHOW_VC_DROP_DOWN %]
          <input type="text" value="[% HTML.escape(oldvcname) %]" name="[% HTML.escape(vc) %]"[% RO %]>
+[% INCLUDE 'generic/autocomplete.html', AUTOCOMPLETES => [
+  { script => 'ct.pl', column => 'name', selector => 'input[name="' _ vc _ '"]', params => { vc => vc } },
+]
+%]
          [%- ELSE %]
          <select name="[% vc %]" class="fixed_width" onchange="document.do.update_button.click();"[% RO %]>
           [%- FOREACH row = ALL_VC %]
          </td>
         </tr>
         [%- END %]
+[% INCLUDE 'generic/autocomplete.html', AUTOCOMPLETES => [
+  { script => 'ct.pl', column => 'name', selector => 'input[name="' _ vc _ '"]', params => { vc => vc } },
+]
+%]
 
         [%- IF ALL_SHIPTO.size %]
         <tr>
index c8477cc..32ef4a5 100644 (file)
      <td colspan="3">
       [%- UNLESS SHOW_VC_DROP_DOWN %]
       <input type="text" name="[% HTML.escape(vc) %]" class="fixed_width">
+[% INCLUDE 'generic/autocomplete.html', AUTOCOMPLETES => [
+  { script => 'ct.pl', column => 'name', selector => 'input[name="' _ vc _ '"]', params => { vc => vc } },
+]
+%]
       [%- ELSE %]
       <select name="[% vc %]" class="fixed_width">
        <option></option>
index dc50f16..770e730 100644 (file)
         <input type="button" name="dunningto" id="trigger4" value="?">
        </td>
       </tr>
-
+      <tr>
+       <th align="right">Salesman</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 = 0,
+         -%]
+       </td>
+      </tr>
      </table>
     </td>
    </tr>
       <tr>
        <th align="right" nowrap>Show old dunnings</th>
        <td><input type="checkbox" value="1" name="showold"></td>
+       <th align="right" nowrap>Show Salesman</th>
+       <td><input type="checkbox" value="1" name="l_salesman"></td>
       </tr>
      </table>
     </td>
diff --git a/templates/webpages/ic/ajax_autocomplete_en.html b/templates/webpages/ic/ajax_autocomplete_en.html
new file mode 100644 (file)
index 0000000..5bbd3b6
--- /dev/null
@@ -0,0 +1,6 @@
+[%- USE HTML %]
+[%- FOREACH part = parts %]
+[% IF loop.count < limit %]
+[% part.$column %]
+[%- END %]
+[%- END %]
index 62bda45..cf9f621 100644 (file)
@@ -7,7 +7,7 @@
       <table border="0" width="100%">
         <tr>
           <th colspan="2" align=right>Total&nbsp;</th>
-         <th align=right>Purchase Price:[% LxERP.format_amount(assembly_purchase_price_total, 2) %]  Sell Price: [% LxERP.format_amount(assemblytotal, 2) %]</th>
+          <th align=right>Purchase Price:[% LxERP.format_amount(assembly_purchase_price_total, 2) %]  Sell Price: [% LxERP.format_amount(assemblytotal, 2) %]</th>
         </tr>
       </table>
     </td>
index ff87d62..09f6633 100644 (file)
            <label for="l_priceupdate">Updated</label>
           </td>
           <td>
-           <!-- auskommentiert fuer bug nummer 852 - ggf. fuer einen standardlagerplatz verwertet jb 18.5.09-->
+          <!-- auskommentiert fuer bug nummer 852 - ggf. fuer einen standardlagerplatz verwertet jb 18.5.09-->
            <!--input name="l_bin" id="l_bin" class="checkbox" type="checkbox" value="Y">
            <label for="l_bin">Bin</label -->
            <input name="l_deliverydate" id="l_deliverydate" class="checkbox" type="checkbox" value="Y">
diff --git a/templates/webpages/ir/_payments_en.html b/templates/webpages/ir/_payments_en.html
new file mode 100644 (file)
index 0000000..ac88eeb
--- /dev/null
@@ -0,0 +1,87 @@
+[%- USE LxERP %]
+  <tr>
+   <td>
+    <table width="100%">
+     <tr class="listheading">
+[% IF is_type_credit_note %]
+      <th colspan="6" class="listheading">Payments</th>
+[% ELSE %]
+      <th colspan="6" class="listheading">Incoming Payments</th>
+[%- END %]
+     </tr>
+
+
+     <tr>
+      <th>Date</th>
+      <th>Source</th>
+      <th>Memo</th>
+      <th>Amount</th>
+[% IF show_exchangerate %]
+      <th>Exch</th>
+[% END %]
+      <th>Account</th>
+     </tr>
+
+
+[% FOREACH i = paid_indices %]
+  [% SET datepaid      = 'datepaid_'      _ i %]
+  [% SET source        = 'source_'        _ i %]
+  [% SET memo          = 'memo_'          _ i %]
+  [% SET paid          = 'paid_'          _ i %]
+  [% SET selectAP_paid_ref = 'selectAP_paid_' _ i %]
+
+     <tr>
+
+    <td align="center">
+      <input id="datepaid_[% i %]" name="datepaid_[% i %]" size="11" title="[% dateformat %]" value="[% $datepaid %]">
+      <input type="button" name="datepaid_[% i %]" id="trigger_datepaid_[% i %]" value="?">
+     </td>
+     <td align=center><input name="source_[% i %]" size="11" value="[% $source %]"></td>
+     <td align="center"><input name="memo_[% i %]" size="11" value="[% $memo %]"></td>
+     <td align="center"><input name="paid_[% i %]" size="11" value="[% LxERP.format_amount($paid, 2, 1) %]"></td>
+[% IF show_exchangerate %]
+     <td align="center">
+  [% SET forex        = 'forex_'        _ i %]
+  [% SET exchangerate = 'exchangerate_' _ i %]
+  [% IF forex %]
+        <input type="hidden" name="exchangerate_[% i %]" value="[% LxERP.format_amount($exchangerate, 2) %]">
+        [% LxERP.format_amount(exchangerate, 2) %]
+  [% ELSE %]
+        <input name="exchangerate_[% i %]" size="10" value="[% LxERP.format_amount($exchangerate, 2, 1) %]">
+  [% END %]
+        <input type="hidden" name="forex_[% i %]" value="[% $forex %]">;
+     </td>
+[% END %]
+     <td align="center"><select name="AP_paid_[% i %]">[% $selectAP_paid_ref %]</select></td>
+
+    </tr>
+    <script type='text/javascript'>
+     Calendar.setup({ inputField : "datepaid_[% i %]", ifFormat :"[% myconfig_jsc_dateformat %]", align : "TR", button : "trigger_datepaid_[% i %]" });
+     $('input[name="paid_[% i %]"]').blur(function(){ check_right_number_format(this) });
+     $('#datepaid_[% i %]').blur(function(){ check_right_date_format(this) });
+    </script>
+
+[% END # foreach %]
+
+    <tr>
+      <td></td>
+      <td></td>
+      <td align="center">Total</td>
+      <td align="center">[% LxERP.foramt_amount(totalpaid, 2) | html %]</td>
+    </tr>
+    <tr>
+      <td></td>
+      <td></td>
+      <td align="center">Missing amount</td>
+      <td align="center">[% LxERP.format_amount(paid_missing, 2) | html %]</td>
+    </tr>
+
+     <input type="hidden" name="paidaccounts" value="[% paidaccounts %]">
+     <input type="hidden" name="selectAP_paid" value="[% selectAP_paid %]">
+     <input type="hidden" name="oldinvtotal" value="[% oldinvtotal %]">
+
+     <input type="hidden" name="oldtotalpaid" value="[% totalpaid %]">
+    </table>
+
+    </td>
+  </tr>
diff --git a/templates/webpages/ir/form_footer_en.html b/templates/webpages/ir/form_footer_en.html
new file mode 100644 (file)
index 0000000..5f3700b
--- /dev/null
@@ -0,0 +1,133 @@
+[%- USE HTML %]
+[%- USE LxERP %]
+  <tr>
+   <td>
+    <table width="100%">
+     <tr valign="bottom">
+      <td>
+       <table>
+        <tr>
+         <th align="left">Notes</th>
+         <th align="left">Internal Notes</th>
+        </tr>
+        <tr valign="top">
+         <td>
+          <textarea name="notes" rows="[% rows %]" cols="26" wrap="soft">[% notes %]</textarea>
+         </td>
+         <td>
+          <textarea name="intnotes" rows="[% rows %]" cols="35" wrap="soft">[% intnotes %]</textarea>
+         </td>
+        </tr>
+[%- IF id && follow_ups.size %]
+        <tr>
+          <td colspan="2">
+            [%- LxERP.format_string('There are #1 unfinished follow-ups of which #2 are due.',
+                                     follow_ups.size, follow_ups_unfinished) | html
+            %]
+          <td>
+        </tr>
+[%- END %]
+       </table>
+      </td>
+      <td align="right">
+  [%- IF taxaccounts %]
+       <input name="taxincluded" class="checkbox" type="checkbox" [% IF taxincluded %]checked[% END %]>
+       <b>Tax Included</b>
+       <br>
+       <br>
+  [%- END %]
+       <table>
+
+[%- UNLESS taxincluded %]
+        <tr>
+         <th align="right">Subtotal</th>
+         <td align="right">[% LxERP.format_amount(invsubtotal, 2) %]</td>
+       </tr>
+[%- END %]
+
+[%# tax %]
+[% FOREACH item = taxaccounts_array %]
+[% SET description_ref = item _ '_description' %]
+[% SET rate_ref        = item _ '_rate' %]
+[% SET total_ref       = item _ '_total' %]
+[% SET netto_ref       = item _ '_netto' %]
+       <tr>
+        <th align="right">Enthaltene [% $description_ref | html %]&nbsp;[% $rate_ref * 100 %]%</th>
+        <td align="right">[% LxERP.format_amount($total_ref, 2) %]</td>
+       </tr>
+  [%- IF taxincluded %]
+       <tr>
+        <th align="right">Nettobetrag</th>
+        <td align="right">[% LxERP.format_amount($netto_ref, 2) %]</td>
+       </tr>
+  [%- END %]
+[%- END %]
+
+        <tr>
+         <th align="right">Total</th>
+         <td align="right">[% LxERP.format_amount(invtotal, 2) %]</td>
+        </tr>
+       </table>
+      </td>
+     </tr>
+    </table>
+   </td>
+  </tr>
+
+[% PROCESS 'webdav/_list_master.html' %]
+
+[% PROCESS 'ir/_payments_master.html' %]
+
+  <tr>
+    <td><hr size="3" noshade></td>
+  </tr>
+  <tr>
+    <td>
+[% print_options %]
+    </td>
+  </tr>
+ </table>
+
+
+
+  [% IF id %]
+
+    <input class="submit" type="submit" accesskey="u" name="action" id="update_button" value="Update">
+[% IF  show_storno %]
+    <input class="submit" type="submit" name="action" value="Storno">
+[% END %]
+    <input class="submit" type="submit" name="action" value="Post Payment">
+    <input class="submit" type="submit" name="action" value="Use As Template">
+
+[% IF show_delete %]
+    <input class="submit" type="submit" name="action" value="Delete">
+[% END %]
+
+    <input type="button" class="submit" onclick="follow_up_window()" value="Follow-Up">
+
+ [% ELSE # no id %]
+   [% UNLESS locked %]
+      <input class="submit" type="submit" name="action" id="update_button" value="Update">
+      <input class="submit" type="submit" name="action" value="Post">
+      <input class="submit" type="submit" name="action" value="Save Draft">
+   [%- END %]
+ [% END # id %]
+
+  [% IF id %]
+      [%#- button for saving history %]
+      <input type="button" class="submit" onclick="set_history_window([% id | html %]);" name="history" id="history" value="history">
+
+      <input type="submit" class="submit" name="action" value="mark as paid">
+  [% END %]
+
+<input type="hidden" name="rowcount" value="[% rowcount %]">
+<input type="hidden" name="callback" value="[% callback %]">
+<input type="hidden" name="draft_id" value="[% draft_id %]">
+<input type="hidden" name="draft_description" value="[% draft_description %]">
+<input type="hidden" name="vendor_discount" value="[% vendor_discount %]">
+
+</form>
+
+</body>
+
+</html>
diff --git a/templates/webpages/ir/form_header_en.html b/templates/webpages/ir/form_header_en.html
new file mode 100644 (file)
index 0000000..fb3c52b
--- /dev/null
@@ -0,0 +1,236 @@
+[%- USE HTML %]
+[%- USE LxERP %]
+[%- SET follow_up_trans_info = invnumber _ ' (' _ vendor_name _ ')' %]
+<body>
+<script type="text/javascript" src="js/common.js"></script>
+<script type="text/javascript" src="js/delivery_vendor_selection.js"></script>
+<script type="text/javascript" src="js/vendor_selection.js"></script>
+<script type="text/javascript" src="js/calculate_qty.js"></script>
+<script type="text/javascript" src="js/follow_up.js"></script>
+<script type="text/javascript" src="js/customer_or_vendor_selection.js"></script>
+
+<form method="post" name="invoice" action="[% script %]">
+
+<p>[% saved_message %]</p>
+
+[%- FOREACH key = HIDDENS %]
+<input type="hidden" name="[% HTML.escape(key) %]" value="[% HTML.escape($key)  %]">
+[%- END %]
+<input type="hidden" name="follow_up_trans_id_1" value="[% id %]">
+<input type="hidden" name="follow_up_trans_type_1" value="sales_invoice">
+<input type="hidden" name="follow_up_trans_info_1" value="[% HTML.escape(follow_up_trans_info) %]">
+<input type="hidden" name="follow_up_rowcount" value="1">
+
+<input type="hidden" name="lizenzen" value="[% lizenzen %]">
+
+<p><div class="listtop" width="100%">[% title %]</div></p>
+
+<table width="100%">
+  <tr>
+    <td valign="top">
+      <table>
+        <tr>
+          <th align="right">Vendor</th>
+          <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'vendor',
+                 style         = 'width: 250px',
+                 DATA          = ALL_VENDORS,
+                 id_sub        = 'vc_keys',
+                 label_key     = 'name',
+                 select        = vc_select,
+                 limit         = vclimit,
+                 allow_textbox = 1,
+                 onChange      = "document.getElementById('update_button').click();" -%]
+            <input type="button" value="Details (one letter abbreviation)" onclick="show_vc_details('[% vc | html %]')">
+[% INCLUDE 'generic/autocomplete.html', AUTOCOMPLETES => [
+  { script => 'ct.pl', column => 'name', selector => 'input[id="' _ vc _ '"]', params => { vc => vc } },
+]
+%]
+          </td>
+          <input type="hidden" name="vendor_klass" value="[% HTML.escape(vendor_klass) %]">
+          <input type="hidden" name="vendor_id" value="[% HTML.escape(vendor_id) %]">
+          <input type="hidden" name="oldvendor" value="[% HTML.escape(oldvendor) %]">
+          <input type="hidden" name="selectvendor" value="[% HTML.escape(selectvendor) %]">
+        </tr>
+[%- IF ALL_CONTACTS.size %]
+        <tr>
+          <th align="right">Contact Person</th>
+          <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name       = 'cp_id',
+                 style      = 'width: 250px',
+                 DATA       = ALL_CONTACTS,
+                 id_key     = 'cp_id',
+                 label_sub  = 'contact_labels',
+                 show_empty = 1 -%]
+          </td>
+        </tr>
+[%- END %]
+        <tr>
+          <td align="right">Credit Limit</td>
+          <td>
+            [% LxERP.format_amount(creditlimit, 0, '0') %]; Remaining
+            <span class="plus[% IF is_credit_remaining_negativ %]0[% ELSE %]1[% END %]">[% LxERP.format_amount(creditremaining,0 ,'0') %]</span>
+          </td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>Record in</th>
+          <td colspan="3"><select name="AP" style="width:250px;">[% selectAP %]</select></td>
+          <input type="hidden" name="selectAP" value="[% selectAP %]">
+        </tr>
+        <tr>
+          <th align="right">Steuersatz</th>
+          <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name       = 'taxzone_id'
+                 style      = 'width: 250px'
+                 DATA       = ALL_TAXZONES
+                 id_key     = 'id'
+                 readonly   = (id ? 1 : 0)
+                 label_key  = 'description' -%]
+          </td>
+  [%- IF id %]
+          <input type='hidden' name='taxzone_id' value='[% taxzone_id %]'>
+  [%- END %]
+        </tr>
+[%- IF all_departments %]
+        <tr>
+          <th align="right" nowrap>Department</th>
+          <td colspan="3">
+            [%- INCLUDE 'generic/multibox.html'
+                 name       = 'department_id',
+                 style      = 'width: 250px',
+                 DATA       = all_departments,
+                 id_key     = 'id',
+                 label_sub  = 'department_labels',
+                 show_empty = 1 -%]
+          </td>
+        </tr>
+[%- END %]
+[%- IF currencies %]
+        <tr>
+          <th align="right">Currency</th>
+          <td>[% currencies %]</td>
+        </tr>
+[%- END %]
+        <input type="hidden" name="fxgain_accno" value="[% fxgain_accno %]">
+        <input type="hidden" name="fxloss_accno" value="[% fxloss_accno %]">
+[%- IF show_exchangerate %]
+        <tr>
+          <th align="right">Exchangerate</th>
+          <td>
+           [%- IF forex %]
+            [% LxERP.format_amount(exchangerate, 2) %]
+           [%- ELSE %]
+            <input name="exchangerate" size="10" value="[% HTML.escape(LxERP.format_amount(exchangerate)) %]">
+           [%- END %]
+          </td>
+        </tr>
+[%- END %]
+      </table>
+    </td>
+    <td align="right" valign="top">
+      <table>
+        <tr>
+          <th align="right">Employee</th>
+          <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name       = 'employee_id',
+                 DATA       = ALL_EMPLOYEES,
+                 id_key     = 'id',
+                 label_sub  = 'sales_employee_labels' -%]
+          </td>
+        </tr>
+
+[%- IF is_type_credit_note %]
+        <tr>
+          <th align="right" nowrap>Credit Note Number</th>
+          <td colspan="3"><input size='11' name="invnumber" value="[% HTML.escape(invnumber) %]"></td>
+        </tr>
+        <tr>
+          <th align="right">Credit Note Date</th>
+          <td nowrap>
+            <input name="invdate" id="invdate" size="11" title="[% dateformat %]" value="[% invdate %]" onBlur="check_right_date_format(this)">
+            <input type="button" name="invdate_button" id="trigger1" value="button">
+          </td>
+        </tr>
+[%- ELSE %]
+        <tr>
+          <th align="right" nowrap>Invoice Number</th>
+          <td colspan="3"><input size='11' name="invnumber" value="[% HTML.escape(invnumber) %]"></td>
+        </tr>
+        <tr>
+          <th align="right">Invoice Date</th>
+          <td nowrap>
+            <input name="invdate" id="invdate" size="11" title="[% dateformat %]" value="[% invdate %]" onBlur="check_right_date_format(this)">
+            <input type="button" name="invdate_button" id="trigger1" value="button">
+          </td>
+        </tr>
+        <tr>
+          <th align="right">Due Date</th>
+          <td width="13">
+            <input name="duedate" id="duedate" size="11" title="[% dateformat %]" value="[% duedate %]" onBlur="check_right_date_format(this)">
+            <input type="button" name="duedate_button" id="trigger2" value="button">
+          </td>
+        </tr>
+[%- END %]
+
+        <tr>
+          <th align="right" nowrap>Order Number</th>
+          <td colspan="3"><input size='11' name="ordnumber" value="[% HTML.escape(ordnumber) %]"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>Order Date</th>
+          <td><input name="orddate" id="orddate" size="11" title="[% dateformat %]" value="[% orddate %]" onBlur="check_right_date_format(this)">
+          <input type="button" name="b_orddate" id="trigger_orddate" value="?"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>Quotation Date</th>
+          <td><input name="quodate" id="quodate" size="11" title="[% dateformat %]" value="[% quodate %]" onBlur="check_right_date_format(this)">
+           <input type="button" name="b_quodate" id="trigger_quodate" value="?"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>Project Number</th>
+          <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name       = 'globalproject_id',
+                 DATA       = ALL_PROJECTS,
+                 id_key     = 'id',
+                 label_key  = 'projectnumber',
+                 show_empty = 1,
+                 onChange   = "document.getElementById('update_button').click();" -%]
+          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+    </td>
+  </tr>
+  <tr>
+    <td>
+    </td>
+  </tr>
+  <script type="text/javascript" src="js/show_form_details.js"></script>
+  <script type="text/javascript" src="js/show_vc_details.js"></script>
+  <script type="text/javascript" src="js/show_history.js"></script>
+  <script type="text/javascript">
+   <!--
+     Calendar.setup({ inputField : "invdate",      ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger1" });
+     Calendar.setup({ inputField : "duedate",      ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger2" });
+     Calendar.setup({ inputField : "orddate", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger_orddate" });
+     Calendar.setup({ inputField : "quodate", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger_quodate" });
+     $('document').ready(function(){
+[% IF creditwarning != '' %]
+       alert('Credit Limit exceeded!!!');
+[% ELSE %]
+       focus();
+[% END %]
+       setupDateFormat('[% dateformat %]', 'Falsches Datumsformat!');
+       setupPoints('[% numberformat %]', 'wrongformat');
+     });
+   //-->
+  </script>
+
+  <input type="hidden" name="webdav" value="[% webdav %]">
diff --git a/templates/webpages/is/_payments_en.html b/templates/webpages/is/_payments_en.html
new file mode 100644 (file)
index 0000000..cacaae7
--- /dev/null
@@ -0,0 +1,87 @@
+[%- USE LxERP %]
+  <tr>
+   <td>
+    <table width="100%">
+     <tr class="listheading">
+[% IF is_type_credit_note %]
+      <th colspan="6" class="listheading">Payments</th>
+[% ELSE %]
+      <th colspan="6" class="listheading">Incoming Payments</th>
+[%- END %]
+     </tr>
+
+
+     <tr>
+      <th>Date</th>
+      <th>Source</th>
+      <th>Memo</th>
+      <th>Amount</th>
+[% IF show_exchangerate %]
+      <th>Exch</th>
+[% END %]
+      <th>Account</th>
+     </tr>
+
+
+[% FOREACH i = paid_indices %]
+  [% SET datepaid      = 'datepaid_'      _ i %]
+  [% SET source        = 'source_'        _ i %]
+  [% SET memo          = 'memo_'          _ i %]
+  [% SET paid          = 'paid_'          _ i %]
+  [% SET selectAR_paid_ref = 'selectAR_paid_' _ i %]
+
+     <tr>
+
+    <td align="center">
+      <input id="datepaid_[% i %]" name="datepaid_[% i %]" size="11" title="[% dateformat %]" value="[% $datepaid %]">
+      <input type="button" name="datepaid_[% i %]" id="trigger_datepaid_[% i %]" value="?">
+     </td>
+     <td align=center><input name="source_[% i %]" size="11" value="[% $source %]"></td>
+     <td align="center"><input name="memo_[% i %]" size="11" value="[% $memo %]"></td>
+     <td align="center"><input name="paid_[% i %]" size="11" value="[% LxERP.format_amount($paid, 2, 1) %]"></td>
+[% IF show_exchangerate %]
+     <td align="center">
+  [% SET forex        = 'forex_'        _ i %]
+  [% SET exchangerate = 'exchangerate_' _ i %]
+  [% IF forex %]
+        <input type="hidden" name="exchangerate_[% i %]" value="[% LxERP.format_amount($exchangerate, 2) %]">
+        [% LxERP.format_amount(exchangerate, 2) %]
+  [% ELSE %]
+        <input name="exchangerate_[% i %]" size="10" value="[% LxERP.format_amount($exchangerate, 2, 1) %]">
+  [% END %]
+        <input type="hidden" name="forex_[% i %]" value="[% $forex %]">;
+     </td>
+[% END %]
+     <td align="center"><select name="AR_paid_[% i %]">[% $selectAR_paid_ref %]</select></td>
+
+    </tr>
+    <script type='text/javascript'>
+     Calendar.setup({ inputField : "datepaid_[% i %]", ifFormat :"[% myconfig_jsc_dateformat %]", align : "TR", button : "trigger_datepaid_[% i %]" });
+     $('input[name="paid_[% i %]"]').blur(function(){ check_right_number_format(this) });
+     $('#datepaid_[% i %]').blur(function(){ check_right_date_format(this) });
+    </script>
+
+[% END # foreach %]
+
+    <tr>
+      <td></td>
+      <td></td>
+      <td align="center">Total</td>
+      <td align="center">[% LxERP.foramt_amount(totalpaid, 2) | html %]</td>
+    </tr>
+    <tr>
+      <td></td>
+      <td></td>
+      <td align="center">Missing amount</td>
+      <td align="center">[% LxERP.format_amount(paid_missing, 2) | html %]</td>
+    </tr>
+
+     <input type="hidden" name="paidaccounts" value="[% paidaccounts %]">
+     <input type="hidden" name="selectAR_paid" value="[% selectAR_paid %]">
+     <input type="hidden" name="oldinvtotal" value="[% oldinvtotal %]">
+
+     <input type="hidden" name="oldtotalpaid" value="[% totalpaid %]">
+    </table>
+
+    </td>
+  </tr>
diff --git a/templates/webpages/is/form_footer_en.html b/templates/webpages/is/form_footer_en.html
new file mode 100644 (file)
index 0000000..bb5b460
--- /dev/null
@@ -0,0 +1,175 @@
+[%- USE HTML %]
+[%- USE LxERP %]
+  <tr>
+   <td>
+    <table width="100%">
+     <tr valign="bottom">
+      <td>
+       <table>
+        <tr>
+         <th align="left">Notes</th>
+         <th align="left">Internal Notes</th>
+         <th align="right">Payment Terms</th>
+        </tr>
+        <tr valign="top">
+         <td>
+          <textarea name="notes" rows="[% rows %]" cols="26" wrap="soft">[% notes %]</textarea>
+         </td>
+         <td>
+          <textarea name="intnotes" rows="[% rows %]" cols="35" wrap="soft">[% intnotes %]</textarea>
+         </td>
+         <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'payment_id',
+                 style         = 'width: 250px',
+                 DATA          = payment_terms,
+                 id_key        = 'id',
+                 label_key     = 'description',
+                 show_empty    = 1
+                 allow_textbox = 0 -%]
+          <script type='text/javascript'>$('#payment_id').change(function(){
+            if (this.value) set_duedate(['payment_id__' + this.value, 'invdate__' + invdate.value],['duedate'])})
+          </script>
+         </td>
+        </tr>
+[%- IF id && follow_ups.size %]
+        <tr>
+          <td colspan="2">
+            [%- LxERP.format_string('There are #1 unfinished follow-ups of which #2 are due.',
+                                     follow_ups.size, follow_ups_unfinished) | html
+            %]
+          <td>
+        </tr>
+[%- END %]
+       </table>
+      </td>
+      <td>
+       <table>
+        <tr>
+         <th  align=left>Ertrag</th>
+         <td>[% LxERP.format_amount(marge_total, 2, 0) %]</td>
+        </tr>
+        <tr>
+         <th  align=left>Ertrag prozentual</th>
+         <td>[% LxERP.format_amount(marge_percent, 2, 0) %] %</td>
+        </tr>
+        <input type=hidden name="marge_total" value="[% marge_total %]">
+        <input type=hidden name="marge_percent" value="[% marge_percent %]">
+       </table>
+      </td>
+      <td align="right">
+  [%- IF taxaccounts %]
+       <input name="taxincluded" class="checkbox" type="checkbox" [% IF taxincluded %]checked[% END %]>
+       <b>Tax Included</b>
+       <br>
+       <br>
+  [%- END %]
+       <table>
+
+[%- UNLESS taxincluded %]
+        <tr>
+         <th align="right">Subtotal</th>
+         <td align="right">[% LxERP.format_amount(invsubtotal, 2) %]</td>
+       </tr>
+[%- END %]
+
+[%# tax %]
+[% FOREACH item = taxaccounts_array %]
+[% SET description_ref = item _ '_description' %]
+[% SET rate_ref        = item _ '_rate' %]
+[% SET total_ref       = item _ '_total' %]
+[% SET netto_ref       = item _ '_netto' %]
+       <tr>
+        <th align="right">Enthaltene [% $description_ref | html %]&nbsp;[% $rate_ref * 100 %]%</th>
+        <td align="right">[% LxERP.format_amount($total_ref, 2) %]</td>
+       </tr>
+  [%- IF taxincluded %]
+       <tr>
+        <th align="right">Nettobetrag</th>
+        <td align="right">[% LxERP.format_amount($netto_ref, 2) %]</td>
+       </tr>
+  [%- END %]
+[%- END %]
+
+        <tr>
+         <th align="right">Total</th>
+         <td align="right">[% LxERP.format_amount(invtotal, 2) %]</td>
+        </tr>
+       </table>
+      </td>
+     </tr>
+    </table>
+   </td>
+  </tr>
+
+[% PROCESS 'webdav/_list_master.html' %]
+
+[% PROCESS 'is/_payments_master.html' %]
+
+  <tr>
+    <td><hr size="3" noshade></td>
+  </tr>
+  <tr>
+    <td>
+[% print_options %]
+    </td>
+  </tr>
+ </table>
+
+
+
+  [% IF id %]
+
+    <input class="submit" type="submit" accesskey="u" name="action" id="update_button" value="Update">
+    <input class="submit" type="submit" name="action" value="Ship to">
+    <input class="submit" type="submit" name="action" value="Print">
+    <input class="submit" type="submit" name="action" value="E-mail">
+[% IF  show_storno %]
+    <input class="submit" type="submit" name="action" value="Storno">
+[% END %]
+    <input class="submit" type="submit" name="action" value="Post Payment">
+    <input class="submit" type="submit" name="action" value="Use As Template">
+
+[% IF id && !is_type_credit_note %]
+    <input class="submit" type="submit" name="action" value="Credit Note">
+[% END %]
+[% IF show_delete %]
+    <input class="submit" type="submit" name="action" value="Delete">
+[% END %]
+
+  [%- UNLESS locked %]
+       <input class="submit" type="submit" name="action" value="Order">
+  [%- END %]
+
+    <input type="button" class="submit" onclick="follow_up_window()" value="Follow-Up">
+
+ [% ELSE # no id %]
+   [% UNLESS locked %]
+      <input class="submit" type="submit" name="action" id="update_button" value="Update">
+      <input class="submit" type="submit" name="action" value="Ship to">
+      <input class="submit" type="submit" name="action" value="Preview">
+      <input class="submit" type="submit" name="action" value="E-mail">
+      <input class="submit" type="submit" name="action" value="Print and Post">
+      <input class="submit" type="submit" name="action" value="Post">
+      <input class="submit" type="submit" name="action" value="Save Draft">
+   [%- END %]
+ [% END # id %]
+
+  [% IF id %]
+      [%#- button for saving history %]
+      <input type="button" class="submit" onclick="set_history_window([% id | html %]);" name="history" id="history" value="history">
+
+      <input type="submit" class="submit" name="action" value="mark as paid">
+  [% END %]
+
+<input type="hidden" name="rowcount" value="[% rowcount %]">
+<input type="hidden" name="callback" value="[% callback %]">
+<input type="hidden" name="draft_id" value="[% draft_id %]">
+<input type="hidden" name="draft_description" value="[% draft_description %]">
+<input type="hidden" name="customer_discount" value="[% customer_discount %]">
+
+</form>
+
+</body>
+
+</html>
diff --git a/templates/webpages/is/form_header_en.html b/templates/webpages/is/form_header_en.html
new file mode 100644 (file)
index 0000000..f808ab7
--- /dev/null
@@ -0,0 +1,318 @@
+[%- USE HTML %]
+[%- USE LxERP %]
+[%- SET follow_up_trans_info = invnumber _ ' (' _ customer_name _ ')' %]
+<body>
+<script type="text/javascript" src="js/common.js"></script>
+<script type="text/javascript" src="js/delivery_customer_selection.js"></script>
+<script type="text/javascript" src="js/vendor_selection.js"></script>
+<script type="text/javascript" src="js/calculate_qty.js"></script>
+<script type="text/javascript" src="js/follow_up.js"></script>
+<script type="text/javascript" src="js/customer_or_vendor_selection.js"></script>
+
+<form method="post" name="invoice" action="[% script %]">
+
+<p>[% saved_message %]</p>
+
+[%- FOREACH key = HIDDENS %]
+<input type="hidden" name="[% HTML.escape(key) %]" value="[% HTML.escape($key)  %]">
+[%- END %]
+<input type="hidden" name="follow_up_trans_id_1" value="[% id %]">
+<input type="hidden" name="follow_up_trans_type_1" value="sales_invoice">
+<input type="hidden" name="follow_up_trans_info_1" value="[% HTML.escape(follow_up_trans_info) %]">
+<input type="hidden" name="follow_up_rowcount" value="1">
+
+<input type="hidden" name="lizenzen" value="[% lizenzen %]">
+
+<p><div class="listtop" width="100%">[% title %]</div></p>
+
+<table width="100%">
+  <tr>
+    <td valign="top">
+      <table>
+        <tr>
+          <th align="right">Customer</th>
+          <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'customer',
+                 style         = 'width: 250px',
+                 DATA          = ALL_CUSTOMERS,
+                 id_sub        = 'vc_keys',
+                 label_key     = 'name',
+                 select        = vc_select,
+                 limit         = vclimit,
+                 allow_textbox = 1,
+                 onChange      = "document.getElementById('update_button').click();" -%]
+            <input type="button" value="Details (one letter abbreviation)" onclick="show_vc_details('[% HTML.escape(vc) %]')">
+[% INCLUDE 'generic/autocomplete.html', AUTOCOMPLETES => [
+  { script => 'ct.pl', column => 'name', selector => 'input[id="' _ vc _ '"]', params => { vc => vc } },
+]
+%]
+          </td>
+          <input type="hidden" name="customer_klass" value="[% HTML.escape(customer_klass) %]">
+          <input type="hidden" name="customer_id" value="[% HTML.escape(customer_id) %]">
+          <input type="hidden" name="oldcustomer" value="[% HTML.escape(oldcustomer) %]">
+          <input type="hidden" name="selectcustomer" value="[% HTML.escape(selectcustomer) %]">
+        </tr>
+[%- IF ALL_CONTACTS.size %]
+        <tr>
+          <th align="right">Contact Person</th>
+          <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name       = 'cp_id',
+                 style      = 'width: 250px',
+                 DATA       = ALL_CONTACTS,
+                 id_key     = 'cp_id',
+                 label_sub  = 'contact_labels',
+                 show_empty = 1 -%]
+          </td>
+        </tr>
+[%- END %]
+[%- IF ALL_SHIPTO.size %]
+        <tr>
+          <th align="right">Shipping Address</th>
+          <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name       = 'shipto_id',
+                 style      = 'width: 250px',
+                 DATA       = ALL_SHIPTO,
+                 id_key     = 'shipto_id',
+                 label_sub  = 'shipto_labels',
+                 show_empty = 1,
+                 onChange   = "document.getElementById('update_button').click();" -%]
+          </td>
+        </tr>
+[%- END %]
+        <tr>
+          <td align="right">Credit Limit</td>
+          <td>
+            [% LxERP.format_amount(creditlimit, 0, '0') %]; Remaining
+            <span class="plus[% IF is_credit_remaining_negativ %]0[% ELSE %]1[% END %]">[% LxERP.format_amount(creditremaining,0 ,'0') %]</span>
+          </td>
+        </tr>
+[%- IF max_dunning_level %]
+        <tr>
+          <th align="right">Max. Dunning Level:</th>
+          <td>
+            <b>[% max_dunning_level %]</b>; Dunning Amount: <b>[% LxERP.format_amount(dunning_amount,2) %]</b>
+          </td>
+        </tr>
+[%- END %]
+[%- IF business %]
+        <tr>
+          <th align="right">Customer type</th>
+          <td>[% business %]; Trade Discount [% LxERP.format_amount(tradediscount * 100) %] %</td>
+        </tr>
+[%- END %]
+        <tr>
+          <th align="right" nowrap>Record in</th>
+          <td colspan="3"><select name="AR" style="width:250px;">[% selectAR %]</select></td>
+          <input type="hidden" name="selectAR" value="[% selectAR %]">
+        </tr>
+        <tr>
+          <th align="right">Steuersatz</th>
+          <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name       = 'taxzone_id'
+                 stype      = '250px'
+                 DATA       = ALL_TAXZONES
+                 id_key     = 'id'
+                 readonly   = (id ? 1 : 0)
+                 label_key  = 'description' -%]
+          </td>
+  [%- IF id %]
+          <input type='hidden' name='taxzone_id' value='[% taxzone_id %]'>
+  [%- END %]
+        </tr>
+[%- IF all_departments %]
+        <tr>
+          <th align="right" nowrap>Department</th>
+          <td colspan="3">
+            [%- INCLUDE 'generic/multibox.html'
+                 name       = 'department_id',
+                 style      = 'width: 250px',
+                 DATA       = all_departments,
+                 id_key     = 'id',
+                 label_sub  = 'department_labels',
+                 show_empty = 1 -%]
+          </td>
+        </tr>
+[%- END %]
+[%- IF currencies %]
+        <tr>
+          <th align="right">Currency</th>
+          <td>[% currencies %]</td>
+        </tr>
+[%- END %]
+        <input type="hidden" name="fxgain_accno" value="[% fxgain_accno %]">
+        <input type="hidden" name="fxloss_accno" value="[% fxloss_accno %]">
+[%- IF show_exchangerate %]
+        <tr>
+          <th align="right">Exchangerate</th>
+          <td>
+           [%- IF forex %]
+            [% LxERP.format_amount(exchangerate, 2) %]
+           [%- ELSE %]
+            <input name="exchangerate" size="10" value="[% HTML.escape(LxERP.format_amount(exchangerate)) %]">
+           [%- END %]
+          </td>
+        </tr>
+[%- END %]
+        <tr>
+          <th align="right" nowrap>Shipping Point</th>
+          <td colspan="3"><input size='35' name="shippingpoint" value="[% HTML.escape(shippingpoint) %]"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>Ship via</th>
+          <td colspan="3"><input size='35' name="shipvia" value="[% HTML.escape(shipvia) %]"></td>
+        </tr>
+        <tr>
+          <th align="right">Transaction description</th>
+          <td colspan="3"><input size='35' name="transaction_description" value="[% HTML.escape(transaction_description) %]"></td>
+        </tr>
+      </table>
+    </td>
+    <td align="right" valign="top">
+      <table>
+        <tr>
+          <th align="right">Employee</th>
+          <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name       = 'employee_id',
+                 DATA       = ALL_EMPLOYEES,
+                 id_key     = 'id',
+                 label_sub  = 'sales_employee_labels' -%]
+          </td>
+        </tr>
+[%- IF ALL_SALESMEN.size %]
+        <tr>
+          <th align="right">Salesman</th>
+          <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name       = 'salesman_id',
+                 default    = salesman_id ? salesman_id : employee_id,
+                 DATA       = ALL_SALESMEN,
+                 id_key     = 'id',
+                 label_sub  = 'sales_employee_labels' -%]
+          </td>
+        </tr>
+[%- END %]
+
+[%- IF is_type_credit_note %]
+        <tr>
+          <th align="right" nowrap>Credit Note Number</th>
+          <td colspan="3"><input size='11' name="invnumber" value="[% HTML.escape(invnumber) %]"></td>
+        </tr>
+        <tr>
+          <th align="right">Credit Note Date</th>
+          <td nowrap>
+            <input name="invdate" id="invdate" size="11" title="[% dateformat %]" value="[% invdate %]" onBlur="check_right_date_format(this)">
+            <input type="button" name="invdate_button" id="trigger1" value="button">
+          </td>
+        </tr>
+[%- ELSE %]
+        <tr>
+          <th align="right" nowrap>Invoice Number</th>
+          <td colspan="3"><input size='11' name="invnumber" value="[% HTML.escape(invnumber) %]"></td>
+        </tr>
+        <tr>
+          <th align="right">Invoice Date</th>
+          <td nowrap>
+            <input name="invdate" id="invdate" size="11" title="[% dateformat %]" value="[% invdate %]" onBlur="check_right_date_format(this)">
+            <input type="button" name="invdate_button" id="trigger1" value="button">
+          </td>
+        </tr>
+        <tr>
+          <th align="right">Due Date</th>
+          <td width="13">
+            <input name="duedate" id="duedate" size="11" title="[% dateformat %]" value="[% duedate %]" onBlur="check_right_date_format(this)">
+            <input type="button" name="duedate_button" id="trigger2" value="button">
+          </td>
+        </tr>
+        <tr>
+        <th align="right" nowrap>Delivery Order Number</th>
+          <td colspan="3"><input size='11' name="donumber" value="[% HTML.escape(donumber) %]"></td>
+        </tr>
+        <tr>
+          <th align="right">Delivery Date</th>
+            <td width="13">
+              <input name="deliverydate" id="deliverydate" size="11" title="[% dateformat %]" value="[% deliverydate %]" onBlur="check_right_date_format(this)">
+              <input type="button" name="deliverydate_button" id="trigger3" value="button">
+            </td>
+        </tr>
+[%- END %]
+
+        <tr>
+          <th align="right" nowrap>Order Number</th>
+          <td colspan="3"><input size='11' name="ordnumber" value="[% HTML.escape(ordnumber) %]"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>Order Date</th>
+          <td><input name="orddate" id="orddate" size="11" title="[% dateformat %]" value="[% orddate %]" onBlur="check_right_date_format(this)">
+          <input type="button" name="b_orddate" id="trigger_orddate" value="?"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>Quotation Number</th>
+          <td colspan="3"><input size='11' name="quonumber" value="[% HTML.escape(quonumber) %]"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>Quotation Date</th>
+          <td><input name="quodate" id="quodate" size="11" title="[% dateformat %]" value="[% quodate %]" onBlur="check_right_date_format(this)">
+           <input type="button" name="b_quodate" id="trigger_quodate" value="?"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>Customer Order Number</th>
+          <td colspan="3"><input size='11' name="cusordnumber" value="[% HTML.escape(cusordnumber) %]"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>Project Number</th>
+          <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name       = 'globalproject_id',
+                 DATA       = ALL_PROJECTS,
+                 id_key     = 'id',
+                 label_key  = 'projectnumber',
+                 show_empty = 1,
+                 onChange   = "document.getElementById('update_button').click();" -%]
+          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+    </td>
+  </tr>
+  <tr>
+    <td>
+    </td>
+  </tr>
+  <script type="text/javascript" src="js/show_form_details.js"></script>
+  <script type="text/javascript" src="js/show_vc_details.js"></script>
+  <script type="text/javascript" src="js/show_history.js"></script>
+  <script type="text/javascript">
+   <!--
+     Calendar.setup({ inputField : "invdate",      ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger1" });
+[% IF !is_type_credit_note %]
+     Calendar.setup({ inputField : "duedate",      ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger2" });
+     Calendar.setup({ inputField : "deliverydate", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger3" });
+[% END %]
+     Calendar.setup({ inputField : "orddate", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger_orddate" });
+     Calendar.setup({ inputField : "quodate", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger_quodate" });
+     $('document').ready(function(){
+[% IF resubmit && is_format_html %]
+       window.open('about:blank','Beleg');
+       document.invoice.target = 'Beleg';
+       document.invoice.submit();
+[% ELSIF resubmit %]
+       document.invoice.submit();
+[% ELSIF creditwarning != '' %]
+       alert('Credit Limit exceeded!!!');
+[% ELSE %]
+       focus();
+[% END %]
+       setupDateFormat('[% dateformat %]', 'Falsches Datumsformat!');
+       setupPoints('[% numberformat %]', 'wrongformat');
+     });
+   //-->
+  </script>
+
+  <input type="hidden" name="webdav" value="[% webdav %]">
index fff653b..ca19aaa 100644 (file)
@@ -91,7 +91,7 @@
       <td align="left" width="30%"><b>Dateiname</b></td>
       <td align="left" width="70%"><b>Webdavlink</b></td>
      </tr>
- [%- FOREACH file=WEBDAV %]
+ [%- FOREACH file = WEBDAV %]
       <tr>
         <td align="left">[% HTML.escape(file.name) %]</td>
         <td align="left"><a href="[% file.link %]">[% HTML.escape(file.type) %]</a></td>
index c175867..40f9e9a 100644 (file)
                            onChange      = "document.getElementById('update_button').click();" -%]
                       <input type="button" value="Details (one letter abbreviation)" onclick="show_vc_details('[% HTML.escape(vc) %]')">
                     </td>
+[% INCLUDE 'generic/autocomplete.html', AUTOCOMPLETES => [
+  { script => 'ct.pl', column => 'name', selector => 'input[id="' _ vc _ '"]', params => { vc => vc } },
+]
+%]
                   </tr>
 [%- IF ALL_CONTACTS.size %]
                   <tr>
index e9be280..deebf64 100644 (file)
@@ -1,9 +1,11 @@
 [% USE HTML %]
 <tr>
  <td>
-  <input type="hidden" name="show_details" value="[% HTML.escape(show_details) %]">
-  <input type="checkbox" id="cb_show_details" onclick="show_form_details([% IF show_details %]0[% ELSE %]1[% END %]);"[%- IF show_details %] checked[% END %]>
+  <input type="checkbox" id="cb_show_details" name="show_details" [%- IF show_details %] checked[% END %]>
   <label for="cb_show_details">Show details</label><br>
+  <script type="text/javascript">
+   $('#cb_show_details').click(function(){ $('[id$="row2"]').toggle() });
+  </script>
   <table width="100%">
    <tr class="listheading">[% FOREACH header = HEADER %][% IF header.display %]
     <th align="left" nowrap width="[% header.width %]" class="listheading">[% header.value %]</th>[% END %][% END %]
@@ -17,7 +19,7 @@
      [% FOREACH hidden = row.HIDDENS %][% hidden.value %]
      [% END %]
 
-     <tr class="listrow[% loop.count % 2 %]" [% UNLESS show_details %]style="display:none;"[% END %]><td colspan="[% row.colspan %]">[% FOREACH row2 = row.ROW2 %]
+     <tr class="listrow[% loop.count % 2 %]" id="[% loop.count %].row2" [% UNLESS show_details %]style="display:none;"[% END %]><td colspan="[% row.colspan %]">[% FOREACH row2 = row.ROW2 %]
       [% IF row2.line_break %]<br/>[% END %]
       [% row2.value %][% END %]
      </td></tr>
@@ -26,3 +28,8 @@
   </table>
  </td>
 </tr>
+[% INCLUDE 'generic/autocomplete.html', AUTOCOMPLETES => [
+  { script => 'ic.pl', column => 'description', selector => '[name^="description_"]' },
+  { script => 'ic.pl', column => 'partnumber',  selector => '[name^="partnumber_"]'  },
+]
+%]
index 5d3d103..fe150bd 100644 (file)
@@ -1,5 +1,6 @@
 [%- USE HTML %]
 [%- SET vclabel = vc == 'customer' ? 'Customer' : 'Vendor' %]
+[%- SET vcnumberlabel = vc == 'customer' ? 'Customer Number' : 'Vendor Number' %]
 <body>
 
 <form method="post" action="oe.pl">
                  show_empty    = 1,
                  allow_textbox = 1,
                  -%]
+[% INCLUDE 'generic/autocomplete.html', AUTOCOMPLETES => [
+  { script => 'ct.pl', column => 'name', selector => 'input[name="' _ vc _ '"]', params => { vc => vc } },
+]
+%]
      </td>
     </tr>
 [%- IF ALL_DEPARTMENTS.size %]
         </td>
        </tr>
        <tr>
-        <td colspan=4 align=left><b>Customer</td>
+        <td colspan=4 align=left><b>[% HTML.escape(vclabel) %]</td>
        </tr>
        <tr>
+        <td>
+         <input name="l_vcnumber" id="l_vcnumber" class="checkbox" type="checkbox" value="Y">
+         <label for="l_vcnumber">[% HTML.escape(vcnumberlabel) %]</label>
+        </td>
         <td>
          <input name="l_country" id="l_country" class="checkbox" type="checkbox" value="Y">
          <label for="l_country">Country</label>
index b019a46..424a6da 100644 (file)
          [%- IF row.BORDER_BOTTOM %][%- SET tdclass = "$tdclass bottom_border" %][%- END %]
          [%- IF col.class %][%- SET tdclass = "$tdclass $col.class" %][%- END %]
          [%- IF tdclass %] class="[% tdclass %]"[%- END %]>
-       [%- IF col.raw_data %][%- col.raw_data %][%- END %]
-       [%- USE iterator(col.CELL_ROWS) %][%- FOREACH cell_row = iterator %]
-        [%- IF cell_row.data != '' %]
-         [%- IF cell_row.link %]<a href="[% cell_row.link %]">[%- END %]
-         [%- cell_row.data %]
-         [%- IF cell_row.link %]</a>[%- END %]
+       [%- IF col.raw_data %]
+        [%- col.raw_data %]
+       [%- ELSE %]
+        [%- USE iterator(col.CELL_ROWS) %][%- FOREACH cell_row = iterator %]
+         [%- IF cell_row.data != '' %]
+          [%- IF cell_row.link %]<a href="[% cell_row.link %]">[%- END %]
+          [%- cell_row.data %]
+          [%- IF cell_row.link %]</a>[%- END %]
+         [%- END %]
+        [%- UNLESS iterator.last %]<br>[%- END %]
         [%- END %]
-       [%- UNLESS iterator.last %]<br>[%- END %]
        [%- END %]
       </td>
       [%- END %]
diff --git a/templates/webpages/sepa/bank_transfer_add_en.html b/templates/webpages/sepa/bank_transfer_add_en.html
new file mode 100644 (file)
index 0000000..296305f
--- /dev/null
@@ -0,0 +1,97 @@
+[% USE HTML %][% USE LxERP %]
+<body>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <form action="sepa.pl" method="post">
+  <p>
+   Please select the source bank account for the transfers:
+   <br>
+   [%- INCLUDE generic/multibox.html
+         name      = 'bank_account.id',
+         DATA      = BANK_ACCOUNTS,
+         id_key    = 'id',
+         label_sub = 'bank_account_label',
+   -%]
+  </p>
+
+  <p>
+   <table>
+    <tr>
+     <th class="listheading" align="center"><input type="checkbox" id="select_all"></th>
+     <th class="listheading">Vendor</th>
+     <th class="listheading">Invoice</th>
+     <th class="listheading" align="right">Amount</th>
+     <th class="listheading" align="right">Open amount</th>
+     <th class="listheading">Purpose</th>
+     <th class="listheading" align="right">Bank transfer amount</th>
+    </tr>
+
+    [%- FOREACH invoice = INVOICES %]
+     <input type="hidden" name="bank_transfers[+].ap_id" value="[% HTML.escape(invoice.id) %]">
+
+     <tr class="listrow[% loop.count % 2 %]">
+      <td align="center">
+       [%- IF invoice.vendor_bank_info_ok %]
+        <input type="checkbox" name="bank_transfers[].selected" value="1">
+       [%- END %]
+      </td>
+      <td>
+       [%- IF loop.first || (previous_vendorname != invoice.vendorname) %]
+        <a href="ct.pl?action=edit&db=vendor&id=[% HTML.url(invoice.vendor_id) %]&callback=[% HTML.url('sepa.pl?action=bank_transfer_add') %]">
+         [%- GET HTML.escape(invoice.vendorname);
+             SET previous_vendorname = invoice.vendorname;
+             IF !invoice.vendor_bank_info_ok;
+               GET ' <sup>(1)</sup>';
+               SET show_vendor_bank_info_footnote = '1';
+             END; -%]
+        </a>
+       [%- END -%]
+      </td>
+
+      <td>
+       <a href="[% IF invoice.invoice %]ir[% ELSE %]ap[% END %].pl?action=edit&id=[% HTML.escape(invoice.id) %]">
+        [% HTML.escape(invoice.invnumber) %]
+       </a>
+      </td>
+
+      <td align="right">[% LxERP.format_amount(invoice.invoice_amount, -2) %]</td>
+      <td align="right">[% LxERP.format_amount(invoice.open_amount, -2) %]</td>
+      <td><input name="bank_transfers[].reference" value="[% HTML.escape(invoice.invnumber) %]"></td>
+      <td align="right">
+       <input name="bank_transfers[].amount" value="[% LxERP.format_amount(invoice.invoice_amount, -2) %]" style="text-align: right">
+      </td>
+     </tr>
+    [%- END %]
+   </table>
+  </p>
+
+  [%- IF show_vendor_bank_info_footnote %]
+   <p>
+    <sup>(1)</sup> No bank information has been entered in this vendor's master data entry. You cannot create bank transfers unless you enter bank information.
+   </p>
+  [%- END %]
+
+  <p>
+   <input type="submit" class="submit" name="action_bank_transfer_create" value="Step 2">
+  </p>
+
+  <input type="hidden" name="action" value="dispatcher">
+ </form>
+
+ <script type="text/javascript" src="js/jquery.js"></script>
+ <script type="text/javascript">
+  <!--
+    $(document).ready(function() {
+      $("#select_all").click(function() {
+        var checked = $(this).attr('checked');
+        $('INPUT[name="bank_transfers[].selected"]').each(function() {
+          $(this).attr('checked', checked);
+        });
+      });
+    });
+    -->
+ </script>
+
+</body>
+</html>
diff --git a/templates/webpages/sepa/bank_transfer_create_en.html b/templates/webpages/sepa/bank_transfer_create_en.html
new file mode 100644 (file)
index 0000000..97e52a9
--- /dev/null
@@ -0,0 +1,118 @@
+[% USE HTML %][% USE LxERP %]
+<body>
+
+ [%- IF error_message %]
+ <p><div class="error_message">[% error_message %]</div></p>
+ [%- END %]
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <form action="sepa.pl" method="post">
+  <p>1. Please select the source bank account for the transfers:
+   <br>
+   [%- INCLUDE generic/multibox.html
+         name      = 'bank_account.id',
+         DATA      = BANK_ACCOUNTS,
+         id_key    = 'id',
+         label_sub = 'bank_account_label',
+   -%]
+  </p>
+
+  <p>
+   2. Please Check the bank information for each vendor:
+   <br>
+   <table>
+    <tr>
+     <th class="listheading">Vendor</th>
+     <th class="listheading">IBAN</th>
+     <th class="listheading">BIC</th>
+     <th class="listheading">Bank</th>
+    </tr>
+
+    [%- FOREACH vbi = VENDOR_BANK_INFO %]
+    <tr class="listrow[% loop.count % 1 %]">
+     <td>
+      <input type="hidden" name="vendor_bank_info[+].id" value="[% HTML.escape(vbi.id) %]">
+      <input type="hidden" name="vendor_bank_info[].name" value="[% HTML.escape(vbi.name) %]">
+      [% HTML.escape(vbi.name) %]
+     </td>
+     <td><input name="vendor_bank_info[].iban" size="20" value="[% HTML.escape(vbi.iban) %]"></td>
+     <td><input name="vendor_bank_info[].bic" size="20" value="[% HTML.escape(vbi.bic) %]"></td>
+     <td><input name="vendor_bank_info[].bank" size="30" value="[% HTML.escape(vbi.bank) %]"></td>
+    </tr>
+    [%- END %]
+   </table>
+  </p>
+
+  <p>
+   3. Enter the requested execution date or leave empty for the quickest possible execution:
+   <br>
+   <table>
+    <tr>
+     <th class="listheading">Vendor</th>
+     <th class="listheading">Invoice</th>
+     <th class="listheading" align="right">Amount</th>
+     <th class="listheading" align="right">Open amount</th>
+     <th class="listheading">Purpose</th>
+     <th class="listheading" align="right">Bank transfer amount</th>
+     <th class="listheading">Execution date</th>
+    </tr>
+
+    [%- FOREACH bank_transfer = BANK_TRANSFERS %]
+     <input type="hidden" name="bank_transfers[+].ap_id" value="[% HTML.escape(bank_transfer.id) %]">
+     <input type="hidden" name="bank_transfers[].vendor_id" value="[% HTML.escape(bank_transfer.vendor_id) %]">
+     <input type="hidden" name="bank_transfers[].selected" value="1">
+
+     <tr class="listrow[% loop.count % 2 %]">
+      <td>
+       [%- IF loop.first || (previous_vendorname != bank_transfer.vendorname) %]
+        <a href="ct.pl?action=edit&db=vendor&id=[% HTML.url(bank_transfer.vendor_id) %]&callback=[% HTML.url('sepa.pl?action=bank_transfer_add') %]">
+         [%- GET HTML.escape(bank_transfer.vendorname);
+             SET previous_vendorname = bank_transfer.vendorname; -%]
+        </a>
+       [%- END -%]
+      </td>
+
+      <td>
+       <a href="[% IF bank_transfer.invoice %]ir[% ELSE %]ap[% END %].pl?action=edit&id=[% HTML.escape(bank_transfer.id) %]">
+        [% HTML.escape(bank_transfer.invnumber) %]
+       </a>
+      </td>
+
+      <td align="right">[% LxERP.format_amount(bank_transfer.invoice_amount, -2) %]</td>
+      <td align="right">[% LxERP.format_amount(bank_transfer.open_amount, -2) %]</td>
+      <td><input name="bank_transfers[].reference" value="[% HTML.escape(bank_transfer.reference) %]"></td>
+      <td align="right"><input name="bank_transfers[].amount" value="[% LxERP.format_amount(bank_transfer.amount, -2) %]" style="text-align: right"></td>
+      <td nowrap>
+       <input name="bank_transfers[].requested_execution_date"
+              id="requested_execution_date_[% loop.count %]"
+              value="[% HTML.escape(bank_transfer.requested_execution_date) %]"
+              size="11">
+       <input type="button" name="requested_execution_date_[% loop.count %]_trigger" id="requested_execution_date_[% loop.count %]_trigger" value="?">
+      </td>
+     </tr>
+    [%- END %]
+   </table>
+  </p>
+
+  <p>
+   <input type="submit" class="submit" name="action_bank_transfer_create" value="Create bank transfer">
+  </p>
+
+  <input type="hidden" name="action" value="dispatcher">
+  <input type="hidden" name="confirmation" value="1">
+ </form>
+
+ <script type="text/javascript">
+  <!--
+    [%- FOREACH row = BANK_TRANSFERS %]
+     Calendar.setup({ inputField : "requested_execution_date_[% loop.count %]",
+                      ifFormat   : "[% myconfig_jsc_dateformat %]",
+                      align      : "BL",
+                      button     : "requested_execution_date_[% loop.count %]_trigger" });
+    [%- END %]
+    -->
+ </script>
+
+</body>
+</html>
diff --git a/templates/webpages/sepa/bank_transfer_created_en.html b/templates/webpages/sepa/bank_transfer_created_en.html
new file mode 100644 (file)
index 0000000..808286f
--- /dev/null
@@ -0,0 +1,27 @@
+[% USE HTML %]
+<body>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <p>
+  The SEPA export has been created.
+ </p>
+
+ <p>
+  <ul>
+   <li>
+    <a href="sepa.pl?action=bank_transfer_download_sepa_xml&id=[% HTML.url(id) %]">
+     Download SEPA XML export file
+    </a>
+   </li>
+
+   <li>
+    <a href="sepa.pl?action=bank_transfer_list&l_open=1&l_not_executed=1">
+     List open SEPA exports
+    </a>
+   </li>
+  </ul>
+ </p>
+
+</body>
+</html>
diff --git a/templates/webpages/sepa/bank_transfer_edit_en.html b/templates/webpages/sepa/bank_transfer_edit_en.html
new file mode 100644 (file)
index 0000000..2637584
--- /dev/null
@@ -0,0 +1,140 @@
+[% USE HTML %]
+[% USE LxERP %]
+<body>
+
+ <p><div class="listtop">[% title %]: [% HTML.escape(export.ids.join(', ')) %]</div></p>
+
+ <form action="sepa.pl" method="post">
+  <input type="hidden" name="action" value="dispatcher">
+
+  <p>
+   <table>
+    <tr>
+     [%- IF show_post_payments_button %]
+      <th class="listheading" align="center"><input type="checkbox" id="select_all"></th>
+     [%- END %]
+     <th class="listheading">Invoice</th>
+     <th class="listheading">Vendor</th>
+     <th class="listheading" colspan="2">Source bank account</th>
+     <th class="listheading" colspan="2">Target bank account</th>
+     <th class="listheading" align="right">Amount</th>
+     <th class="listheading">Reference</th>
+     <th class="listheading" align="right">Requested execution date</th>
+     <th class="listheading" align="right">Execution date</th>
+    </tr>
+    <tr>
+     <th class="listheading" colspan="[% IF show_post_payments_button %]3[% ELSE %]2[% END %]">&nbsp;</th>
+     <th class="listheading">IBAN</th>
+     <th class="listheading">BIC</th>
+     <th class="listheading">IBAN</th>
+     <th class="listheading">BIC</th>
+     [%- IF show_post_payments_button %]
+      <th class="listheading" colspan="3">&nbsp;</th>
+      <th class="listheading">
+       <input name="set_all_execution_date" id="set_all_execution_date" size="11">
+       <input type="button" name="set_all_execution_date_trigger" id="set_all_execution_date_trigger" value="?">
+      </th>
+     [%- ELSE %]
+      <th class="listheading" colspan="4">&nbsp;</th>
+     [%- END %]
+    </tr>
+
+    [%- FOREACH item = export.items %]
+     <tr class="listrow[% loop.count % 2 %]">
+      [%- IF show_post_payments_button %]
+       <input type="hidden" name="items[+].id" value="[% HTML.escape(item.id) %]">
+       <input type="hidden" name="items[].sepa_export_id" value="[% HTML.escape(item.sepa_export_id) %]">
+       <td align="center">
+        [%- UNLESS item.executed %]
+        <input type="checkbox" name="items[].selected" value="1">
+        [%- END %]
+       </td>
+      [%- END %]
+      <td>
+       <a href="[% IF item.invoice %]ir[% ELSE %]ap[% END %].pl?action=edit&type=invoice&id=[% HTML.url(item.ap_id) %]">[% HTML.escape(item.invnumber) %]</a>
+      </td>
+      <td>[% HTML.escape(item.vendor_name) %]</td>
+      <td>[% HTML.escape(item.our_iban) %]</td>
+      <td>[% HTML.escape(item.our_bic) %]</td>
+      <td>[% HTML.escape(item.vendor_iban) %]</td>
+      <td>[% HTML.escape(item.vendor_bic) %]</td>
+      <td align="right">[% HTML.escape(LxERP.format_amount(item.amount, 2)) %]</td>
+      <td>[% HTML.escape(item.reference) %]</td>
+      <td align="right">[% HTML.escape(item.requested_execution_date) %]</td>
+      <td align="right" nowrap>
+       [%- IF item.executed %]
+        [% HTML.escape(item.execution_date) %]
+       [%- ELSIF item.export_closed %]
+        not executed
+       [%- ELSE %]
+        <input name="items[].execution_date" id="execution_date_[% loop.count %]" size="11"
+               value="[% IF item.requested_execution_date %][% HTML.escape(item.requested_execution_date) %][% ELSE %][% HTML.escape(current_date) %][% END %]">
+        <input type="button" name="execution_date_[% loop.count %]_trigger" id="execution_date_[% loop.count %]_trigger" value="?">
+       [%- END %]
+      </td>
+     </tr>
+    [%- END %]
+   </table>
+  </p>
+
+  <p><hr></p>
+
+  [%- IF show_post_payments_button %]
+  <p>
+   <input type="submit" class="submit" name="action_bank_transfer_post_payments" value="Post payments">
+  </p>
+
+  <script type="text/javascript" src="js/jquery.js"></script>
+  <script type="text/javascript">
+   <!--
+    function set_all_execution_date_fields() {
+      var new_date = $('#set_all_execution_date').attr('value');
+      $('INPUT[name="items[].execution_date"]').each(function() {
+        $(this).attr('value', new_date);
+      });
+    }
+
+    $(document).ready(function() {
+      $("#select_all").click(function() {
+        var checked = $(this).attr('checked');
+        $('INPUT[name="items[].selected"]').each(function() {
+          $(this).attr('checked', checked);
+        });
+      });
+
+      [%- IF show_post_payments_button %]
+       Calendar.setup({ inputField : "set_all_execution_date",
+                        ifFormat   : "[% myconfig_jsc_dateformat %]",
+                        align      : "BL",
+                        button     : "set_all_execution_date_trigger",
+                        onUpdate   : set_all_execution_date_fields });
+
+       [%- FOREACH item = export.items %]
+        [%- IF !item.executed %]
+         Calendar.setup({ inputField : "execution_date_[% loop.count %]",
+                          ifFormat   : "[% myconfig_jsc_dateformat %]",
+                          align      : "BL",
+                          button     : "execution_date_[% loop.count %]_trigger" });
+        [%- END %]
+       [%- END %]
+      [%- END %]
+    });
+     -->
+  </script>
+
+  [%- ELSE %]
+  <p>
+   <input type="submit" class="submit" name="action_bank_transfer_payment_list_as_pdf" value="Payment list as PDF">
+  </p>
+
+   [%- FOREACH item = export.items %]
+    [%- IF item.executed %]
+     <input type="hidden" name="items[+].id" value="[% HTML.escape(item.id) %]">
+     <input type="hidden" name="items[].export_id" value="[% HTML.escape(item.export_id) %]">
+    [%- END %]
+   [%- END %]
+  [%- END %]
+ </form>
+
+</body>
+</html>
diff --git a/templates/webpages/sepa/bank_transfer_list_bottom_en.html b/templates/webpages/sepa/bank_transfer_list_bottom_en.html
new file mode 100644 (file)
index 0000000..057d4b7
--- /dev/null
@@ -0,0 +1,28 @@
+[% USE HTML %]
+
+[%- IF show_buttons %]
+ <input type="hidden" name="action" value="dispatcher">
+ <input type="hidden" name="mode" value="multi">
+
+ <p>
+  <input type="submit" class="submit" name="action_bank_transfer_download_sepa_xml" value="SEPA XML download">
+  <input type="submit" class="submit" name="action_bank_transfer_edit" value="Post payments">
+  <input type="submit" class="submit" name="action_bank_transfer_mark_as_closed_step1" value="Mark as closed">
+ </p>
+
+ <script type="text/javascript" src="js/jquery.js"></script>
+ <script type="text/javascript">
+  <!--
+    $(document).ready(function() {
+      $("#select_all").click(function() {
+        var checked = $(this).attr('checked');
+        $('INPUT[name="exports[].selected"]').each(function() {
+          $(this).attr('checked', checked);
+        });
+      });
+    });
+    -->
+ </script>
+[%- END %]
+
+</form>
diff --git a/templates/webpages/sepa/bank_transfer_list_top_en.html b/templates/webpages/sepa/bank_transfer_list_top_en.html
new file mode 100644 (file)
index 0000000..f17b456
--- /dev/null
@@ -0,0 +1 @@
+<form action="sepa.pl" method="post">
diff --git a/templates/webpages/sepa/bank_transfer_mark_as_closed_step1_en.html b/templates/webpages/sepa/bank_transfer_mark_as_closed_step1_en.html
new file mode 100644 (file)
index 0000000..524965b
--- /dev/null
@@ -0,0 +1,29 @@
+[% USE HTML %]
+<body>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <form action="sepa.pl" method="post">
+  <p>
+   Do you really want to close the following SEPA exports? No payment will be recorded for bank transfers that haven't been marked as executed yet.
+  </p>
+
+  <p>
+   SEPA exports:
+   [%- FOREACH id = OPEN_EXPORT_IDS %]
+    [%- UNLESS loop.first %], [%- END %]
+    <input type="hidden" name="open_export_ids[]" value="[% HTML.escape(id) %]">
+    <a href="sepa.pl?action=bank_transfer_edit&id=[% HTML.url(id) %]">[% HTML.escape(id) %]</a>
+   [%- END %]
+  </p>
+
+  <p>
+   <input type="submit" class="submit" name="action_bank_transfer_mark_as_closed_step2" value="Mark as closed">
+   <input type="button" class="submit" value="Back" onclick="history.back()">
+  </p>
+
+  <input type="hidden" name="action" value="dispatcher">
+ </form>
+
+</body>
+</html>
diff --git a/templates/webpages/sepa/bank_transfer_search_en.html b/templates/webpages/sepa/bank_transfer_search_en.html
new file mode 100644 (file)
index 0000000..9e8ca06
--- /dev/null
@@ -0,0 +1,125 @@
+[% USE HTML %]
+<body>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <form action="sepa.pl" method="post">
+  <p>
+   <table>
+    <tr>
+     <td align="right">Vendor</td>
+     <td><input name="f_vendor"></td>
+    </tr>
+
+    <tr>
+     <td align="right">Invoice number</td>
+     <td><input name="f_invnumber"></td>
+    </tr>
+
+    <tr>
+     <td align="right">Export date from</td>
+     <td>
+      <input name="f_export_date_from" id="f_export_date_from" size="11">
+      <input type="button" name="f_export_date_from_trigger" id="f_export_date_from_trigger" value="?">
+      to (time)
+      <input name="f_export_date_to" id="f_export_date_to" size="11">
+      <input type="button" name="f_export_date_to_trigger" id="f_export_date_to_trigger" value="?">
+     </td>
+    </tr>
+
+    <tr>
+     <td align="right">Requested execution date from</td>
+     <td>
+      <input name="f_requested_execution_date_from" id="f_requested_execution_date_from" size="11">
+      <input type="button" name="f_requested_execution_date_from_trigger" id="f_requested_execution_date_from_trigger" value="?">
+      to (time)
+      <input name="f_requested_execution_date_to" id="f_requested_execution_date_to" size="11">
+      <input type="button" name="f_requested_execution_date_to_trigger" id="f_requested_execution_date_to_trigger" value="?">
+     </td>
+    </tr>
+
+    <tr>
+     <td align="right">Execution date from</td>
+     <td>
+      <input name="f_execution_date_from" id="f_execution_date_from" size="11">
+      <input type="button" name="f_execution_date_from_trigger" id="f_execution_date_from_trigger" value="?">
+      to (time)
+      <input name="f_execution_date_to" id="f_execution_date_to" size="11">
+      <input type="button" name="f_execution_date_to_trigger" id="f_execution_date_to_trigger" value="?">
+     </td>
+    </tr>
+
+    <tr>
+     <td align="right" valign="top">Include in Report</td>
+     <td valign="top">
+      <table>
+       <tr>
+        <td>
+         <input type="checkbox" name="l_open" id="l_open" value="1" checked>
+         <label for="l_open">open</label>
+        </td>
+
+        <td>
+         <input type="checkbox" name="l_closed" id="l_closed" value="1">
+         <label for="l_closed">closed</label>
+        </td>
+       </tr>
+
+       <tr>
+        <td>
+         <input type="checkbox" name="l_not_executed" id="l_not_executed" value="1" checked>
+         <label for="l_not_executed">not yet executed</label>
+        </td>
+
+        <td>
+         <input type="checkbox" name="l_executed" id="l_executed" value="1" checked>
+         <label for="l_executed">executed</label>
+        </td>
+       </tr>
+      </table>
+     </td>
+    </tr>
+
+   </table>
+  </p>
+
+  <p>
+   <input type="hidden" name="action" value="dispatcher">
+   <input type="submit" class="submit" name="action_bank_transfer_list" value="Continue">
+  </p>
+ </form>
+
+ <script type="text/javascript">
+  <!--
+     Calendar.setup({ inputField : "f_export_date_from",
+                      ifFormat   : "[% myconfig_jsc_dateformat %]",
+                      align      : "BL",
+                      button     : "f_export_date_from_trigger" });
+     Calendar.setup({ inputField : "f_export_date_to",
+                      ifFormat   : "[% myconfig_jsc_dateformat %]",
+                      align      : "BL",
+                      button     : "f_export_date_to_trigger" });
+
+     Calendar.setup({ inputField : "f_requested_execution_date_from",
+                      ifFormat   : "[% myconfig_jsc_dateformat %]",
+                      align      : "BL",
+                      button     : "f_requested_execution_date_from_trigger" });
+     Calendar.setup({ inputField : "f_requested_execution_date_to",
+                      ifFormat   : "[% myconfig_jsc_dateformat %]",
+                      align      : "BL",
+                      button     : "f_requested_execution_date_to_trigger" });
+
+     Calendar.setup({ inputField : "f_execution_date_from",
+                      ifFormat   : "[% myconfig_jsc_dateformat %]",
+                      align      : "BL",
+                      button     : "f_execution_date_from_trigger" });
+     Calendar.setup({ inputField : "f_execution_date_to",
+                      ifFormat   : "[% myconfig_jsc_dateformat %]",
+                      align      : "BL",
+                      button     : "f_execution_date_to_trigger" });
+
+    -->
+ </script>
+
+</body>
+</html>
index 95991cf..d87ab5d 100644 (file)
@@ -15,8 +15,8 @@
   <tr>
     <td>
       <table>
-       <tr>
-         <td width="50%" align="left" valign="top">
+        <tr>
+          <td width="50%" align="left" valign="top">
             <fieldset>
             <legend>
             <b>Company</b>
diff --git a/templates/webpages/webdav/_list_en.html b/templates/webpages/webdav/_list_en.html
new file mode 100644 (file)
index 0000000..3432fc6
--- /dev/null
@@ -0,0 +1,22 @@
+
+[%- IF webdav %]
+  <tr>
+   <td><hr size="3" noshade></td>
+  </tr>
+  <tr>
+   <th class="listtop" align="left">Dokumente im Webdav-Repository</th>
+  </tr>
+   <table width="100%">
+    <tr>
+     <td align="left" width="30%"><b>Dateiname</b></td>
+     <td align="left" width="70%"><b>Webdavlink</b></td>
+    </tr>
+ [%- FOREACH file = WEBDAV %]
+    <tr>
+     <td align="left">[% file.name %]</td>
+     <td align="left"><a href="[% file.link %]">[% file.type %]</a></td>
+    </tr>
+ [%- END %]
+   </table>
+  </tr>
+[% END %]