Artikel-Klassifizierung: System-Klassifizierungen (id < 5) nicht löschen können
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 2 Feb 2017 09:52:58 +0000 (10:52 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 2 Feb 2017 09:52:58 +0000 (10:52 +0100)
SL/DB/PartClassification.pm

index e7abe62..c02c8b3 100644 (file)
@@ -7,6 +7,7 @@ use SL::DB::MetaSetup::PartClassification;
 use SL::DB::Manager::PartClassification;
 
 __PACKAGE__->meta->initialize;
+__PACKAGE__->before_delete('can_be_deleted');
 
 # check if the description and abbreviation is present
 #
@@ -20,7 +21,12 @@ sub validate {
   return @errors;
 }
 
+sub can_be_deleted {
+  my ($self) = @_;
 
+  # The first five part classifications must not be deleted.
+  return defined($self->id) && ($self->id >= 5);
+}
 
 1;