first commit

This commit is contained in:
CHIEFSOFT\ameye
2024-06-08 17:09:23 -04:00
commit df3a033196
17887 changed files with 8637778 additions and 0 deletions
@@ -0,0 +1,50 @@
<?php
/**
* @file controllers/grid/files/final/FinalDraftFilesGridDataProvider.php
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @class FinalDraftFilesGridDataProvider
*
* @ingroup controllers_grid_files_final
*
* @brief Provide access to final draft files management.
*/
namespace PKP\controllers\grid\files\final;
use PKP\controllers\grid\files\fileList\linkAction\SelectFilesLinkAction;
use PKP\controllers\grid\files\SubmissionFilesGridDataProvider;
use PKP\submissionFile\SubmissionFile;
class FinalDraftFilesGridDataProvider extends SubmissionFilesGridDataProvider
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct(SubmissionFile::SUBMISSION_FILE_FINAL);
}
//
// Overridden public methods from FilesGridDataProvider
//
/**
* @copydoc FilesGridDataProvider::getSelectAction()
*/
public function getSelectAction($request)
{
return new SelectFilesLinkAction(
$request,
[
'submissionId' => $this->getSubmission()->getId(),
'stageId' => $this->getStageId()
],
__('editor.submission.uploadSelectFiles')
);
}
}
@@ -0,0 +1,71 @@
<?php
/**
* @file controllers/grid/files/final/FinalDraftFilesGridHandler.php
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @class FinalDraftFilesGridHandler
*
* @ingroup controllers_grid_files_final
*
* @brief Handle the final draft files grid (displays files sent to copyediting from the review stage)
*/
namespace PKP\controllers\grid\files\final;
use PKP\controllers\grid\files\fileList\FileListGridHandler;
use PKP\controllers\grid\files\FilesGridCapabilities;
use PKP\controllers\grid\files\final\form\ManageFinalDraftFilesForm;
use PKP\core\JSONMessage;
use PKP\core\PKPRequest;
use PKP\security\Role;
class FinalDraftFilesGridHandler extends FileListGridHandler
{
/**
* Constructor
* FILE_GRID_* capabilities set.
*/
public function __construct()
{
parent::__construct(
new FinalDraftFilesGridDataProvider(),
null,
FilesGridCapabilities::FILE_GRID_DELETE | FilesGridCapabilities::FILE_GRID_EDIT | FilesGridCapabilities::FILE_GRID_MANAGE | FilesGridCapabilities::FILE_GRID_VIEW_NOTES
);
$this->addRoleAssignment(
[
Role::ROLE_ID_SUB_EDITOR,
Role::ROLE_ID_MANAGER,
Role::ROLE_ID_SITE_ADMIN,
Role::ROLE_ID_ASSISTANT
],
[
'fetchGrid', 'fetchRow', 'selectFiles'
]
);
$this->setTitle('submission.finalDraft');
}
//
// Public handler methods
//
/**
* Show the form to allow the user to select files from previous stages
*
* @param array $args
* @param PKPRequest $request
*
* @return JSONMessage JSON object
*/
public function selectFiles($args, $request)
{
$manageFinalDraftFilesForm = new ManageFinalDraftFilesForm($this->getSubmission()->getId());
$manageFinalDraftFilesForm->initData();
return new JSONMessage(true, $manageFinalDraftFilesForm->fetch($request));
}
}
@@ -0,0 +1,91 @@
<?php
/**
* @file controllers/grid/files/final/ManageFinalDraftFilesGridHandler.php
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @class ManageFinalDraftFilesGridHandler
*
* @ingroup controllers_grid_files_final
*
* @brief Handle the editor review file selection grid (selects which files to send to review or to next review round)
*/
namespace PKP\controllers\grid\files\final;
use PKP\controllers\grid\files\FilesGridCapabilities;
use PKP\controllers\grid\files\final\form\ManageFinalDraftFilesForm;
use PKP\controllers\grid\files\SelectableSubmissionFileListCategoryGridHandler;
use PKP\controllers\grid\files\SubmissionFilesCategoryGridDataProvider;
use PKP\core\JSONMessage;
use PKP\core\PKPRequest;
use PKP\security\Role;
use PKP\submissionFile\SubmissionFile;
class ManageFinalDraftFilesGridHandler extends SelectableSubmissionFileListCategoryGridHandler
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct(
new SubmissionFilesCategoryGridDataProvider(SubmissionFile::SUBMISSION_FILE_FINAL),
WORKFLOW_STAGE_ID_EDITING,
FilesGridCapabilities::FILE_GRID_ADD | FilesGridCapabilities::FILE_GRID_DELETE | FilesGridCapabilities::FILE_GRID_VIEW_NOTES | FilesGridCapabilities::FILE_GRID_EDIT
);
$this->addRoleAssignment(
[
Role::ROLE_ID_SUB_EDITOR,
Role::ROLE_ID_MANAGER,
Role::ROLE_ID_SITE_ADMIN,
Role::ROLE_ID_ASSISTANT
],
[
'fetchGrid', 'fetchCategory', 'fetchRow',
'addFile',
'downloadFile',
'deleteFile',
'updateFinalDraftFiles'
]
);
// Set the grid title.
$this->setTitle('submission.finalDraft');
}
//
// Public handler methods
//
/**
* Save 'manage final draft files' form
*
* @param array $args
* @param PKPRequest $request
*
* @return JSONMessage JSON object
*/
public function updateFinalDraftFiles($args, $request)
{
$submission = $this->getSubmission();
$manageFinalDraftFilesForm = new ManageFinalDraftFilesForm($submission->getId());
$manageFinalDraftFilesForm->readInputData();
if ($manageFinalDraftFilesForm->validate()) {
$manageFinalDraftFilesForm->execute(
$this->getGridCategoryDataElements($request, $this->getStageId())
);
// Let the calling grid reload itself
return \PKP\db\DAO::getDataChangedEvent();
} else {
return new JSONMessage(false);
}
}
}
@@ -0,0 +1,49 @@
<?php
/**
* @file controllers/grid/files/final/form/ManageFinalDraftFilesForm.php
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @class ManageFinalDraftFilesForm
*
* @ingroup controllers_grid_files_finalDraftFiles
*
* @brief Form to add files to the final draft files grid
*/
namespace PKP\controllers\grid\files\final\form;
use PKP\controllers\grid\files\form\ManageSubmissionFilesForm;
use PKP\submissionFile\SubmissionFile;
class ManageFinalDraftFilesForm extends ManageSubmissionFilesForm
{
/**
* Constructor.
*
* @param int $submissionId Submission ID.
*/
public function __construct($submissionId)
{
parent::__construct($submissionId, 'controllers/grid/files/final/manageFinalDraftFiles.tpl');
}
//
// Overridden template methods
//
/**
* Save Selection of Final Draft files
*
* @param array $stageSubmissionFiles The files that belongs to a file stage
* that is currently being used by a grid inside this form.
* @param int $fileStage SubmissionFile::SUBMISSION_FILE_...
*/
public function execute($stageSubmissionFiles = null, $fileStage = null, ...$functionArgs)
{
parent::execute($stageSubmissionFiles, SubmissionFile::SUBMISSION_FILE_FINAL);
}
}