BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 09 май 2024, 16:02

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 12 дек 2012, 23:57 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Как запретить абоненту изменять свой статус договора из веб интерфеса?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 00:31 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Убрать пункт меню (через редактирование xsl) и, если используется nginx, в нем запретить возможность открытия прямого URL, т.е. типа этого:
Код:
location / {
    proxy_pass http://127.0.0.1:8080;
    if ($args ~* (ChangePassword|ContractStatus)) { return 403; }
}

if, правда, зло и от него нужно избавляться.
Где-то тут уже были конфиги (кажется даже я что-то выкладывал) - поищите.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 00:33 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Запрет открытия прямого урла тоже можно в файле убрать.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 00:43 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
А средствами скриптов автоматизации?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 00:48 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
В общем проблема такая.
Абонент в ЛК свой закрытый договор может приостановить, а затем сразу открыть. Имхо это похоже на дырку.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 00:50 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
так вы совсем хотите закрыть изменение статуса через веб или все таки не совсем?

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 00:53 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Не совсем. Только тем, у кого договор закрыт. Ну или может разработчики объяснят причину столь странного поведения?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 00:56 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
раз http://wiki.bgbilling.ru/index.php/Приостановление_договора_клиентом_через_WEB
два http://wiki.bgbilling.ru/index.php/Запрет_на_вход_в_личный_кабинет_с_закрытых_договоров
три
Изображение

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 01:59 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Спасибо, как вариант подойдет, можно что-нибудь соорудить. Но все же есть надежда еще на разработчиков.

Напильник особенно порадовал:)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 05:02 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
да выпилите из xsl и все

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 16:32 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
skyb писал(а):
да выпилите из xsl и все

Это не помешает особо пытливым напрямую открыть URL.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 16:49 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Да отломать то в конце концов можно. Только странно что разработчики молчат. Функционал то полезный и делать ему замену как-то странно для поддерживаемого продукта. Проще ведь закрыть дырку.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 17:27 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
snark писал(а):
skyb писал(а):
да выпилите из xsl и все

Это не помешает особо пытливым напрямую открыть URL.

закрытие пункта меню это одно. а можно закрыть вообще возможность даже открывать напрямую.
допустим если я закрою в 5.2 в layout_menu.xsl строку
Код:
<!-- <li><a href="?action=ContractStatus&amp;mid=contract&amp;contractId={$CONTRACT_ID}">Управление статусом</a></li>    -->

то пункт меню у меня пропадет, но возможность входа по прямой ссылке останется
Изображение
Однако чтобы этой возможности не было в main.xsl достаточно закомментить
Код:
<!-- <xsl:when test="data/@action = 'ContractStatus'">Управление статусом</xsl:when> -->

и
Код:
<!--     <xsl:when test="@action = 'ContractStatus'">
      <xsl:call-template name="ContractStatus" />
   </xsl:when> -->

тогда и по прямой ссылке не зайдет
Изображение


P.S. Скрины с теста

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 17:29 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
mikos писал(а):
Да отломать то в конце концов можно. Только странно что разработчики молчат. Функционал то полезный и делать ему замену как-то странно для поддерживаемого продукта. Проще ведь закрыть дырку.

Вторая ссылка какбэ намекает что ее и сделали разработчики.
Мало ли вы лояльны к клиентам и хотите им оставлять возможность заходить в личный кабинет на закрытый договор, чтобы они могли смотреть новости )

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 18:34 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Поясните, что именно непонятно в нижнем абзаце?

http://bgbilling.ru/v5.2/doc/ch01s21s11.html

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 дек 2012, 21:31 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Прошу прощения, не до конца разобрался в ситуации. Проблема немного в другом.

Это действительно работает:

Цитата:
Если статус договора не "активен" и не "suspended" - тоже не разрешена смена.


Но, если у абонента договор не закрыт, то он может приостановить договор с будущей даты. Что из этого выходит - см. на сконшоте. Там же видно как абоненты этим пользуются.

PS: Сегодня 13.12.2012. На скриншоте видно, что абонент приостанавливает с завтрашнего дня. Статус на сегодня автоматом ставится в активный. Баланс у него уже ниже лимита, но статус договора и шлюзы открыты. Вышел из закрытого статуса абонент с помощью понижения лимита на пару дней.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 дек 2012, 04:18 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Вы хотя бы смотрели в сторону того, что я и остальные писали выше или просто отбрасываете это все, как не нужное?

Юзера оскорбило название тарифа и он Вам мстит :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 дек 2012, 04:26 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
snark, смотрел я конечно все о чем мне писали. Спасибо за помощь - методом отключения обязательно воспользуюсь, если решим писать доп.действие на приостановку договора.
В данном случае я ответил разработчику, тк он показал мне на то, что нет баги о которой я начал в начале топика. Конечно же лучший выход обрабатывать приостановку на свое усмотрение, а штутную закрыть. Это будет в любом случае гибче.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 дек 2012, 11:54 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Ну теперь в итоге я не понял — надо полностью запретить или что?

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 дек 2012, 12:01 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Нужно запретить абоненту делать так, как он делает на скриншоте.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 дек 2012, 12:03 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
mikos писал(а):
Нужно запретить абоненту делать так, как он делает на скриншоте.

Цитата:

Цитата:
Скрипт должен реагировать на события "Получение списка доп. действий для WEB статистики" и "Обработка доп. действия для договора"
  • Приостанавливает договор со следующего дня, возобновляет с текущего.
  • Не позволяет менять статусы чаще, чем раз в 5 дней.
  • Присылает письмо о смене статуса.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 дек 2012, 12:11 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
mikos писал(а):
Нужно запретить абоненту делать так, как он делает на скриншоте.

а более чёткие критерии?

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2012, 12:21 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Я думаю, что человеку будет достаточно, по аналогии с понижением лимита, чего нить такого:
Код:
# коды групп договоров которым разрешена смена статуса
contract.status.<n>.groups=

Ну и потом либо тупо разрешаем список статусов:
Код:
# список разрешенных для этой группы статусов
contract.status.<n>.status=

Либо, по аналогии с дебетовыми абонплатами, разрешаем только 2 статуса:
Код:
# код активного статуса договора
contract.status.<n>.active=
# код заблокированного статуса договора
contract.status.<n>.locked=


Ну и, наверное, может понадобится ограничение на установку статусов, например нечто такое (опять же по аналогии):
Код:
contract.status.<n>.mindays=
contract.status.<n>.maxdays=


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2012, 15:05 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Все верно - этого достаточно. Спасибо большое за помощь. В 5.1 это уже было?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2012, 15:25 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
mikos писал(а):
В 5.1 это уже было?

Это только в моей голове пока есть ;)
Быть или не быть Будет это в БГБ или нет - вот в чем вопрос.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2012, 17:16 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Я не понимаю в чём проблема. По ссылке на документацию данной мной выше можно всё это очень лаконичным скриптом сделать. И не только это. Проверяем любые условия и запрещаем, разрешаем и всё что угодно остальное делаем. Я действительно не очень понимаю кто кого недопонял :lupa:

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2012, 17:24 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
dimOn писал(а):
По ссылке на документацию данной мной выше можно всё это очень лаконичным скриптом сделать. И не только это. Проверяем любые условия и запрещаем, разрешаем и всё что угодно остальное делаем.

Покажите человеку пример скрипта и он, наверное, будет счастлив.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2012, 17:36 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Мне лень писать даже. Там просто проверка любых условий и если что вдруг - запрет сметы статуса через выставление пустого списка дат.
Вы начните там писать, а я помогу если что. Или вопросы задайте конкретно что непонятно.

з.ы. все эти выдуманные выше параметры-ограничения можно этим способом реализовать через такой скрипт. Так что я суть всего обсуждения просто не понял, т.е. я думаю может я не понял что именно нужно в итоге?

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2012, 17:39 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
А как этим пользоваться? Задача по условию запретить смену статуса через web.

Цитата:
Смена статусов сопровождается событиями, как и при обычной смене статусов, не из Web. Только в событии ContractStatusChangingEvent устанавливается флаг isweb=true. Событие ContractStatusChangedEvent выполняется точно так же.

Список дат, которые будут отображаться регулируются событием GetContractStatusChangeDatesEvent. Если вернули список, то будет отображён список дат. Если не обработано событие, то будет дан выбор дня,месяца,года. Если же будет вернут пустой список, это означает, что смена статуса запрещена, о чём сообщится пользователю вместо выбора даты.


ЗЫ И версия 5.1. Я так понимаю там этого еще не было?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2012, 18:02 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Повесить на событие GetContractStatusChangeDatesEvent скрипт, в котором написать:

event.setDateList( new ArratList() )

всё, менять статус нельзя. и юзеру даже напишется это на странице. лично специально ж делал такое.

В 5.1 было.

http://bgbilling.ru/v5.1/javadoc/bitel/billing/server/script/bean/event/GetContractStatusChangeDatesEvent.html#setDateList(java.util.List)

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.103s | 81 Queries | GZIP : On ]