Class isp api::ListAction

Материал из ISPWiki
Перейти к: навигация, поиск

Класс isp_api::ListAction

Данный класс является абстрактным

Класс для работы со списками

#include <action.h> 

Описание:

class isp_api::ListAction

class TestListAction : public ListAction { 
public: 
    TestListAction() : ListAction("lists.testlist", MinLevel(lvUser)) {} 
 
    virtual void List(Session &ses) const { 
        ses.xml.RemoveNodes("//"); 
        for (int i = 0; i < LIST_ROWCOUNT; ++i) { 
            ses.NewElem(); 
            ses.AddChildNode("id", str::Str(i + 1)); 
            ses.AddChildNode("data_field", "data_" + string(((i < 10) ? "0" : "")) + str::Str(i + 1)); 
 
            ses.AddChildNode("indicator_field_total", "100"); 
            ses.AddChildNode("indicator_field_used", str::Str((10 * i) % 100)); 
 
            ses.AddChildNode("msg_field", "test" + str::Str(i % 5 + 1)); 
            ses.AddChildNode(string("p_" + str::Str(i % 5 + 1)).c_str(), "off"); 
        } 
    } 
}; 
 
MODULE_INIT(testListaction, "") { 
    new TestListAction(); 
} 

Родители:


Потомки:


Открытые члены (кратко)

ListAction ( const string &name , AccessMask accessMask , const Action * parent = nullptr )

Конструктор класса


virtual string type () const

Возвращает строку с типом действия (в данном случае - "list")


virtual bool IsModify ( const Session &ses )

Изменит ли эта функция какие-нибудь данные

Защищённые члены (кратко)

virtual void ModuleExecute ( Session &ses )

Вызывается при выполнении модуля


virtual void List ( Session &ses )

Заполнение списка значениями


virtual void BuildMetadata ( Session &ses )

Сформировать метаданные списка


virtual string ActiveHint ( Session &ses , const string &elid , const string &prop_name , const string &value )

Получить описание для свойства (prop/xprop)


virtual void HasRecord ( Session &ses , const string &plid , const string &elid , const string &record )

Проверяет наличие в списке строки с определенным id.

Конструкторы

ListAction ( const string &name , AccessMask accessMask , const Action * parent = nullptr )

Конструктор класса

Аргументы:
[in] - name Имя функции, к которой привязано данное действие
[in] - accessMask Уровень доступа пользователя
See also: mgr_access::AccessMask
Аргументы:
[in] - parent Указатель на родительское действие

Методы

virtual string type () const

Возвращает строку с типом действия (в данном случае - "list")

virtual bool IsModify ( const Session &ses )

Изменит ли эта функция какие-нибудь данные

По умолчанию считается, что изменит. Если функция возвращает false при ее вызове игнорируется REFERER запроса

virtual void ModuleExecute ( Session &ses )

Данный метод является защищённым

Вызывается при выполнении модуля

Вызывается при выполнении модуля; должен быть реализован в классе-потомке

Аргументы:
[inout] - ses Текущая сессия
See also: isp_api::Session

virtual void List ( Session &ses )

Данный метод является защищённым

Заполнение списка значениями

В данном методе необходимо реализовать заполнение списка с помощью методов класса Session

Аргументы:
[inout] - ses Текущая сессия
See also: isp_api::Session

virtual void BuildMetadata ( Session &ses )

Данный метод является защищённым

Сформировать метаданные списка

В данном методе необходимо сформировать метаданные списка, если они строятся динамически

Аргументы:
[inout] - ses Текущая сессия
See also: isp_api::Session

virtual string ActiveHint ( Session &ses , const string &elid , const string &prop_name , const string &value )

Данный метод является защищённым

Получить описание для свойства (prop/xprop)

Полученная строка будет подставлена в соответствующее сообщение hint_XXX вместо value

Warning: Вы должны контролировать доступ к строке самостоятельно. Пользователь может через API получить информацию об объектах, которые ему недоступны. Доступ к prop/xprop будет проверен автоматически.
Аргументы:
[in] - elid идентификатор строки
[in] - prop_name имя свойства
[in] - value значение свойства
Returned: строка с описанием

virtual void HasRecord ( Session &ses , const string &plid , const string &elid , const string &record )

Данный метод является защищённым

Проверяет наличие в списке строки с определенным id.

Используется для контроля доступа к записям. При проверке к списку применяются фильтры, установленные через функции контроля доступа. По умолчанию вызывает метод List

Аргументы:
[in] - plid/elid идентификатор в родительском списке
[in] - record идентификатор искомой записи
Returned: Метод должен заполнить xml сессии аналогично тому, как это делает List. При этом список может содержать лишь искомую запись, все остальные узлы elem будут проигнорированны. Так же, xml должен содержать узел plid с идентификатором родительского списка, если он есть.