Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision ae83d528

Von Kivitendo Admin vor mehr als 8 Jahren hinzugefügt

  • ID ae83d52898208b318f116755b033bb56cc898115
  • Vorgänger 0701c7ef
  • Nachfolger d817962e

Neue Methode clone_and_reset_deep für Part

Unterschiede anzeigen:

SL/DB/Part.pm
join ' ', grep $_, map $_[0]->$_, qw(partnumber description);
}
sub clone_and_reset_deep {
my ($self) = @_;
my $clone = $self->clone_and_reset; # resets id and partnumber (primary key and unique constraint)
$clone->makemodels( map { $_->clone_and_reset } @{$self->makemodels});
$clone->translations( map { $_->clone_and_reset } @{$self->translations});
if ( $self->is_assortment ) {
$clone->assortment_items( map { $_->clone } @{$self->assortment_items} );
foreach my $ai ( @{ $clone->assortment_items } ) {
$ai->assortment_id(undef);
};
};
if ( $self->is_assembly ) {
$clone->assemblies( map { $_->clone_and_reset } @{$self->assemblies});
};
if ( $self->prices ) {
$clone->prices( map { $_->clone } @{$self->prices}); # pricegroup_id gets reset here because it is part of a unique contraint
if ( $clone->prices ) {
foreach my $price ( @{$clone->prices} ) {
$price->id(undef);
$price->parts_id(undef);
};
};
};
return $clone;
}
1;
__END__

Auch abrufbar als: Unified diff