Example #1
0
 /**
  * New action
  *
  * @return void
  */
 public function newAction()
 {
     $pageForm = new Admin_Form_Page();
     $pageForm->setAction($this->baseUrl . '/admin/page/new');
     $pageForm->setAttrib('class', $pageForm->getAttrib('class') . ' columnar');
     $elmPageName = $pageForm->getElement('page_name');
     $elmPageName->addValidators(array(array('PagenameExistsNot', true)));
     $createPageGroup = $pageForm->getDisplayGroup('createPageGroup');
     $createPageGroup->setLegend($this->view->getTranslation('Create Page'));
     if (!$this->view->isAllowed('admin', 'page', 'publish')) {
         $pageForm->getElement('publish_pages')->setAttrib('disabled', 'disabled');
     }
     if ($this->_request->isPost() && $pageForm->isValid($_POST)) {
         $this->_setCreateOptions($pageForm->getValue('parent_id'), $pageForm->getElement('continue_adding_pages')->isChecked(), $pageForm->getValue('content_template'), $pageForm->getElement('show_on_menu')->isChecked(), $pageForm->getElement('publish_pages')->isChecked());
         $page = new Model_Page();
         $newPage = $page->createPage($pageForm->getValue('page_name'), $pageForm->getValue('parent_id'), $pageForm->getValue('content_template'), $pageForm->getElement('show_on_menu')->isChecked(), $pageForm->getElement('publish_pages')->isChecked());
         if ($newPage) {
             if ($pageForm->getElement('continue_adding_pages')->isChecked()) {
                 $url = 'admin/page/new';
             } else {
                 $url = 'admin/page/edit/id/' . $newPage->id;
             }
         } else {
             $url = 'admin/page';
             $e = new Digitalus_View_Error();
             $e->add($this->view->getTranslation('Sorry, there was an error adding your page'));
         }
         $formValues = $this->_getCreateOptions();
         $this->_redirect($url);
     } else {
         $formValues = $this->_getCreateOptions();
         $pageForm->getElement('parent_id')->setValue($formValues->parent_id);
         $pageForm->getElement('continue_adding_pages')->setValue($formValues->continue);
         $pageForm->getElement('publish_pages')->setValue($formValues->publish_pages);
         $pageForm->getElement('show_on_menu')->setValue($formValues->show_on_menu);
         $pageForm->getElement('content_template')->setValue($formValues->content_template);
     }
     $this->view->form = $pageForm;
 }