Revision 35231ef6
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