Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision cae33370

Von Bernd Bleßmann vor mehr als 1 Jahr hinzugefügt

  • ID cae333702a7a8ac8fb87a825430eac523a1ec9f4
  • Vorgänger d156baf9
  • Nachfolger 8aea3091

Order-Controller: Pflichtenheft: Verknüpfungen und Projekt setzen

über Model::Record

Unterschiede anzeigen:

SL/Controller/Order.pm
use SL::DB::Language;
use SL::DB::Reclamation;
use SL::DB::RecordLink;
use SL::DB::RequirementSpec;
use SL::DB::Shipto;
use SL::DB::Translation;
use SL::DB::ValidityToken;
......
delete_custom_shipto => $self->is_custom_shipto_to_delete || $self->order->custom_shipto->is_empty,
items_to_delete => $items_to_delete,
history => { snumbers => $self->get_history_snumbers() },
link_requirement_specs_linking_to_created_from_objects => \@converted_from_oe_ids,
set_project_in_linked_requirement_specs => 1,
);
if ($is_new && $self->order->is_sales) {
......
return @errors;
}
sub link_requirement_specs_linking_to_created_from_objects {
my ($self, @converted_from_oe_ids) = @_;
return unless @converted_from_oe_ids;
my $rs_orders = SL::DB::Manager::RequirementSpecOrder->get_all(where => [ order_id => \@converted_from_oe_ids ]);
foreach my $rs_order (@{ $rs_orders }) {
SL::DB::RequirementSpecOrder->new(
order_id => $self->order->id,
requirement_spec_id => $rs_order->requirement_spec_id,
version_id => $rs_order->version_id,
)->save;
}
}
sub set_project_in_linked_requirement_specs {
my ($self) = @_;
my $rs_orders = SL::DB::Manager::RequirementSpecOrder->get_all(where => [ order_id => $self->order->id ]);
foreach my $rs_order (@{ $rs_orders }) {
next if $rs_order->requirement_spec->project_id == $self->order->globalproject_id;
$rs_order->requirement_spec->update_attributes(project_id => $self->order->globalproject_id);
}
}
1;
__END__

Auch abrufbar als: Unified diff