예제 #1
0
 /**
  * Save changes to an announcement type.
  * @param $args array
  * @param $request PKPRequest
  */
 function updateAnnouncementType($args, &$request)
 {
     // FIXME: Remove call to validate() when all ManagerHandler implementations
     // (across all apps) have been migrated to the authorize() authorization approach.
     $this->validate();
     $this->setupTemplate($request, true);
     $router =& $request->getRouter();
     import('classes.manager.form.AnnouncementTypeForm');
     $typeId = $request->getUserVar('typeId') == null ? null : (int) $request->getUserVar('typeId');
     $announcementTypeDao =& DAORegistry::getDAO('AnnouncementTypeDAO');
     if ($this->_announcementTypeIsValid($request, $typeId)) {
         $announcementTypeForm = new AnnouncementTypeForm($typeId);
         $announcementTypeForm->readInputData();
         if ($announcementTypeForm->validate()) {
             $announcementTypeForm->execute();
             if ($request->getUserVar('createAnother')) {
                 $request->redirectUrl($router->url($request, null, null, 'createAnnouncementType'));
             } else {
                 $request->redirectUrl($router->url($request, null, null, 'announcementTypes'));
             }
         } else {
             $templateMgr =& TemplateManager::getManager();
             $templateMgr->append('pageHierarchy', array($request->url(null, null, 'manager', 'announcementTypes'), 'manager.announcementTypes'));
             if ($typeId == null) {
                 $templateMgr->assign('announcementTypeTitle', 'manager.announcementTypes.createTitle');
             } else {
                 $templateMgr->assign('announcementTypeTitle', 'manager.announcementTypes.editTitle');
             }
             $announcementTypeForm->display();
         }
     } else {
         $request->redirectUrl($router->url($request, null, null, 'announcementTypes'));
     }
 }
 /**
  * Save changes to an announcement type.
  */
 function updateAnnouncementType()
 {
     $this->validate();
     $this->setupTemplate(true);
     import('manager.form.AnnouncementTypeForm');
     $typeId = Request::getUserVar('typeId') == null ? null : (int) Request::getUserVar('typeId');
     $announcementTypeDao =& DAORegistry::getDAO('AnnouncementTypeDAO');
     if ($this->_announcementTypeIsValid($typeId)) {
         $announcementTypeForm = new AnnouncementTypeForm($typeId);
         $announcementTypeForm->readInputData();
         if ($announcementTypeForm->validate()) {
             $announcementTypeForm->execute();
             if (Request::getUserVar('createAnother')) {
                 PKPRequest::redirect(null, null, 'createAnnouncementType');
             } else {
                 PKPRequest::redirect(null, null, 'announcementTypes');
             }
         } else {
             $templateMgr =& TemplateManager::getManager();
             $templateMgr->append('pageHierarchy', array(Request::url(null, null, 'manager', 'announcementTypes'), 'manager.announcementTypes'));
             if ($typeId == null) {
                 $templateMgr->assign('announcementTypeTitle', 'manager.announcementTypes.createTitle');
             } else {
                 $templateMgr->assign('announcementTypeTitle', 'manager.announcementTypes.editTitle');
             }
             $announcementTypeForm->display();
         }
     } else {
         PKPRequest::redirect(null, null, 'announcementTypes');
     }
 }