BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 мар 2024, 04:41

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




Начать новую тему Ответить на тему  [ Сообщений: 502 ] • Оценка темы: Оценок: 8, 6.00 средний балл.Оценок: 8, 6.00 средний балл.Оценок: 8, 6.00 средний балл.Оценок: 8, 6.00 средний балл.Оценок: 8, 6.00 средний балл.Оценок: 8, 6.00 средний балл.  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 17  След.
Автор Сообщение
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 29 сен 2015, 20:03 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Выложили обновление.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 29 сен 2015, 20:13 
Не в сети

Зарегистрирован: 26 авг 2014, 14:38
Сообщения: 88
Карма: 0
Да работает, но есть другая ошибка, при просмотре через личный кабинет Интернет --> Сессии
Код:
17:07:47,283 INFO  [ru.bitel.mybgbilling.kernel.contract.BalanceBean] (default task-17) /opt/wildfly/standalone
17:07:47,285 INFO  [ru.bitel.mybgbilling.kernel.contract.BalanceBean] (default task-17) /opt/wildfly
17:07:47,286 INFO  [ru.bitel.mybgbilling.kernel.contract.BalanceBean] (default task-17) /opt/wildfly/standalone
17:07:47,286 INFO  [ru.bitel.mybgbilling.kernel.contract.BalanceBean] (default task-17) /opt/wildfly/standalone/configuration
17:07:47,352 INFO  [stdout] (default task-17) [menu:ru.bitel.mybgbilling.kernel.menu.MenuItem@3c795b5d]
17:07:49,861 INFO  [ru.bitel.mybgbilling.kernel.navigation.NavigationBean] (default task-24) page=modules/inet/session => WEB-INF/content/modules/inet/session
17:07:49,862 INFO  [ru.bitel.mybgbilling.kernel.navigation.NavigationBean] (default task-24) moduleId=179
17:07:49,914 INFO  [ru.bitel.mybgbilling.modules.inet.InetBean] (default task-24) init
17:07:49,914 INFO  [ru.bitel.mybgbilling.modules.inet.InetBean] (default task-24) inetServTypeDirectory ru.bitel.bgbilling.kernel.directory.api.client.ClientDirectoryView@69dde81e
17:07:49,945 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (default task-24) Error Rendering View[/index.xhtml]: javax.el.ELException: /WEB-INF/content/modules/inet/session.xhtml @46,132 value="#{inetBean.inetServList}": javax.xml.ws.soap.SOAPFaultException: Проверка действий: модуль c кодом mid=179 не найден.
        at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114)
        at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
        at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
        at javax.faces.component.UISelectItems.getValue(UISelectItems.java:129)
        at com.sun.faces.renderkit.SelectItemsIterator.initializeItems(SelectItemsIterator.java:208)
        at com.sun.faces.renderkit.SelectItemsIterator.hasNext(SelectItemsIterator.java:135)
        at com.sun.faces.renderkit.html_basic.MenuRenderer.renderOptions(MenuRenderer.java:762)
        at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:847)
        at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:297)
        at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
        at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
        at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
        at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
        at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
        at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
        at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
        at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
        at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
        at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
        at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
        at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
        at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:582)
        at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
        at javax.faces.component.UIComponent.visitTree(UIComponent.java:1689)
        at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
        at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
        at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
        at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:403)
        at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:322)
        at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1004)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
        at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:430)
        at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
        at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
        at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:655)
        at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86)
        at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
        at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
        at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
        at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
        at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
        at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
        at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
        at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
        at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
        at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72)
        at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
        at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:282)
        at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:261)
        at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80)
        at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172)
        at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
        at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.ELException: javax.xml.ws.soap.SOAPFaultException: Проверка действий: модуль c кодом mid=179 не найден.
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:368)
        at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
        at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
        at com.sun.el.parser.AstValue.getValue(AstValue.java:140)
        at com.sun.el.parser.AstValue.getValue(AstValue.java:204)
        at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
        at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
        at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
        at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
        ... 76 more
Caused by: javax.xml.ws.soap.SOAPFaultException: Проверка действий: модуль c кодом mid=179 не найден.
        at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:160)
        at com.sun.proxy.$Proxy111.inetServList(Unknown Source)
        at ru.bitel.mybgbilling.modules.inet.InetBean.getInetServList(InetBean.java:122)
        at ru.bitel.mybgbilling.modules.inet.InetBean$Proxy$_$$_WeldSubclass.getInetServList(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:363)
        ... 84 more
Caused by: org.apache.cxf.binding.soap.SoapFault: Проверка действий: модуль c кодом mid=179 не найден.
        at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:86)
        at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:52)
        at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:41)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
        at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
        at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:140)
        at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:71)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
        at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:802)
        at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1645)
        at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1533)
        at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1336)
        at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
        at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:652)
        at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
        at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:516)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:425)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:326)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:279)
        at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
        at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:138)
        ... 92 more

Ругается на: Проверка действий: модуль c кодом mid=179 не найден. Если это относится к BGBilling то у нас модуль с другим кодом


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 29 сен 2015, 20:17 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Да, забыл дописать - сейчас пока меню прописывается в WEB-INF/mybgbilling-menu.groovy
И там же указан код модуля Inet для пунктов меню. Нужно поменять 179 на ваш ID и запустить mybgbilling_reload.sh

Соответственно лучше сразу создать файлики
mybgbilling-conf.groovy.orig
mybgbilling-menu.groovy.orig


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 29 сен 2015, 20:51 
Не в сети

Зарегистрирован: 26 авг 2014, 14:38
Сообщения: 88
Карма: 0
Amir, спасибо, вопрос вот какой, возможно ли использовать адрес страницы без /my не используя nginx, где порт поменять понятно, поменять /my на что-то другое, думаю тоже не проблема, а вот убрать и чтобы не запускалась страница Welcome to WildFly 9 не нашел


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 29 сен 2015, 21:12 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Попробуйте в WEB-INF/jboss-web.xml поменять /my на / и выполнить mybgbilling_reload.sh.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 29 сен 2015, 21:25 
Не в сети

Зарегистрирован: 26 авг 2014, 14:38
Сообщения: 88
Карма: 0
Получилось, в прошлый раз менял, не отработало так


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 29 сен 2015, 21:36 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Проверьте что после перезапуска wildfly нормально отрабатывает.
Есть еще настройки за это отвечающие:
http://stackoverflow.com/questions/2410 ... cation-war
https://developer.jboss.org/thread/2429 ... 0&tstart=0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 29 сен 2015, 21:47 
Не в сети

Зарегистрирован: 26 авг 2014, 14:38
Сообщения: 88
Карма: 0
Перезапустил, все работает, если будут проблемы, внесу изменения как по ссылкам


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 02 окт 2015, 17:24 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
а подскажите какой функционал уже есть в ЛК ? какие платежные системы прикручены?

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 02 окт 2015, 19:38 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Ядро и Inet (не полностью).
Paymaster.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 08 окт 2015, 12:02 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
как обновлять это приложение?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 08 окт 2015, 15:44 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
В последнем архиве вместе с wildfly в папке bin скрипты mybgbilling-*.sh


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 09 окт 2015, 01:31 
Не в сети
Клиент

Зарегистрирован: 30 авг 2013, 03:37
Сообщения: 183
Карма: 12
Колоссальный объем в 140М - при сервере в 70М !!!!
Интересно что туда такого весомого вложили ???

_________________
BGBilling 7.1.xxxx+BGCRM, update от ВЧЕРА, Ubuntu 17.04 64bit, JAVA 1.8.xxxx


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 19 окт 2015, 20:47 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
В полном архиве - сервер приложений Java EE Wildfly (JBoss).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 20 окт 2015, 16:34 
Не в сети

Зарегистрирован: 07 май 2008, 13:34
Сообщения: 594
Откуда: Москва
Карма: 27
На сколько я понял новый ЛК является клиентом по отношению к серверу биллинга, а не его частью, с сервером он общается через webServices и для его работы выделяется отдельный login/password.
Как следствие внутренний параноик хочет знать необходимый и достаточный набор прав для этого пользователя.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 20 окт 2015, 20:17 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Клиентом является серверная часть нового ЛК.

Пока нет такого списка, к тому же он будет расширяться.
Можно попробовать все запретить и разрешать те действия, на которые будет ругаться в ЛК.

Скорее всего в итоге будем добавлять специального пользователя "Пользователь" с ID=-1, т.к. во многих логах userId==-1 означает что действие выполнено через ЛК.
И с какой-нибудь дополнительной проверкой IP-адреса, с которого идет запрос.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 20 окт 2015, 21:20 
Не в сети

Зарегистрирован: 07 май 2008, 13:34
Сообщения: 594
Откуда: Москва
Карма: 27
Amir писал(а):
И с какой-нибудь дополнительной проверкой IP-адреса, с которого идет запрос.

Так суть не в том что можно залогиниться откуда угодно, а в том что ЛК торчит наружу и не факт что там не окажется дыры. Ограничение прав добавляет немного спокойствия.

Поставил, запустил, все заработало. На первый взгляд пепелац слишком монстрообразный для ЛК, и речь не о мегабайтах, порог вхождения очень высокий. Ведь ЛК такая штука где каждый клиент (оператор) хочет реализовать что то свое, не только лого поменять. С одной стороны никто не мешает реализовать все что захочется, пишем свои классы, рисуем xhtml, с другой стороны решения среднестатистического ISP уровня wordpress, а тут j2ee/jsp в полный рост.
Выходит вы тут выступаете в роли локомотива, продвигаете enterprise решения среди ISP :)

Хочу сам немного сориентироваться, поправьте если я не прав. Вы пишите свои классы под wildfly, которые по сути являются поставщиками данных, получают их из bgb через WebServices (soap) и затем эти данные можно визуализировать - xhtml. Учитывая что многие клиенты озадачатся собственным дизайном ЛК понадобится большая гибкость этих классов и подробная документация. Вот, например, я сразу обратил внимание на "ИНТЕРНЕТ" в sidebar menu, кастомизировать это пока нельзя?
Если требуется добавить что то в ЛК, то я должен написать свои классы (покурив предварительно документацию на wildfly) и добавить их в контент. Это надо отдельный "war" делать или как то добавлять в MyBGBilling.war ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 03 ноя 2015, 05:17 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Чтобы могли сильно менять внешний вид, не сильно влезая в наш код, мы прикрутили bootstrap.
В сложных случаях нужно будет менять layout.xhtml.

По поводу меню - будет возможность менять, пока не решили как.

Контент каждой странички - отдельный xhtml, например, WEB-INF/content/kernel/status.xhtml.
Классы-"поставщики данных" могут быть использованы в любом xhtml (т.е. нет привязки одна страница - один поставщик).
Но конкретно сейчас для каждой страницы есть свой класс, плюс она может использовать другие.

Можете посмотреть тот же status.xhtml из последней сборки - убрали там всё лишнее, стало близко к обычному html.
Вот StatusBean.class, с которым эта страница работает через #{statusBean. ...}
Код:
package ru.bitel.mybgbilling.kernel.contract;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Collections;
import java.util.Date;
import java.util.List;

import javax.enterprise.context.ConversationScoped;
import javax.inject.Named;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.kernel.contract.api.common.bean.ContractStatus;
import ru.bitel.bgbilling.kernel.contract.api.common.service.ContractStatusService;
import ru.bitel.bgbilling.kernel.contract.api.common.service.ContractStatusService.ContractStatusChangeParameters;
import ru.bitel.bgbilling.kernel.contract.status.common.bean.Status;
import ru.bitel.bgbilling.kernel.directory.api.common.Directory;
import ru.bitel.common.function.Lazy;
import ru.bitel.mybgbilling.kernel.common.AbstractConversationBean;
import ru.bitel.mybgbilling.kernel.common.inject.BGInject;
import ru.bitel.mybgbilling.kernel.common.inject.BGInjection;
import bitel.billing.common.TimeUtils;

@Named
@ConversationScoped
@BGInjection
public class StatusBean
   extends AbstractConversationBean
   implements Serializable
{
   private static final Logger logger = LoggerFactory.getLogger( StatusBean.class );

   @BGInject
   private ContractStatusService contractStatusService;

   @BGInject(type = Status.class)
   private Directory<Status> statusDirectory;

   private Lazy<List<ContractStatus>> contractStatusList;

   private Lazy<ContractStatusChangeParameters> contractStatusChangeParameters;

   private Date changeDate;

   @Override
   protected void init()
      throws BGException
   {
      super.init();

      populate();
   }

   public String getStatusTitle( int id )
      throws BGException
   {
      Status status = statusDirectory.get( id );
      if( status != null )
      {
         return status.getTitle();
      }

      return null;
   }

   public Date getChangeDate()
   {
      return changeDate;
   }

   public void setChangeDate( Date changeDate )
      throws BGException
   {
      if( changeDate != null )
      {
         final ContractStatusChangeParameters params = getContractStatusChangeParameters();

         if( params.getDate() != null )
         {
            if( TimeUtils.dateBefore( changeDate, params.getDate() ) )
            {
               changeDate = params.getDate();
            }
         }
         else if( params.getDateList() != null && params.getDateList().size() > 0 )
         {
            changeDate = params.getDateList().get( 0 );
         }
         else if( changeDate.toInstant().atZone( ZoneId.systemDefault() ).toLocalDate().compareTo( LocalDate.now() ) > 0 )
         {
            changeDate = null;
         }
      }

      this.changeDate = changeDate;
   }

   public List<ContractStatus> getContractStatusList()
      throws BGException
   {
      return contractStatusList.get();
   }

   public ContractStatusChangeParameters getContractStatusChangeParameters()
      throws BGException
   {
      return contractStatusChangeParameters.get();
   }

   public void populate()
      throws BGException
   {
      customerBean.populate();

      contractStatusList = Lazy.of( ( ) -> reverse( contractStatusService.contractStatusList( getContractId(), null ) ) );

      contractStatusChangeParameters = Lazy.of( ( ) -> contractStatusService.contractStatusChangeParametersGet( getContractId() ) );
   }

   public void changeStatus( int status, Date date, String comment )
      throws BGException
   {
      logger.debug( "changeStatus" );

      ContractStatus contractStatus = new ContractStatus();
      contractStatus.setContractId( getContractId() );
      contractStatus.setStatus( status );
      contractStatus.setDateFrom( date );
      contractStatus.setDateTo( null );
      contractStatus.setComment( comment != null ? comment : "Изменено абонентом" );

      contractStatusService.contractStatusChange( contractStatus, true );

      changeDate = null;

      populate();
   }

   public void cancelStatus( String comment )
      throws BGException
   {
      logger.debug( "cancelStatus" );

      ContractStatus contractStatus = new ContractStatus();
      contractStatus.setContractId( getContractId() );
      contractStatus.setStatus( customerBean.getContract().getStatus() );
      contractStatus.setDateFrom( new Date() );
      contractStatus.setDateTo( null );
      contractStatus.setComment( comment != null ? comment : "Изменено абонентом (отмена смены статуса)" );

      contractStatusService.contractStatusChange( contractStatus, true );

      changeDate = null;

      populate();
   }
}

Как видите, почти ничего лишнего - поля формы (с getter'ами и setter'ами) и методы, которые можно вызывать.
Чем мне нравится JSF, что там нельзя вызвать метод (ни через post, ни через javascript), если вызов не прописан в .jsf/.xhtml.
http://stackoverflow.com/questions/3710 ... st-or-some
http://stackoverflow.com/questions/9619 ... javascript
http://stackoverflow.com/questions/1105 ... t-rendered


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 08 ноя 2015, 21:38 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Amir писал(а):
Ядро и Inet (не полностью).
Paymaster.

а есть какие то перспективы по срокам? или скорее всего это будет не в 6.2?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 09 ноя 2015, 19:09 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
По срокам, когда станет официально не бета-версией или когда будет поддерживать все модули?
Добавлять поддержку модулей будем постепенно, по запросам. Например, сейчас в очереди voiceip и helpdesk.
Не бета-версией станет, думаю, в январе. С 6.2 будет работать, но возможно не все модули будут поддерживаться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 09 ноя 2015, 20:05 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
так, я только подтянул до 6.2) может все будут?)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 09 ноя 2015, 20:41 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Прям все наши модули используете? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 09 ноя 2015, 23:48 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Amir писал(а):
По срокам, когда станет официально не бета-версией или когда будет поддерживать все модули?
...
Не бета-версией станет, думаю, в январе. С 6.2 будет работать, но возможно не все модули будут поддерживаться.

интересует поддержка моудлей rentsoft, tv. есть ли перспективы по этим модулям в 6.2 версии?

в январе это хорошо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 10 ноя 2015, 17:40 
Не в сети

Зарегистрирован: 26 авг 2014, 14:38
Сообщения: 88
Карма: 0
Добрый день, Amir
В новом личном кабинете текст новости отображается не полностью в отличии от стандартного web-интерфейса пользователя, есть ли какие-нибудь ограничения на данный момент?
Из пожеланий поддержки модулей, HelpDesk, RentSoft


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 10 ноя 2015, 18:17 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Отправьте в личку как выглядит текст новости в клиенте биллинга.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 11 ноя 2015, 12:57 
Не в сети

Зарегистрирован: 26 авг 2014, 14:38
Сообщения: 88
Карма: 0
Amir, отправил в личку


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 15 ноя 2015, 07:29 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Поставил последнюю версию.
1) Договора являющиеся суб договорами не находит :(
2) В папке bin/init.d нет юнита для systemd, хотя в образах виртуальных машин он есть :( добавьте пожалуйста
3) Поменял id модуля inet но на всех пунктах выдает ошибку NullPointerException, лог во вложении
Вложение:
wildfly.log [77.46 КБ]
Скачиваний: 509

P.S. В папке bin/service/ смотрю лежат файлы для windows, может не стоит давать такой возможности?
Цитата:
Следует учитывать, что ОС семейства Windows не являются оптимальными для запуска серверных приложений. Их применение снижает производительность дисковой подсистемы и оптимальность использования ресурсов аппаратуры. Кроме того, операционные системы данной серии менее гибко управляемы. Для запуска высоконагруженных биллинговых систем используйте ОС *NIX семейств. Ещё одним негативным фактором использования Windows является усложнение предоставления тех. поддержки по причине отсутствия полноценного shell доступа.
ОС семейства Windows НЕ РЕКОМЕНДУЮТСЯ разработчиками BGBilling для установки серверной части программы, однако хорошо подходят для запуска клиентского приложения.

Windows-prepare_for_windows


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 15 ноя 2015, 14:22 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Цитата:
P.S. В папке bin/service/ смотрю лежат файлы для windows, может не стоит давать такой возможности?
Тем не менее некоторая часть клиентов держит серверные приложения на винде.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 15 ноя 2015, 14:23 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
И это не есть хорошо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web-кабинет клиента
СообщениеДобавлено: 19 ноя 2015, 20:08 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Добавьте пожалуйста PSB и QIWI
P.S а знак $ в балансе так и задуман?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 502 ] • Оценка темы: Оценок: 8, 6.00 средний балл.Оценок: 8, 6.00 средний балл.Оценок: 8, 6.00 средний балл.Оценок: 8, 6.00 средний балл.Оценок: 8, 6.00 средний балл.Оценок: 8, 6.00 средний балл.  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 17  След.

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

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