Переменные шаблона личного кабинета: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
Немає опису редагування
Немає опису редагування
Рядок 16: Рядок 16:
user_info.block_if_limit : отключать ли запись при достижении границы отключения
user_info.block_if_limit : отключать ли запись при достижении границы отключения
user_info.cstate        : техническое состояние (настроить/ремонт/вирусы...) в виде числа
user_info.cstate        : техническое состояние (настроить/ремонт/вирусы...) в виде числа
user_info.cstate_time    : время изменения поля cstate (timestamp)
user_info.comment        : комментарий
user_info.comment        : комментарий
user_info.lstate        : нужна авторизация/всегда онлайн
user_info.lstate        : нужна авторизация/всегда онлайн
user_info.discount      : скидка
user_info.discount      : скидка
user_info.dopdata        : дополнительные данные
user_info.services      : подключенные услуги
user_info.ips            : ip адреса
user_info.traf          : суммарный трафик
user_info.traf          : суммарный трафик
user_info.traf_in        : суммарный трафик к клиенту
user_info.traf_in        : суммарный трафик к клиенту
Рядок 30: Рядок 28:
user_info.in1            : входящий трафик направления 1
user_info.in1            : входящий трафик направления 1
user_info.out1          : исходящий трафик направления 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.ips            : платежи
</pre>
</pre>


'''user_info.dopdata''' - дополнительные поля учетной записи. Доступ осуществляется как:


id              : id учетной записи клиента
<pre>
name            : логин
user_info.dopdata._adr_street.show() : отображение поля _adr_street
pass            : пароль
user_info.dopdata._adr_street.value  : значение поля _adr_street
fio            : ФИО
</pre>
ppc            : платежный код
 
grp            : номер группы клиента
Вы должны учитывать то, что в базе данных иногда значения хранятся не так как отображаются. Например, поле "улица" в базе данных может храниться как номер улицы или как цепочка Город-улица (если используются зависимые выпадающие списки). Поэтому, скорее всего, вам нужно использовать метод show(), а не value.
grp_name        : имя группы
 
state          : on - доступ открыт, off - закрыт
В случае, если у вас подключен модуль dhcp, добавляется еще одна переменная:
state_off      : установлен если state равен off
 
contract        : договор
<pre>user_info.connection</pre>
contract_date  : дата договора (timestamp)
 
contract_date_as_text : дата договора в виде dd.mm.yyyy
В этой переменной хранится список соединений - это информация по ip и мак. Обычно, у абонента привязан один мак, поэтому его можно отобразить как:
balance        : баланс
 
limit_balance  : граница отключения
<pre>{{ user_info.connection.0.mac }}</pre>
block_if_limit  : отключать ли запись при достижении границы отключения
 
cstate          : техническое состояние (настроить/ремонт/вирусы...) в виде числа
Или, например, мак устройства, к которому подключен абонент:
comment        : комментарий
 
lstate          : нужна авторизация/всегда онлайн
<pre>{{ user_info.connection.0.device_mac }}</pre>
discount        : скидка
 
traf            : суммарный трафик
Здесь 0 - индекс соединения (нумерация с нуля). При этом вы должны учитывать, что на одну учетную запись может быть несколько соединений. Поэтому, чтобы отобразить их все, нужно воспользоваться командой for:
traf_in        : суммарный трафик к клиенту
 
traf_out        : суммарный трафик от клиента
<pre>{% for con in user_info.connection %}
traf1          : трафик в байтах направления 1
    Ваш мак: {{ con.mac }}<br>
...
{% endif %}</pre>
traf4          : трафик в байтах направления 4
 
in1            : входящий трафик направления 1
На самом деле, конфигурация соединений такова, что мак не обязательно будет присутствовать в случае, когда учетке выделен ip адрес,  но не привязан мак. Бывают и более сложные ситуации: привязано несколько ip и несколько мак. В этом случае, возможно есть смысл проверять, указан ли в соединении мак:
out1            : исходящий трафик направления 1
 
...
<pre>
dopdata         : дополнительные данные
{% for con in user_info.connection %}
services        : подключенные услуги
    {% if con.mac %}
ips            : ip адреса
         Ваш мак: {{ con.mac }}<br>
frozen_srv      : количество замороженных услуг
    {% endif %}
{% endif %}
</pre>

Версія за 12:13, 25 березня 2019

В шаблоне 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.ips            : платежи

user_info.dopdata - дополнительные поля учетной записи. Доступ осуществляется как:

user_info.dopdata._adr_street.show() : отображение поля _adr_street
user_info.dopdata._adr_street.value  : значение поля _adr_street

Вы должны учитывать то, что в базе данных иногда значения хранятся не так как отображаются. Например, поле "улица" в базе данных может храниться как номер улицы или как цепочка Город-улица (если используются зависимые выпадающие списки). Поэтому, скорее всего, вам нужно использовать метод show(), а не value.

В случае, если у вас подключен модуль 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>
{% endif %}

На самом деле, конфигурация соединений такова, что мак не обязательно будет присутствовать в случае, когда учетке выделен ip адрес, но не привязан мак. Бывают и более сложные ситуации: привязано несколько ip и несколько мак. В этом случае, возможно есть смысл проверять, указан ли в соединении мак:

{% for con in user_info.connection %}
    {% if con.mac %}
        Ваш мак: {{ con.mac }}<br>
    {% endif %}
{% endif %}