apiUrl; $config['doiApiUrl'] = $this->doiApiUrl; $config['count'] = $this->count; $config['lazyLoad'] = $this->lazyLoad; $config['itemsMax'] = $this->itemsMax; $config['itemType'] = $this->itemType; $config['enabledDoiTypes'] = $this->enabledDoiTypes; $config['versionDois'] = $this->versionDois; $config['registrationAgencyInfo'] = $this->registrationAgencyInfo; $config['doiPrefix'] = $this->doiPrefix; $config['filters'][] = [ 'heading' => __('common.status'), 'filters' => [ [ 'title' => __('manager.dois.status.needsDoi'), 'param' => 'hasDois', 'value' => '0' ], [ 'title' => __('manager.dois.filters.doiAssigned'), 'param' => 'hasDois', 'value' => '1', ], ], ]; $config['filters'][] = [ 'heading' => __('manager.setup.dois.registration'), 'filters' => [ [ 'title' => __('manager.dois.status.unregistered'), 'param' => 'unregistered', 'value' => 'true' ], [ 'title' => __('manager.dois.status.submitted'), 'param' => 'doiStatus', 'value' => Doi::STATUS_SUBMITTED ], [ 'title' => __('manager.dois.status.registered'), 'param' => 'doiStatus', 'value' => Doi::STATUS_REGISTERED ], [ 'title' => __('manager.dois.status.error.filterTitle'), 'param' => 'doiStatus', 'value' => Doi::STATUS_ERROR ], [ 'title' => __('manager.dois.status.stale'), 'param' => 'doiStatus', 'value' => Doi::STATUS_STALE ], ], ]; $config['publishedStatuses'] = [ 'name' => 'status', 'published' => [PKPSubmission::STATUS_PUBLISHED], 'unpublished' => [PKPSubmission::STATUS_QUEUED, PKPSubmission::STATUS_SCHEDULED], ]; // Provide required locale keys $request = Application::get()->getRequest(); $templateMgr = TemplateManager::getManager($request); $templateMgr->setConstants([ 'DOI_STATUS_SUBMITTED' => Doi::STATUS_SUBMITTED, 'DOI_STATUS_UNREGISTERED' => Doi::STATUS_UNREGISTERED, 'DOI_STATUS_REGISTERED' => Doi::STATUS_REGISTERED, 'DOI_STATUS_ERROR' => Doi::STATUS_ERROR, 'DOI_STATUS_STALE' => Doi::STATUS_STALE, ]); $templateMgr->setLocaleKeys([ 'publication.status.unpublished', 'publication.status.published', 'manager.dois.actions.deposit.label', 'manager.dois.actions.deposit.prompt', 'manager.dois.actions.markRegistered.label', 'manager.dois.actions.markRegistered.prompt', 'manager.dois.actions.markUnregistered.label', 'manager.dois.actions.markUnregistered.prompt', 'manager.dois.actions.markStale.label', 'manager.dois.actions.markStale.prompt', 'manager.dois.actions.export.label', 'manager.dois.actions.export.prompt', 'manager.dois.actions.assign.label', 'manager.dois.actions.assign.prompt', 'manager.dois.notification.exportSuccess', 'manager.dois.notification.markRegisteredSuccess', 'manager.dois.notification.markUnregisteredSuccess', 'manager.dois.notification.markStaleSuccess', 'manager.dois.registration.submittedDescription', 'manager.dois.registration.notSubmittedDescription', 'manager.dois.registration.viewError', 'manager.dois.registration.viewError.title', 'manager.dois.registration.viewRecord', 'manager.dois.registration.viewRecord.title', 'manager.dois.publicationStatus', 'manager.dois.registration.depositDois', 'manager.dois.status.needsDoi', 'manager.dois.status.unregistered', 'manager.dois.status.submitted', 'manager.dois.status.registered', 'manager.dois.status.error', 'manager.dois.status.stale', 'manager.dois.notification.assignDoisSuccess', 'manager.dois.notification.depositQueuedSuccess', 'manager.dois.actions.depositAll.label', 'manager.dois.actions.depositAll.prompt', 'manager.dois.registration.notPublishedDescription', 'manager.dois.update.partialFailure', 'manager.dois.actions.deposit.all', 'manager.dois.update.success', 'common.selectAll', 'common.selectNone', 'common.edit', 'common.save', 'common.type', 'common.status', 'common.description', 'list.expandAll', 'list.collapseAll', 'manager.dois.update.failedCreation', 'plugins.importexport.common.action.export', 'manager.dois.actions.description', 'manager.dois.title', 'manager.dois.actions.bulkActions', 'publication.version', 'doi.manager.versions.countStatement', 'doi.manager.versions.view', 'doi.manager.versions.modalTitle', 'manager.dois.help.statuses.title', 'manager.dois.status.needsDoi.description', 'manager.dois.status.unregistered.description', 'manager.dois.status.submitted.description', 'manager.dois.status.registered.description', 'manager.dois.status.error.description', 'manager.dois.status.stale.description', 'manager.dois.registration.manuallyMarkedRegistered', 'manager.dois.filters.doiAssigned', 'manager.dois.filters.doiAssigned.description', 'manager.dois.status.error.filterTitle', ]); $this->setAppConfig($config); Hook::call('DoiListPanel::setConfig', [&$config]); // Check added here in case hook adds additional getParams $config['getParams'] = empty($config['getParams']) ? new \stdClass() : $config['getParams']; return $config; } /** * Add any application-specific config to the list panel setup */ abstract protected function setAppConfig(array &$config): void; }