Переменные шаблона личного кабинета: відмінності між версіями
Sv (обговорення | внесок) (Новая страница: «На всех страницах личного кабинета доступны такие переменные: <pre> id : id записи в…») |
Sv (обговорення | внесок) Немає опису редагування |
||
(Не показано 13 проміжних версій цього користувача) | |||
Рядок 1: | Рядок 1: | ||
В шаблоне base.html личного кабинета доступны такие переменные: | |||
<pre> | <pre> | ||
id | user_info.id : id пользователя | ||
user_info.name : логин | |||
user_info.fio : ФИО | |||
user_info.ppc : платежный код | |||
user_info.grp : номер группы клиента | |||
user_info.grp_name : имя группы | |||
user_info.state : on - доступ открыт, off - закрыт | |||
user_info.state_off : установлен если state равен off | |||
user_info.contract : договор | |||
user_info.contract_date : дата договора (timestamp) | |||
user_info.contract_date_as_text : дата договора в виде dd.mm.yyyy | |||
user_info.balance : баланс | |||
user_info.limit_balance : граница отключения | |||
user_info.block_if_limit : отключать ли запись при достижении границы отключения | |||
user_info.cstate : техническое состояние (настроить/ремонт/вирусы...) в виде числа | |||
user_info.cstate_time : время изменения поля cstate (timestamp) | |||
user_info.comment : комментарий | |||
user_info.lstate : нужна авторизация/всегда онлайн | |||
user_info.discount : скидка | |||
user_info.traf : суммарный трафик | |||
user_info.traf_in : суммарный трафик к клиенту | |||
user_info.traf_out : суммарный трафик от клиента | |||
user_info.traf1 : трафик в байтах направления 1 | |||
... | |||
user_info.traf4 : трафик в байтах направления 4 | |||
user_info.in1 : входящий трафик направления 1 | |||
user_info.out1 : исходящий трафик направления 1 | |||
user_info.recommended_pay : рекомендованная сумма платежа | |||
user_info.full_info : блок информации об абоненте для администратора | |||
user_info.dopdata : дополнительные данные | |||
user_info.services : подключенные услуги | |||
user_info.ips : ip адреса | |||
user_info.pays : платежи | |||
</pre> | </pre> | ||
==Дополнительные поля== | |||
user_info.dopdata - дополнительные поля учетной записи. Доступ осуществляется как: | |||
<pre> | |||
user_info.dopdata._adr_street.show() : отображение поля _adr_street | |||
user_info.dopdata._adr_street.value : значение поля _adr_street | |||
</pre> | |||
Вы должны учитывать то, что в базе данных иногда значения хранятся не так как отображаются. Например, поле «улица» в базе данных может храниться как номер улицы или как цепочка Город-улица (если используются зависимые выпадающие списки). Поэтому, скорее всего, вам нужно использовать метод show(), а не value. | |||
Отобразить имя поля: | |||
<pre> | |||
{{ user_info.dopdata._adr_street.title }} | |||
</pre> | |||
==Услуги== | |||
'''user_info.services''' | |||
<pre> | |||
service_id : id услуги | |||
title : имя услуги | |||
description : описание | |||
pay_id : id платежа, с которым связана данная услуга | |||
next_service_id : id следующей услуги | |||
module : модуль услуги (inet_unlim/basic/speed_up/omegatv) | |||
tm_start : время старта услуги (timestamp) | |||
tm_end : время окончания услуги (timestamp) | |||
</pre> | |||
<pre> | |||
{% for s in user_info.services %} | |||
У услуги <b>{{ s.title }}</b> описание: {{ s.description }}<br> | |||
{% endfor %} | |||
</pre> | |||
==Соединения== | |||
В случае, если у вас подключен модуль dhcp, добавляется еще одна переменная: | |||
<pre>user_info.connection</pre> | |||
В этой переменной хранится список соединений - это информация по ip и мак. Обычно, у абонента привязан один мак, поэтому его можно отобразить как: | |||
<pre>{{ user_info.connection.0.mac }}</pre> | |||
Или, например, мак устройства, к которому подключен абонент: | |||
<pre>{{ user_info.connection.0.device_mac }}</pre> | |||
Здесь 0 - индекс соединения (нумерация с нуля). При этом вы должны учитывать, что на одну учетную запись может быть несколько соединений. Поэтому, чтобы отобразить их все, нужно воспользоваться командой for: | |||
<pre>{% for con in user_info.connection %} | |||
Ваш мак: {{ con.mac }}<br> | |||
{% endfor %}</pre> | |||
На самом деле, конфигурация соединений такова, что мак не обязательно будет присутствовать в случае, когда учетке выделен ip адрес, но не привязан мак. Бывают и более сложные ситуации: привязано несколько ip и несколько мак. В этом случае, возможно есть смысл проверять, указан ли в соединении мак: | |||
<pre> | |||
{% for con in user_info.connection %} | |||
{% if con.mac %} | |||
Ваш мак: {{ con.mac }}<br> | |||
{% endif %} | |||
{% endfor %} | |||
</pre> | |||
Пример вывода полной информации по подключениям: | |||
<pre> | |||
{% for con in user_info.connection %} | |||
Ваш мак: {{ con.mac }}, ip: {{ con.ipa }}, ip как число: {{ con.ip }}, | |||
тип: {{ con.type }}, один на порту: {% if con.oneconnect %}Да{% endif %}<br> | |||
{% endfor %}</pre> |
Поточна версія на 14:50, 12 квітня 2021
В шаблоне base.html личного кабинета доступны такие переменные:
user_info.id : id пользователя user_info.name : логин user_info.fio : ФИО user_info.ppc : платежный код user_info.grp : номер группы клиента user_info.grp_name : имя группы user_info.state : on - доступ открыт, off - закрыт user_info.state_off : установлен если state равен off user_info.contract : договор user_info.contract_date : дата договора (timestamp) user_info.contract_date_as_text : дата договора в виде dd.mm.yyyy user_info.balance : баланс user_info.limit_balance : граница отключения user_info.block_if_limit : отключать ли запись при достижении границы отключения user_info.cstate : техническое состояние (настроить/ремонт/вирусы...) в виде числа user_info.cstate_time : время изменения поля cstate (timestamp) user_info.comment : комментарий user_info.lstate : нужна авторизация/всегда онлайн user_info.discount : скидка user_info.traf : суммарный трафик user_info.traf_in : суммарный трафик к клиенту user_info.traf_out : суммарный трафик от клиента user_info.traf1 : трафик в байтах направления 1 ... user_info.traf4 : трафик в байтах направления 4 user_info.in1 : входящий трафик направления 1 user_info.out1 : исходящий трафик направления 1 user_info.recommended_pay : рекомендованная сумма платежа user_info.full_info : блок информации об абоненте для администратора user_info.dopdata : дополнительные данные user_info.services : подключенные услуги user_info.ips : ip адреса user_info.pays : платежи
Дополнительные поля
user_info.dopdata - дополнительные поля учетной записи. Доступ осуществляется как:
user_info.dopdata._adr_street.show() : отображение поля _adr_street user_info.dopdata._adr_street.value : значение поля _adr_street
Вы должны учитывать то, что в базе данных иногда значения хранятся не так как отображаются. Например, поле «улица» в базе данных может храниться как номер улицы или как цепочка Город-улица (если используются зависимые выпадающие списки). Поэтому, скорее всего, вам нужно использовать метод show(), а не value.
Отобразить имя поля:
{{ user_info.dopdata._adr_street.title }}
Услуги
user_info.services
service_id : id услуги title : имя услуги description : описание pay_id : id платежа, с которым связана данная услуга next_service_id : id следующей услуги module : модуль услуги (inet_unlim/basic/speed_up/omegatv) tm_start : время старта услуги (timestamp) tm_end : время окончания услуги (timestamp)
{% for s in user_info.services %} У услуги <b>{{ s.title }}</b> описание: {{ s.description }}<br> {% endfor %}
Соединения
В случае, если у вас подключен модуль dhcp, добавляется еще одна переменная:
user_info.connection
В этой переменной хранится список соединений - это информация по ip и мак. Обычно, у абонента привязан один мак, поэтому его можно отобразить как:
{{ user_info.connection.0.mac }}
Или, например, мак устройства, к которому подключен абонент:
{{ user_info.connection.0.device_mac }}
Здесь 0 - индекс соединения (нумерация с нуля). При этом вы должны учитывать, что на одну учетную запись может быть несколько соединений. Поэтому, чтобы отобразить их все, нужно воспользоваться командой for:
{% for con in user_info.connection %} Ваш мак: {{ con.mac }}<br> {% endfor %}
На самом деле, конфигурация соединений такова, что мак не обязательно будет присутствовать в случае, когда учетке выделен ip адрес, но не привязан мак. Бывают и более сложные ситуации: привязано несколько ip и несколько мак. В этом случае, возможно есть смысл проверять, указан ли в соединении мак:
{% for con in user_info.connection %} {% if con.mac %} Ваш мак: {{ con.mac }}<br> {% endif %} {% endfor %}
Пример вывода полной информации по подключениям:
{% for con in user_info.connection %} Ваш мак: {{ con.mac }}, ip: {{ con.ipa }}, ip как число: {{ con.ip }}, тип: {{ con.type }}, один на порту: {% if con.oneconnect %}Да{% endif %}<br> {% endfor %}