IssueForm::fetch PHP Method

fetch() public method

Fetch the form.
public fetch ( $request )
    function fetch($request)
    {
        $templateMgr = TemplateManager::getManager($request);
        $journal = $request->getJournal();
        // set up the accessibility options pulldown
        $templateMgr->assign('enableDelayedOpenAccess', $journal->getSetting('enableDelayedOpenAccess'));
        $templateMgr->assign('accessOptions', array(ISSUE_ACCESS_OPEN => __('editor.issues.openAccess'), ISSUE_ACCESS_SUBSCRIPTION => __('editor.issues.subscription')));
        if ($this->issue) {
            $templateMgr->assign('issue', $this->issue);
            $templateMgr->assign('issueId', $this->issue->getId());
        }
        // Cover image preview
        $locale = AppLocale::getLocale();
        $coverImage = $this->issue ? $this->issue->getCoverImage($locale) : null;
        // Cover image delete link action
        if ($coverImage) {
            import('lib.pkp.classes.linkAction.LinkAction');
            import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
            $router = $request->getRouter();
            $deleteCoverImageLinkAction = new LinkAction('deleteCoverImage', new RemoteActionConfirmationModal($request->getSession(), __('common.confirmDelete'), null, $router->url($request, null, null, 'deleteCoverImage', null, array('coverImage' => $coverImage, 'issueId' => $this->issue->getId())), 'modal_delete'), __('common.delete'), null);
            $templateMgr->assign('deleteCoverImageLinkAction', $deleteCoverImageLinkAction);
        }
        return parent::fetch($request);
    }

Usage Example

Example #1
0
 /**
  * Update a issue
  * @param $args array
  * @param $request PKPRequest
  * @return string Serialized JSON object
  */
 function updateIssue($args, $request)
 {
     $issue = $this->getAuthorizedContextObject(ASSOC_TYPE_ISSUE);
     import('controllers.grid.issues.form.IssueForm');
     $issueForm = new IssueForm($issue);
     $issueForm->readInputData();
     if ($issueForm->validate($request)) {
         $issueId = $issueForm->execute($request);
         return DAO::getDataChangedEvent($issueId);
     } else {
         $json = new JSONMessage(true, $issueForm->fetch($request));
         return $json->getString();
     }
 }