В модуле Inet есть права: "Типы устройств -> Просмотр списка типов устройств" и "Группы устройств -> Просмотр дерева групп устройств". Если эти права пользователю не выставлены (через группы пользователей), то сервис на договоре не открывается и при этом не появляется никаких предупреждений. Т. е. кликаешь на сервисе два раза и ничего видимого не происходит. Если пользователю добавить эти права, то сервис начинает открываться.
Если у пользователя для примера убрать права "Типы сервисов -> Просмотр списка типов сервисов", то при открытии сервиса как и положено появляется окошко с ошибкой типа "Действие запрещено". Проблема именно с правами на устройства.
Причём эти права проверяются не зависимо от того, нужно ли указывать устройство в сервисе или нет.
Во время экспериментов в логе клиента появляется это:
Код:
java.lang.IllegalArgumentException: Last path component must be non-null
at javax.swing.tree.TreePath.<init>(Unknown Source)
at javax.swing.event.TreeModelEvent.<init>(Unknown Source)
at ru.bitel.common.client.treetable.DefaultBGTreeTableModel.fireTreeStructureChanged(DefaultBGTreeTableModel.java:148)
at ru.bitel.common.client.tree.BGCheckTreeModel.setChecked(BGCheckTreeModel.java:144)
at ru.bitel.common.client.tree.BGUCheckTree.setChecked(BGUCheckTree.java:62)
at ru.bitel.oss.systems.inventory.resource.client.device.DeviceFilter.setDeviceGroupIds(DeviceFilter.java:180)
at ru.bitel.bgbilling.modules.inet.api.client.InetDevicePanel.setFilter(InetDevicePanel.java:522)
at ru.bitel.bgbilling.modules.inet.api.client.contract.InetServForm.onInetServSelected(InetServForm.java:428)
at ru.bitel.bgbilling.modules.inet.api.client.contract.InetServForm.access$1(InetServForm.java:420)
at ru.bitel.bgbilling.modules.inet.api.client.contract.InetServForm$1.actionPerformed(InetServForm.java:147)
at javax.swing.JComboBox.fireActionEvent(Unknown Source)
at ru.bitel.common.client.BGUComboBox.fireActionEvent(BGUComboBox.java:514)
at javax.swing.JComboBox.setSelectedItem(Unknown Source)
at ru.bitel.common.client.BGUComboBox.setSelectedItem(BGUComboBox.java:367)
at ru.bitel.bgbilling.modules.inet.api.client.contract.InetServForm.performActionOpen(InetServForm.java:598)
at ru.bitel.bgbilling.modules.inet.api.client.contract.InetServForm$11.actionPerformedImpl(InetServForm.java:921)
at ru.bitel.common.client.AbstractBGUPanel.actionPerformed(AbstractBGUPanel.java:238)
at ru.bitel.common.client.AbstractBGUPanel$DefaultAction.actionPerformed(AbstractBGUPanel.java:92)
at ru.bitel.bgbilling.client.common.BGEditor.performAction(BGEditor.java:693)
at ru.bitel.common.client.AbstractBGUPanel.performAction(AbstractBGUPanel.java:536)
at ru.bitel.bgbilling.client.common.BGEditor.performAction(BGEditor.java:628)
at ru.bitel.common.client.AbstractBGUPanel.performAction(AbstractBGUPanel.java:531)
at ru.bitel.common.client.BGSwingUtilites$2.mouseClicked(BGSwingUtilites.java:382)
at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
P. S. Если кто захочет экспериментировать с правами, после изменения прав нужно как минимум переоткрыть вкладку с договором.