Revision 637 (by ahitrov, 2017/01/01 20:51:20) Coupon usage report

<fieldset>
<legend>Отчет по купонам</legend>
	<form name="searchdoc" action="coupons_report.html" method="GET" target="_blank">
	<table width="100%" border="0" cellpadding="0" cellspacing="6" class="tform">
	<tr><td><b>Выберите статус:</b></td></tr>
	<tr><td><& "/contenido/components/select.msn", name=>'status', values => \@status_values, check => $status, style=>'width:100%;font-size:8pt;' &></td>
<%doc>
	<tr><td><b>Сортировать:</b></td></tr>
	<tr><td><& "/contenido/components/select.msn", name=>'sort', values => \@sorts, style=>'width:100%;font-size:8pt;' &></td>
	<tr><td height="5"></td></tr>
</%doc>
	<tr><td><b>Диапазон дат:</b></td></tr>
	<tr><td><& "/contenido/components/inputs/date.msn", name => 'from' &></td></tr>
	<tr><td><& "/contenido/components/inputs/date.msn", name => 'to' &></td></tr>
	<tr><td><b>Отобразить:</b></td></tr>
	<tr><td><& "/contenido/components/select.msn", name=>'show', values => \@shows, style=>'width:100%;font-size:8pt;' &></td>
	<tr><td><input type="submit" value="Отобрать" class="btn"></td></tr>
	</table>
	</form>
</fieldset>

<%once>

    my @sorts = (
	'id'	=> 'по номеру заказа',
	'uid'	=> 'по пользователю',
    );

    my @shows = (
	'html'	=> 'В виде HTML',
	'tsv'	=> 'Tab-separated текст',
    );

    my @status_values = (
	'', 'Без учета статуса',
	'1', 'Активные',
	'0', 'Неактивные',
	'3', 'Использованные',
	'2', 'Прототипы',
	'4', 'Обработанные',
    );

</%once>
<%args>

	$status	=> ''

</%args>
<%init>

    my @props = webshop::Coupon->new($keeper)->structure;
    my ($prop_status) = grep { $_->{attr} eq 'status' } @props;

    my @coupons = ('' => 'без учета купонов');
    my $sql = "select id, name from webshop_coupons where class = 'webshop::Coupon' and ( status in (0, 4) or (status in (1,3) and pid = 0) ) order by status = 1 desc, status, dtime desc";
    my $que = $keeper->SQL->prepare($sql);
    $que->execute();
    while ( my $ln = $que->fetchrow_hashref ) {
	push @coupons, ($ln->{id}, $ln->{name});
    }

</%init>