From 8afe19deb16cff29415423c0361232536ac5c8ee Mon Sep 17 00:00:00 2001 From: Phil Date: Fri, 19 Apr 2019 22:53:41 +0300 Subject: [PATCH] + create multilingual journal --- src/importer.js | 1 + src/ojs/endpoints.js | 3 ++- src/ojs/form-data.js | 7 +++++++ src/ojs/journal.js | 18 ++++++++++++++++++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/importer.js b/src/importer.js index 753f89f..3ce8f34 100644 --- a/src/importer.js +++ b/src/importer.js @@ -95,6 +95,7 @@ class Importer { }; // console.log("journalInfo", journalInfo); await Journal.create(this.client, journalInfo); + await Journal.makeMultilingual(this.client, journalSlug); } //Collect issue info diff --git a/src/ojs/endpoints.js b/src/ojs/endpoints.js index e6944ad..639a713 100644 --- a/src/ojs/endpoints.js +++ b/src/ojs/endpoints.js @@ -5,7 +5,8 @@ module.exports = { }, journal: { getAll: 'index/$$$call$$$/grid/admin/journal/journal-grid/fetch-grid', - create: 'index/$$$call$$$/grid/admin/journal/journal-grid/update-context' + create: 'index/$$$call$$$/grid/admin/journal/journal-grid/update-context', + languageSettings: '$$$call$$$/grid/settings/languages/manage-language-grid/save-language-setting' }, issue: { getAll: '$$$call$$$/grid/issues/future-issue-grid/fetch-grid', diff --git a/src/ojs/form-data.js b/src/ojs/form-data.js index 75ab1c2..5ea3c4a 100644 --- a/src/ojs/form-data.js +++ b/src/ojs/form-data.js @@ -1,4 +1,11 @@ module.exports = { + journal: { + addEnglishForms: { + rowId: 'en_US', + setting: 'supportedSubmissionLocales', + value: 1 + } + }, submission: { step1_save: { 'csrfToken': '', diff --git a/src/ojs/journal.js b/src/ojs/journal.js index 6c910bb..7999189 100644 --- a/src/ojs/journal.js +++ b/src/ojs/journal.js @@ -2,6 +2,7 @@ const schema = require("schm"); const translate = require("schm-translate"); const endpoints = require("./endpoints"); +const form_data = require("./form-data"); const journalCreateSchema = schema( { @@ -81,3 +82,20 @@ exports.create_no_validation = async (client, journalInfo = {}) => { }) .catch(err => console.error("Journal creation failed:", err)); }; + +exports.makeMultilingual = async (client, journalSlug) => { + journalUrl = client.getJournalUrl(journalSlug); + + await client + .send({ + baseUrl: journalUrl, + method: "POST", + uri: endpoints.journal.languageSettings, + qs: form_data.journal.addEnglishForms + }) + .then(response => { + // TODO Check JSON has certain info ('dataChanged' field) + console.info("Make journal multilingual result:", response.body); + }) + .catch(err => console.error("Making journal multilingual failed:", err)); +} \ No newline at end of file