Бланк настроек: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
Немає опису редагування
Немає опису редагування
Рядок 1: Рядок 1:
На странице редактирования данных абонента есть ссылка «Бланк настроек». При ее запуске будет сформирован документ по шаблону, который вы можете изменить под свои нужды. Напимер:
На странице редактирования данных абонента есть ссылка «Бланк настроек». При ее запуске будет сформирован документ по шаблону, который вы можете изменить под свои нужды. Например:
<br><br>
[[Файл:User blank.png|872px]]
[[Файл:User blank.png|872px]]
<br><br>
Залогиньтесь под суперадмином и в разделе «Документы» создайте папку с именем, например, «Шаблоны». Справа в поле «теги» обязательно введите «system».  Создайте документ с именем «Бланк настроек» и установите ему теги:


<pre>
<pre>
cd /usr/local/nodeny/
system
ee modules/MyNetwork/create.tmpl.user_blank.html
template=user_blank
role=admin
</pre>
</pre>


Вставляем текст
Вставьте текст:


<pre>
<pre>
Рядок 22: Рядок 27:
</pre>
</pre>


Установим файл вместо старого


<pre>
Откройте в браузере бланк настроек любого клиента и видим результат. Обратите внимание на '|safe' после имени переменной - это отфильтровка спецсимволов, которые могут исказить html.
perl install.pl -x
</pre>
Открываем в браузере бланк настроек любого клиента и видим результат. Обратите внимание на '|safe' после имени переменной - это отфильтровка спецсимволов, которые могут исказить html.


<pre>
<pre>
Рядок 90: Рядок 91:
</pre>
</pre>


Выведем подключенные услуги, но только из модуля inet_unlim
Выведите подключенные услуги, но только из модуля inet_unlim:


<pre>
<pre>
Рядок 100: Рядок 101:
</pre>
</pre>


Дополнительные поля. Отобразим улицу
Дополнительные поля. Отобразим улицу:


<pre>
<pre>
{{dopdata._adr_street.show()}}
{{dopdata._adr_street.show()}}
</pre>
</pre>

Версія за 14:05, 26 листопада 2019

На странице редактирования данных абонента есть ссылка «Бланк настроек». При ее запуске будет сформирован документ по шаблону, который вы можете изменить под свои нужды. Например:



Залогиньтесь под суперадмином и в разделе «Документы» создайте папку с именем, например, «Шаблоны». Справа в поле «теги» обязательно введите «system». Создайте документ с именем «Бланк настроек» и установите ему теги:

system
template=user_blank
role=admin

Вставьте текст:

#<ACTION> file=>'web/tmpl/user_blank.html',hook=>'new'
<!doctype html>
<html>
<head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head>
<body><pre>
id   : {{id}}
login: {{name|safe}}
fio  : {{fio|safe}}

</body>

</html>


Откройте в браузере бланк настроек любого клиента и видим результат. Обратите внимание на '|safe' после имени переменной - это отфильтровка спецсимволов, которые могут исказить html.

Доступные переменные
id              : id учетной записи клиента
name            : логин
pass            : пароль
fio             : ФИО
ppc             : платежный код
grp             : номер группы клиента
grp_name        : имя группы
state           : on - доступ открыт, off - закрыт
state_off       : установлен если state равен off
contract        : договор
contract_date   : дата договора (timestamp)
contract_date_as_text : дата договора в виде dd.mm.yyyy
balance         : баланс
limit_balance   : граница отключения
block_if_limit  : отключать ли запись при достижении границы отключения
cstate          : техническое состояние (настроить/ремонт/вирусы...) в виде числа
comment         : комментарий
lstate          : нужна авторизация/всегда онлайн
discount        : скидка
traf            : суммарный трафик
traf_in         : суммарный трафик к клиенту
traf_out        : суммарный трафик от клиента
traf1           : трафик в байтах направления 1
...
traf4           : трафик в байтах направления 4
in1             : входящий трафик направления 1
out1            : исходящий трафик направления 1
...
dopdata         : дополнительные данные
services        : подключенные услуги
ips             : ip адреса

Поля dopdata, services и ips содержат в себе другие поля, поскольку может быть подключено несколько услуг и ip.

ips содержит массив ip с такими данными
ip          : ip в текстовом виде, например, 10.100.4.8
ipn         : ip в числовом виде, например, 174326792
tm_auth     : время авторизации в секундах
start       : timestamp начала авторизации
last        : timestamp последнего сигнала авторизации
release     : timestamp когда будет освобожден динамический ip
            если не будет больше сигналов авторизации
properties  : параметры авторизации через запятую
auth        : 1 если авторизован
type        : тип (статический/динамический)

Большинство параметров ip вряд ли вам понадобится, но работать с ними мы должны уметь:

Все ip клиента: {% for i in ips %} Шаблон:I.ip (Шаблон:I.type){% endfor %} Возможно, возникнет необходимость отображать разные параметры, например шлюз или днс, в зависимости от того в какую сеть попадает данный ip. Для этого мы используем условия:

{% if ip.ipn >= inet.aton('10.0.0.0') && ip.ipn <= inet.aton('10.255.255.255') %}
    серый ip {% else %} белый ip
{% endif %}

Выведите подключенные услуги, но только из модуля inet_unlim:

{% for i in services %}
   {% if i.module eq 'inet_unlim' %}
        {{i.description}}<br>
   {% endif %}
{% endfor %}

Дополнительные поля. Отобразим улицу:

{{dopdata._adr_street.show()}}