16 import(
'lib.pkp.classes.submission.form.PKPSubmissionSubmitStep1Form');
30 function fetch($request, $template =
null, $display =
false) {
32 $user = $request->getUser();
33 $canSubmitAll = $roleDao->userHasRole($this->context->getId(), $user->getId(), ROLE_ID_MANAGER) ||
34 $roleDao->userHasRole($this->context->getId(), $user->getId(), ROLE_ID_SUB_EDITOR);
39 $sectionsIterator = $sectionDao->getByContextId($this->context->getId(),
null, !$canSubmitAll);
40 while ($section = $sectionsIterator->next()) {
41 if (!$section->getIsInactive()) {
42 $sections[$section->getId()] = $section->getLocalizedTitle();
45 $sectionOptions = array(
'0' =>
'') + $sections;
48 $templateMgr->assign(
'sectionOptions', $sectionOptions);
49 $templateMgr->assign(
'sectionId', $request->getUserVar(
'sectionId'));
52 $sectionPolicies = array();
53 foreach ($sectionOptions as $sectionId => $sectionTitle) {
54 $section = $sectionDao->getById($sectionId);
56 $sectionPolicy = $section ? $section->getLocalizedPolicy() :
null;
57 if ($this->doesSectionPolicyContainAnyText($sectionPolicy))
58 $sectionPolicies[$sectionId] = $sectionPolicy;
61 $templateMgr->assign(
'sectionPolicies', $sectionPolicies);
63 return parent::fetch($request, $template, $display);
69 private function doesSectionPolicyContainAnyText($sectionPolicy) {
71 return strlen($sectionPolicyPlainText) > 0;
78 if (isset($this->submission)) {
79 parent::initData(array(
80 'sectionId' => $this->submission->getCurrentPublication()->getData(
'sectionId'),
94 parent::readInputData();
102 if (!parent::validate($callHooks))
return false;
107 $section = $sectionDao->getById($this->
getData(
'sectionId'),
$context->getId());
110 if (!$section)
return false;
113 if (
$context->getData(
'disableSubmissions') || $section->getIsInactive()) {
126 $publication->setData(
'sectionId', $this->
getData(
'sectionId'));
127 parent::setPublicationData($publication,
$submission);