Бланк настроек: відмінності між версіями
Sv (обговорення | внесок) м (Защищена страница «Бланк настроек» ([Редактирование=Разрешено только администраторам] (бессрочно) [Переименование=Разрешено только ад…) |
Sv (обговорення | внесок) Немає опису редагування |
||
(Не показано 8 проміжних версій цього користувача) | |||
Рядок 1: | Рядок 1: | ||
На странице редактирования данных абонента есть ссылка «Бланк настроек». При ее запуске будет сформирован документ по шаблону, который вы можете изменить под свои нужды | На странице редактирования данных абонента есть ссылка «Бланк настроек». При ее запуске будет сформирован документ по шаблону, который вы можете изменить под свои нужды. Например: | ||
<br><br> | |||
[[Файл:User blank.png|872px]] | [[Файл:User blank.png|872px]] | ||
<br><br> | |||
Залогиньтесь под суперадмином и в разделе «Документы» создайте папку с именем, например, «Шаблоны». Справа в поле «теги» обязательно введите «system». Создайте документ с именем «Бланк настроек» и установите ему теги: | |||
<pre> | |||
system | |||
template=user_blank | |||
role=admin | |||
</pre> | |||
Вставьте текст: | |||
<pre> | |||
<html> | |||
<head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head> | |||
<body><pre> | |||
id : {{id}} | |||
login: {{name|safe}} | |||
fio : {{fio|safe}} | |||
</pre></body> | |||
</html> | |||
</pre> | |||
Откройте в браузере бланк настроек любого клиента и увидите результат из трех строк. Обратите внимание на '|safe' после имени переменной - это отфильтровка спецсимволов, которые могут исказить html. | |||
<pre> | |||
Доступные переменные | |||
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 адреса | |||
</pre> | |||
Поля dopdata, services и ips содержат в себе другие поля, поскольку может быть подключено несколько услуг и ip. ips содержит массив ip с такими данными: | |||
<pre> | |||
ip : ip в текстовом виде, например, 10.100.4.8 | |||
ipn : ip в числовом виде, например, 174326792 | |||
tm_auth : время авторизации в секундах | |||
start : timestamp начала авторизации | |||
last : timestamp последнего сигнала авторизации | |||
release : timestamp когда будет освобожден динамический ip | |||
если не будет больше сигналов авторизации | |||
properties : параметры авторизации через запятую | |||
auth : 1 если авторизован | |||
type : тип (статический/динамический) | |||
</pre> | |||
Большинство параметров ip вряд ли вам понадобится, но работать с ними мы должны уметь: | |||
Все ip клиента: | |||
<pre> | |||
{% for ip in ips %} {{ip.ip}} ({{ip.type}}){% endfor %} | |||
</pre> | |||
Возможно, возникнет необходимость отображать разные параметры, например шлюз или днс, в зависимости от того в какую сеть попадает данный ip. Для этого мы используем условия: | |||
<pre> | |||
{% for ip in ips %} | |||
{{ip.ip}} ({{ip.type}}) | |||
{% if ip.ipn >= inet.aton('10.0.0.0') && ip.ipn <= inet.aton('10.255.255.255') %} | |||
серый ip {% else %} белый ip | |||
{% endif %} | |||
{% endfor %} | |||
</pre> | |||
Выведите подключенные услуги, но только из модуля inet_unlim: | |||
<pre> | |||
{% for i in services %} | |||
{% if i.module eq 'inet_unlim' %} | |||
{{i.description}}<br> | |||
{% endif %} | |||
{% endfor %} | |||
</pre> | |||
Дополнительные поля. Отобразим улицу: | |||
<pre> | |||
{{dopdata._adr_street.show()}} | |||
</pre> |
Поточна версія на 14:13, 26 листопада 2019
На странице редактирования данных абонента есть ссылка «Бланк настроек». При ее запуске будет сформирован документ по шаблону, который вы можете изменить под свои нужды. Например:
Залогиньтесь под суперадмином и в разделе «Документы» создайте папку с именем, например, «Шаблоны». Справа в поле «теги» обязательно введите «system». Создайте документ с именем «Бланк настроек» и установите ему теги:
system template=user_blank role=admin
Вставьте текст:
<html> <head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head> <body><pre> id : {{id}} login: {{name|safe}} fio : {{fio|safe}} </pre></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 ip in ips %} {{ip.ip}} ({{ip.type}}){% endfor %}
Возможно, возникнет необходимость отображать разные параметры, например шлюз или днс, в зависимости от того в какую сеть попадает данный ip. Для этого мы используем условия:
{% for ip in ips %} {{ip.ip}} ({{ip.type}}) {% if ip.ipn >= inet.aton('10.0.0.0') && ip.ipn <= inet.aton('10.255.255.255') %} серый ip {% else %} белый ip {% endif %} {% endfor %}
Выведите подключенные услуги, но только из модуля inet_unlim:
{% for i in services %} {% if i.module eq 'inet_unlim' %} {{i.description}}<br> {% endif %} {% endfor %}
Дополнительные поля. Отобразим улицу:
{{dopdata._adr_street.show()}}