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

Базовый класс для реализации контроллеров CRUD (создание чтение обновление удаление).
Используется для работы с объектами ORM поддерживающми версионный контроль. (DVelum 0.9 и выше)

abstract class Backend_Controller_Crud_Vc extends Backend_Controller_Crud
{

   /**
    * Действие по умолчанию
    */
    public function indexAction()

   /**
    * Проверка прав на публикацию объекта
    */
    protected function _checkCanPublish()

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

   /**
    * Подготовить данные объета для отправки
    * @param Db_Object $object
    * @param integer $id
    * @param integer $version
    * @return array
    */
    protected function _loadData(Db_Object $object , $version)

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

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

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

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

   /**
    * Вычислить URL  адрес страницы предворительного просмотра
    * данных объекта (необходимо переопределить в дочернем классе 
    *  исходя из структуры приложения)
    * @param Db_Object $object
    * @return string
    */
    public function getStagingUrl(Db_Object $object)

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

comments powered by Disqus