Работа над сайтом 11
This commit is contained in:
parent
8c4ca42d3c
commit
cc1e7e7d66
|
@ -51,15 +51,28 @@ $config = [
|
|||
'errorHandler' => [
|
||||
'errorAction' => 'error',
|
||||
],
|
||||
'mailer' => [
|
||||
'mail_info' => [
|
||||
'class' => 'yii\swiftmailer\Mailer',
|
||||
'useFileTransport' => false,
|
||||
'transport' => [
|
||||
'class' => 'Swift_SmtpTransport',
|
||||
'host' => 'ssl://smtp.yandex.com',
|
||||
'host' => 'smtp.yandex.com',
|
||||
'username' => 'info@skillparts.ru',
|
||||
'password' => 'SkillParts_1337',
|
||||
'port' => '587',
|
||||
'port' => '465',
|
||||
'encryption' => 'ssl',
|
||||
|
||||
],
|
||||
],
|
||||
'mail_system' => [
|
||||
'class' => 'yii\swiftmailer\Mailer',
|
||||
'useFileTransport' => false,
|
||||
'transport' => [
|
||||
'class' => 'Swift_SmtpTransport',
|
||||
'host' => 'smtp.yandex.com',
|
||||
'username' => 'system@skillparts.ru',
|
||||
'password' => 'System01001010Null',
|
||||
'port' => '465',
|
||||
'encryption' => 'ssl',
|
||||
],
|
||||
],
|
||||
|
|
|
@ -361,7 +361,7 @@ class OrderController extends Controller
|
|||
public function actionPay(): string|array|null
|
||||
{
|
||||
// Инициализация
|
||||
$model = Order::search();
|
||||
$model = Order::search(supplies: true);
|
||||
|
||||
// Поиск ребра
|
||||
$edge = AccountEdgeOrder::searchByVertex(yii::$app->user->id, $model->readId(), 'current');
|
||||
|
@ -381,12 +381,33 @@ class OrderController extends Controller
|
|||
if ($edge->update()) {
|
||||
// Удалось сохранить изменения
|
||||
|
||||
// Генерация счета
|
||||
// Инициализация буфера поставок
|
||||
$supplies = [];
|
||||
|
||||
foreach($model['supplies'] as $supply) {
|
||||
$supplies[] = [
|
||||
'title' => $supply['supply']['catn'],
|
||||
'amount' => [
|
||||
'value' => $supply['amount'] ?? 0,
|
||||
'unit' => 'шт'
|
||||
],
|
||||
'cost' => [
|
||||
'value' => $supply['cost'] ?? 0,
|
||||
'unit' => 'руб'
|
||||
],
|
||||
'type' => 'supply'
|
||||
];
|
||||
}
|
||||
|
||||
Invoice::generate($model->_key, $this->renderPartial('/invoice/order/pattern', [
|
||||
'account' => yii::$app->user->identity->_key,
|
||||
'buyer' => [
|
||||
'id' => yii::$app->user->identity->_key,
|
||||
'info' => 'Неизвестно'
|
||||
],
|
||||
'order' => [
|
||||
'id' => $model->_key,
|
||||
'date' => $edge->date ?? time() // @todo доделать
|
||||
'date' => $edge->date ?? time(),
|
||||
'entries' => $supplies
|
||||
]
|
||||
]));
|
||||
|
||||
|
@ -394,7 +415,7 @@ class OrderController extends Controller
|
|||
$model->journal('requested');
|
||||
|
||||
// Отправка уведомлений модераторам
|
||||
Notification::_write($this->renderPartial('/notification/system/newOrder', ['id' => $edge->_key]), true, '@auth', Notification::TYPE_MODERATOR_ORDER_NEW);
|
||||
Notification::_write($this->renderPartial('/notification/system/orders/new', ['id' => $edge->_key]), true, '@auth', Notification::TYPE_MODERATOR_ORDER_NEW);
|
||||
}
|
||||
|
||||
// Инициализация
|
||||
|
@ -525,6 +546,9 @@ class OrderController extends Controller
|
|||
if ($order_edge_supply = OrderEdgeSupply::searchById($_id = OrderEdgeSupply::collectionName() . '/' . $_key)) {
|
||||
// Удалось найти инстанцию поставки
|
||||
|
||||
// Запись в буфер изначальных данных
|
||||
$old = $order_edge_supply->stts;
|
||||
|
||||
// Запись в буфер записи в базу данных
|
||||
$order_edge_supply->stts = $stts;
|
||||
|
||||
|
@ -532,6 +556,12 @@ class OrderController extends Controller
|
|||
if ($order_edge_supply->save()) {
|
||||
// Удалось сохранить изменения
|
||||
|
||||
// Инициализация аккаунта покупателя
|
||||
$account = Account::searchById(AccountEdgeOrder::searchByOrder($order_edge_supply->_from)[0]->_from);
|
||||
|
||||
// Отправка уведомления
|
||||
Notification::_write($this->renderPartial('/notification/system/orders/edit', ['order' => $order_edge_supply->_from, 'from' => OrderEdgeSupply::convertStatusToRussian($old), 'to' => OrderEdgeSupply::convertStatusToRussian($stts), 'target' => 'Комментарий']), true, $account->_key, Notification::TYPE_NOTICE);
|
||||
|
||||
// Запись в буфер вывода
|
||||
$buffer['stts'] = $order_edge_supply->stts;
|
||||
} else {
|
||||
|
@ -566,6 +596,9 @@ class OrderController extends Controller
|
|||
if ($order_edge_supply = OrderEdgeSupply::searchById($_id = OrderEdgeSupply::collectionName() . '/' . $_key)) {
|
||||
// Удалось найти инстанцию поставки
|
||||
|
||||
// Запись в буфер изначальных данных
|
||||
$old = $order_edge_supply->cost;
|
||||
|
||||
// Запись в буфер записи в базу данных
|
||||
$order_edge_supply->cost = $cost;
|
||||
|
||||
|
@ -573,6 +606,12 @@ class OrderController extends Controller
|
|||
if ($order_edge_supply->save()) {
|
||||
// Удалось сохранить изменения
|
||||
|
||||
// Инициализация аккаунта покупателя
|
||||
$account = Account::searchById(AccountEdgeOrder::searchByOrder($order_edge_supply->_from)[0]->_from);
|
||||
|
||||
// Отправка уведомления
|
||||
Notification::_write($this->renderPartial('/notification/system/orders/edit', ['order' => $order_edge_supply->_from, 'from' => $old, 'to' => $cost, 'target' => 'Цена']), true, $account->_key, Notification::TYPE_NOTICE);
|
||||
|
||||
// Запись в буфер вывода
|
||||
$buffer['cost'] = $order_edge_supply->cost;
|
||||
} else {
|
||||
|
@ -607,6 +646,9 @@ class OrderController extends Controller
|
|||
if ($order_edge_supply = OrderEdgeSupply::searchById($_id = OrderEdgeSupply::collectionName() . '/' . $_key)) {
|
||||
// Удалось найти инстанцию поставки
|
||||
|
||||
// Запись в буфер изначальных данных
|
||||
$old = $order_edge_supply->time;
|
||||
|
||||
// Запись в буфер записи в базу данных
|
||||
$order_edge_supply->time = $time;
|
||||
|
||||
|
@ -614,6 +656,12 @@ class OrderController extends Controller
|
|||
if ($order_edge_supply->save()) {
|
||||
// Удалось сохранить изменения
|
||||
|
||||
// Инициализация аккаунта покупателя
|
||||
$account = Account::searchById(AccountEdgeOrder::searchByOrder($order_edge_supply->_from)[0]->_from);
|
||||
|
||||
// Отправка уведомления
|
||||
Notification::_write($this->renderPartial('/notification/system/orders/edit', ['order' => $order_edge_supply->_from, 'from' => $old, 'to' => $time, 'target' => 'Дата поставки']), true, $account->_key, Notification::TYPE_NOTICE);
|
||||
|
||||
// Запись в буфер вывода
|
||||
$buffer['time'] = $order_edge_supply->time;
|
||||
} else {
|
||||
|
@ -648,6 +696,9 @@ class OrderController extends Controller
|
|||
if ($order_edge_supply = OrderEdgeSupply::searchById($_id = OrderEdgeSupply::collectionName() . '/' . $_key)) {
|
||||
// Удалось найти инстанцию поставки
|
||||
|
||||
// Запись в буфер изначальных данных
|
||||
$old = $order_edge_supply->comm;
|
||||
|
||||
// Запись в буфер записи в базу данных
|
||||
$order_edge_supply->comm = $comm;
|
||||
|
||||
|
@ -655,6 +706,12 @@ class OrderController extends Controller
|
|||
if ($order_edge_supply->save()) {
|
||||
// Удалось сохранить изменения
|
||||
|
||||
// Инициализация аккаунта покупателя
|
||||
$account = Account::searchById(AccountEdgeOrder::searchByOrder($order_edge_supply->_from)[0]->_from);
|
||||
|
||||
// Отправка уведомления
|
||||
Notification::_write($this->renderPartial('/notification/system/orders/edit', ['order' => $order_edge_supply->_from, 'from' => $old, 'to' => $comm, 'target' => 'Комментарий']), true, $account->_key, Notification::TYPE_NOTICE);
|
||||
|
||||
// Запись в буфер вывода
|
||||
$buffer['comm'] = $order_edge_supply->comm;
|
||||
} else {
|
||||
|
|
|
@ -29,7 +29,7 @@ class SuppliersController extends Controller
|
|||
{
|
||||
$request = yii::$app->request->post('Request') ?? yii::$app->request->get('Request');
|
||||
|
||||
yii::$app->mailer->compose()
|
||||
yii::$app->mail_system->compose()
|
||||
->setFrom(yii::$app->params['mail']['system'])
|
||||
->setTo(yii::$app->params['mail']['info'])
|
||||
->setSubject('Регистрация поставщика')
|
||||
|
|
|
@ -538,4 +538,19 @@ class Account extends Document implements IdentityInterface, PartnerInterface
|
|||
select: 'account_edge_supply[0]'
|
||||
)[0];
|
||||
}
|
||||
|
||||
/**
|
||||
* Генерация текста обозначающего статус аккаунта на русском языке
|
||||
*
|
||||
* @return string Статус аккаунта
|
||||
*/
|
||||
public function statusLabel(): string
|
||||
{
|
||||
return match($this->type) {
|
||||
'administrator', 'admin' => 'Администратор',
|
||||
'moderator', 'moder' => 'Модератор',
|
||||
'supplier' => 'Поставщик',
|
||||
default => 'Покупатель',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -119,7 +119,14 @@ class AccountForm extends Model
|
|||
$this->account->pswd = yii::$app->security->generatePasswordHash($this->pswd);
|
||||
|
||||
// Регистрация
|
||||
return $this->account->save();
|
||||
if ($this->account->save()) {
|
||||
// Успешно завершена регистрация
|
||||
|
||||
// Генерация индекса
|
||||
Account::generateIndexes([$this->account]);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
@ -147,8 +147,10 @@ class Notification extends Document
|
|||
*
|
||||
* @param string $html Содержимое уведомления (HTML или текст)
|
||||
* @param bool|string|null $html Содержимое уведомления (HTML или текст)
|
||||
* @param string $account Получатель уведомления
|
||||
* @param string $account Получатель уведомления (_key)
|
||||
* @param string $type Тип уведомления
|
||||
*
|
||||
* @todo Намного удобнее будет заменить _key на _id, чтобы из рёбер сразу получать аккаунт без лишних операций
|
||||
*/
|
||||
public static function _write(string $text, bool|string|null $html = false, string $account = null, string $type = self::TYPE_NOTICE): self|array|null
|
||||
{
|
||||
|
|
|
@ -296,16 +296,19 @@ class Order extends Document implements DocumentInterface
|
|||
foreach ($return as &$container) {
|
||||
// Перебор заказов
|
||||
|
||||
// Инициализация настроек
|
||||
$config = $container['order'];
|
||||
unset($config['_id'], $config['_rev'], $config['_id']);
|
||||
if ($container instanceof Order) {
|
||||
$buffer = $container;
|
||||
} else {
|
||||
// Инициализация настроек
|
||||
$config = $container['order'];
|
||||
unset($config['_id'], $config['_rev'], $config['_id']);
|
||||
|
||||
if ($buffer = new Order($config)) {
|
||||
// Удалось инициализировать буфер заказа
|
||||
|
||||
// Чтение полного содержания
|
||||
$container['supplies'] = $buffer->content(100);
|
||||
// Инициализация буфера
|
||||
$buffer = new Order($config);
|
||||
}
|
||||
|
||||
// Чтение полного содержания
|
||||
$container['supplies'] = $buffer->content(30);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -371,7 +374,8 @@ class Order extends Document implements DocumentInterface
|
|||
// || (isset($order_edge_supply['dlvr']['type']) && $order_edge_supply['dlvr']['type'] !== $target_dlvr_type)
|
||||
// ) {
|
||||
if ((isset($order_edge_supply['dlvr']['type']) && $order_edge_supply['dlvr']['type'] === $target_dlvr_type)
|
||||
|| (empty($order_edge_supply['dlvr']['type']) && $target_dlvr_type === 'auto')) {
|
||||
|| (empty($order_edge_supply['dlvr']['type']) && $target_dlvr_type === 'auto')
|
||||
) {
|
||||
// Тип доставки для одной поставки отличается
|
||||
|
||||
// Запись в буфер
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
<a href="orders#<?= $id ?>">Новый заказ</a>
|
|
@ -0,0 +1 @@
|
|||
<p class="my-2 mx-3" href="/orders#<?= $order ?>">Данные заказа #<?= $order ?> изменены: <?= $target ?> с <?= $from ?> на <?= $to ?></p>
|
|
@ -0,0 +1 @@
|
|||
<a href="/orders#<?= $id ?>">Новый заказ</a>
|
|
@ -173,23 +173,15 @@ if (
|
|||
<?php endif ?>
|
||||
<article class="page_order_panel mt-3 py-3 px-4 rounded">
|
||||
<h4 class="ml-4 mt-2 mb-4"><i class="fas fa-list mr-2"></i>Заказы</h4>
|
||||
<div class="col mb-4 list rounded overflow-hidden">
|
||||
<div class="row py-2 text-center">
|
||||
<div class="col mb-4 list rounded">
|
||||
<div class="row py-3 text-center">
|
||||
<!-- <div class="pl-3 mr-1">
|
||||
<input id="checkbox_cart_all" type="checkbox" onchange="return cart_list_checkbox(this);" />
|
||||
</div> -->
|
||||
<div class="col">
|
||||
<span>Поставки</span>
|
||||
</div>
|
||||
<div class="col-2 ml-auto">
|
||||
<span>Статус</span>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<span>Время</span>
|
||||
</div>
|
||||
<div class="col-1">
|
||||
<span></span>
|
||||
</div>
|
||||
<span class="col-2"><b>Артикул</b></span>
|
||||
<span class="col-4"><b>Статус</b></span>
|
||||
<span class="col-3"><b>Поступление</b></span>
|
||||
<span class="col-3"><b>Стоимость</b></span>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
|
@ -215,6 +207,9 @@ if (
|
|||
// Инициализация буфера поставок
|
||||
$supplies_html = '';
|
||||
|
||||
// Инициализация общей стоимости поставок
|
||||
$sum = 0;
|
||||
|
||||
if (isset($supplies)) {
|
||||
// Найдены поставки
|
||||
|
||||
|
@ -225,8 +220,6 @@ if (
|
|||
// Инициализация окружения
|
||||
extract($supply);
|
||||
|
||||
// Инициализация стоимости
|
||||
|
||||
foreach ($order_edge_supply as $part) {
|
||||
// Перебор связей поставок с заказом
|
||||
|
||||
|
@ -235,21 +228,24 @@ if (
|
|||
// Не удалось рассчитать доставку
|
||||
|
||||
// Инициализация индикатора
|
||||
$time_icon = '';
|
||||
$date_icon = '';
|
||||
|
||||
// Инициализация доставки
|
||||
if (isset($part['time'])) {
|
||||
if (isset($part['date'])) {
|
||||
// Найдены данные в инстанции поставки
|
||||
|
||||
// Запись в буфер вывода
|
||||
$time = $part['time'] . ' дн';
|
||||
// $time = $part['time'] . ' дн';
|
||||
$date = date('d.m.Y', $part['date']);
|
||||
$date_html = "<span class=\"m-auto\">$date</span>";
|
||||
} else {
|
||||
$time = 'Неизвестно';
|
||||
$date = 'Неизвестно';
|
||||
$date_html = "<small class=\"m-auto\">$date</small>";
|
||||
}
|
||||
|
||||
// Инициализация стоимости
|
||||
if (isset($part['cost'])) $cost = $part['cost'] . ' ' . $currency;
|
||||
else $cost = 'Неизвестно';
|
||||
if (isset($part['cost'])) $cost_html = '<span class="m-auto">' . ($cost = $part['cost']) . ' <small>' . $currency . '</small></span>';
|
||||
else $cost_html = '<small class="m-auto">' . ($cost = 'Неизвестно') . '</small>';
|
||||
} else {
|
||||
// Удалось рассчитать доставку
|
||||
|
||||
|
@ -257,17 +253,19 @@ if (
|
|||
$time_type = $part['dlvr']['type'] ?? 'auto';
|
||||
|
||||
// Инициализация индикатора
|
||||
$time_icon = match ($time_type) {
|
||||
'avia' => '<i class="mr-1 fas fa-plane"></i>',
|
||||
default => '<i class="mr-1 fas fa-truck"></i>'
|
||||
$date_icon = match ($time_type) {
|
||||
'avia' => '<i class="ml-1 fas fa-plane"></i>',
|
||||
default => '<i class="ml-1 fas fa-truck"></i>'
|
||||
};
|
||||
|
||||
// Инициализация доставки
|
||||
if (isset($part['time'])) {
|
||||
if (isset($part['date'])) {
|
||||
// Найдены данные в инстанции поставки
|
||||
|
||||
// Запись в буфер вывода
|
||||
$time = $part['time'] . ' дн';
|
||||
// $time = $part['time'] . ' дн';
|
||||
$date = date('d.m.Y', $part['date']);
|
||||
$date_html = "<span class=\"m-auto\">$date</span>";
|
||||
} else {
|
||||
// Рассчет времени из данных поставки
|
||||
|
||||
|
@ -276,25 +274,37 @@ if (
|
|||
} catch (Exception $e) {
|
||||
$time_converted = DateTime::createFromFormat('Y-m-d', $delivery['orderDates']['arrivalToOspReceiver'])->getTimestamp();
|
||||
}
|
||||
$time = (ceil(($time_converted - time()) / 60 / 60 / 24) + 1) . ' дн';
|
||||
// $time = (ceil(($time_converted - time()) / 60 / 60 / 24) + 1) . ' дн';
|
||||
$date = date('d.m.Y', $time_converted);
|
||||
$date_html = "<span class=\"m-auto\">$date</span>";
|
||||
}
|
||||
|
||||
// Инициализация стоимости
|
||||
if (isset($part['cost'])) $cost = $part['cost'] . ' ' . $currency;
|
||||
else $cost = $cost . ' ' . $currency;
|
||||
if (isset($part['cost'])) $cost_html = '<span class="m-auto">' . ($cost = $part['cost']) . ' <small>' . $currency . '</small></span>';
|
||||
else $cost_html = '<span class="m-auto">' . ($cost = $cost) . ' <small>' . $currency . '</small></span>';
|
||||
}
|
||||
|
||||
// Инициализация статуса связи поставки
|
||||
$status = OrderEdgeSupply::convertStatusToRussian($part['stts'] ?? 0);
|
||||
|
||||
// Инициализация класса для поставки (если необходимо)
|
||||
$css = match ($part['stts'] ?? 0) {
|
||||
'accepted', 1 => ' supply_accepted',
|
||||
default => ''
|
||||
};
|
||||
|
||||
// Пробела между supply и $css не должно быть
|
||||
$supplies_html .= <<<HTML
|
||||
<div class="row py-2">
|
||||
<div class="row py-2 supply$css text-center">
|
||||
<div class="col-2">{$supply['catn']}</div>
|
||||
<div class="col-4">$status</div>
|
||||
<div class="col-3">$time_icon $time</div>
|
||||
<div class="col-3">$cost</div>
|
||||
<div class="col-4 d-flex"><small class="m-auto">$status</small></div>
|
||||
<div class="col-3 d-flex">$date_html</div>
|
||||
<div class="col-3 d-flex">$cost_html</div>
|
||||
</div>
|
||||
HTML;
|
||||
|
||||
// Обновление общего счётчика цены
|
||||
$sum += (int) $cost;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -308,22 +318,12 @@ if (
|
|||
HTML;
|
||||
|
||||
echo <<<HTML
|
||||
<div class="row py-2 cart_list_target text-center">
|
||||
<!-- <div class="pl-3 mr-1">
|
||||
<input type="checkbox" onchange="return cart_list_checkbox(this);"/>
|
||||
</div> -->
|
||||
<div class="col">
|
||||
$supplies_html
|
||||
</div>
|
||||
<div class="col-2 ml-auto py-2">
|
||||
$status
|
||||
</div>
|
||||
<div class="col-2 py-2">
|
||||
$date
|
||||
</div>
|
||||
<div class="col-1 py-2">
|
||||
$invoice
|
||||
</div>
|
||||
$supplies_html
|
||||
<div class="row py-2 cart_list_target_total text-center">
|
||||
<div class="col-2">$invoice</div>
|
||||
<div class="col-4"><b>$status</b></div>
|
||||
<div class="col-3"><b>$date</b></div>
|
||||
<div class="col-3"><b>$sum <small><b>руб</b></small></b></div>
|
||||
</div>
|
||||
HTML;
|
||||
}
|
||||
|
|
|
@ -12,8 +12,9 @@ use app\models\SupplyEdgeProduct;
|
|||
?>
|
||||
<div class="col py-3 rounded">
|
||||
<div class="row px-3">
|
||||
<p class="ml-0">Почта: </p>
|
||||
<p class="mr-0"><?= yii::$app->user->identity->mail ?></p>
|
||||
<p class="mb-2 w-100 d-flex"><b>Договор: </b><span class="ml-auto"><?= yii::$app->user->identity->_key ?></span></p>
|
||||
<p class="mb-2 w-100 d-flex"><b>Статус: </b><span class="ml-auto"><?= yii::$app->user->identity->statusLabel() ?></span></p>
|
||||
<p class="w-100 d-flex"><b>Почта: </b><span class="ml-auto"><?= yii::$app->user->identity->mail ?></span></p>
|
||||
</div>
|
||||
<div class="dropdown-divider my-3"></div>
|
||||
<dl class="m-0">
|
||||
|
@ -122,4 +123,4 @@ use app\models\SupplyEdgeProduct;
|
|||
<p class="mr-0"><?= SupplyEdgeProduct::readAmount() ?></p>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -74,8 +74,12 @@ AppAsset::register($this);
|
|||
|
||||
<main id="page_suppliers" class="container pb-5 flex-grow-1 d-flex justify-content-center">
|
||||
<article class="col my-auto p-3 px-5 rounded overflow-hidden">
|
||||
<h3 class="py-3 mt-2 mb-4 text-center"><b>Заявка на подключение</b></h3>
|
||||
отсоси
|
||||
<h3 class="py-3 mt-2 mb-4 text-center"><b>Заявка отправлена</b></h3>
|
||||
<div class="row mb-4">
|
||||
<a class="col-auto mx-auto btn button_blue button_clean" href="/">
|
||||
На главную
|
||||
</a>
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
@ -2,12 +2,18 @@
|
|||
background-color: #fff;
|
||||
}
|
||||
|
||||
#page_orders .page_order_panel .list > .row:nth-child(2n+1) {
|
||||
#page_orders .page_order_panel .list>.row:first-child, #page_orders article .cart_list_target_total {
|
||||
background-color: #dbdde3;
|
||||
}
|
||||
|
||||
#page_orders .page_order_panel .list>.supply.row:nth-child(2n-1) {
|
||||
background-color: #f7f6f9;
|
||||
}
|
||||
|
||||
#page_orders .page_order_panel .list > .row:first-child {
|
||||
background-color: #dbdde3;
|
||||
#page_orders .page_order_panel .list>.supply.supply_accepted.row {
|
||||
-webkit-box-shadow: 4px 0px 0px 0px #123EAB inset;
|
||||
-moz-box-shadow: 4px 0px 0px 0px #123EAB inset;
|
||||
box-shadow: 4px 0px 0px 0px #123EAB inset;
|
||||
}
|
||||
|
||||
#page_orders .cart_field_cost span {
|
||||
|
|
Reference in New Issue