X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/3c2409e02da807790e24a06412a478a5b0d605ad..854500401fb91ccb0dfc4ff4115adc90f1cefcdc:/SL/Controller/Order.pm diff --git a/SL/Controller/Order.pm b/SL/Controller/Order.pm index 93015a77e..83938509f 100644 --- a/SL/Controller/Order.pm +++ b/SL/Controller/Order.pm @@ -89,7 +89,7 @@ sub action_save { return $self->js->render($self); } - flash_later('info', 'The order has been saved'); + flash_later('info', $::locale->text('The order has been saved')); my @redirect_params = ( action => 'edit', type => $self->type, @@ -151,14 +151,19 @@ sub action_add_item { $new_attr{sellprice} = $part->sellprice if ! $item->sellprice; $new_attr{discount} = $cv_discount if ! $item->discount; + # add_custom_variables adds cvars to an orderitem with no cvars for saving, but + # they cannot be retrieved via custom_variables until the order/orderitem is + # saved. Adding empty custom_variables to new orderitem here solves this problem. + $new_attr{custom_variables} = []; + $item->assign_attributes(%new_attr); - $item->id(join('_', 'new', Time::HiRes::gettimeofday(), int rand 1000000000000)) if !$item->id; $self->order->add_items($item); $self->_recalc(); - my $row_as_html = $self->p->render('order/tabs/_row', ITEM => $item); + my $item_id = join('_', 'new', Time::HiRes::gettimeofday(), int rand 1000000000000); + my $row_as_html = $self->p->render('order/tabs/_row', ITEM => $item, ID => $item_id); $self->js ->append('#row_table_id', $row_as_html) @@ -169,6 +174,7 @@ sub action_add_item { ->val('#add_item_sellprice_as_number', '') ->val('#add_item_discount_as_percent', '') ->run('row_table_scroll_down') + ->run('row_set_keyboard_events_by_id', $item_id) ->focus('#add_item_parts_id_name'); $self->_js_redisplay_amounts_and_taxes;