Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / SL / DB / PriceFactor.pm
index 591a97d..e5fab1c 100644 (file)
@@ -3,11 +3,30 @@ package SL::DB::PriceFactor;
 use strict;
 
 use SL::DB::MetaSetup::PriceFactor;
+use SL::DB::Manager::PriceFactor;
 use SL::DB::Helper::ActsAsList;
 
 __PACKAGE__->meta->initialize;
 
-__PACKAGE__->meta->make_manager_class;
+sub orphaned {
+  my ($self) = @_;
+
+  die 'not an accessor' if @_ > 1;
+
+  require SL::DB::DeliveryOrderItem;
+  require SL::DB::InvoiceItem;
+  require SL::DB::OrderItem;
+  require SL::DB::Part;
+
+  return 1 if !$self->id;
+
+  return 0 if SL::DB::Manager::DeliveryOrderItem->get_first(query => [ price_factor_id => $self->id ]);
+  return 0 if SL::DB::Manager::InvoiceItem      ->get_first(query => [ price_factor_id => $self->id ]);
+  return 0 if SL::DB::Manager::OrderItem        ->get_first(query => [ price_factor_id => $self->id ]);
+  return 0 if SL::DB::Manager::Part             ->get_first(query => [ price_factor_id => $self->id ]);
+
+  return 1;
+}
 
 1;