Merge branch 'master' of git@vc.linet-services.de:public/lx-office-erp
[kivitendo-erp.git] / SL / DB / Part.pm
index fd55e02..22fbc1b 100644 (file)
@@ -9,6 +9,11 @@ use SL::DBUtils;
 use SL::DB::MetaSetup::Part;
 use SL::DB::Manager::Part;
 use SL::DB::Chart;
+use SL::DB::Helper::TransNumberGenerator;
+use SL::DB::Helper::CustomVariables (
+  module      => 'IC',
+  cvars_alias => 1,
+);
 
 __PACKAGE__->meta->add_relationships(
   unit_obj                     => {
@@ -36,10 +41,29 @@ __PACKAGE__->meta->add_relationships(
     class        => 'SL::DB::Price',
     column_map   => { id => 'parts_id' },
   },
+  makemodels     => {
+    type         => 'one to many',
+    class        => 'SL::DB::MakeModel',
+    column_map   => { id => 'parts_id' },
+  },
+  translations   => {
+    type         => 'one to many',
+    class        => 'SL::DB::Translation',
+    column_map   => { id => 'parts_id' },
+  },
 );
 
 __PACKAGE__->meta->initialize;
 
+__PACKAGE__->before_save('_before_save_set_partnumber');
+
+sub _before_save_set_partnumber {
+  my ($self) = @_;
+
+  $self->create_trans_number if $self->partnumber eq '';
+  return 1;
+}
+
 sub is_type {
   my $self = shift;
   my $type  = lc(shift || '');