Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Редактирование файлов

Файлы конфигурации, а также .xhtml-файлы можно редактировать. Однако, чтобы при очередном обновлении отредактированные файлы не перезаписались файлами из сборки, необходимо создать рядом файл с именем исходного файла плюс суффикс(расширение) .orig. Например, перед редактированием файла просто создайте его копию добавив окончание .orig. В этом случае при обновлении файл из сборки запишется не в исходный файл, а в файл .orig, а исходный, отредактированный вами останется без изменений.

Вход в личный кабинет с другой страницы

...

Или, для последнего случая, просто ссылкой:

Блок кода
languagexml
titleАутентификация по IP-адресу без страницы логина
<a href="lk.provider.ru/index.xhtml?authMode=ip">Личный кабинет</a>

Ссылка на страницу

В ссылке на личный кабинет можно указывать конкретную страницу (ядра и helpdesk), для этого в URL нужно указать параметр page со значением страницы, как она прописана в mybgbilling-menu.groovy. Например:

...

Страница будет открыта, только если к ней разрешен доступ в mybgbilling-menu.groovy.

Ограничение доступа

Для некоторых режимов аутетификации можно ограничить доступ к различным действиям и пунктам меню. Это может быть удобно, например, для режима аутентификации по IP-адресу. Для этого нужно указать в режиме аутентификации role = 'unauthCustomer':

Блок кода
languageruby
    modes = [
    	...
    	
    	authenticationMode {
     		mode = 'ip'
     		module = 'inet'
     		moduleId = 13
     		role = 'unauthCustomer'
     		//filter = { contract -> contractInGroup( contract, [4, 8, 15, 16, 23, 42] ) }
     	}
	]

В этому случае, если абонент аутентифицируется через данный режим, в mybgbilling-menu.groovy и mybgbilling-conf.groovy вызов isCustomer() будет возвращать false. Соответственно, например, данный пункт меню в этом случае будет недоступен абоненту:

Блок кода
languageruby
		// Тарифные опции
		menu( page: "kernel/tariffOptions", icon: "fa-cogs", title: "menu.tariffOptions", show: isCustomer() ),

Т.к. у него параметр show зависит от isCustomer(). А изменение лимита запрещено (даже если пункт меню "Лимит" доступен), т.к. в mybgbilling-conf.groovy указана зависимость:

Блок кода
languageruby
		// limit.xhtml
		limit {
			// возможность изменения лимита договора
			limitChange = { contract -> (contract.balanceMode == (byte)1) && isCustomer() }
		}