Open Journal Systems  3.3.0
RolesForm.inc.php
1 <?php
2 
16 import('lib.pkp.classes.user.form.BaseProfileForm');
17 
18 class RolesForm extends BaseProfileForm {
19 
25  function __construct($user) {
26  parent::__construct('user/rolesForm.tpl', $user);
27 
28  // Validation checks for this form
29  }
30 
34  function fetch($request, $template = null, $display = false) {
35  $templateMgr = TemplateManager::getManager($request);
36 
37  $userGroupDao = DAORegistry::getDAO('UserGroupDAO'); /* @var $userGroupDao UserGroupDAO */
38  $userGroupAssignmentDao = DAORegistry::getDAO('UserGroupAssignmentDAO'); /* @var $userGroupAssignmentDao UserGroupAssignmentDAO */
39  $userGroupAssignments = $userGroupAssignmentDao->getByUserId($request->getUser()->getId());
40  $userGroupIds = array();
41  while ($assignment = $userGroupAssignments->next()) {
42  $userGroupIds[] = $assignment->getUserGroupId();
43  }
44  $templateMgr->assign('userGroupIds', $userGroupIds);
45 
46  import('lib.pkp.classes.user.form.UserFormHelper');
47  $userFormHelper = new UserFormHelper();
48  $userFormHelper->assignRoleContent($templateMgr, $request);
49 
50  AppLocale::requireComponents(LOCALE_COMPONENT_PKP_USER);
51 
52  return parent::fetch($request, $template, $display);
53  }
54 
58  function initData() {
59  import('lib.pkp.classes.user.InterestManager');
60  $interestManager = new InterestManager();
61 
62  $user = $this->getUser();
63 
64  $this->_data = array(
65  'interests' => $interestManager->getInterestsForUser($user),
66  );
67  }
68 
72  function readInputData() {
73  parent::readInputData();
74 
75  $this->readUserVars(array(
76  'authorGroup',
77  'reviewerGroup',
78  'readerGroup',
79  'interests',
80  ));
81  }
82 
86  function execute(...$functionArgs) {
87  $request = Application::get()->getRequest();
88  $user = $request->getUser();
89 
90  // Save the roles
91  import('lib.pkp.classes.user.form.UserFormHelper');
92  $userFormHelper = new UserFormHelper();
93  $userFormHelper->saveRoleContent($this, $user);
94 
95  // Insert the user interests
96  import('lib.pkp.classes.user.InterestManager');
97  $interestManager = new InterestManager();
98  $interestManager->setInterestsForUser($user, $this->getData('interests'));
99 
100  parent::execute(...$functionArgs);
101  }
102 }
103 
104 
RolesForm
Definition: RolesForm.inc.php:18
AppLocale\requireComponents
static requireComponents()
Definition: env1/MockAppLocale.inc.php:56
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
Form\readUserVars
readUserVars($vars)
Definition: Form.inc.php:378
Form\getData
getData($key)
Definition: Form.inc.php:220
RolesForm\execute
execute(... $functionArgs)
Definition: RolesForm.inc.php:86
RolesForm\fetch
fetch($request, $template=null, $display=false)
Definition: RolesForm.inc.php:34
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
InterestManager
Handle user interest functions.
Definition: InterestManager.inc.php:16
RolesForm\initData
initData()
Definition: RolesForm.inc.php:58
BaseProfileForm
Base form to edit an aspect of user profile.
Definition: BaseProfileForm.inc.php:18
RolesForm\readInputData
readInputData()
Definition: RolesForm.inc.php:72
RolesForm\__construct
__construct($user)
Definition: RolesForm.inc.php:25
BaseProfileForm\getUser
getUser()
Definition: BaseProfileForm.inc.php:44
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235
UserFormHelper
Helper functions for shared user form concerns.
Definition: UserFormHelper.inc.php:16