Fork with translations...

This commit is contained in:
2022-01-09 02:57:22 +02:00
parent a014306ab3
commit 862c02d423
3 changed files with 26 additions and 12 deletions

View File

@@ -32,6 +32,7 @@ module.exports = function (options) {
]
}).then(async (translationArtifactVersion) => {
if (translationArtifactVersion) {
const existingTranslation = {}
// fork check if forkable...
const forkedTranslationArtifactVersion = await db.TranslationArtifactVersion.create({
creatorId: request.user.id,
@@ -52,21 +53,18 @@ module.exports = function (options) {
creatorId: request.user.id,
chapterId: translationChapter.chapterId,
translationChunks: translationChapter.translationChunks.map(translationChunk => {
const tc = {
if (translationChunk.translation) {
existingTranslation[translationChunk.chunkId] = {
creatorId: translationChunk.translation.creatorId,
text: translationChunk.translation.text,
}
}
return {
creatorId: request.user.id,
chunkId: translationChunk.chunkId,
text: translationChunk.text,
index: translationChunk.index,
}
// if (translationChunk.translation) {
// tc.translation = {
// creatorId: translationChunk.translation.creatorId,
// text: translationChunk.translation.text,
// // TODO: Might want to create translations separately...
// translationArtifactVersionId: translationChunk.translation.translationArtifactVersionId,
// }
// }
return tc
})
}
})
@@ -91,6 +89,20 @@ module.exports = function (options) {
]
})
if (forkedTranslationArtifactVersion) {
const t = []
forkedTranslationArtifactVersion.translationChapters.forEach(translationChapter => {
translationChapter.translationChunks.forEach(translationChunk => {
if (existingTranslation[translationChunk.chunkId]) {
t.push({
translationChunkId: translationChunk.id,
creatorId: existingTranslation[translationChunk.chunkId].creatorId,
text: existingTranslation[translationChunk.chunkId].text,
translationArtifactVersionId: forkedTranslationArtifactVersion.id
})
}
})
});
await db.Translation.bulkCreate(t)
return response.redirect(`/translate/${forkedTranslationArtifactVersion.id}`)
}
} else {

View File

@@ -4,7 +4,7 @@ block content
.container
.center
h1 Translate into
a(href=`/translate/${translationChunk.translationChapter.translationArtifactVersion.id}/chapter/${translationChunk.translationChapter.id}`) #{translationChunk.translationChapter.translationArtifactVersion.name}
a(href=`/translate/${translationChunk.translationChapter.translationArtifactVersion.id}`) #{translationChunk.translationChapter.translationArtifactVersion.name}
//- TODO: Show previous...
form.row(action=`/translate/${translationChunk.translationChapter.translationArtifactVersion.id}/chapter/${translationChunk.translationChapter.id}/t/${translationChunk.index}`, method="post")

View File

@@ -32,7 +32,7 @@ block content
a(href=`/translate/${translationArtifactVersion.forkedFrom.id}`) fork
//- TODO: Condition to show translate button
.row
//- .row
.col.s12
a.btn.black(href=`/translate/${translationArtifactVersion.id}`) Translate
//- TODO: Condition to show fork button
@@ -60,4 +60,6 @@ block content
h2 Chapters
each translationChapter in translationArtifactVersion.translationChapters
p.flow-text
small translate
br
a(href=`/translate/${translationArtifactVersion.id}/chapter/${translationChapter.id}`)= translationChapter.chapter.name