Revision 563 (by ahitrov, 2016/04/12 12:53:34) |
Payment plugin contenido interface. Order finder and order actions
|
<div style="border:1px solid gray; padding:5px; margin:5px; color:gray; font-size:90%;">
% if ( ref $order ) {
<b class="prompt">Номер:</b> <% $order->id %><br>
<b class="prompt">Пользователь:</b> <% $order->name %><br>
<b class="prompt">Статус:</b> <% exists $status_order{$order->status} ? $status_order{$order->status} : 'неизвестный' %><br>
<b class="prompt">Оплата:</b> <% exists $status_payment{$order->payment} ? $status_payment{$order->payment} : 'неизвестно' %><br>
% if ( exists $order->{list} && ref $order->{list} eq 'ARRAY' && @{$order->{list}} ) {
% my $i = 1;
<table width="100%" border="0" cellpadding="3" cellspacing="0" class="tlistdocs">
<tr>
<th align="center" width="1%">#</th>
<th align="center" width="97%">Позиция</th>
<th align="center" width="1%">К-во</th>
<th align="center" width="1%">Сумма</th>
</tr>
% foreach my $doc ( @{$order->{list}} ) {
<tr align="center">
<td nowrap><% $i++ %></td>
<td align="left"><% $doc->name %></td>
<td nowrap><% $doc->number %></td>
<td nowrap><% sprintf("%.2f", $doc->price * $doc->number) %></td>
</tr>
% }
</table>
% }
<b class="prompt">Всего:</b> <% $order->num %><br>
<b class="prompt">Итог:</b> <% sprintf("%.2f", $order->sum_total) %><br>
% } else {
% if ( grep { $_ eq 'webshop' } split /\s+/, $state->plugins ) {
<p class="err">Заказ с таким id в базе не найден.</p>
% } else {
<p class="rem">Плагин веб-магазина не подключен. Поиск параметров заказа невозможен.</p>
% }
% }
</div>
<%args>
$order => undef
</%args>
<%init>
my (%status_order, %status_payment);
if ( ref $order ) {
my ($statord) = grep { $_->{attr} eq 'status' } $order->structure;
my ($statpay) = grep { $_->{attr} eq 'payment' } $order->structure;
%status_order = map { $_->[0] => $_->[1] } @{$statord->{cases}};
%status_payment = map { $_->[0] => $_->[1] } @{$statpay->{cases}};
}
</%init>