14 import(
'classes.handler.Handler');
23 parent::__construct();
27 array(ROLE_ID_MANAGER),
28 array(
'depositPoints',
'performManagerOnlyDeposit')
31 array(ROLE_ID_MANAGER, ROLE_ID_AUTHOR),
39 function authorize($request, &$args, $roleAssignments) {
40 import(
'lib.pkp.classes.security.authorization.ContextAccessPolicy');
42 return parent::authorize($request, $args, $roleAssignments);
61 $context = $request->getContext();
62 $depositPointId = $request->getUserVar(
'depositPointId');
65 $depositPoint = $depositPointDao->getById($depositPointId, $context->getId());
72 $depositPoint->getSwordUrl(),
73 $depositPoint->getSwordUsername(),
74 $depositPoint->getSwordPassword(),
75 $depositPoint->getSwordApikey()
78 'username' => $depositPoint->getSwordUsername(),
79 'password' => SWORD_PASSWORD_SLUG,
80 'apikey' => $depositPoint->getSwordApikey(),
81 'depositPoints' => $collections,
92 public function index($args, $request) {
93 $context = $request->getContext();
94 $user = $request->getUser();
95 $submissionId = (int) array_shift($args);
96 $save = array_shift($args) ==
'save';
99 $submission = $submissionDao->getById($submissionId);
101 if (!$submission || !$user || !$context ||
102 ($submission->getContextId() != $context->getId())) {
103 $request->redirect(
null,
'index');
106 $userCanDeposit =
false;
108 $daoResult = $stageAssignmentDao->getBySubmissionAndRoleId($submission->getId(), ROLE_ID_AUTHOR);
109 while ($record = $daoResult->next()) {
110 if($user->getId() == $record->getData(
'userId')) {
111 $userCanDeposit =
true;
116 if (!userCanDeposit) {
117 $request->redirect(
null,
'index');
121 $swordPlugin->import(
'AuthorDepositForm');
125 $authorDepositForm->readInputData();
126 if ($authorDepositForm->validate()) {
127 $authorDepositForm->execute($request);
128 $request->redirect(
null,
'submissions');
131 $authorDepositForm->initData();
132 $authorDepositForm->display();