Preisquelle Preisgruppe: Fallback für entfernte Preise.
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Wed, 7 Dec 2016 12:44:55 +0000 (13:44 +0100)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Wed, 7 Dec 2016 12:44:55 +0000 (13:44 +0100)
SL/PriceSource/Pricegroup.pm
locale/de/all
locale/en/all

index 62fabf5..3bae2d0 100644 (file)
@@ -51,7 +51,13 @@ sub price_from_source {
 
   my $price = SL::DB::Manager::Price->find_by(pricegroup_id => $spec, parts_id => $self->part->id);
 
-  # TODO: if someone deletes the prices entry, this fails. add a fallback
+  if (!$price) {
+    return SL::PriceSource::Price->new(
+      price_source => $self,
+      missing      => t8('Could not find an entry for this part in the pricegroup.'),
+    );
+  }
+
   return $self->make_price($price);
 }
 
index 9529128..f8c5dcd 100755 (executable)
@@ -635,6 +635,7 @@ $self->{texts} = {
   'Copy template'               => 'Vorlage kopieren',
   'Correct taxkey'              => 'Richtiger Steuerschlüssel',
   'Costs'                       => 'Kosten',
+  'Could not find an entry for this part in the pricegroup.' => 'Konnte keine Eintrag für diesen Artikel in der Preisgruppe finden.',
   'Could not load class #1 (#2): "#3"' => 'Konnte Klasse #1 (#2) nicht laden: "#3"',
   'Could not load class #1, #2' => 'Konnte Klasse #1 nicht laden: "#2"',
   'Could not load employee'     => 'Konnte Benutzer nicht laden',
index 10c54b0..e3269a1 100644 (file)
@@ -633,6 +633,7 @@ $self->{texts} = {
   'Copy template'               => '',
   'Correct taxkey'              => '',
   'Costs'                       => '',
+  'Could not find an entry for this part in the pricegroup.' => '',
   'Could not load class #1 (#2): "#3"' => '',
   'Could not load class #1, #2' => '',
   'Could not load employee'     => '',