Trennung zwischen Dienstleistungs- und Wareneinheiten aufgehoben.
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 23 Apr 2008 13:04:43 +0000 (13:04 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 23 Apr 2008 13:04:43 +0000 (13:04 +0000)
18 files changed:
SL/AM.pm
SL/DO.pm
SL/IS.pm
bin/mozilla/am.pl
bin/mozilla/do.pl
bin/mozilla/ic.pl
bin/mozilla/invoice_io.pl
bin/mozilla/io.pl
bin/mozilla/wh.pl
locale/de/all
locale/de/am
locale/de/ca
locale/de/menu
locale/de/menunew
menu.ini
sql/Pg-upgrade2/units_no_type_distinction.sql [new file with mode: 0644]
templates/webpages/am/edit_units_de.html
templates/webpages/am/edit_units_master.html

index 22eab8b..fa22706 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -1776,19 +1776,13 @@ sub get_base_unit {
 sub retrieve_units {
   $main::lxdebug->enter_sub();
 
-  my ($self, $myconfig, $form, $type, $prefix) = @_;
+  my ($self, $myconfig, $form, $prefix) = @_;
 
   my $dbh = $form->dbconnect($myconfig);
 
   my $query = "SELECT *, base_unit AS original_base_unit FROM units";
-  my @values;
-  if ($type) {
-    $query .= " WHERE (type = ?)";
-    @values = ($type);
-  }
 
-  my $sth = $dbh->prepare($query);
-  $sth->execute(@values) || $form->dberror($query . " (" . join(", ", @values) . ")");
+  my $sth = prepare_execute_query($form, $dbh, $query);
 
   my $units = {};
   while (my $ref = $sth->fetchrow_hashref()) {
@@ -2037,16 +2031,16 @@ sub sum_with_unit {
 sub add_unit {
   $main::lxdebug->enter_sub();
 
-  my ($self, $myconfig, $form, $name, $base_unit, $factor, $type, $languages) = @_;
+  my ($self, $myconfig, $form, $name, $base_unit, $factor, $languages) = @_;
 
   my $dbh = $form->dbconnect_noauto($myconfig);
 
   my $query = qq|SELECT COALESCE(MAX(sortkey), 0) + 1 FROM units|;
   my ($sortkey) = selectrow_query($form, $dbh, $query);
 
-  $query = "INSERT INTO units (name, base_unit, factor, type, sortkey) " .
-    "VALUES (?, ?, ?, ?, ?)";
-  do_query($form, $dbh, $query, $name, $base_unit, $factor, $type, $sortkey);
+  $query = "INSERT INTO units (name, base_unit, factor, sortkey) " .
+    "VALUES (?, ?, ?, ?)";
+  do_query($form, $dbh, $query, $name, $base_unit, $factor, $sortkey);
 
   if ($languages) {
     $query = "INSERT INTO units_language (unit, language_id, localized, localized_plural) VALUES (?, ?, ?, ?)";
@@ -2067,7 +2061,7 @@ sub add_unit {
 sub save_units {
   $main::lxdebug->enter_sub();
 
-  my ($self, $myconfig, $form, $type, $units, $delete_units) = @_;
+  my ($self, $myconfig, $form, $units, $delete_units) = @_;
 
   my $dbh = $form->dbconnect_noauto($myconfig);
 
@@ -2125,7 +2119,7 @@ sub save_units {
 sub swap_units {
   $main::lxdebug->enter_sub();
 
-  my ($self, $myconfig, $form, $dir, $name_1, $unit_type) = @_;
+  my ($self, $myconfig, $form, $dir, $name_1) = @_;
 
   my $dbh = $form->dbconnect_noauto($myconfig);
 
@@ -2136,9 +2130,9 @@ sub swap_units {
 
   $query =
     qq|SELECT sortkey FROM units | .
-    qq|WHERE sortkey | . ($dir eq "down" ? ">" : "<") . qq| ? AND type = ? | .
+    qq|WHERE sortkey | . ($dir eq "down" ? ">" : "<") . qq| ? | .
     qq|ORDER BY sortkey | . ($dir eq "down" ? "ASC" : "DESC") . qq| LIMIT 1|;
-  my ($sortkey_2) = selectrow_query($form, $dbh, $query, $sortkey_1, $unit_type);
+  my ($sortkey_2) = selectrow_query($form, $dbh, $query, $sortkey_1);
 
   if (defined($sortkey_1)) {
     $query = qq|SELECT name FROM units WHERE sortkey = ${sortkey_2}|;
index 79dc341..3be64f8 100644 (file)
--- a/SL/DO.pm
+++ b/SL/DO.pm
@@ -813,7 +813,7 @@ sub check_stock_availability {
 
   my $dbh         = $form->get_standard_dbh($myconfig);
 
-  my $units       = AM->retrieve_units($myconfig, $form, "dimension");
+  my $units       = AM->retrieve_units($myconfig, $form);
 
   my ($partunit)  = selectrow_query($form, $dbh, qq|SELECT unit FROM parts WHERE id = ?|, conv_i($params{parts_id}));
   my $unit_factor = $units->{$partunit}->{factor} || 1;
index 961746f..a7e3fa6 100644 (file)
--- a/SL/IS.pm
+++ b/SL/IS.pm
@@ -1828,8 +1828,6 @@ sub get_pricegroups_for_parts {
 
   my $i  = 1;
   my $id = 0;
-  my $dimension_units = AM->retrieve_units($myconfig, $form, "dimension");
-  my $service_units = AM->retrieve_units($myconfig, $form, "service");
   my $all_units = AM->retrieve_units($myconfig, $form);
   while (($form->{"id_$i"}) or ($form->{"new_id_$i"})) {
     $form->{"PRICES"}{$i} = [];
@@ -1862,9 +1860,8 @@ sub get_pricegroups_for_parts {
     # vergleichen und bei Unterschied den Preis entsprechend umrechnen.
     $form->{"selected_unit_$i"} = $form->{"unit_$i"} unless ($form->{"selected_unit_$i"});
 
-    my $check_units = $form->{"inventory_accno_$i"} ? $dimension_units : $service_units;
-    if (!$check_units->{$form->{"selected_unit_$i"}} ||
-        ($check_units->{$form->{"selected_unit_$i"}}->{"base_unit"} ne
+    if (!$all_units->{$form->{"selected_unit_$i"}} ||
+        ($all_units->{$form->{"selected_unit_$i"}}->{"base_unit"} ne
          $all_units->{$form->{"unit_old_$i"}}->{"base_unit"})) {
       # Die ausgewaehlte Einheit ist fuer diesen Artikel nicht gueltig
       # (z.B. Dimensionseinheit war ausgewaehlt, es handelt sich aber
index 5371515..45333c1 100644 (file)
@@ -2586,7 +2586,7 @@ sub edit_units {
 
   $auth->assert('config');
 
-  $units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"}, "resolved_");
+  $units = AM->retrieve_units(\%myconfig, $form, "resolved_");
   AM->units_in_use(\%myconfig, $form, $units);
   map({ $units->{$_}->{"BASE_UNIT_DDBOX"} = AM->unit_select_data($units, $units->{$_}->{"base_unit"}, 1); } keys(%{$units}));
 
@@ -2610,12 +2610,12 @@ sub edit_units {
     $i++;
   }
 
-  $units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"});
+  $units = AM->retrieve_units(\%myconfig, $form);
   $ddbox = AM->unit_select_data($units, undef, 1);
 
-  my $updownlink = build_std_url("action=swap_units", "unit_type");
+  my $updownlink = build_std_url("action=swap_units");
 
-  $form->{"title"} = sprintf($locale->text("Add and edit %s"), $form->{"unit_type"} eq "dimension" ? $locale->text("dimension units") : $locale->text("service units"));
+  $form->{"title"} = $locale->text("Add and edit units");
   $form->header();
   print($form->parse_html_template("am/edit_units",
                                    { "UNITS"               => \@unit_list,
@@ -2632,7 +2632,7 @@ sub add_unit {
   $auth->assert('config');
 
   $form->isblank("new_name", $locale->text("The name is missing."));
-  $units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"});
+  $units = AM->retrieve_units(\%myconfig, $form);
   $all_units = AM->retrieve_units(\%myconfig, $form);
   $form->show_generic_error($locale->text("A unit with this name does already exist.")) if ($all_units->{$form->{"new_name"}});
 
@@ -2655,7 +2655,7 @@ sub add_unit {
          });
   }
 
-  AM->add_unit(\%myconfig, $form, $form->{"new_name"}, $base_unit, $factor, $form->{"unit_type"}, \@languages);
+  AM->add_unit(\%myconfig, $form, $form->{"new_name"}, $base_unit, $factor, \@languages);
 
   $form->{"saved_message"} = $locale->text("The unit has been saved.");
 
@@ -2689,7 +2689,7 @@ sub save_unit {
 
   $auth->assert('config');
 
-  $old_units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"}, "resolved_");
+  $old_units = AM->retrieve_units(\%myconfig, $form, "resolved_");
   AM->units_in_use(\%myconfig, $form, $old_units);
 
   @languages = AM->language(\%myconfig, $form, 1);
@@ -2755,7 +2755,7 @@ sub save_unit {
     }
   }
 
-  AM->save_units(\%myconfig, $form, $form->{"unit_type"}, $new_units, \@delete_units);
+  AM->save_units(\%myconfig, $form, $new_units, \@delete_units);
 
   $form->{"saved_message"} = $locale->text("The units have been saved.");
 
@@ -2885,9 +2885,7 @@ sub swap_units {
   $auth->assert('config');
 
   my $dir = $form->{"dir"} eq "down" ? "down" : "up";
-  my $unit_type = $form->{"unit_type"} eq "dimension" ?
-    "dimension" : "service";
-  AM->swap_units(\%myconfig, $form, $dir, $form->{"name"}, $unit_type);
+  AM->swap_units(\%myconfig, $form, $dir, $form->{"name"});
 
   edit_units();
 
index 5baa36a..79d8172 100644 (file)
@@ -933,7 +933,7 @@ sub display_stock_in_form {
 
   my $part_info  = IC->get_basic_part_info('id' => $form->{parts_id});
 
-  my $units      = AM->retrieve_units(\%myconfig, $form, "dimension");
+  my $units      = AM->retrieve_units(\%myconfig, $form);
   my $units_data = AM->unit_select_data($units, undef, undef, $part_info->{unit});
 
   $form->get_lists('warehouses' => { 'key'    => 'WAREHOUSES',
@@ -979,7 +979,7 @@ sub stock_out_form {
 
   my $part_info  = IC->get_basic_part_info('id' => $form->{parts_id});
 
-  my $units      = AM->retrieve_units(\%myconfig, $form, "dimension");
+  my $units      = AM->retrieve_units(\%myconfig, $form);
   my $units_data = AM->unit_select_data($units, undef, undef, $part_info->{unit});
 
   my @contents   = DO->get_item_availability('parts_id' => $form->{parts_id});
@@ -1063,7 +1063,7 @@ sub transfer_in_and_close {
   my @all_requests;
 
   if (@part_ids) {
-    my $units         = AM->retrieve_units(\%myconfig, $form, "dimension");
+    my $units         = AM->retrieve_units(\%myconfig, $form);
     my %part_info_map = IC->get_basic_part_info('id' => \@part_ids);
     my %request_map;
 
@@ -1120,7 +1120,7 @@ sub transfer_out_and_close {
   my @all_requests;
 
   if (@part_ids) {
-    my $units         = AM->retrieve_units(\%myconfig, $form, "dimension");
+    my $units         = AM->retrieve_units(\%myconfig, $form);
     my %part_info_map = IC->get_basic_part_info('id' => \@part_ids);
     my %request_map;
 
index bd02fa7..3501adc 100644 (file)
@@ -1477,7 +1477,7 @@ sub form_header {
   # use JavaScript Calendar or not (yes!)
   $form->{jsscript} = 1;
 
-  $units = AM->retrieve_units(\%myconfig, $form, $form->{"item"} eq "service" ? "service" : "dimension");
+  $units = AM->retrieve_units(\%myconfig, $form);
   $form->{ALL_UNITS} = [ map +{ name => $_ }, sort { $units->{$a}{sortkey} <=> $units->{$b}{sortkey} } keys %$units ];
 
   $form->{fokus} = "ic.partnumber";
index 2299272..2f0f8be 100644 (file)
@@ -117,9 +117,9 @@ use Data::Dumper;
 #  }
 ############### ENDE Neueintrag ##################
 #
-#  my $dimension_units = AM->retrieve_units(\%myconfig, $form, "dimension");
-#  my $service_units = AM->retrieve_units(\%myconfig, $form, "service");
 #  my $all_units = AM->retrieve_units(\%myconfig, $form);
+#  my $dimension_units = $all_units;
+#  my $service_units = $all_units;
 #
 #  my %price_factors = map { $_->{id} => $_->{factor} } @{ $form->{ALL_PRICE_FACTORS} };
 #
index a87e684..93c2668 100644 (file)
@@ -150,8 +150,6 @@ sub display_row {
   my @column_index = map { $_->{id} } grep { $_->{display} } @HEADER;
 
   # cache units
-  my $dimension_units = AM->retrieve_units(\%myconfig, $form, "dimension");
-  my $service_units   = AM->retrieve_units(\%myconfig, $form, "service");
   my $all_units       = AM->retrieve_units(\%myconfig, $form);
 
   my %price_factors   = map { $_->{id} => $_->{factor} } @{ $form->{ALL_PRICE_FACTORS} };
@@ -200,10 +198,7 @@ sub display_row {
     $form->{"unit_old_$i"}      ||= $form->{"unit_$i"};
     $form->{"selected_unit_$i"} ||= $form->{"unit_$i"};
 
-    my $local_units = $form->{"inventory_accno_$i"} || $form->{"assembly_$i"} ? $dimension_units 
-                    : $form->{"id_$i"}                                        ? $service_units 
-                    :                                                           $all_units;
-    if (   !$local_units->{$form->{"selected_unit_$i"}}                                          # Die ausgewaehlte Einheit ist fuer diesen Artikel nicht gueltig
+    if (   !$all_units->{$form->{"selected_unit_$i"}}                                            # Die ausgewaehlte Einheit ist fuer diesen Artikel nicht gueltig
         || !AM->convert_unit($form->{"selected_unit_$i"}, $form->{"unit_old_$i"}, $all_units)) { # (z.B. Dimensionseinheit war ausgewaehlt, es handelt sich aber
       $form->{"unit_old_$i"} = $form->{"selected_unit_$i"} = $form->{"unit_$i"};                 # um eine Dienstleistung). Dann keinerlei Umrechnung vornehmen.
     }
@@ -230,7 +225,7 @@ sub display_row {
       $column_data{price_factor} = '&nbsp;';
     }
 
-    $column_data{"unit"} = AM->unit_select_html($local_units, "unit_$i", $this_unit, $form->{"id_$i"} ? $form->{"unit_$i"} : undef);
+    $column_data{"unit"} = AM->unit_select_html($all_units, "unit_$i", $this_unit, $form->{"id_$i"} ? $form->{"unit_$i"} : undef);
 # / unit ending
 
     $form->{"sellprice_$i"} =~ /\.(\d+)/;
index 92b2889..a853c8a 100644 (file)
@@ -78,7 +78,7 @@ sub transfer_warehouse_selection {
 
   show_no_warehouses_error() if (!scalar @{ $form->{WAREHOUSES} });
 
-  my $units      = AM->retrieve_units(\%myconfig, $form, 'dimension');
+  my $units      = AM->retrieve_units(\%myconfig, $form);
   $form->{UNITS} = AM->unit_select_data($units, $form->{unit}, 0, $form->{partunit});
 
   if (scalar @{ $form->{WAREHOUSES} }) {
@@ -158,7 +158,7 @@ sub transfer_or_removal_prepare_contents {
 
   $form->show_generic_error($locale->text("The selected warehouse is empty.")) if (0 == scalar(@contents));
 
-  my $all_units = AM->retrieve_units(\%myconfig, $form, 'dimension');
+  my $all_units = AM->retrieve_units(\%myconfig, $form);
 
   foreach (@contents) {
     $_->{qty} = $form->format_amount_units('amount'     => $_->{qty},
@@ -201,7 +201,7 @@ sub transfer_parts {
 
   $form->{sort} = 'bindescription';
   my @contents  = WH->get_warehouse_report("warehouse_id" => $form->{warehouse_id});
-  my $all_units = AM->retrieve_units(\%myconfig, $form, 'dimension');
+  my $all_units = AM->retrieve_units(\%myconfig, $form);
 
   my @transfers;
 
@@ -402,7 +402,7 @@ sub remove_parts {
 
   $form->{sort} = 'bindescription';
   my @contents  = WH->get_warehouse_report("warehouse_id" => $form->{warehouse_id});
-  my $all_units = AM->retrieve_units(\%myconfig, $form, 'dimension');
+  my $all_units = AM->retrieve_units(\%myconfig, $form);
 
   my @transfers;
 
index 0162bce..8621cbf 100644 (file)
@@ -137,7 +137,7 @@ $self->{texts} = {
   'Add Vendor Invoice'          => 'Einkaufsrechnung erfassen',
   'Add Warehouse'               => 'Lager erfassen',
   'Add a new group'             => 'Neue Gruppe erfassen',
-  'Add and edit %s'             => '%s hinzuf&uuml;gen und bearbeiten',
+  'Add and edit units'          => 'Einheiten erfassen und bearbeiten',
   'Add custom variable'         => 'Benutzerdefinierte Variable erfassen',
   'Add note'                    => 'Notiz erfassen',
   'Add to group'                => 'Zu Gruppe hinzufügen',
@@ -471,7 +471,6 @@ aktualisieren wollen?',
   'Destination warehouse and bin' => 'Ziellager und -lagerplatz',
   'Difference'                  => 'Differenz',
   'Dimension unit'              => 'Ma&szlig;einheit',
-  'Dimension units'             => 'Ma&szlig;einheiten',
   'Directory'                   => 'Verzeichnis',
   'Discount'                    => 'Rabatt',
   'Display'                     => 'Anzeigen',
@@ -1238,7 +1237,6 @@ aktualisieren wollen?',
   'Service Items'               => 'Dienstleistungen',
   'Service Number missing!'     => 'Dienstleistungsnummer fehlt!',
   'Service unit'                => 'Dienstleistungseinheit',
-  'Service units'               => 'Dienstleistungseinheiten',
   'Services'                    => 'Dienstleistungen',
   'Set Language Values'         => 'Spracheinstellungen',
   'Set eMail text'              => 'eMail Text eingeben',
@@ -1517,7 +1515,8 @@ aktualisieren wollen?',
   'Unit'                        => 'Einheit',
   'Unit missing.'               => 'Die Einheit fehlt.',
   'Unit of measure'             => 'Maßeinheit',
-  'Units'                       => 'Einheiten',
+  'Units marked for deletion will be deleted upon saving.' => 'Einheiten, die zum L&ouml;schen markiert sind, werden beim Speichern gel&ouml;scht.',
+  'Units that have already been used (e.g. for parts and services or in invoices or warehouse transactions) cannot be changed.' => 'Einheiten, die bereits in Benutzung sind (z.B. bei einer Warendefinition, einer Rechnung oder bei einer Lagerbuchung) k&ouml;nnen nachtr&auml;glich nicht mehr ver&auml;ndert werden.',
   'Unknown Category'            => 'Unbekannte Kategorie',
   'Unknown Link'                => 'Unbekannte Verknüpfung',
   'Unknown chart of accounts'   => 'Unbekannter Kontenrahmen',
@@ -1599,6 +1598,7 @@ aktualisieren wollen?',
   'You can also create new units now.' => 'Sie k&ouml;nnen jetzt auch neue Einheiten anlegen.',
   'You can create a missing dataset by going back and chosing &quot;Create Dataset&quot;.' => 'Sie k&ouml;nnen eine fehlende Datenbank erstellen, indem Sie jetzt zu&uuml;ck gehen und den Punkt &quot;Datenbank anlegen&quot; w&auml;hlen.',
   'You can create warehouses and bins via the menu "System -> Warehouses".' => 'Sie k&ouml;nnen Lager und Lagerpl&auml;tze &uuml;ber das Men&uuml; "System -> Lager" anlegen.',
+  'You can declare different translations for singular and plural for each unit (e.g. &quot;day&quot; and &quot;days).' => 'Bei den &Uuml;bersetzungen k&ouml;nnen Sie unterschiedliche Varianten f&uuml;r singular und plural angeben (z.B. &quot;day&quot; und &quot;days&quot;).',
   'You can only delete datasets that are not in use.' => 'Sie k&ouml;nnen nur Datenbanken l&ouml;schen, die momentan nicht in Benutzung sind.',
   'You can use the following strings in the long description and all translations. They will be replaced by their actual values by Lx-Office before they\'re output.' => 'Sie k&ouml;nnen im Langtext und allen Übersetzungen die folgenden Variablen benutzen, die vor der Ausgabe von Lx-Office automatisch ersetzt werden:',
   'You cannot continue before all required modules are installed.' => 'Sie k&ouml;nnen nicht fortfahren, bevor alle ben&ouml;tigten Pakete installiert sind.',
@@ -1653,7 +1653,6 @@ aktualisieren wollen?',
   'debug'                       => 'Debug',
   'delete'                      => 'Löschen',
   'deliverydate'                => 'Lieferdatum',
-  'dimension units'             => 'Ma&szlig;einheiten',
   'disposed'                    => 'Entsorgung',
   'done'                        => 'erledigt',
   'down'                        => 'runter',
@@ -1723,7 +1722,6 @@ aktualisieren wollen?',
   'saved!'                      => 'gespeichert',
   'sent'                        => 'gesendet',
   'sent to printer'             => 'an Drucker geschickt',
-  'service units'               => 'Dienstleistungseinheiten',
   'service_list'                => 'dienstleistungsliste',
   'shipped'                     => 'verschickt',
   'singular first char'         => 'S',
index e28e325..e26e7dc 100644 (file)
@@ -60,7 +60,7 @@ $self->{texts} = {
   'Add Price Factor'            => 'Preisfaktor erfassen',
   'Add Printer'                 => 'Drucker hinzufügen',
   'Add Warehouse'               => 'Lager erfassen',
-  'Add and edit %s'             => '%s hinzuf&uuml;gen und bearbeiten',
+  'Add and edit units'          => 'Einheiten erfassen und bearbeiten',
   'Address'                     => 'Adresse',
   'Advance turnover tax return' => 'Umsatzsteuervoranmeldung',
   'All reports'                 => 'Alle Berichte (Konten&uuml;bersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)',
@@ -304,7 +304,6 @@ $self->{texts} = {
   'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Fehlende Parameter in "DB_config". Ben&ouml;tigte Parameter sind "host", "db" und "user".',
   'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Fehlende Parameter in "LDAP_config". Ben&ouml;tigt werden "host", "attribute" und "base_dn".',
   'customer'                    => 'Kunde',
-  'dimension units'             => 'Ma&szlig;einheiten',
   'down'                        => 'runter',
   'invoice'                     => 'Rechnung',
   'lead deleted!'               => 'Kundenquelle gelöscht',
@@ -317,7 +316,6 @@ $self->{texts} = {
   'request_quotation'           => 'Angebotsanforderung',
   'sales_order'                 => 'Kundenauftrag',
   'sales_quotation'             => 'Verkaufsangebot',
-  'service units'               => 'Dienstleistungseinheiten',
   'up'                          => 'hoch',
   'use program settings'        => 'benutze Programmeinstellungen',
   'vendor'                      => 'Lieferant',
index a8c0493..135b3ee 100644 (file)
@@ -5,7 +5,6 @@ $self->{texts} = {
   'AP'                          => 'Einkauf',
   'AR'                          => 'Verkauf',
   'Account'                     => 'Konto',
-  'Accrual'                     => 'Bilanzierung',
   'Advance turnover tax return' => 'Umsatzsteuervoranmeldung',
   'All reports'                 => 'Alle Berichte (Konten&uuml;bersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)',
   'Apr'                         => 'Apr',
@@ -16,7 +15,6 @@ $self->{texts} = {
   'Bcc'                         => 'Bcc',
   'Bin List'                    => 'Lagerliste',
   'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Die Anmeldung am LDAP-Server als "#1" schlug fehl. Bitte &uuml;berpr&uuml;fen Sie die Angaben in config/authentication.pl.',
-  'Bis'                         => 'bis',
   'CANCELED'                    => 'Storniert',
   'CSV export -- options'       => 'CSV-Export -- Optionen',
   'Cc'                          => 'Cc',
@@ -41,7 +39,6 @@ $self->{texts} = {
   'Create and edit vendor invoices' => 'Eingangsrechnungen erfassen und bearbeiten',
   'Credit'                      => 'Haben',
   'Credit Note'                 => 'Gutschrift',
-  'Customized Report'           => 'Vorgewählte Zeiträume',
   'DATEV Export'                => 'DATEV-Export',
   'DELETED'                     => 'Gelöscht',
   'DUNNING STARTED'             => 'Mahnprozess gestartet',
@@ -50,22 +47,19 @@ $self->{texts} = {
   'Debit'                       => 'Soll',
   'Dec'                         => 'Dez',
   'December'                    => 'Dezember',
-  'Decimalplaces'               => 'Dezimalstellen',
   'Delivery Order'              => 'Lieferschein',
   'Department'                  => 'Abteilung',
   'Dependency loop detected:'   => 'Schleife in den Abh&auml;ngigkeiten entdeckt:',
   'Description'                 => 'Beschreibung',
   'Directory'                   => 'Verzeichnis',
   'ELSE'                        => 'Zusatz',
-  'EUR'                         => 'E/Ü-Rechnung',
   'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
-  'Falsches Datumsformat!'      => 'Falsches Datumsformat!',
   'Feb'                         => 'Feb',
   'February'                    => 'Februar',
   'File'                        => 'Datei',
-  'Free report period'          => 'Freier Zeitraum',
   'From'                        => 'Von',
   'General ledger and cash'     => 'Finanzbuchhaltung und Zahlungsverkehr',
+  'Include in Report'           => 'In Bericht aufnehmen',
   'Invoice'                     => 'Rechnung',
   'Jan'                         => 'Jan',
   'January'                     => 'Januar',
@@ -83,11 +77,9 @@ $self->{texts} = {
   'May '                        => 'Mai',
   'May set the BCC field when sending emails' => 'Beim Verschicken von Emails das Feld \'BCC\' setzen',
   'Message'                     => 'Nachricht',
-  'Method'                      => 'Verfahren',
   'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
   'Missing \'tag\' field.'      => 'Fehlendes Feld \'tag\'.',
   'Missing parameter #1 in call to sub #2.' => 'Fehlernder Parameter \'#1\' in Funktionsaufruf \'#2\'.',
-  'Monthly'                     => 'monatlich',
   'More than one control file with the tag \'%s\' exist.' => 'Es gibt mehr als eine Kontrolldatei mit dem Tag \'%s\'.',
   'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'Es wurde kein oder ein unbekanntes Authentifizierungsmodul in "config/authentication.pl" angegeben.',
   'Nov'                         => 'Nov',
@@ -106,8 +98,6 @@ $self->{texts} = {
   'Proforma Invoice'            => 'Proformarechnung',
   'Project Number'              => 'Projektnummer',
   'Purchase Order'              => 'Lieferantenauftrag',
-  'Quarter'                     => 'Quartal',
-  'Quarterly'                   => 'quartalsweise',
   'Quotation'                   => 'Angebot',
   'RFQ'                         => 'Anfrage',
   'Receipt, payment, reconciliation' => 'Zahlungseingang, Zahlungsausgang, Kontenabgleich',
@@ -121,6 +111,7 @@ $self->{texts} = {
   'Storno Invoice'              => 'Stornorechnung',
   'Storno Packing List'         => 'Stornolieferschein',
   'Subject'                     => 'Betreff',
+  'Subtotal'                    => 'Zwischensumme',
   'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
   'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'Der LDAP-Server "#1:#2" ist nicht erreichbar. Bitte &uuml;berpr&uuml;fen Sie die Angaben in config/authentication.pl.',
   'The config file "config/authentication.pl" contained invalid Perl code:' => 'Die Konfigurationsdatei "config/authentication.pl" enthielt ung&uuml;tigen Perl-Code:',
@@ -130,18 +121,15 @@ $self->{texts} = {
   'The connection to the template database failed:' => 'Die Verbindung zur Vorlagendatenbank schlug fehl:',
   'The creation of the authentication database failed:' => 'Das Anlegen der Authentifizierungsdatenbank schlug fehl:',
   'The list has been printed.'  => 'Die Liste wurde ausgedruckt.',
+  'To'                          => 'An',
   'To (email)'                  => 'An',
   'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen',
   'Unknown dependency \'%s\'.'  => 'Unbekannte Abh&auml;ngigkeit \'%s\'.',
   'View warehouse content'      => 'Lagerbestand ansehen',
   'Warehouse management'        => 'Lagerverwaltung/Bestandsveränderung',
-  'YYYY'                        => 'JJJJ',
-  'Year'                        => 'Jahr',
-  'Yearly'                      => 'jährlich',
   'You do not have the permissions to access this function.' => 'Sie verf&uuml;gen nicht &uuml;ber die notwendigen Rechte, um auf diese Funktion zuzugreifen.',
   '[email]'                     => '[email]',
   'bin_list'                    => 'Lagerliste',
-  'button'                      => '?',
   'chart_of_accounts'           => 'kontenuebersicht',
   'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Das Schl&uuml;sselwort "DB_config" fehlt.',
   'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Der Schl&uuml;ssel "LDAP_config" fehlt.',
@@ -158,7 +146,6 @@ $self->{texts} = {
   'request_quotation'           => 'Angebotsanforderung',
   'sales_order'                 => 'Kundenauftrag',
   'sales_quotation'             => 'Verkaufsangebot',
-  'wrongformat'                 => 'Falsches Format',
 };
 
 $self->{subs} = {
index bbbdb24..b30ffcd 100644 (file)
@@ -78,11 +78,11 @@ $self->{texts} = {
   'Delivery Orders'             => 'Lieferscheine',
   'Departments'                 => 'Abteilungen',
   'Dependency loop detected:'   => 'Schleife in den Abh&auml;ngigkeiten entdeckt:',
-  'Dimension units'             => 'Ma&szlig;einheiten',
   'Directory'                   => 'Verzeichnis',
   'Dunnings'                    => 'Mahnungen',
   'Edit Access Rights'          => 'Zugriffsrechte bearbeiten',
   'Edit Dunning'                => 'Mahnungen konfigurieren',
+  'Edit units'                  => 'Einheiten bearbeiten',
   'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
   'File'                        => 'Datei',
   'Follow-Ups'                  => 'Wiedervorlagen',
@@ -149,7 +149,6 @@ $self->{texts} = {
   'Reports'                     => 'Berichte',
   'Sales Invoices'              => 'Kundenrechnung',
   'Sales Orders'                => 'Aufträge',
-  'Service units'               => 'Dienstleistungseinheiten',
   'Services'                    => 'Dienstleistungen',
   'Shipto'                      => 'Lieferanschriften',
   'Show TODO list'              => 'Aufgabenliste anzeigen',
@@ -174,7 +173,6 @@ $self->{texts} = {
   'Type of Business'            => 'Kunden-/Lieferantentyp',
   'UStVa'                       => 'UStVa',
   'UStVa Einstellungen'         => 'UStVa Einstellungen',
-  'Units'                       => 'Einheiten',
   'Unknown dependency \'%s\'.'  => 'Unbekannte Abh&auml;ngigkeit \'%s\'.',
   'Update Prices'               => 'Preise aktualisieren',
   'Vendor Invoices'             => 'Einkaufsrechnungen',
index 6bacb61..923b93c 100644 (file)
@@ -77,11 +77,11 @@ $self->{texts} = {
   'Delivery Orders'             => 'Lieferscheine',
   'Departments'                 => 'Abteilungen',
   'Dependency loop detected:'   => 'Schleife in den Abh&auml;ngigkeiten entdeckt:',
-  'Dimension units'             => 'Ma&szlig;einheiten',
   'Directory'                   => 'Verzeichnis',
   'Dunnings'                    => 'Mahnungen',
   'Edit Access Rights'          => 'Zugriffsrechte bearbeiten',
   'Edit Dunning'                => 'Mahnungen konfigurieren',
+  'Edit units'                  => 'Einheiten bearbeiten',
   'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
   'File'                        => 'Datei',
   'Follow-Ups'                  => 'Wiedervorlagen',
@@ -148,7 +148,6 @@ $self->{texts} = {
   'Reports'                     => 'Berichte',
   'Sales Invoices'              => 'Kundenrechnung',
   'Sales Orders'                => 'Aufträge',
-  'Service units'               => 'Dienstleistungseinheiten',
   'Services'                    => 'Dienstleistungen',
   'Shipto'                      => 'Lieferanschriften',
   'Show TODO list'              => 'Aufgabenliste anzeigen',
@@ -173,7 +172,6 @@ $self->{texts} = {
   'Type of Business'            => 'Kunden-/Lieferantentyp',
   'UStVa'                       => 'UStVa',
   'UStVa Einstellungen'         => 'UStVa Einstellungen',
-  'Units'                       => 'Einheiten',
   'Unknown dependency \'%s\'.'  => 'Unbekannte Abh&auml;ngigkeit \'%s\'.',
   'Update Prices'               => 'Preise aktualisieren',
   'Vendor Invoices'             => 'Einkaufsrechnungen',
index 3c338cb..b52a6b1 100644 (file)
--- a/menu.ini
+++ b/menu.ini
@@ -561,21 +561,9 @@ module=pe.pl
 action=search
 type=pricegroup
 
-[System--Units]
-module=menu.pl
-action=acc_menu
-target=acc_menu
-submenu=1
-
-[System--Units--Dimension units]
-module=am.pl
-action=edit_units
-unit_type=dimension
-
-[System--Units--Service units]
+[System--Edit units]
 module=am.pl
 action=edit_units
-unit_type=service
 
 [System--Price Factors]
 module=menu.pl
diff --git a/sql/Pg-upgrade2/units_no_type_distinction.sql b/sql/Pg-upgrade2/units_no_type_distinction.sql
new file mode 100644 (file)
index 0000000..aec35e0
--- /dev/null
@@ -0,0 +1,5 @@
+-- @tag: units_no_type_distinction
+-- @description: Aufhebung der Typenunterscheidung bei Einheiten
+-- @depends: release_2_4_3
+ALTER TABLE units ALTER COLUMN type DROP NOT NULL;
+
index 10b3046..c40ed40 100644 (file)
@@ -9,7 +9,6 @@
  <form method="post" action="[% HTML.escape(script) %]">
 
  <input type="hidden" name="type" value="unit">
- <input type="hidden" name="unit_type" value="[% HTML.escape(unit_type) %]">
 
  <table width="100%">
   <tr>
  </table>
 
  <p>
-  Einheiten, die bereits in Benutzung sind (z.B. bei einer
-  Warendefinition, einer Rechnung oder bei einer Lagerbuchung)
-  k&ouml;nnen nachtr&auml;glich nicht mehr ver&auml;ndert werden.
+  Einheiten, die bereits in Benutzung sind (z.B. bei einer Warendefinition, einer Rechnung oder bei einer Lagerbuchung) k&ouml;nnen nachtr&auml;glich nicht mehr ver&auml;ndert werden.
  </p>
 
  <p>
-  Einheiten, die zum L&ouml;schen markiert sind, werden beim Speichern
-  gel&ouml;scht.
+  Einheiten, die zum L&ouml;schen markiert sind, werden beim Speichern gel&ouml;scht.
  </p>
 
  <p>
-  Bei den &Uuml;bersetzungen k&ouml;nnen Sie unterschiedliche
-  Varianten f&uuml;r singular und plural angeben (z.B. &quot;day&quot;
-  und &quot;days&quot;).
+  Bei den &Uuml;bersetzungen k&ouml;nnen Sie unterschiedliche Varianten f&uuml;r singular und plural angeben (z.B. &quot;day&quot; und &quot;days&quot;).
  </p>
 
  <table>
index 0d11216..a9e6880 100644 (file)
@@ -9,7 +9,6 @@
  <form method="post" action="[% HTML.escape(script) %]">
 
  <input type="hidden" name="type" value="unit">
- <input type="hidden" name="unit_type" value="[% HTML.escape(unit_type) %]">
 
  <table width="100%">
   <tr>
  </table>
 
  <p>
-  Einheiten, die bereits in Benutzung sind (z.B. bei einer
-  Warendefinition, einer Rechnung oder bei einer Lagerbuchung)
-  k&ouml;nnen nachtr&auml;glich nicht mehr ver&auml;ndert werden.
+  <translate>Units that have already been used (e.g. for parts and
+   services or in invoices or warehouse transactions) cannot be
+   changed.</translate>
  </p>
 
  <p>
-  Einheiten, die zum L&ouml;schen markiert sind, werden beim Speichern
-  gel&ouml;scht.
+  <translate>Units marked for deletion will be deleted upon
+   saving.</translate>
  </p>
 
  <p>
-  Bei den &Uuml;bersetzungen k&ouml;nnen Sie unterschiedliche
-  Varianten f&uuml;r singular und plural angeben (z.B. &quot;day&quot;
-  und &quot;days&quot;).
+  <translate>You can declare different translations for singular and
+   plural for each unit (e.g. &quot;day&quot; and
+   &quot;days).</translate>
  </p>
 
  <table>