Open Journal Systems  3.3.0
PKPSectionForm.inc.php
1 <?php
2 
16 import('lib.pkp.classes.form.Form');
17 
18 class PKPSectionForm extends Form {
21 
23  var $_userId;
24 
27 
29  var $_sizeArray;
30 
37  function __construct($request, $template, $sectionId = null) {
38  $this->setSectionId($sectionId);
39 
40  $user = $request->getUser();
41  $this->_userId = $user->getId();
42 
43  parent::__construct($template);
44 
45  // Validation checks for this form
46  $this->addCheck(new FormValidatorPost($this));
47  $this->addCheck(new FormValidatorCSRF($this));
48 
49  AppLocale::requireComponents(LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_PKP_MANAGER);
50  }
51 
55  function readInputData() {
56  $this->readUserVars(array('title', 'subEditors'));
57  }
58 
63  function getSectionId() {
65  }
66 
71  function setSectionId($sectionId) {
72  $this->_sectionId = $sectionId;
73  }
74 
78  function fetch($request, $template = null, $display = false) {
79  $params = [
80  'contextId' => $request->getContext()->getId(),
81  'roleIds' => ROLE_ID_SUB_EDITOR,
82  ];
83 
84  $usersIterator = Services::get('user')->getMany($params);
85  $subeditors = [];
86  foreach ($usersIterator as $user) {
87  $subeditors[(int) $user->getId()] = $user->getFullName();
88  }
89 
90  $templateMgr = TemplateManager::getManager($request);
91  $templateMgr->assign([
92  'subeditors' => $subeditors,
93  ]);
94 
95  return parent::fetch($request, $template, $display);
96  }
97 
103  public function execute(...$functionArgs) {
104  $contextId = Application::get()->getRequest()->getContext()->getId();
105  $subEditorsDao = DAORegistry::getDAO('SubEditorsDAO'); /* @var $subEditorsDao SubEditorsDAO */
106  $subEditorsDao->deleteBySubmissionGroupId($this->getSectionId(), ASSOC_TYPE_SECTION, $contextId);
107  $subEditors = $this->getData('subEditors');
108  if (!empty($subEditors)) {
109  $roleDao = DAORegistry::getDAO('RoleDAO'); /* @var $roleDao RoleDAO */
110  foreach ($subEditors as $subEditor) {
111  if ($roleDao->userHasRole($contextId, $subEditor, ROLE_ID_SUB_EDITOR)) {
112  $subEditorsDao->insertEditor($contextId, $this->getSectionId(), $subEditor, ASSOC_TYPE_SECTION);
113  }
114  }
115  }
116 
117  parent::execute($functionArgs);
118  }
119 
120 }
AppLocale\requireComponents
static requireComponents()
Definition: env1/MockAppLocale.inc.php:56
PKPSectionForm
Form for adding/editing a section.
Definition: PKPSectionForm.inc.php:18
PKPSectionForm\fetch
fetch($request, $template=null, $display=false)
Definition: PKPSectionForm.inc.php:87
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
PKPSectionForm\$_sectionId
$_sectionId
Definition: PKPSectionForm.inc.php:20
PKPSectionForm\$_sizeArray
$_sizeArray
Definition: PKPSectionForm.inc.php:38
Form\readUserVars
readUserVars($vars)
Definition: Form.inc.php:378
Form\getData
getData($key)
Definition: Form.inc.php:220
PKPSectionForm\$_imageExtension
$_imageExtension
Definition: PKPSectionForm.inc.php:32
PKPSectionForm\__construct
__construct($request, $template, $sectionId=null)
Definition: PKPSectionForm.inc.php:46
FormValidatorPost
Form validation check to make sure the form is POSTed.
Definition: FormValidatorPost.inc.php:18
PKPSectionForm\execute
execute(... $functionArgs)
Definition: PKPSectionForm.inc.php:112
PKPSectionForm\readInputData
readInputData()
Definition: PKPSectionForm.inc.php:64
PKPSectionForm\setSectionId
setSectionId($sectionId)
Definition: PKPSectionForm.inc.php:80
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
Form\addCheck
addCheck($formValidator)
Definition: Form.inc.php:395
FormValidatorCSRF
Form validation check to make sure the CSRF token is correct.
Definition: FormValidatorCSRF.inc.php:18
Form
Class defining basic operations for handling HTML forms.
Definition: Form.inc.php:47
PKPSectionForm\getSectionId
getSectionId()
Definition: PKPSectionForm.inc.php:72
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235
PKPServices\get
static get($service)
Definition: PKPServices.inc.php:49
PKPSectionForm\$_userId
$_userId
Definition: PKPSectionForm.inc.php:26