Fix back translate

This commit is contained in:
2022-01-08 02:42:23 +02:00
parent 2bcc2621d0
commit ed0535e14a
2 changed files with 50 additions and 66 deletions

View File

@@ -63,6 +63,12 @@ module.exports = function (options) {
]
}
]
},
{
association: db.TranslationArtifactVersion.Dialect
},
{
association: db.TranslationArtifactVersion.BackTranslationFrom
}
]
}
@@ -258,26 +264,24 @@ module.exports = function (options) {
db.TranslationArtifactVersion.findByPk(request.params.id, {
include: [
{
association: db.TranslationArtifactVersion.ArtifactVersion,
required: true,
association: db.TranslationArtifactVersion.Dialect,
},
{
association: db.TranslationArtifactVersion.TranslationChapters,
include: [
{
association: db.ArtifactVersion.Chapters,
required: true,
association: db.TranslationChapter.TranslationChunks,
include: [
{
association: db.Chapter.Chunks,
required: true,
include: [
{
association: db.Chunk.Translation,
required: true,
// TODO: Where text is not null
}
]
association: db.TranslationChunk.Translation,
}
]
},
}
]
},
{
association: db.TranslationArtifactVersion.ArtifactVersion,
include: [
{
association: db.ArtifactVersion.Artifact,
include: [
@@ -292,59 +296,34 @@ module.exports = function (options) {
}).then((translationArtifactVersion) => {
if (translationArtifactVersion) {
// TODO: Create a backTranslation...
backTranslatedArtifact = {}
return db.BackTranslation.create({
return db.TranslationArtifactVersion.create({
creatorId: request.user.id,
translationArtifactVersionId: translationArtifactVersion.id,
artifact: {
creatorId: request.user.id,
name: translationArtifactVersion.name + translationArtifactVersion.artifactVersion.artifact.name,
url: `/translate/${request.params.id}`,
dialectId: translationArtifactVersion.dialectId,
licenseId: "copyright", // Should be closed because it's a back translation not meant to be published
artifactVersions: [
{
tag: translationArtifactVersion.artifactVersion.tag,
chapters: translationArtifactVersion.artifactVersion.chapters.map(chapter => {
return {
name: chapter.chunks[0].translation.text, // TODO: This isn't important...
chunks: chapter.chunks.map(chunk => {
return {
text: chunk.translation.text,
index: chunk.index
}
})
}
}),
translationArtifactVersions: [
{
dialectId: translationArtifactVersion.artifactVersion.artifact.dialect.id,
name: translationArtifactVersion.artifactVersion.artifact.dialect.name
}
]
}
]
}
name: translationArtifactVersion.artifactVersion.artifact.dialect.name,
artifactVersionId: translationArtifactVersion.artifactVersionId,
dialectId: translationArtifactVersion.dialect.id,
backTranslationFromId: translationArtifactVersion.id,
entityId: request.user.individualEntityUser.entityUser.entityId,
translationChapters: translationArtifactVersion.translationChapters.map(translationChapter => {
return {
creatorId: request.user.id,
chapterId: translationChapter.chapterId,
translationChunks: translationChapter.translationChunks.map(translationChunk => {
return {
creatorId: request.user.id,
chunkId: translationChunk.chunkId,
text: translationChunk.translation.text,
index: translationChunk.index
}
})
}
})
}, {
include: [
{
association: db.BackTranslation.Artifact,
association: db.TranslationArtifactVersion.TranslationChapters,
include: [
{
association: db.Artifact.ArtifactVersions,
include: [
{
association: db.ArtifactVersion.Chapters,
include: [
{
association: db.Chapter.Chunks
}
]
},
{
association: db.ArtifactVersion.TranslationArtifactVersions
}
]
association: db.TranslationChapter.TranslationChunks
}
]
}
@@ -353,12 +332,12 @@ module.exports = function (options) {
} else {
return null
}
}).then(backTranslation => {
if (backTranslation) {
response.redirect(`/library/${backTranslation.artifactId}`)
}).then(translationArtifactVersion => {
if (translationArtifactVersion) {
response.redirect(`/translate/${translationArtifactVersion.id}`)
} else {
// TODO: Let user know we cannot back translate
response.redirect(`/translate/${request.params.id}`)
}
}).catch(error => {
next(error)

View File

@@ -12,7 +12,12 @@ block content
table
thead
tr
th #{translationChapter.translationArtifactVersion.artifactVersion.artifact.dialect.name}
th
if translationChapter.translationArtifactVersion.backTranslationFrom
span= translationChapter.translationArtifactVersion.dialect.name
else
span #{translationChapter.translationArtifactVersion.artifactVersion.artifact.dialect.name}
th #{translationChapter.translationArtifactVersion.name}
th