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

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Изменение периода оплаты до выписки счета

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

Сообщение B0nuse » 2010-09-14 21:37:26

serge писал(а):В связи со сложившейся ситуацией думаю что уже зависит.

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

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

Сообщение serge » 2010-09-14 12:41:56

B0nuse писал(а):
serge писал(а):Только включить бы эти изменения в очередной релиз биллинга.

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

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

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

Сообщение B0nuse » 2010-09-12 20:29:10

serge писал(а):Только включить бы эти изменения в очередной релиз биллинга.

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

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

Сообщение serge » 2010-09-10 12:40:05

+1
Только включить бы эти изменения в очередной релиз биллинга. Иначе обновление все вернет как было.

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

Сообщение B0nuse » 2010-09-09 11:18:09

Ситуация:
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;

Вернуться к началу