16 import(
'lib.pkp.classes.form.Form');
30 parent::__construct($template);
45 $userGroups = $userGroupDao->getByUserId($this->userId);
46 $userGroupIds = array();
47 while ($userGroup = $userGroups->next()) {
48 $userGroupIds[] = $userGroup->getId();
50 $this->
setData(
'userGroupIds', $userGroupIds);
60 parent::readInputData();
66 public function display($request =
null, $template =
null) {
67 $context = $request->getContext();
68 $contextId = $context ? $context->getId() : CONTEXT_ID_NONE;
73 $userGroups = $userGroupDao->getByContextId($contextId);
74 while ($userGroup = $userGroups->next()) {
75 $allUserGroups[(int) $userGroup->getId()] = $userGroup->getLocalizedName();
78 $templateMgr->assign([
79 'allUserGroups' => $allUserGroups,
80 'assignedUserGroups' => array_map(
'intval', $this->
getData(
'userGroupIds')),
83 return $this->
fetch($request);
89 function execute(...$functionArgs) {
90 if (isset($this->userId)) {
91 import(
'lib.pkp.classes.security.UserGroupAssignmentDAO');
93 $userGroupAssignmentDao->deleteAssignmentsByContextId(
Application::get()->getRequest()->getContext()->getId(), $this->userId);
94 if ($this->
getData(
'userGroupIds')) {
96 foreach ($this->
getData(
'userGroupIds') as $userGroupId) {
97 $userGroupDao->assignUserToGroup($this->userId, $userGroupId);
102 parent::execute(...$functionArgs);