Bei doppelten Kontonummern eine verständliche Fehlermeldung ausgeben.
authorThomas Heck <theck@linet-services.de>
Mon, 29 Oct 2012 12:53:23 +0000 (13:53 +0100)
committerThomas Heck <theck@linet-services.de>
Mon, 29 Oct 2012 12:53:23 +0000 (13:53 +0100)
behebt #2030

SL/AM.pm
locale/de/all

index 59e9c78..1a085b8 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -269,6 +269,17 @@ sub save_account {
       $form->{valid_from} = '';
     };
 
+    $query = '
+      SELECT
+        accno
+      FROM chart
+      WHERE accno = ?';
+    my ($accno) = selectrow_query($form, $dbh, $query, $form->{accno});
+
+    if ($accno) {
+      $form->error($::locale->text('Account number not unique!'));
+    }
+
     $query = qq|UPDATE chart SET
                   accno = ?,
                   description = ?,
index b396e17..d027e1e 100644 (file)
@@ -93,6 +93,7 @@ $self->{texts} = {
   'Account for interest'        => 'Konto f&uuml;r Zinsen',
   'Account number'              => 'Kontonummer',
   'Account number #1, bank code #2, #3' => 'Kontonummer #1, BLZ #2, #3',
+  'Account number not unique!'  => 'Kontonummer bereits vorhanden!',
   'Account saved!'              => 'Konto gespeichert!',
   'Accounting Group deleted!'   => 'Buchungsgruppe gel&ouml;scht!',
   'Accounting Group saved!'     => 'Buchungsgruppe gespeichert!',
@@ -101,21 +102,14 @@ $self->{texts} = {
   'Active'                      => 'Aktiv',
   'Active?'                     => 'Aktiviert?',
   'Add'                         => 'Erfassen',
-  'Add AP Transaction'          => 'Kreditorenbuchung',
-  'Add AR Transaction'          => 'Debitorenbuchung',
   'Add Account'                 => 'Konto erfassen',
   'Add Accounting Group'        => 'Buchungsgruppe erfassen',
   'Add Accounts Payables Transaction' => 'Kreditorenbuchung erfassen',
   'Add Accounts Receivables Transaction' => 'Debitorenbuchung erfassen',
   'Add Assembly'                => 'Erzeugnis erfassen',
   'Add Buchungsgruppe'          => 'Buchungsgruppe erfassen',
-  'Add Business'                => 'Kunden-/Lieferantentyp erfassen',
   'Add Credit Note'             => 'Gutschrift erfassen',
   'Add Customer'                => 'Kunde erfassen',
-  'Add Delivery Note'           => 'Lieferschein erfassen',
-  'Add Delivery Order'          => 'Lieferschein erfassen',
-  'Add Department'              => 'Abteilung erfassen',
-  'Add Dunning'                 => 'Mahnung erzeugen',
   'Add Exchangerate'            => 'Wechselkurs erfassen',
   'Add Follow-Up'               => 'Wiedervorlage erstellen',
   'Add Follow-Up for #1'        => 'Wiedervorlage f&uuml;r #1 erstellen',
@@ -124,7 +118,6 @@ $self->{texts} = {
   'Add Language'                => 'Sprache hinzufügen',
   'Add Lead'                    => 'Kundenquelle erfassen',
   'Add Part'                    => 'Ware erfassen',
-  'Add Payment Terms'           => 'Zahlungskonditionen hinzufügen',
   'Add Price Factor'            => 'Preisfaktor erfassen',
   'Add Pricegroup'              => 'Preisgruppe erfassen',
   'Add Printer'                 => 'Drucker hinzufügen',
@@ -132,14 +125,12 @@ $self->{texts} = {
   'Add Purchase Delivery Order' => 'Lieferschein (Einkauf) erfassen',
   'Add Purchase Order'          => 'Lieferantenauftrag erfassen',
   'Add Quotation'               => 'Angebot erfassen',
-  'Add RFQ'                     => 'Preisanfrage erfassen',
   'Add Request for Quotation'   => 'Anfrage erfassen',
   'Add Sales Delivery Order'    => 'Lieferschein (Verkauf) erfassen',
   'Add Sales Invoice'           => 'Rechnung erfassen',
   'Add Sales Order'             => 'Auftrag erfassen',
   'Add Service'                 => 'Dienstleistung erfassen',
   'Add Storno Credit Note'      => 'Gutschrift Storno hinzufügen',
-  'Add Transaction'             => 'Dialogbuchen',
   'Add User'                    => 'Neuer Benutzer',
   'Add Vendor'                  => 'Lieferant erfassen',
   'Add Vendor Invoice'          => 'Einkaufsrechnung erfassen',
@@ -153,7 +144,6 @@ $self->{texts} = {
   'Address'                     => 'Adresse',
   'Administration'              => 'Administration',
   'Administration (Used to access instance administration from user logins)' => 'Administration (Für die Verwaltung der aktuellen Instanz aus einem Userlogin heraus)',
-  'Administration area'         => 'Administration',
   'Advance turnover tax return' => 'Umsatzsteuervoranmeldung',
   'Aktion'                      => 'Aktion',
   'All'                         => 'Alle',
@@ -247,7 +237,6 @@ $self->{texts} = {
   'Back to the login page'      => 'Zurück zur Loginseite',
   'Background job history'      => 'Verlauf der Hintergrund-Jobs',
   'Background jobs'             => 'Hintergrund-Jobs',
-  'Background jobs and task server' => 'Hintergrund-Jobs und Task-Server',
   'Backup Dataset'              => 'Datenbank sichern',
   'Backup file'                 => 'Sicherungsdatei',
   'Backup of dataset'           => 'Sicherung der Datenbank',
@@ -259,16 +248,11 @@ $self->{texts} = {
   'Bank Code Number'            => 'Bankleitzahl',
   'Bank Connection Tax Office'  => 'Bankverbindung des Finanzamts',
   'Bank Connections'            => 'Bankverbindungen',
-  'Bank accounts'               => 'Bankkonten',
   'Bank code'                   => 'Bankleitzahl',
   'Bank collection amount'      => 'Einzugsbetrag',
   'Bank collection payment list for export #1' => 'Bankeinzugszahlungsliste für SEPA-Export #1',
-  'Bank collection via SEPA'    => 'Bankeinzug via SEPA',
-  'Bank collections via SEPA'   => 'Bankeinzüge via SEPA',
   'Bank transfer amount'        => 'Überweisungssumme',
   'Bank transfer payment list for export #1' => 'Überweisungszahlungsliste für SEPA-Export #1',
-  'Bank transfer via SEPA'      => 'Überweisung via SEPA',
-  'Bank transfers via SEPA'     => 'Überweisungen via SEPA',
   'Base unit'                   => 'Basiseinheit',
   'Basic Data'                  => 'Basisdaten',
   'Batch Printing'              => 'Druck',
@@ -378,7 +362,6 @@ $self->{texts} = {
   'Cannot save quotation!'      => 'Angebot kann nicht gespeichert werden!',
   'Cannot storno storno invoice!' => 'Kann eine Stornorechnung nicht stornieren',
   'Carry over shipping address' => 'Lieferadresse &uuml;bernehmen',
-  'Cash'                        => 'Zahlungsverkehr',
   'Cc'                          => 'Cc',
   'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Ver&auml;ndern der Lx-Office-Installationseinstellungen (Men&uuml;punkte unterhalb von \'System\')',
   'Change representative to'    => 'Vertreter ändern in',
@@ -436,7 +419,6 @@ $self->{texts} = {
   'Contra'                      => 'gegen',
   'Copies'                      => 'Kopien',
   'Correct taxkey'              => 'Richtiger Steuerschlüssel',
-  'Corrections'                 => 'Korrekturen',
   'Costs'                       => 'Kosten',
   'Could not copy %s to %s. Reason: %s' => 'Die Datei &quot;%s&quot; konnte nicht nach &quot;%s&quot; kopiert werden. Grund: %s',
   'Could not load class #1 (#2): "#3"' => 'Konnte Klasse #1 (#2) nicht laden: "#3"',
@@ -534,7 +516,6 @@ $self->{texts} = {
   'Customers'                   => 'Kunden',
   'Customers and vendors'       => 'Kunden und Lieferanten',
   'Customized Report'           => 'Vorgewählte Zeiträume',
-  'DATEV - Export Assistent'    => 'DATEV-Exportassistent',
   'DATEV Angaben'               => 'DATEV-Angaben',
   'DATEV Export'                => 'DATEV-Export',
   'DATEV check returned errors:' => 'Die DATEV Prüfung dieser Buchung ergab Fehler:',
@@ -704,7 +685,6 @@ $self->{texts} = {
   'EUR'                         => 'E/Ü-Rechnung',
   'Earlier versions of kivitendo contained bugs which might have led to wrong entries in the general ledger.' => 'Frühere Versionen von kivitendo enthielten Bugs, die zu falschen Einträgen im Hauptbuch geführt haben können.',
   'Edit'                        => 'Bearbeiten',
-  'Edit Access Rights'          => 'Zugriffsrechte bearbeiten',
   'Edit Access Rights for Follow-Ups' => 'Zugriff auf meine Wiedervorlagen regeln',
   'Edit Account'                => 'Kontodaten bearbeiten',
   'Edit Accounting Group'       => 'Buchungsgruppe bearbeiten',
@@ -715,7 +695,6 @@ $self->{texts} = {
   'Edit Buchungsgruppe'         => 'Buchungsgruppe bearbeiten',
   'Edit Credit Note'            => 'Gutschrift bearbeiten',
   'Edit Customer'               => 'Kunde editieren',
-  'Edit Dunning'                => 'Mahnungen konfigurieren',
   'Edit Dunning Process Config' => 'Mahnwesenkonfiguration bearbeiten',
   'Edit Employee #1'            => 'Benutzer #1 bearbeiten',
   'Edit Follow-Up'              => 'Wiedervorlage bearbeiten',
@@ -902,8 +881,6 @@ $self->{texts} = {
   'GL Transaction'              => 'Dialogbuchung',
   'Gegenkonto'                  => 'Gegenkonto',
   'Gender'                      => 'Geschlecht',
-  'General Ledger'              => 'Finanzbuchhaltung',
-  'General Ledger Corrections'  => 'Korrekturen im Hauptbuch',
   'General Ledger Transaction'  => 'Dialogbuchung',
   'General ledger and cash'     => 'Finanzbuchhaltung und Zahlungsverkehr',
   'General ledger corrections'  => 'Korrekturen im Hauptbuch',
@@ -912,7 +889,6 @@ $self->{texts} = {
   'Go one step back'            => 'Einen Schritt zur&uuml;ck',
   'Go one step forward'         => 'Einen Schritt vorw&auml;rts',
   'Greeting'                    => 'Anrede',
-  'Greetings'                   => 'Anreden',
   'Group'                       => 'Warengruppe',
   'Group Invoices'              => 'Rechnungen zusammenfassen',
   'Group Items'                 => 'Waren gruppieren',
@@ -922,7 +898,6 @@ $self->{texts} = {
   'Group saved!'                => 'Warengruppe gespeichert!',
   'Groups'                      => 'Warengruppen',
   'HTML'                        => 'HTML',
-  'HTML Templates'              => 'HTML-Vorlagen',
   'Hardcopy'                    => 'Seite drucken',
   'Has serial number'           => 'Hat eine Serienummer',
   'Heading'                     => 'Überschrift',
@@ -935,7 +910,6 @@ $self->{texts} = {
   'Hide help text'              => 'Hilfetext verbergen',
   'History'                     => 'Historie',
   'History Search'              => 'Historien Suche',
-  'History Search Engine'       => 'Historien Suchmaschine',
   'Homepage'                    => 'Homepage',
   'Host'                        => 'Datenbankcomputer',
   'However, you can create a new part which will then be selected.' => 'Sie k&ouml;nnen jedoch einen neuen Artikel anlegen, der dann automatisch ausgew&auml;hlt wird.',
@@ -960,7 +934,6 @@ $self->{texts} = {
   'If you want to set up the authentication database yourself then log in to the administration panel. kivitendo will then create the database and tables for you.' => 'Wenn Sie die Authentifizierungs-Datenbank selber einrichten wollen, so melden Sie sich im Administrationsbereich an. kivitendo wird dann die Datenbank und die erforderlichen Tabellen für Sie anlegen.',
   'Image'                       => 'Grafik',
   'Import'                      => 'Import',
-  'Import CSV'                  => 'CSV-Import',
   'Import file'                 => 'Import-Datei',
   'Import preview'              => 'Import-Vorschau',
   'Import profiles'             => 'Import-Profil',
@@ -1056,7 +1029,6 @@ $self->{texts} = {
   'L'                           => 'L',
   'LIABILITIES'                 => 'PASSIVA',
   'LP'                          => 'LP',
-  'LaTeX Templates'             => 'LaTeX-Vorlagen',
   'Landscape'                   => 'Querformat',
   'Language'                    => 'Sprache',
   'Language (database ID)'      => 'Sprache (Datenbank-ID)',
@@ -1092,22 +1064,8 @@ $self->{texts} = {
   'Line Total'                  => 'Zeilensumme',
   'Line and column'             => 'Zeile und Spalte',
   'Line endings'                => 'Zeilenumbr&uuml;che',
-  'List'                        => 'Anzeigen',
-  'List Accounting Groups'      => 'Buchungsgruppen anzeigen',
-  'List Accounts'               => 'Konten anzeigen',
-  'List Businesses'             => 'Kunden-/Lieferantentypen anzeigen',
-  'List Departments'            => 'Abteilungen anzeigen',
-  'List Groups'                 => 'Warengruppen anzeigen',
-  'List Languages'              => 'Sprachen anzeigen',
-  'List Lead'                   => 'Kundenquelle anzeigen',
-  'List Payment Terms'          => 'Zahlungsbedingungen anzeigen',
   'List Price'                  => 'Listenpreis',
-  'List Price Factors'          => 'Preisfaktoren anzeigen',
-  'List Pricegroups'            => 'Preisgruppen anzeigen',
   'List Transactions'           => 'Buchungsliste',
-  'List Warehouses'             => 'Lager anzeigen',
-  'List bank accounts'          => 'Bankkonten anzeigen',
-  'List current background jobs' => 'Aktuelle Hintergrund-Jobs anzeigen',
   'List export'                 => 'Export anzeigen',
   'List of bank accounts'       => 'Liste der Bankkonten',
   'List of bank collections'    => 'Bankeinzugsliste',
@@ -1129,14 +1087,12 @@ $self->{texts} = {
   'Long Dates'                  => 'Lange Monatsnamen',
   'Long Description'            => 'Langtext',
   'MAILED'                      => 'Gesendet',
-  'MSG_BROWSER_DOES_NOT_SUPPORT_IFRAMES' => 'Ihr Browser kann leider keine eingebetteten Frames anzeigen. Bitte w&auml;hlen Sie ein anderes Men&uuml; in der Benutzerkonfiguration im Administrationsmen&uuml; aus.',
   'Main Preferences'            => 'Grundeinstellungen',
   'Main sorting'                => 'Hauptsortierung',
   'Make'                        => 'Lieferant',
   'Make (with X being a number)' => 'Lieferant (X ist eine fortlaufende Zahl)',
   'Make compatible for import'  => 'Für den Import kompatibel machen',
   'Make default profile'        => 'Zu Standardprofil machen',
-  'Manage Custom Variables'     => 'Benutzerdefinierte Variablen',
   'Mandantennummer'             => 'Mandantennummer',
   'Mandatory Departments'       => 'Benutzer muss Abteilungen vergeben',
   'Mar'                         => 'März',
@@ -1337,7 +1293,6 @@ $self->{texts} = {
   'POSTED AS NEW'               => 'Als neu gebucht',
   'PRINTED'                     => 'Gedruckt',
   'Package name'                => 'Paketname',
-  'Packing Lists'               => 'Lieferschein',
   'Page'                        => 'Seite',
   'Page #1/#2'                  => 'Seite #1/#2',
   'Paid'                        => 'bezahlt',
@@ -1464,10 +1419,8 @@ $self->{texts} = {
   'Private Phone'               => 'Privates Tel.',
   'Problem'                     => 'Problem',
   'Produce Assembly'            => 'Erzeugnis fertigen',
-  'Productivity'                => 'Produktivität',
   'Profit determination'        => 'Gewinnermittlung',
   'Proforma Invoice'            => 'Proformarechnung',
-  'Program'                     => 'Programm',
   'Project'                     => 'Projekt',
   'Project Description'         => 'Projektbeschreibung',
   'Project Number'              => 'Projektnummer',
@@ -1478,7 +1431,6 @@ $self->{texts} = {
   'Project not on file!'        => 'Dieses Projekt ist nicht in der Datenbank!',
   'Project saved!'              => 'Projekt gespeichert!',
   'Projects'                    => 'Projekte',
-  'Projecttransactions'         => 'Projektbuchungen',
   'Prozentual/Absolut'          => 'Prozentual/Absolut',
   'Purchase Invoice'            => 'Einkaufsrechnung',
   'Purchase Order'              => 'Lieferantenauftrag',
@@ -1578,7 +1530,6 @@ $self->{texts} = {
   'SEPA XML download'           => 'SEPA-XML-Download',
   'SEPA creditor ID'            => 'SEPA-Kreditoren-Identifikation',
   'SEPA exports:'               => 'SEPA-Exporte:',
-  'SEPA strings'                => 'SEPA-Überweisungen',
   'Saldo Credit'                => 'Saldo Haben',
   'Saldo Debit'                 => 'Saldo Soll',
   'Saldo neu'                   => 'Saldo neu',
@@ -1678,7 +1629,6 @@ $self->{texts} = {
   'Ship via'                    => 'Transportmittel',
   'Shipping Address'            => 'Lieferadresse',
   'Shipping Point'              => 'Versandort',
-  'Shipto'                      => 'Lieferanschriften',
   'Shipto deleted.'             => 'Lieferadresse gelöscht',
   'Shipto is in use and was flagged invalid.' => 'Lieferadresse ist noch in Verwendung, und wurde als ungültig markiert.',
   'Shopartikel'                 => 'Shopartikel',
@@ -1686,7 +1636,6 @@ $self->{texts} = {
   'Show'                        => 'Zeigen',
   'Show Filter'                 => 'Filter zeigen',
   'Show Salesman'               => 'Verkäufer anzeigen',
-  'Show TODO list'              => 'Aufgabenliste anzeigen',
   'Show by default'             => 'Standardm&auml;&szlig;ig anzeigen',
   'Show custom variable search inputs' => 'Suchoptionen für Benutzerdefinierte Variablen verstecken',
   'Show details'                => 'Detailsanzeige',
@@ -1760,7 +1709,6 @@ $self->{texts} = {
   'Superuser name'              => 'Datenbankadministrator',
   'Supplies'                    => 'Lieferungen',
   'Switch Menu on / off'        => 'Men&uuml; ein- / ausklappen',
-  'System'                      => 'System',
   'System currently down for maintenance!' => 'Lx-Office ist momentan zwecks Wartungsarbeiten nicht zugänglich.',
   'TODO list'                   => 'Aufgabenliste',
   'TODO list options'           => 'Aufgabenlistenoptionen',
@@ -1793,7 +1741,6 @@ $self->{texts} = {
   'Taxation'                    => 'Versteuerungs Verfahren',
   'Taxdescription  missing!'    => 'Steuername fehlt!',
   'Taxdescription_coa'          => 'Steuer',
-  'Taxes'                       => 'Steuern',
   'Taxkey'                      => 'Steuerschlüssel',
   'Taxkey  missing!'            => 'Steuerschlüssel fehlt!',
   'Taxkey_coa'                  => 'Steuerschlüssel',
@@ -2072,8 +2019,6 @@ $self->{texts} = {
   'USt-Konto'                   => 'USt-Konto',
   'UStVA'                       => 'UStVA',
   'UStVA (PDF-Dokument)'        => 'UStVa als PDF-Dokument',
-  'UStVa'                       => 'UStVa',
-  'UStVa Einstellungen'         => 'UStVa Einstellungen',
   'Unbalanced Ledger'           => 'Bilanzfehler',
   'Unchecked custom variables will not appear in orders and invoices.' => 'Unmarkierte Variablen werden für diesen Artikel nicht in Aufträgen und Rechnungen angezeigt.',
   'Unfinished follow-ups'       => 'Nicht erledigte Wiedervorlagen',
@@ -2123,7 +2068,6 @@ $self->{texts} = {
   'Vendor'                      => 'Lieferant',
   'Vendor (name)'               => 'Lieferant (Name)',
   'Vendor Invoice'              => 'Einkaufsrechnung',
-  'Vendor Invoices'             => 'Einkaufsrechnungen',
   'Vendor Name'                 => 'Lieferantenname',
   'Vendor Number'               => 'Lieferantennummer',
   'Vendor Order Number'         => 'Bestellnummer beim Lieferanten',
@@ -2150,7 +2094,6 @@ $self->{texts} = {
   'Warehouse From'              => 'Quelllager',
   'Warehouse Migration'         => 'Lagermigration',
   'Warehouse To'                => 'Ziellager',
-  'Warehouse content'           => 'Lagerbestand',
   'Warehouse deleted.'          => 'Lager gel&ouml;scht.',
   'Warehouse management'        => 'Lagerverwaltung/Bestandsveränderung',
   'Warehouse saved.'            => 'Lager gespeichert.',
@@ -2171,7 +2114,6 @@ $self->{texts} = {
   'Workflow sales_order'        => 'Workflow Auftrag',
   'Workflow sales_quotation'    => 'Workflow Angebot',
   'Wrong Period'                => 'Falscher Zeitraum',
-  'Wrong date format!'          => 'Falsches Datumsformat!',
   'Wrong tax keys recorded'     => 'Gespeicherte Steuerschlüssel sind falsch',
   'Wrong taxes recorded'        => 'Gespeicherte Steuern passen nicht zum Steuerschlüssel',
   'YYYY'                        => 'JJJJ',