%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/bitrix/www/bitrix/modules/sale/lib/helpers/admin/blocks/
Upload File :
Create Path :
Current File : //home/bitrix/www/bitrix/modules/sale/lib/helpers/admin/blocks/ordershipmentstatus.php

<?php

namespace Bitrix\Sale\Helpers\Admin\Blocks;

use Bitrix\Main\Application;
use Bitrix\Main\Localization\Loc;
use Bitrix\Sale\DeliveryStatus;
use Bitrix\Sale\Internals\StatusTable;
use Bitrix\Sale\Order;

Loc::loadMessages(__FILE__);

class OrderShipmentStatus
{
	public static function getEdit($shipment, $index = 0)
	{
		$data = self::prepareData($shipment);

		return self::getEditTemplate($data, ++$index);
	}

	public static function getEditTemplate($data, $index)
	{
		return '
			<div class="adm-bus-pay">
				<table border="0" cellspacing="0" cellpadding="0" width="100%" class="adm-detail-content-table edit-table ">
					<tbody>
						<tr>
							<td class="adm-detail-content-cell-l" width="40%">'.Loc::getMessage('SALE_ORDER_SHIPMENT_STATUS').':</td>
							<td class="adm-detail-content-cell-r">'.
							\Bitrix\Sale\Helpers\Admin\OrderEdit::makeSelectHtml(
								"SHIPMENT[".$index."][STATUS_ID]",
								self::getShipmentStatusList($data['STATUS_ID']),
								$data['STATUS_ID'],
								false,
								array(
									"class" => "adm-bus-select",
									"id" => "SHIPMENT_STATUS_ID"
								)
							)
							.'</td>
						</tr>
					</tbody>
				</table>
			</div>';
	}

	/**
	 * @param $status
	 *
	 * @return array
	 * @throws \Bitrix\Main\ArgumentException
	 */
	public static function getShipmentStatusList($status)
	{
		global $USER;

		$shipmentStatuses = array();

		$allStatusList = DeliveryStatus::getAllStatusesNames();
		if (array_key_exists($status, $allStatusList))
		{
			$shipmentStatuses[$status] = $allStatusList[$status] . " [" . $status . "]";
		}

		$statusList = DeliveryStatus::getAllowedUserStatuses($USER->GetID(), $status);
		if (!empty($statusList) && is_array($statusList))
		{
			foreach ($statusList as $code => $title)
			{
				$shipmentStatuses[$code] = $title . " [" . $code . "]";
			}
		}
		return $shipmentStatuses;
	}

	public static function getView(Order $order)
	{
		return __METHOD__;
	}

	/**
	 * @param \Bitrix\Sale\ShipmentItem $shipment
	 * @return mixed
	 */
	protected static function prepareData($shipment)
	{
		$data['STATUS_ID'] = $shipment->getField('STATUS_ID');
		return $data;
	}
}

Zerion Mini Shell 1.0