X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FDeliveryTerm.pm;h=d566b5c9f5652e9e5070ae6333a71efc5f7326ed;hb=f319b065b828d7ac69ecbef68bfb16b4f3415422;hp=3c4d44a9f7cf7c855b40099339b4481cf04ad592;hpb=03d3d025ea4c8bea085fc7cdf1fe7be0b513eb63;p=kivitendo-erp.git diff --git a/SL/Controller/DeliveryTerm.pm b/SL/Controller/DeliveryTerm.pm index 3c4d44a9f..d566b5c9f 100644 --- a/SL/Controller/DeliveryTerm.pm +++ b/SL/Controller/DeliveryTerm.pm @@ -5,15 +5,18 @@ use strict; use parent qw(SL::Controller::Base); use SL::DB::DeliveryTerm; +use SL::DB::Language; use SL::Helper::Flash; +use SL::Locale::String qw(t8); use Rose::Object::MakeMethods::Generic ( - scalar => [ qw(delivery_term) ], + scalar => [ qw(delivery_term languages) ], ); __PACKAGE__->run_before('check_auth'); __PACKAGE__->run_before('load_delivery_term', only => [ qw(edit update destroy) ]); +__PACKAGE__->run_before('load_languages', only => [ qw(new list edit create update) ]); # @@ -23,6 +26,7 @@ __PACKAGE__->run_before('load_delivery_term', only => [ qw(edit update destroy) sub action_list { my ($self) = @_; + $self->setup_list_action_bar; $self->render('delivery_term/list', title => $::locale->text('Delivery terms'), DELIVERY_TERMS => SL::DB::Manager::DeliveryTerm->get_all_sorted); @@ -32,11 +36,13 @@ sub action_new { my ($self) = @_; $self->{delivery_term} = SL::DB::DeliveryTerm->new; + $self->setup_form_action_bar; $self->render('delivery_term/form', title => $::locale->text('Create a new delivery term')); } sub action_edit { my ($self) = @_; + $self->setup_form_action_bar; $self->render('delivery_term/form', title => $::locale->text('Edit delivery term')); } @@ -113,4 +119,54 @@ sub load_delivery_term { $self->{delivery_term} = SL::DB::DeliveryTerm->new(id => $::form->{id})->load; } +sub load_languages { + my ($self) = @_; + $self->{languages} = SL::DB::Manager::Language->get_all_sorted; +} + +sub setup_list_action_bar { + my ($self) = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + link => [ + t8('Add'), + link => $self->url_for(action => 'new'), + ], + ); + } +} + +sub setup_form_action_bar { + my ($self) = @_; + + my $is_new = !$self->delivery_term->id; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + action => [ + t8('Save'), + submit => [ '#form', { action => 'DeliveryTerm/' . ($is_new ? 'create' : 'update') } ], + checks => [ 'kivi.validate_form' ], + accesskey => 'enter', + ], + + action => [ + t8('Delete'), + submit => [ '#form', { action => 'DeliveryTerm/destroy' } ], + confirm => t8('Do you really want to delete this object?'), + disabled => $is_new ? t8('This object has not been saved yet.') : undef, + ], + + 'separator', + + link => [ + t8('Abort'), + link => $self->url_for(action => 'list'), + ], + ); + } + $::request->layout->add_javascripts('kivi.Validator.js'); +} + 1;