| Current Path : /var/www/homesaver/www/bitrix/modules/fermaofd.ferma/admin/ |
| Current File : /var/www/homesaver/www/bitrix/modules/fermaofd.ferma/admin/receipts.php |
<?
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_before.php');
require_once __DIR__ . '/../const.php';
use Bitrix\Main\Page;
use Bitrix\Main\Web\Json;
// $blogModulePermissions = $APPLICATION->GetGroupRight("blog");
// if ($blogModulePermissions < "R")
// $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
IncludeModuleLangFile(__FILE__);
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/' . FERMAOFD_FERMA_MODULE_ID . '/prolog.php');
CJSCore::init('sidepanel');
$APPLICATION->SetAdditionalCSS('/bitrix/css/' . FERMAOFD_FERMA_MODULE_ID . '/ofdferma_receipts.css');
// Page\Asset::getInstance()->addCss('/bitrix/css/'.FERMAOFD_FERMA_MODULE_ID.'/ofdferma_receipts.css');
Page\Asset::getInstance()->addJs('/bitrix/js/' . FERMAOFD_FERMA_MODULE_ID . '/ofdferma_receipts.js');
CModule::includeModule(FERMAOFD_FERMA_MODULE_ID);
$sTableID = 'tbl_fermaofd_ferma_receipt';
$oSort = new CAdminSorting($sTableID, 'ID', 'asc');
$lAdmin = new CAdminList($sTableID, $oSort);
$receiptTypes = CAllOfdFermaReceipt::$receiptTypes;
$arFilterFields = array(
'filter_date_create_from',
'filter_date_create_to',
'filter_receipt_id',
'filter_device_id',
'filter_type',
'filter_rnm',
'filter_zn',
'filter_fn',
'filter_fdn',
'filter_fpd',
'filter_id',
);
$USER_FIELD_MANAGER->AdminListAddFilterFields('OFDFERMA_RECEIPTS', $arFilterFields);
$lAdmin->InitFilter($arFilterFields);
$arFilter = array();
if (strlen($filter_device_id) > 0) {
$arFilter['DEVICE_ID'] = $filter_device_id;
}
if (strlen($filter_receipt_id) > 0) {
$arFilter['~RECEIPT_ID'] = $filter_receipt_id;
}
if (strlen($filter_rnm) > 0) {
$arFilter['RNM'] = $filter_rnm;
}
if (strlen($filter_zn) > 0) {
$arFilter['ZN'] = $filter_zn;
}
if (strlen($filter_type) > 0) {
$arFilter['TYPE'] = $filter_type;
}
if (strlen($filter_fn) > 0) {
$arFilter['FN'] = $filter_fn;
}
if (strlen($filter_fdn) > 0) {
$arFilter['FDN'] = $filter_fdn;
}
if (strlen($filter_fpd) > 0) {
$arFilter['FPD'] = $filter_fpd;
}
if (strlen($filter_id) > 0) {
$arFilter['ID'] = $filter_id;
}
if (strlen($filter_env) > 0) {
$arFilter['ENV'] = $filter_env;
}
if (strlen($filter_date_create_from) > 0) {
$arFilter['>=DATE_CREATE'] = trim($filter_date_create_from);
} elseif ($set_filter != 'Y' && $del_filter != 'Y') {
$filter_date_create_from_FILTER_PERIOD = 'day';
$filter_date_create_from_FILTER_DIRECTION = 'current';
$arFilter['>=DATE_CREATE'] = new \Bitrix\Main\Type\Date();
}
if (strlen($filter_date_create_to) > 0) {
if ($arDate = ParseDateTime($filter_date_create_to, CSite::GetDateFormat('FULL', SITE_ID))) {
if (strlen($filter_date_create_to) < 11) {
$arDate['HH'] = 23;
$arDate['MI'] = 59;
$arDate['SS'] = 59;
}
$filter_date_create_to = date($DB->DateFormatToPHP(CSite::GetDateFormat('FULL', SITE_ID)), mktime($arDate['HH'], $arDate['MI'], $arDate['SS'], $arDate['MM'], $arDate['DD'], $arDate['YYYY']));
$arFilter['<=DATE_CREATE'] = $filter_date_create_to;
} else {
$filter_date_create_to = '';
}
}
$USER_FIELD_MANAGER->AdminListAddFilter('OFDFERMA_RECEIPTS', $arFilter);
$arHeaders = array(
array('id' => 'ID', 'content' => 'ID', 'sort' => 'ID', 'default' => true),
array('id' => 'ORDER_ID', 'content' => GetMessage('FERMAOFD_ORDER_NUMBER'), 'sort' => 'ORDER_ID', 'default' => true),
array('id' => 'TOTAL_PRICE', 'content' => GetMessage('FERMAOFD_RECEIPT_SUM'), 'sort' => 'TOTAL_PRICE', 'default' => true),
array('id' => 'DEVICE_ID', 'content' => GetMessage('FERMAOFD_CASHBOX_ID'), 'sort' => 'DEVICE_ID', 'default' => false),
array('id' => 'TYPE', 'content' => GetMessage('FERMAOFD_OPERATION_TYPE'), 'sort' => 'TYPE', 'default' => false),
array('id' => 'RNM', 'content' => GetMessage('FERMAOFD_RNM'), 'sort' => 'RNM', 'default' => false),
array('id' => 'ZN', 'content' => GetMessage('FERMAOFD_ZN'), 'sort' => 'ZN', 'default' => false),
array('id' => 'FN', 'content' => GetMessage('FERMAOFD_FN'), 'sort' => 'FN', 'default' => false),
array('id' => 'FDN', 'content' => GetMessage('FERMAOFD_FD'), 'sort' => 'FDN', 'default' => true),
array('id' => 'FPD', 'content' => GetMessage('FERMAOFD_FPD'), 'sort' => 'FPD', 'default' => false),
array('id' => 'STATUS_ID', 'content' => GetMessage('FERMAOFD_RECEIPT_STATUS'), 'sort' => 'STATUS_ID', 'default' => true),
array('id' => 'RECEIPT_ID', 'content' => GetMessage('FERMAOFD_RECEIPT_NUMBER'), 'sort' => 'RECEIPT_ID', 'default' => true),
array('id' => 'DATE_CREATE', 'content' => GetMessage('FERMAOFD_CREATED_DATE'), 'sort' => 'DATE_CREATE', 'default' => true),
array('id' => 'ENV', 'content' => GetMessage('FERMAOFD_ENVIRONMENT'), 'sort' => 'ENV', 'default' => false),
array('id' => 'DATE_UPDATE', 'content' => GetMessage('FERMAOFD_UPDATED_DATE'), 'sort' => 'DATE_UPDATE', 'default' => false),
array('id' => 'DESCRIPTION', 'content' => GetMessage('FERMAOFD_DESCRIPTION'), 'sort' => 'DESCRIPTION', 'default' => false),
);
$USER_FIELD_MANAGER->AdminListAddHeaders('OFDFERMA_RECEIPTS', $arHeaders);
$lAdmin->AddHeaders($arHeaders);
$arVisibleColumns = $lAdmin->GetVisibleHeaderColumns();
$arSelectedFields = array(
'ID', 'ORDER_ID', 'RECEIPT_ID', 'DATE_CREATE', 'DATE_UPDATE', 'TYPE', 'CONTENT', 'TOTAL_PRICE',
'STATUS_ID', 'STATUS_NAME', 'STATUS_MESSAGE', 'DEVICE_ID', 'RNM', 'ZN', 'FN', 'FDN', 'FPD', 'ENV', 'DESCRIPTION',
);
foreach ($arVisibleColumns as $val) {
if (!in_array($val, $arSelectedFields)) {
$arSelectedFields[] = $val;
}
}
$dbResultList = COfdFermaReceipt::GetList(
array($by => $order),
$arFilter,
false,
array('nPageSize' => CAdminResult::GetNavSize($sTableID)),
$arSelectedFields
);
$dbResultList = new CAdminResult($dbResultList, $sTableID);
$dbResultList->NavStart();
$lAdmin->NavText($dbResultList->GetNavPrint(GetMessage('FERMAOFD_RECEIPTS')));
while ($arReceipt = $dbResultList->NavNext()) {
$content = Json::decode($arReceipt['CONTENT']);
$receiptUrl = null;
if ($arReceipt['FN'] && $arReceipt['FDN'] && $arReceipt['FPD']) {
switch ($arReceipt['ENV']) {
case 'prod':
$receiptUrl = sprintf('https://ofd.ru/rec/%s/%s/%s', $arReceipt['FN'], $arReceipt['FDN'], $arReceipt['FPD']);
break;
case 'demo':
$receiptUrl = sprintf('https://demo.ofd.ru/rec/%s/%s/%s', $arReceipt['FN'], $arReceipt['FDN'], $arReceipt['FPD']);
break;
}
}
$row =& $lAdmin->AddRow($arReceipt['ID'], $arReceipt, false, GetMessage('FERMAOFD_VIEW_RECEIPT'));
$row->AddField('ID', $receiptUrl ? '<a href="' . $receiptUrl . '" target="_blank" title="' . GetMessage('FERMAOFD_VIEW_RECEIPT') . '">' . $arReceipt['ID'] . '</a>' : $arReceipt['ID']);
$row->AddField('RECEIPT_ID', $receiptUrl ? '<a href="' . $receiptUrl . '" target="_blank">' . $arReceipt['RECEIPT_ID'] . '</a>' : $arReceipt['RECEIPT_ID']);
$row->AddField('ORDER_ID', '<a href="sale_order_edit.php?ID=' . $arReceipt['ORDER_ID'] . '&lang=' . LANG . '" target="_blank">' . $arReceipt['ORDER_ID'] . '</a>');
$row->AddField('TOTAL_PRICE', CAllOfdFermaReceipt::receiptPriceFormat($arReceipt['TOTAL_PRICE']));
$row->AddField('DATE_CREATE', $arReceipt['DATE_CREATE']);
$row->AddField('DATE_UPDATE', $arReceipt['DATE_UPDATE']);
$row->AddField('DEVICE_ID', $arReceipt['DEVICE_ID']);
$row->AddField('TYPE', isset($receiptTypes[$arReceipt['TYPE']]) ? $receiptTypes[$arReceipt['TYPE']] : '');
$row->AddField('RNM', $arReceipt['RNM']);
$row->AddField('ZN', $arReceipt['ZN']);
$row->AddField('FN', $arReceipt['FN']);
$row->AddField('FDN', $arReceipt['FDN']);
$row->AddField('FPD', $arReceipt['FPD']);
$row->AddField('STATUS_ID', $arReceipt['STATUS_MESSAGE']);
$row->AddField('DESCRIPTION', $arReceipt['DESCRIPTION']);
$row->AddField('URL', $receiptUrl ? '<a href="' . $receiptUrl . '" target="_blank">' . $receiptUrl . '</a>' : '—');
$USER_FIELD_MANAGER->AddUserFields('OFDFERMA_RECEIPTS', $arReceipt, $row);
$arActions = array();
if ($receiptUrl) {
$arActions[] = array(
'ICON' => 'edit',
'TEXT' => GetMessage('FERMAOFD_VIEW_RECEIPT'),
'ACTION' => $lAdmin->ActionRedirect($receiptUrl),
'DEFAULT' => true,
);
}
$arActions[] = array(
'ICON' => 'edit',
'TEXT' => GetMessage('FERMAOFD_CHECK_STATUS'),
'ACTION' => 'window.ofdferma.openReceiptStatusPanel("' . $arReceipt['RECEIPT_ID'] . '");',
'DEFAULT' => true,
);
if ($arReceipt['TYPE'] === 'Income') {
$arActions[] = array(
'ICON' => 'edit', 'TEXT' => GetMessage('FERMAOFD_NEW_REFUND_RECEIPT'),
'ACTION' => 'window.ofdferma.openReceiptRefundPanel("' . $arReceipt['RECEIPT_ID'] . '");',
'DEFAULT' => true,
);
}
$row->AddActions($arActions);
}
$lAdmin->AddFooter(
array(
array(
'title' => GetMessage('MAIN_ADMIN_LIST_SELECTED'),
'value' => $dbResultList->SelectedRowsCount(),
),
array(
'counter' => true,
'title' => GetMessage('MAIN_ADMIN_LIST_CHECKED'),
'value' => '0',
),
)
);
$lAdmin->AddAdminContextMenu();
$lAdmin->CheckListMode();
/****************************************************************************/
/*********** MAIN PAGE ****************************************************/
/****************************************************************************/
$APPLICATION->SetTitle(GetMessage('FERMAOFD_RECEIPTS_TITLE'));
require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_after.php');
?>
<form name="find_form" method="GET" action="<? echo $APPLICATION->GetCurPage() ?>?">
<?
$oFilter = new CAdminFilter(
$sTableID . '_filter',
array(
GetMessage('FERMAOFD_RECEIPT_ID'),
GetMessage('FERMAOFD_RECEIPT_NUMBER'),
GetMessage('FERMAOFD_OPERATION_TYPE'),
GetMessage('FERMAOFD_CREATED_DATE'),
GetMessage('FERMAOFD_RNM'),
GetMessage('FERMAOFD_ZN'),
GetMessage('FERMAOFD_FN'),
GetMessage('FERMAOFD_FPD'),
GetMessage('FERMAOFD_FD'),
)
);
$oFilter->Begin();
?>
<tr>
<td><?= GetMessage('FERMAOFD_RECEIPT_ID') ?>:</td>
<td><input type="text" name="filter_id" value="<? echo htmlspecialcharsbx($filter_id) ?>" size="40"></td>
</tr>
<tr>
<td><?= GetMessage('FERMAOFD_RECEIPT_NUMBER') ?>:</td>
<td><input type="text" name="filter_receipt_id" value="<? echo htmlspecialcharsbx($filter_id) ?>" size="40">
</td>
</tr>
<tr>
<td><?= GetMessage('FERMAOFD_OPERATION_TYPE') ?>:</td>
<td>
<select name="filter_type">
<option value="NOT_REF">(<?= GetMessage('FERMAOFD_ANY') ?>)</option>
<?php
foreach ($receiptTypes as $value => $label) {
$selected = $filter_type === $value ? ' selected' : '';
echo '<option value="' . $value . '"' . $selected . '>' . $label . '</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td><?= GetMessage('FERMAOFD_CREATED_DATE') ?>:</td>
<td>
<?= CalendarPeriod(
'filter_date_create_from', htmlspecialcharsbx($filter_date_create_from),
'filter_date_create_to', htmlspecialcharsbx($filter_date_create_to),
'find_form', 'Y'
) ?>
</td>
</tr>
<tr>
<td><?= GetMessage('FERMAOFD_RNM') ?>:</td>
<td><input type="text" name="filter_rnm" value="<? echo htmlspecialcharsbx($filter_id) ?>" size="40"></td>
</tr>
<tr>
<td><?= GetMessage('FERMAOFD_ZN') ?>:</td>
<td><input type="text" name="filter_zn" value="<? echo htmlspecialcharsbx($filter_id) ?>" size="40"></td>
</tr>
<tr>
<td><?= GetMessage('FERMAOFD_FN') ?>:</td>
<td><input type="text" name="filter_fn" value="<? echo htmlspecialcharsbx($filter_id) ?>" size="40"></td>
</tr>
<tr>
<td><?= GetMessage('FERMAOFD_FPD') ?>:</td>
<td><input type="text" name="filter_fpd" value="<? echo htmlspecialcharsbx($filter_id) ?>" size="40"></td>
</tr>
<tr>
<td><?= GetMessage('FERMAOFD_FD') ?>:</td>
<td><input type="text" name="filter_fdn" value="<? echo htmlspecialcharsbx($filter_id) ?>" size="40"></td>
</tr>
<?
$USER_FIELD_MANAGER->AdminListShowFilter('OFDFERMA_RECEIPTS');
$oFilter->Buttons(
array(
'table_id' => $sTableID,
'url' => $APPLICATION->GetCurPage(),
'form' => 'find_form',
)
);
$oFilter->End();
?>
</form>
<?
$lAdmin->DisplayList();
?>
<?
require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_admin.php');