X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/1e1ecfe611e6c07ed4cf908f62bb36afde37f4b7..250e04533e00c90c0e9af72cf06f112d225e1cf7:/SL/Controller/Order.pm?ds=inline diff --git a/SL/Controller/Order.pm b/SL/Controller/Order.pm index f4d567dee..6f286e7d3 100644 --- a/SL/Controller/Order.pm +++ b/SL/Controller/Order.pm @@ -30,7 +30,7 @@ use Rose::Object::MakeMethods::Generic # safety __PACKAGE__->run_before('_check_auth'); -__PACKAGE__->run_before('_setup', +__PACKAGE__->run_before('_recalc', only => [ qw(edit update save) ]); @@ -145,13 +145,18 @@ sub action_add_item { $self->order->add_items($item); - $self->_setup(); + $self->_recalc(); my $row_as_html = $self->p->render('order/tabs/_row', ITEM => $item); $self->js ->append('#row_table_id tbody', $row_as_html) - ->focus('#row_table_id tr:last [id$="parts_id_name"]') + ->val('#add_item_parts_id', '') + ->val('#add_item_parts_id_name', '') + ->val('#add_item_qty_as_number', '') + ->val('#add_item_sellprice_as_number', '') + ->val('#add_item_discount_as_percent', '') + ->focus('#add_item_parts_id_name') ->off('[id^="order_orderitems"][id$="parts_id"]', 'change', 'set_item_values') ->on('[id^="order_orderitems"][id$="parts_id"]', 'change', 'set_item_values') ->html('#netamount_id', $::form->format_amount(\%::myconfig, $self->order->netamount, -2)) @@ -187,7 +192,7 @@ sub action_set_item_values { $item->assign_attributes(%new_attr); - $self->_setup(); + $self->_recalc(); $self->js ->val( '#' . $::form->{qty_dom_id}, $item->qty_as_number) @@ -203,6 +208,19 @@ sub action_set_item_values { } +sub action_recalc_amounts_and_taxes { + my ($self) = @_; + + $self->_recalc(); + + $self->js + ->html('#netamount_id', $::form->format_amount(\%::myconfig, $self->order->netamount, -2)) + ->html('#amount_id', $::form->format_amount(\%::myconfig, $self->order->amount, -2)) + ->remove('.tax_row') + ->insertBefore($self->build_tax_rows, '#amount_row_id') + ->render($self); +} + # # helpers # @@ -305,7 +323,7 @@ sub _make_order { } -sub _setup { +sub _recalc { my ($self) = @_; # bb: todo: currency later