Line # Revision Author
1 198 ahitrov <pre><% Dumper(\%ARGS) %></pre>
2 <%args>
3
4 $delete => []
5 $update => undef
6 $id => undef
7
8 </%args>
9 <%init>
10
11 &abort404 unless $id && $id =~ /^\d+$/;
12
13 my $order = $keeper->{webshop}->get_orders( id => $id );
14 &abort404 unless ref $order;
15
16 if ( $update ) {
17 my @delete = ref $delete ? @$delete : ();
18 my (%renumber, %reprice);
19 while ( my ($key, $value) = each %ARGS ) {
20 if ( $key =~ /item_(\d+)\.num/ ) {
21 my $id = $1;
22 $renumber{$id} = $value if $value =~ /^\d+$/;
23 } elsif ( $key =~ /item_(\d+)\.price/ ) {
24 my $id = $1;
25 $reprice{$id} = $value if $value =~ /^[\d\.]+$/;
26 }
27 }
28 my ($total, $sum, $new_basket) = $keeper->{webshop}->recount(
29 order_id=> $order->id,
30 delete => \@delete,
31 price => \%reprice,
32 session_no_store=>1,
33 renumber => \%renumber,
34 );
35 $order->total( $total );
36 $order->sum( $sum );
37 $order->store;
38 $m->redirect('/contenido/webshop/take_care.html?id='.$id);
39 }
40
41 </%init>