abstract class Backend_Controller_Crud (Базовый контроллер админ. панели)

Базовый класс для cсоздания контроллеров административных интерфейсов CRUD (создание редактирование обновление удаление) для объектов ORM (DVelum 0.9 и выше)

abstract class Backend_Controller_Crud extends Backend_Controller
{
   /**
    *  Список имен полей объекта  ORM  для отображения в основном списке (listAction)  может принисать значение * или массив  
    */
    protected $_listFields = '*';   

   /**
    * Получить список элементов. Возвращает JSON  ответ с данными * полей объектов ORM может накладывать фильтрацию,
    * пагинацию, поиск. В качестве результата отправляет  JSON  
    * ответ и  завершает работу приложения
    */
    public function listAction()

   /**
    * Получить данные объекта  ORM  
    * В качестве результата отправляет  JSON  
    * ответ и  завершает работу приложения
    */
    public function loaddataAction()

   /**
    * Подготовить данные для полей типа ссылка  на список объектов
    * принимает в качестве параметра  массив идентификаторов, расширяет данные 
    * в ключая в них заголовок объекта статус (удален не удален), 
    * статус публикации для объектов с ревизионных контролем (используется в дочерних классах )
    * Предоставляемые данные необходимы компоненту  RelatedGridPanel 
    * используемому для визуализации редактирования связей
    * @param array $data
    * @param string $objectName
    * @return array
    */
    protected function _collectLinksData(array $data , $objectName)

   /**
    * Создание / редактирование данных объекта.
    * Исходя из передаваемых параметров определяется тип операции. 
    * В качестве результата отправляет JSON ответ и * завершает работу приложения.
    */
    public function editAction()

   /**
    * Создание объекта.
    * В качестве результата отправляет JSON  ответ и
    * завершает работу приложения
    */
    public function createAction()

   /**
    * Обновление данных объекта.
    * В качестве результата отправляет JSON  ответ и
    * завершает работу приложения
    */
    public function updateAction()

   /**
    * Удаление объекта.
    * В качестве результата отправляет JSON  ответ и
    * завершает работу приложения
    */
    public function deleteAction()

   /**
    * Сохранить новый объект ORM  (вставка данных)
    * В качестве результата отправляет  JSON  ответ и
    * завершает работу приложения
    * @param Db_Object $object
    * @return void
    */
    public function insertObject(Db_Object $object)

   /**
    * Обновить данные объекта  ORM
    * В качестве результата отправляет  JSON  ответ и
    * завершает работу приложения
    * @param Db_Object $object
    */
    public function updateObject(Db_Object $object)
}

comments powered by Disqus