Страница 1 из 1

Изменение периода оплаты до выписки счета

Добавлено: 2010-09-09 11:18:09
B0nuse
Ситуация:
1. Пользователь заказывает или продляет услугу, нажимает "Новый заказ" или "Оплатить заказ", выбирает период оплаты, нажимает "Продолжить" и еще раз "Продолжить", Заказ попадает в корзину. Но пользователь решил изменить период оплаты до выписки счета.

Так вот:
При заказе/продлении услуги, если изменять период оплаты из корзины, то ошибка 500
жалуется, что

Код: Выделить всё

SELECT `ID`,`UserID`,`ServiceID`,`ExpirationDate`,`IsPayed`,`StatusID`,(SELECT `Balance` FROM `Contracts` WHERE `Contracts`.`ID` = `ContractID`) as `ContractBalance` FROM `OrdersOwners`
запись не является уникальной в линии 195 файла /path/to/billing/hosts/root/system/libs/auto/DB.lib

Если заного оплатить заказ с помещением его в корзину, то период изменяется, заменив старый пункт в корзине на новый с новыми данными.

Поковырял, нашел, что за это отвечает в файле hosts/billing/comp/www/ServiceOrderPay.comp строка 23

Код: Выделить всё

$ServiceOrder = DB_Select('OrdersOwners',$Columns,Array('UNIQ','ID'=>$ServiceOrderID?$ServiceOrderID:$OrderID));

При этом везде в файле используется именно $ServiceOrderID... а $OrderID передается через GET только при попытке изменить период оплаты из корзины.
Поэтому, решил эти значения приравнять при условии, что $OrderID есть.

Решается:
В файле hosts/billing/comp/www/ServiceOrderPay.comp строку 23 сделать вида:

Код: Выделить всё

$ServiceOrder = DB_Select('OrdersOwners',$Columns,Array('UNIQ','ID'=>$ServiceOrderID=$OrderID?$OrderID:$ServiceOrderID));

или, чтобы было более понятно:
В файле hosts/billing/comp/www/ServiceOrderPay.comp перед строкой 23 добавить

Код: Выделить всё

if($OrderID) $ServiceOrderID=$OrderID;

Re: Изменение периода оплаты до выписки счета

Добавлено: 2010-09-10 12:40:05
serge
+1
Только включить бы эти изменения в очередной релиз биллинга. Иначе обновление все вернет как было.

Re: Изменение периода оплаты до выписки счета

Добавлено: 2010-09-12 20:29:10
B0nuse
serge писал(а):Только включить бы эти изменения в очередной релиз биллинга.

Это, к сожалению, от меня не зависит...

Re: Изменение периода оплаты до выписки счета

Добавлено: 2010-09-14 12:41:56
serge
B0nuse писал(а):
serge писал(а):Только включить бы эти изменения в очередной релиз биллинга.

Это, к сожалению, от меня не зависит...

В связи со сложившейся ситуацией думаю что уже зависит. Разработчики предполагаю пойдут на встречу. Т.к. их самих, к сожалению, чувствую не дождемся :(

Re: Изменение периода оплаты до выписки счета

Добавлено: 2010-09-14 21:37:26
B0nuse
serge писал(а):В связи со сложившейся ситуацией думаю что уже зависит.

Думаю, что, при желании, разработчики сами могут включить в релиз хорошо и подробно расписанные мои фиксы.