Class isp api::FormAction

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

Класс isp_api::FormAction

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

#include <action.h> 

Описание:

class isp_api::FormAction

class SimpleForm : public FormAction { 
public: 
    SimpleForm() : FormAction("form.simple", MinLevel(lvAdmin)) {} 
 
    virtual void Get(Session &ses, const string &elid) const { 
    } 
 
    virtual void Set(Session &ses, const string &elid) const { 
    } 
}; 

Родители:


Потомки:


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

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

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


virtual string type () const

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


virtual bool IsModify ( const Session &ses )

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

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

virtual void Execute ( Session &ses )

Метод, вызываемый при выполнении действия


virtual void ModuleExecute ( Session &ses )

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


virtual void Get ( Session &ses , const string &elid )

Вызывается перед показом формы


virtual void Set ( Session &ses , const string &elid )

Вызывается после закрытия формы кнопкой ОК


virtual void New ( Session &ses )

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


virtual void SetValues ( Session &ses , const string &name , const string &value )

Вызывается, если на форме есть поля с атрибутом setvalues="yes".

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

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

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

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

Методы

virtual string type () const

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

virtual bool IsModify ( const Session &ses )

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

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

virtual void Execute ( Session &ses )

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

Метод, вызываемый при выполнении действия

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

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

virtual void ModuleExecute ( Session &ses )

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

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

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

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

virtual void Get ( Session &ses , const string &elid )

Данная функция/метод является inline функцией

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

Вызывается перед показом формы

Вызывается перед отправкой данных формы на сторону клиента (и, соответственно, перед показом формы на экране) в данном методе можно реализовать заполнение полей формы некоторыми данными

Аргументы:
[inout] - ses Текущая сессия
See also: isp_api::Session
Аргументы:
[in] - elid Идентификатор элемента, для которого вызывается форма

virtual void Set ( Session &ses , const string &elid )

Данная функция/метод является inline функцией

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

Вызывается после закрытия формы кнопкой ОК

Вызывается после нажатия на ОК, в данный метод поступают значения всех полей; в данном методе можно реализовать сохранение данных.

Аргументы:
[inout] - ses Текущая сессия
See also: isp_api::Session
Аргументы:
[in] - elid Идентификатор элемента, для которого вызывается форма. Если пустая строка, то - новый элемент.

virtual void New ( Session &ses )

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

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

Вызывается после нажатия на ОК в случае, если форма открывалась для elid=""; работа данного метода аналогична методу Set(). В стандартной реализации данный метод производит вызов метода Set() с параметром elid="". Если метод переопределен в потомке, вызов Set() для новых элементов происходить не будет.

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

virtual void SetValues ( Session &ses , const string &name , const string &value )

Данная функция/метод является inline функцией

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

Вызывается, если на форме есть поля с атрибутом setvalues="yes".

Если на форме имеется хотя бы одно поле с атрибутом setvalues="yes", то при каждом изменении данного поля происходит вызов метода SetValues(), в котором можно реализовать изменение содержимого других полей.

Аргументы:
[inout] - ses Текущая сессия
See also: isp_api::Session
Аргументы:
[in] - name Имя поля, инициировавшего вызов метода
[in] - value Значение этого поля