X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FPart.pm;h=cdab2a4c5a61cbd753af48dc1b075e7e6bf928e0;hb=95eab00b4c0bf3f5a1f9503d5fc5982c725367de;hp=70ff2f5a5ea9cccb18fb9310bfc2ffbd7c27ee55;hpb=49c677122c95aa79fc18bea2c5e54683b70be827;p=kivitendo-erp.git diff --git a/SL/Controller/Part.pm b/SL/Controller/Part.pm index 70ff2f5a5..cdab2a4c5 100644 --- a/SL/Controller/Part.pm +++ b/SL/Controller/Part.pm @@ -41,6 +41,9 @@ use Rose::Object::MakeMethods::Generic ( __PACKAGE__->run_before(sub { $::auth->assert('part_service_assembly_edit') }, except => [ qw(ajax_autocomplete part_picker_search part_picker_result) ]); +__PACKAGE__->run_before(sub { $::auth->assert('developer') }, + only => [ qw(test_page) ]); + __PACKAGE__->run_before('check_part_id', only => [ qw(edit delete) ]); # actions for editing parts @@ -125,11 +128,6 @@ sub action_save { # $self->part has been loaded, parsed and validated without errors and is ready to be saved $self->part->db->with_transaction(sub { - if ( $params{save_as_new} ) { - $self->part( $self->part->clone_and_reset_deep ); - $self->part->partnumber(undef); # will be assigned by _before_save_set_partnumber - }; - $self->part->save(cascade => 1); SL::DB::History->new( @@ -162,9 +160,12 @@ sub action_save { } } -sub action_save_as_new { +sub action_abort { my ($self) = @_; - $self->action_save(save_as_new=>1); + + if ( $::form->{callback} ) { + $self->redirect_to($::form->unescape($::form->{callback})); + } } sub action_delete { @@ -1344,6 +1345,12 @@ sub _setup_form_action_bar { ], ], # end of combobox "Save" + action => [ + t8('Abort'), + submit => [ '#ic', { action => "Part/abort" } ], + only_if => !!$::form->{show_abort}, + ], + action => [ t8('Delete'), call => [ 'kivi.Part.delete' ],