<& "/contenido/components/header.msn" &>
<& /contenido/webshop/components/block_order_status_changer.msn, status => $ost &>  
Заказы со статусом "<% $current_status->[1] %>" % if ( $total ) {
<& /inc/pages_.msn, p=>$p, n=>$size, total=>$total, params=>\%filter_params, &>
<& /contenido/webshop/components/order_browse.msn, documents => \@documents, columns => \@columns, filter => \%filter_params, status => $ost, %ARGS &>
<& /inc/pages_.msn, p=>$p, n=>$size, total=>$total, params=>\%filter_params, &>
% } else {

---- Нет документов -----

% }
 
<%args> $ost => 1 $p => 1 $delete => undef <%init> my %filter_params; my (@documents, $total); $filter_params{ost} = $ost if $ost != 1; my $size = 40; @documents = $keeper->get_documents( class => 'webshop::Order', status => $ost, limit => $size, offset => ($p-1)*$size, ); $total = $keeper->get_documents( class => 'webshop::Order', status => $ost, count => 1, ); my @structure = webshop::Order->new( $keeper->{webshop} )->structure; my @columns = sort { $a->{column} <=> $b->{column} } grep { $_->{column} } @structure; push @columns, {attr => '_act_', rusname => 'Действия'}; my ($status_map) = grep { $_->{attr} eq 'status' } @structure; my ($current_status) = grep { $_->[0] == $ost } @{$status_map->{cases}}; my $active_rights = $m->comp('/contenido/webshop/subs/user_rights.msn'); if ( !$active_rights && $delete ) { my $return_params = join ('&', map { $_.'='.$filter_params{$_} } grep { $_ ne 's' } keys %filter_params ); my %deleted; while ( my ($field, $value) = each %ARGS ) { if ( $field =~ /^delete_(\d+)_(\w+)$/ ) { my $oid = $1; my $attr = $2; $deleted{$oid}{$attr} = $value; } } my %classes = map { $_->{class} => 1 } values %deleted; foreach my $delete_class ( keys %classes ) { my @ids; while ( my ($oid, $attr) = each %deleted) { push @ids, $oid if exists $attr->{id} && $attr->{id} && ($attr->{class} eq $delete_class); } my @objects = $keeper->get_documents ( id => \@ids, class => $delete_class ) if @ids; foreach my $object ( @objects ) { my $document_access = $user->section_accesses($user, $object->section); next unless $document_access == 2; $object->delete; } } $m->redirect("/contenido/webshop/".($return_params ? '?'.$return_params : '')); }