Revision 48f45a37
Von Bernd Bleßmann vor mehr als 1 Jahr hinzugefügt
SL/Controller/Order.pm | ||
---|---|---|
sub action_add_subversion {
|
||
my ($self) = @_;
|
||
|
||
my $current_version_number = $self->order->current_version_number;
|
||
my $new_version_number = $current_version_number + 1;
|
||
SL::DB->client->with_transaction(
|
||
sub {
|
||
SL::Model::Record->increment_subversion($self->order);
|
||
|
||
my $new_number = $self->order->number;
|
||
$new_number =~ s/-$current_version_number$//;
|
||
$self->order->number($new_number . '-' . $new_version_number);
|
||
$self->order->add_order_version(SL::DB::OrderVersion->new(oe_id => $self->order->id,
|
||
version => $new_version_number));
|
||
# Todo: Call SL::Model::Record->save when implemented
|
||
# SL::Model::Record->save($self->order);
|
||
my $errors = $self->save();
|
||
die join "\n", @{ $errors } if scalar @{ $errors };
|
||
|
||
# call the save action
|
||
$self->action_save();
|
||
1;
|
||
}
|
||
);
|
||
|
||
$self->redirect_to(action => 'edit',
|
||
type => $self->type,
|
||
id => $self->order->id,
|
||
);
|
||
}
|
||
|
||
# save the order as new document and open it for edit
|
SL/DB/Order.pm | ||
---|---|---|
return $final_version;
|
||
}
|
||
|
||
sub increment_version_number {
|
||
my ($self) = @_;
|
||
|
||
die t8('This sub-version is not yet finalized') if !$self->is_final_version;
|
||
|
||
my $current_version_number = $self->current_version_number;
|
||
my $new_version_number = $current_version_number + 1;
|
||
|
||
my $new_number = $self->number;
|
||
$new_number =~ s/-$current_version_number$//;
|
||
$self->number($new_number . '-' . $new_version_number);
|
||
$self->add_order_version(SL::DB::OrderVersion->new(version => $new_version_number));
|
||
}
|
||
|
||
sub netamount_base_currency {
|
||
my ($self) = @_;
|
||
|
SL/Model/Record.pm | ||
---|---|---|
#
|
||
# return - nichts
|
||
# fehlerfall: exception
|
||
|
||
# Todo: check type data if this is allowed/supported for this record
|
||
|
||
$record->increment_version_number;
|
||
|
||
return;
|
||
}
|
||
|
||
sub delete {
|
||
... | ... | |
|
||
=head1 AUTHORS
|
||
|
||
Bernd Bleßmann E<lt>bernd@kivitendo-premium.deE<gt>
|
||
...
|
||
|
||
=cut
|
Auch abrufbar als: Unified diff
Order-Controller: Unterversion hochzählen über Model:Record umgesetzt
Todo: SL::Model::Record->save verwenden, sobald implementiert