X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FPaymentTerm.pm;h=f1eeb44774b6dc3bb13c10a7a1aa452b0b23b102;hb=953f63b08d7894b6dea55f8361e983ba09e6e4fb;hp=631428edbe0a9d9dbbaa77678f144744edbeae03;hpb=5fd2cf413e611047a3b8d667378a258a7955941e;p=kivitendo-erp.git diff --git a/SL/Controller/PaymentTerm.pm b/SL/Controller/PaymentTerm.pm index 631428edb..f1eeb4477 100644 --- a/SL/Controller/PaymentTerm.pm +++ b/SL/Controller/PaymentTerm.pm @@ -13,8 +13,10 @@ use Rose::Object::MakeMethods::Generic scalar => [ qw(payment_term languages) ], ); -__PACKAGE__->run_before('load_payment_term', only => [ qw( edit update destroy move_up move_down) ]); +__PACKAGE__->run_before('check_auth'); +__PACKAGE__->run_before('load_payment_term', only => [ qw( edit update destroy) ]); __PACKAGE__->run_before('load_languages', only => [ qw(new list edit create update) ]); +__PACKAGE__->run_before('setup', only => [ qw(new edit) ]); # # actions @@ -24,19 +26,20 @@ sub action_list { my ($self) = @_; $self->render('payment_term/list', - title => $::locale->text('Payment terms'), + title => $::locale->text('Payment terms'), PAYMENT_TERMS => SL::DB::Manager::PaymentTerm->get_all_sorted); } sub action_new { my ($self) = @_; - $self->{payment_term} = SL::DB::PaymentTerm->new; + $self->{payment_term} = SL::DB::PaymentTerm->new(auto_calculation => 1); $self->render('payment_term/form', title => $::locale->text('Create a new payment term')); } sub action_edit { my ($self) = @_; + $self->render('payment_term/form', title => $::locale->text('Edit payment term')); } @@ -64,16 +67,24 @@ sub action_destroy { $self->redirect_to(action => 'list'); } -sub action_move_up { +sub action_reorder { my ($self) = @_; - $self->{payment_term}->move_position_up; - $self->redirect_to(action => 'list'); + + SL::DB::PaymentTerm->reorder_list(@{ $::form->{payment_term_id} || [] }); + + $self->render(\'', { type => 'json' }); } -sub action_move_down { - my ($self) = @_; - $self->{payment_term}->move_position_down; - $self->redirect_to(action => 'list'); +# +# filters +# + +sub check_auth { + $::auth->assert('config'); +} + +sub setup { + $::request->layout->use_javascript("kivi.PaymentTerm.js"); } # @@ -86,6 +97,7 @@ sub create_or_update { my $params = delete($::form->{payment_term}) || { }; $self->{payment_term}->assign_attributes(%{ $params }); + $self->{payment_term}->terms_netto(0) if !$self->{payment_term}->auto_calculation; my @errors = $self->{payment_term}->validate; @@ -98,6 +110,7 @@ sub create_or_update { $self->{payment_term}->save; foreach my $language (@{ $self->{languages} }) { $self->{payment_term}->save_attribute_translation('description_long', $language, $::form->{"translation_" . $language->id}); + $self->{payment_term}->save_attribute_translation('description_long_invoice', $language, $::form->{"translation_invoice_" . $language->id}); } flash_later('info', $is_new ? $::locale->text('The payment term has been created.') : $::locale->text('The payment term has been saved.'));