Replace entry with artifact and add entity
This commit is contained in:
@@ -22,29 +22,29 @@ module.exports = function (options) {
|
||||
db.Project.findByPk(request.params.id, {
|
||||
include: [
|
||||
{
|
||||
association: db.Project.ProjectEntryVersions,
|
||||
association: db.Project.ProjectArtifactVersions,
|
||||
include: [
|
||||
{
|
||||
association: db.ProjectEntryVersion.EntryVersion,
|
||||
association: db.ProjectArtifactVersion.ArtifactVersion,
|
||||
include: [
|
||||
{
|
||||
association: db.EntryVersion.Entry
|
||||
association: db.ArtifactVersion.Artifact
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
association: db.Project.ProjectTranslationEntryVersions,
|
||||
association: db.Project.ProjectTranslationArtifactVersions,
|
||||
include: [
|
||||
{
|
||||
association: db.ProjectTranslationEntryVersion.TranslationEntryVersion,
|
||||
association: db.ProjectTranslationArtifactVersion.TranslationArtifactVersion,
|
||||
include: [
|
||||
{
|
||||
association: db.TranslationEntryVersion.EntryVersion,
|
||||
association: db.TranslationArtifactVersion.ArtifactVersion,
|
||||
include: [
|
||||
{
|
||||
association: db.EntryVersion.Entry
|
||||
association: db.ArtifactVersion.Artifact
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -81,7 +81,8 @@ module.exports = function (options) {
|
||||
.post(function(request, response, next) {
|
||||
db.Project.create({
|
||||
name: request.body.name,
|
||||
description: request.body.description
|
||||
description: request.body.description,
|
||||
entityId: request.user.individualEntityUser.entityUser.entityId
|
||||
}).then(project => {
|
||||
if (project) {
|
||||
response.redirect(`/projects/${project.id}`)
|
||||
@@ -93,31 +94,31 @@ module.exports = function (options) {
|
||||
})
|
||||
})
|
||||
|
||||
router.route('/:id/add-entry')
|
||||
router.route('/:id/add-artifact')
|
||||
.get(function(request, response, next) {
|
||||
db.Project.findByPk(request.params.id, {
|
||||
include: [
|
||||
{
|
||||
association: db.Project.ProjectEntryVersions
|
||||
association: db.Project.ProjectArtifactVersions
|
||||
},
|
||||
{
|
||||
association: db.Project.ProjectTranslationEntryVersions
|
||||
association: db.Project.ProjectTranslationArtifactVersions
|
||||
}
|
||||
]
|
||||
}).then(async (project) => {
|
||||
if (project) {
|
||||
const entries = await db.Entry.findAll({
|
||||
const entries = await db.Artifact.findAll({
|
||||
// Narrow it down to entries this user has admin ownership off...,
|
||||
include: [
|
||||
{
|
||||
association: db.Entry.EntryVersions,
|
||||
association: db.Artifact.ArtifactVersions,
|
||||
limit: 1,
|
||||
required: true
|
||||
// TODO: Order by version...
|
||||
}
|
||||
]
|
||||
})
|
||||
response.display("project-add-entry", {
|
||||
response.display("project-add-artifact", {
|
||||
user: request.user,
|
||||
pageTitle: "Projects - Mantra",
|
||||
project: project,
|
||||
@@ -134,29 +135,29 @@ module.exports = function (options) {
|
||||
db.Project.findByPk(request.params.id, {
|
||||
include: [
|
||||
{
|
||||
association: db.Project.ProjectEntryVersions,
|
||||
association: db.Project.ProjectArtifactVersions,
|
||||
include: [
|
||||
{
|
||||
association: db.ProjectEntryVersion.EntryVersion,
|
||||
association: db.ProjectArtifactVersion.ArtifactVersion,
|
||||
include: [
|
||||
{
|
||||
association: db.EntryVersion.Entry
|
||||
association: db.ArtifactVersion.Artifact
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
association: db.Project.ProjectTranslationEntryVersions,
|
||||
association: db.Project.ProjectTranslationArtifactVersions,
|
||||
include: [
|
||||
{
|
||||
association: db.ProjectTranslationEntryVersion.TranslationEntryVersion,
|
||||
association: db.ProjectTranslationArtifactVersion.TranslationArtifactVersion,
|
||||
include: [
|
||||
{
|
||||
association: db.TranslationEntryVersion.EntryVersion,
|
||||
association: db.TranslationArtifactVersion.ArtifactVersion,
|
||||
include: [
|
||||
{
|
||||
association: db.EntryVersion.Entry
|
||||
association: db.ArtifactVersion.Artifact
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -168,19 +169,19 @@ module.exports = function (options) {
|
||||
}).then(async (project) => {
|
||||
if (project) {
|
||||
// TODO: Fi
|
||||
const entryVersion = await db.EntryVersion.findByPk(request.body.entryVersionId, {
|
||||
const artifactVersion = await db.ArtifactVersion.findByPk(request.body.artifactVersionId, {
|
||||
// Narrow it down to entries this user has admin ownership off...,
|
||||
})
|
||||
|
||||
if (entryVersion) {
|
||||
const projectEntryVersion = db.ProjectEntryVersion.create({
|
||||
if (artifactVersion) {
|
||||
const projectArtifactVersion = db.ProjectArtifactVersion.create({
|
||||
projectId: project.id,
|
||||
entryVersionId: entryVersion.id
|
||||
artifactVersionId: artifactVersion.id
|
||||
})
|
||||
|
||||
response.redirect(`/projects/${project.id}`)
|
||||
} else {
|
||||
response.redirect(`/projects/${project.id}/add-entry`)
|
||||
response.redirect(`/projects/${project.id}/add-artifact`)
|
||||
}
|
||||
|
||||
|
||||
@@ -197,24 +198,24 @@ module.exports = function (options) {
|
||||
db.Project.findByPk(request.params.id, {
|
||||
include: [
|
||||
{
|
||||
association: db.Project.ProjectEntryVersions
|
||||
association: db.Project.ProjectArtifactVersions
|
||||
},
|
||||
{
|
||||
association: db.Project.ProjectTranslationEntryVersions
|
||||
association: db.Project.ProjectTranslationArtifactVersions
|
||||
}
|
||||
]
|
||||
}).then(async (project) => {
|
||||
if (project) {
|
||||
const translationEntryVersions = await db.TranslationEntryVersion.findAll({
|
||||
const translationArtifactVersions = await db.TranslationArtifactVersion.findAll({
|
||||
// Narrow it down to entries this user has admin ownership off...,
|
||||
include: [
|
||||
{
|
||||
association: db.TranslationEntryVersion.EntryVersion,
|
||||
association: db.TranslationArtifactVersion.ArtifactVersion,
|
||||
required: true,
|
||||
// TODO: Order by version...
|
||||
include: [
|
||||
{
|
||||
association: db.EntryVersion.Entry
|
||||
association: db.ArtifactVersion.Artifact
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -224,7 +225,7 @@ module.exports = function (options) {
|
||||
user: request.user,
|
||||
pageTitle: "Projects - Mantra",
|
||||
project: project,
|
||||
translationEntryVersions: translationEntryVersions
|
||||
translationArtifactVersions: translationArtifactVersions
|
||||
})
|
||||
} else {
|
||||
next()
|
||||
@@ -237,30 +238,30 @@ module.exports = function (options) {
|
||||
db.Project.findByPk(request.params.id, {
|
||||
include: [
|
||||
{
|
||||
association: db.Project.ProjectEntryVersions
|
||||
association: db.Project.ProjectArtifactVersions
|
||||
},
|
||||
{
|
||||
association: db.Project.ProjectTranslationEntryVersions
|
||||
association: db.Project.ProjectTranslationArtifactVersions
|
||||
}
|
||||
]
|
||||
}).then(async (project) => {
|
||||
if (project) {
|
||||
// TODO: Fi
|
||||
const translationEntryVersion = await db.TranslationEntryVersion.findByPk(request.body.translationEntryVersionId, {
|
||||
const translationArtifactVersion = await db.TranslationArtifactVersion.findByPk(request.body.translationArtifactVersionId, {
|
||||
// Narrow it down to entries this user has admin ownership off...,
|
||||
include: [
|
||||
{
|
||||
association: db.TranslationEntryVersion.EntryVersion,
|
||||
association: db.TranslationArtifactVersion.ArtifactVersion,
|
||||
required: true
|
||||
// TODO: Order by version...
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
if (translationEntryVersion) {
|
||||
const projectTranslationEntryVersion = db.ProjectTranslationEntryVersion.create({
|
||||
if (translationArtifactVersion) {
|
||||
const projectTranslationArtifactVersion = db.ProjectTranslationArtifactVersion.create({
|
||||
projectId: project.id,
|
||||
translationEntryVersionId: translationEntryVersion.id
|
||||
translationArtifactVersionId: translationArtifactVersion.id
|
||||
})
|
||||
|
||||
response.redirect(`/projects/${project.id}`)
|
||||
@@ -285,29 +286,29 @@ module.exports = function (options) {
|
||||
required: true
|
||||
},
|
||||
{
|
||||
association: db.Project.ProjectEntryVersions,
|
||||
association: db.Project.ProjectArtifactVersions,
|
||||
include: [
|
||||
{
|
||||
association: db.ProjectEntryVersion.EntryVersion,
|
||||
association: db.ProjectArtifactVersion.ArtifactVersion,
|
||||
include: [
|
||||
{
|
||||
association: db.EntryVersion.Entry
|
||||
association: db.ArtifactVersion.Artifact
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
association: db.Project.ProjectTranslationEntryVersions,
|
||||
association: db.Project.ProjectTranslationArtifactVersions,
|
||||
include: [
|
||||
{
|
||||
association: db.ProjectTranslationEntryVersion.TranslationEntryVersion,
|
||||
association: db.ProjectTranslationArtifactVersion.TranslationArtifactVersion,
|
||||
include: [
|
||||
{
|
||||
association: db.TranslationEntryVersion.EntryVersion,
|
||||
association: db.TranslationArtifactVersion.ArtifactVersion,
|
||||
include: [
|
||||
{
|
||||
association: db.EntryVersion.Entry
|
||||
association: db.ArtifactVersion.Artifact
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -362,29 +363,29 @@ module.exports = function (options) {
|
||||
|
||||
}).then(async (project) => {
|
||||
if (project) {
|
||||
db.TranslationEntryVersion.findAll({
|
||||
db.TranslationArtifactVersion.findAll({
|
||||
include: [
|
||||
// TODO: require translationEntryVersions in ProjectEntryVersion
|
||||
// TODO: require translationArtifactVersions in ProjectArtifactVersion
|
||||
{
|
||||
association: db.TranslationEntryVersion.ProjectTranslationEntryVersions,
|
||||
association: db.TranslationArtifactVersion.ProjectTranslationArtifactVersions,
|
||||
where: {
|
||||
projectId: request.params.id
|
||||
},
|
||||
required: true
|
||||
},
|
||||
{
|
||||
association: db.TranslationEntryVersion.EntryVersion,
|
||||
association: db.TranslationArtifactVersion.ArtifactVersion,
|
||||
include: [
|
||||
{
|
||||
association: db.EntryVersion.Entry,
|
||||
association: db.ArtifactVersion.Artifact,
|
||||
include: [
|
||||
{
|
||||
association: db.Entry.Dialect
|
||||
association: db.Artifact.Dialect
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
association: db.EntryVersion.Chapters,
|
||||
association: db.ArtifactVersion.Chapters,
|
||||
include: [
|
||||
{
|
||||
association: db.Chapter.Chunks,
|
||||
@@ -399,22 +400,22 @@ module.exports = function (options) {
|
||||
]
|
||||
},
|
||||
{
|
||||
association: db.TranslationEntryVersion.Dialect
|
||||
association: db.TranslationArtifactVersion.Dialect
|
||||
}
|
||||
]
|
||||
}).then(translationEntryVersions => {
|
||||
}).then(translationArtifactVersions => {
|
||||
const workbook = new XL.Workbook();
|
||||
const cellWidth = 45
|
||||
const cellHeight = 25
|
||||
|
||||
translationEntryVersions.forEach((translationEntryVersion, index) => {
|
||||
const worksheet_name = `${index+1}-${translationEntryVersion.dialect.countryId}-${translationEntryVersion.dialect.languageId} - ${translationEntryVersion.entryVersion.entry.name}`.substring(0, 30);
|
||||
translationArtifactVersions.forEach((translationArtifactVersion, index) => {
|
||||
const worksheet_name = `${index+1}-${translationArtifactVersion.dialect.countryId}-${translationArtifactVersion.dialect.languageId} - ${translationArtifactVersion.artifactVersion.artifact.name}`.substring(0, 30);
|
||||
|
||||
// Don't have [ ] * ? : / \
|
||||
const worksheet = workbook.addWorksheet(worksheet_name.replace(/[`*?:'\[\]\\\/]/gi, ""))
|
||||
|
||||
worksheet.cell(2,2,2,3,true)
|
||||
.string(translationEntryVersion.entryVersion.entry.name)
|
||||
.string(translationArtifactVersion.artifactVersion.artifact.name)
|
||||
.style({
|
||||
font: {
|
||||
bold: true,
|
||||
@@ -426,7 +427,7 @@ module.exports = function (options) {
|
||||
})
|
||||
|
||||
worksheet.cell(4,2)
|
||||
.string(translationEntryVersion.entryVersion.entry.dialect.name)
|
||||
.string(translationArtifactVersion.artifactVersion.artifact.dialect.name)
|
||||
.style({
|
||||
font: {
|
||||
bold: true,
|
||||
@@ -438,7 +439,7 @@ module.exports = function (options) {
|
||||
})
|
||||
|
||||
worksheet.cell(4,3)
|
||||
.string(translationEntryVersion.dialect.name)
|
||||
.string(translationArtifactVersion.dialect.name)
|
||||
.style({
|
||||
font: {
|
||||
bold: true,
|
||||
@@ -448,15 +449,15 @@ module.exports = function (options) {
|
||||
wrapText: true
|
||||
}
|
||||
})
|
||||
// Meta data for the translation and entry
|
||||
// Meta data for the translation and artifact
|
||||
worksheet.cell(4,4)
|
||||
.string(translationEntryVersion.entryVersion.id)
|
||||
.string(translationArtifactVersion.artifactVersion.id)
|
||||
worksheet.cell(4,5)
|
||||
.string(translationEntryVersion.id)
|
||||
.string(translationArtifactVersion.id)
|
||||
|
||||
var cellIndex = 6
|
||||
for (const i in translationEntryVersion.entryVersion.chapters) {
|
||||
const chapter = translationEntryVersion.entryVersion.chapters[i]
|
||||
for (const i in translationArtifactVersion.artifactVersion.chapters) {
|
||||
const chapter = translationArtifactVersion.artifactVersion.chapters[i]
|
||||
const chunks = chapter.chunks.sort((a,b) => a.index - b.index)
|
||||
for (const j in chunks) {
|
||||
const chunk = chunks[j]
|
||||
|
||||
Reference in New Issue
Block a user