forum.bitel.ru http://forum.bitel.ru/ |
|
Запрет изменения статуса договора абонентом http://forum.bitel.ru/viewtopic.php?f=22&t=7528 |
Страница 1 из 2 |
Автор: | mikos [ 12 дек 2012, 23:57 ] |
Заголовок сообщения: | Запрет изменения статуса договора абонентом |
Как запретить абоненту изменять свой статус договора из веб интерфеса? |
Автор: | snark [ 13 дек 2012, 00:31 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Убрать пункт меню (через редактирование xsl) и, если используется nginx, в нем запретить возможность открытия прямого URL, т.е. типа этого: Код: location / { proxy_pass http://127.0.0.1:8080; if ($args ~* (ChangePassword|ContractStatus)) { return 403; } } if, правда, зло и от него нужно избавляться. Где-то тут уже были конфиги (кажется даже я что-то выкладывал) - поищите. |
Автор: | Phricker [ 13 дек 2012, 00:33 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Запрет открытия прямого урла тоже можно в файле убрать. |
Автор: | mikos [ 13 дек 2012, 00:43 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
А средствами скриптов автоматизации? |
Автор: | mikos [ 13 дек 2012, 00:48 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
В общем проблема такая. Абонент в ЛК свой закрытый договор может приостановить, а затем сразу открыть. Имхо это похоже на дырку. |
Автор: | Phricker [ 13 дек 2012, 00:50 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
так вы совсем хотите закрыть изменение статуса через веб или все таки не совсем? |
Автор: | mikos [ 13 дек 2012, 00:53 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Не совсем. Только тем, у кого договор закрыт. Ну или может разработчики объяснят причину столь странного поведения? |
Автор: | Phricker [ 13 дек 2012, 00:56 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
раз http://wiki.bgbilling.ru/index.php/Приостановление_договора_клиентом_через_WEB два http://wiki.bgbilling.ru/index.php/Запрет_на_вход_в_личный_кабинет_с_закрытых_договоров три ![]() |
Автор: | mikos [ 13 дек 2012, 01:59 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Спасибо, как вариант подойдет, можно что-нибудь соорудить. Но все же есть надежда еще на разработчиков. Напильник особенно порадовал:) |
Автор: | skyb [ 13 дек 2012, 05:02 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
да выпилите из xsl и все |
Автор: | snark [ 13 дек 2012, 16:32 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
skyb писал(а): да выпилите из xsl и все Это не помешает особо пытливым напрямую открыть URL. |
Автор: | mikos [ 13 дек 2012, 16:49 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Да отломать то в конце концов можно. Только странно что разработчики молчат. Функционал то полезный и делать ему замену как-то странно для поддерживаемого продукта. Проще ведь закрыть дырку. |
Автор: | Phricker [ 13 дек 2012, 17:29 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
mikos писал(а): Да отломать то в конце концов можно. Только странно что разработчики молчат. Функционал то полезный и делать ему замену как-то странно для поддерживаемого продукта. Проще ведь закрыть дырку. Вторая ссылка какбэ намекает что ее и сделали разработчики. Мало ли вы лояльны к клиентам и хотите им оставлять возможность заходить в личный кабинет на закрытый договор, чтобы они могли смотреть новости ) |
Автор: | dimOn [ 13 дек 2012, 18:34 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Поясните, что именно непонятно в нижнем абзаце? http://bgbilling.ru/v5.2/doc/ch01s21s11.html |
Автор: | mikos [ 13 дек 2012, 21:31 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Прошу прощения, не до конца разобрался в ситуации. Проблема немного в другом. Это действительно работает: Цитата: Если статус договора не "активен" и не "suspended" - тоже не разрешена смена. Но, если у абонента договор не закрыт, то он может приостановить договор с будущей даты. Что из этого выходит - см. на сконшоте. Там же видно как абоненты этим пользуются. PS: Сегодня 13.12.2012. На скриншоте видно, что абонент приостанавливает с завтрашнего дня. Статус на сегодня автоматом ставится в активный. Баланс у него уже ниже лимита, но статус договора и шлюзы открыты. Вышел из закрытого статуса абонент с помощью понижения лимита на пару дней. |
Автор: | snark [ 14 дек 2012, 04:18 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Вы хотя бы смотрели в сторону того, что я и остальные писали выше или просто отбрасываете это все, как не нужное? Юзера оскорбило название тарифа и он Вам мстит ![]() |
Автор: | mikos [ 14 дек 2012, 04:26 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
snark, смотрел я конечно все о чем мне писали. Спасибо за помощь - методом отключения обязательно воспользуюсь, если решим писать доп.действие на приостановку договора. В данном случае я ответил разработчику, тк он показал мне на то, что нет баги о которой я начал в начале топика. Конечно же лучший выход обрабатывать приостановку на свое усмотрение, а штутную закрыть. Это будет в любом случае гибче. |
Автор: | dimOn [ 14 дек 2012, 11:54 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Ну теперь в итоге я не понял — надо полностью запретить или что? |
Автор: | mikos [ 14 дек 2012, 12:01 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Нужно запретить абоненту делать так, как он делает на скриншоте. |
Автор: | Phricker [ 14 дек 2012, 12:03 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
mikos писал(а): Нужно запретить абоненту делать так, как он делает на скриншоте. Цитата: Цитата: Скрипт должен реагировать на события "Получение списка доп. действий для WEB статистики" и "Обработка доп. действия для договора"
|
Автор: | dimOn [ 14 дек 2012, 12:11 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
mikos писал(а): Нужно запретить абоненту делать так, как он делает на скриншоте. а более чёткие критерии? |
Автор: | snark [ 17 дек 2012, 12:21 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Я думаю, что человеку будет достаточно, по аналогии с понижением лимита, чего нить такого: Код: # коды групп договоров которым разрешена смена статуса 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= |
Автор: | mikos [ 17 дек 2012, 15:05 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Все верно - этого достаточно. Спасибо большое за помощь. В 5.1 это уже было? |
Автор: | snark [ 17 дек 2012, 15:25 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
mikos писал(а): В 5.1 это уже было? Это только в моей голове пока есть ![]() |
Автор: | dimOn [ 17 дек 2012, 17:16 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Я не понимаю в чём проблема. По ссылке на документацию данной мной выше можно всё это очень лаконичным скриптом сделать. И не только это. Проверяем любые условия и запрещаем, разрешаем и всё что угодно остальное делаем. Я действительно не очень понимаю кто кого недопонял ![]() |
Автор: | snark [ 17 дек 2012, 17:24 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
dimOn писал(а): По ссылке на документацию данной мной выше можно всё это очень лаконичным скриптом сделать. И не только это. Проверяем любые условия и запрещаем, разрешаем и всё что угодно остальное делаем. Покажите человеку пример скрипта и он, наверное, будет счастлив. |
Автор: | dimOn [ 17 дек 2012, 17:36 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Мне лень писать даже. Там просто проверка любых условий и если что вдруг - запрет сметы статуса через выставление пустого списка дат. Вы начните там писать, а я помогу если что. Или вопросы задайте конкретно что непонятно. з.ы. все эти выдуманные выше параметры-ограничения можно этим способом реализовать через такой скрипт. Так что я суть всего обсуждения просто не понял, т.е. я думаю может я не понял что именно нужно в итоге? |
Автор: | mikos [ 17 дек 2012, 17:39 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
А как этим пользоваться? Задача по условию запретить смену статуса через web. Цитата: Смена статусов сопровождается событиями, как и при обычной смене статусов, не из Web. Только в событии ContractStatusChangingEvent устанавливается флаг isweb=true. Событие ContractStatusChangedEvent выполняется точно так же. Список дат, которые будут отображаться регулируются событием GetContractStatusChangeDatesEvent. Если вернули список, то будет отображён список дат. Если не обработано событие, то будет дан выбор дня,месяца,года. Если же будет вернут пустой список, это означает, что смена статуса запрещена, о чём сообщится пользователю вместо выбора даты. ЗЫ И версия 5.1. Я так понимаю там этого еще не было? |
Автор: | dimOn [ 17 дек 2012, 18:02 ] |
Заголовок сообщения: | Re: Запрет изменения статуса договора абонентом |
Повесить на событие 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) |
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |