Движения по заказу % if ( @operations || @transactions ) { % if ( @operations ) {

Операции

% foreach my $op ( @operations ) { % my $dt = Contenido::DateTime->new( postgres => $op->ctime ); % my $user = $op->uuid ? $keeper->get_user_by_id( $op->uuid ) : undef; % }
ID заказа Дата/время Результат Менеджер
<% $op->id %> <% $dt->ymd('-').' '.$dt->hms %> <% $opnames{$op->name} %> % if ( ref $user ) { % $m->out($user->name); % } elsif ( $op->uuid ) { Неопознанный (id=<% $op->uuid %>) % }

Операция - действие пользователя или менеджера по отношению к заказу.

% } % if ( @transactions ) {

Транзакции

% foreach my $tr ( @transactions ) { % if ( $m->comp_exists( "/contenido/payments/components/block_transaction_".$tr->provider.".msn" ) ) { % $m->comp( "/contenido/payments/components/block_transaction_".$tr->provider.".msn", transaction => $tr ); % } else { % $m->comp( "/contenido/payments/components/block_transaction.msn", transaction => $tr ); % } % }

Транзакция - результат взаимодействия платежной системы и веб-магазина по отношению к заказу.

% } % } elsif ( $order_id ) {

По данному номеру заказа ничего не найдено.

% }
<%once> <%args> $order_id => undef <%init> my ( @operations, @transactions ); if ( $order_id && $order_id =~ /^\d+$/ ) { @operations = $keeper->get_documents( class => 'payments::Operation', order_id => $order_id, order_by => 'ctime', ); @transactions = $keeper->get_documents( class => 'payments::Transaction', order_id => $order_id, order_by => 'ctime', ); } my ($prop) = grep { $_->{attr} eq 'name' } payments::Operation->new->structure; my %opnames = map { $_->[0] => $_->[1] } @{$prop->{cases}};