Use accessbility checks

This commit is contained in:
2022-01-15 00:59:30 +02:00
parent 01f1b72352
commit 77ff41f097
9 changed files with 56 additions and 18 deletions

View File

@@ -39,6 +39,7 @@ module.exports = function (options) {
creatorId: request.user.id, creatorId: request.user.id,
name: translationArtifactVersion.name, name: translationArtifactVersion.name,
artifactVersionId: translationArtifactVersion.artifactVersionId, artifactVersionId: translationArtifactVersion.artifactVersionId,
accessibility: translationArtifactVersion.accessibility,
userId: request.user.id, userId: request.user.id,
dialectId: translationArtifactVersion.dialectId, dialectId: translationArtifactVersion.dialectId,
forkedFromId: translationArtifactVersion.id, forkedFromId: translationArtifactVersion.id,
@@ -53,6 +54,7 @@ module.exports = function (options) {
return { return {
creatorId: request.user.id, creatorId: request.user.id,
chapterId: translationChapter.chapterId, chapterId: translationChapter.chapterId,
index: translationChapter.index,
translationChunks: translationChapter.translationChunks.map(translationChunk => { translationChunks: translationChapter.translationChunks.map(translationChunk => {
if (translationChunk.translation) { if (translationChunk.translation) {
existingTranslation[translationChunk.chunkId] = { existingTranslation[translationChunk.chunkId] = {
@@ -198,6 +200,7 @@ module.exports = function (options) {
creatorId: userId, creatorId: userId,
name: dialect.name, name: dialect.name,
artifactVersionId: artifactVersion.id, artifactVersionId: artifactVersion.id,
accessibility: artifactVersion.artifact.accessibility,
dialectId: dialect.id, dialectId: dialect.id,
userId: userId, userId: userId,
owner: { owner: {
@@ -211,6 +214,7 @@ module.exports = function (options) {
return { return {
creatorId: userId, creatorId: userId,
chapterId: chapter.id, chapterId: chapter.id,
index: chapter.index,
translationChunks: chapter.chunks.map(chunk => { translationChunks: chapter.chunks.map(chunk => {
return { return {
creatorId: userId, creatorId: userId,
@@ -246,6 +250,7 @@ module.exports = function (options) {
creatorId: userId, creatorId: userId,
name: artifactVersion.translationArtifactVersions[0].name, name: artifactVersion.translationArtifactVersions[0].name,
artifactVersionId: artifactVersion.translationArtifactVersions[0].artifactVersionId, artifactVersionId: artifactVersion.translationArtifactVersions[0].artifactVersionId,
accessibility: artifactVersion.artifact.accessibility,
userId: userId, userId: userId,
dialectId: artifactVersion.translationArtifactVersions[0].dialectId, dialectId: artifactVersion.translationArtifactVersions[0].dialectId,
forkedFromId: artifactVersion.translationArtifactVersions[0].id, forkedFromId: artifactVersion.translationArtifactVersions[0].id,
@@ -260,6 +265,7 @@ module.exports = function (options) {
return { return {
creatorId: userId, creatorId: userId,
chapterId: chapter.id, chapterId: chapter.id,
index: chapter.index,
translationChunks: chapter.chunks.map(chunk => { translationChunks: chapter.chunks.map(chunk => {
return { return {
creatorId: userId, creatorId: userId,

View File

@@ -113,6 +113,7 @@ module.exports = function (options) {
url: request.body.url, url: request.body.url,
dialectId: dialect.id, dialectId: dialect.id,
licenseId: "copyright", licenseId: "copyright",
accessibility: request.body.accessibility,
artifactVersions: [ artifactVersions: [
{ {
creatorId: request.user.id, creatorId: request.user.id,

View File

@@ -853,8 +853,9 @@ module.exports = function (options) {
.string(translationArtifactVersion.id) .string(translationArtifactVersion.id)
var cellIndex = 6 var cellIndex = 6
for (const i in translationArtifactVersion.translationChapters) { const translationChapters = translationArtifactVersion.translationChapters.sort((a, b) => a.index - b.index)
const translationChapter = translationArtifactVersion.translationChapters[i] for (const i in translationChapters) {
const translationChapter = translationChapters[i]
const translationChunks = translationChapter.translationChunks.sort((a,b) => a.index - b.index) const translationChunks = translationChapter.translationChunks.sort((a,b) => a.index - b.index)
for (const j in translationChunks) { for (const j in translationChunks) {
const translationChunk = translationChunks[j] const translationChunk = translationChunks[j]

View File

@@ -395,6 +395,7 @@ module.exports = function (options) {
name: translationArtifactVersion.artifactVersion.artifact.dialect.name, name: translationArtifactVersion.artifactVersion.artifact.dialect.name,
artifactVersionId: translationArtifactVersion.artifactVersionId, artifactVersionId: translationArtifactVersion.artifactVersionId,
dialectId: translationArtifactVersion.dialect.id, dialectId: translationArtifactVersion.dialect.id,
accessibility: translationArtifactVersion.accessibility,
backTranslationFromId: translationArtifactVersion.id, backTranslationFromId: translationArtifactVersion.id,
owner: { owner: {
ownerEntities: [ ownerEntities: [
@@ -407,6 +408,7 @@ module.exports = function (options) {
return { return {
creatorId: request.user.id, creatorId: request.user.id,
chapterId: translationChapter.chapterId, chapterId: translationChapter.chapterId,
index: translationChapter.index,
translationChunks: translationChapter.translationChunks.map(translationChunk => { translationChunks: translationChapter.translationChunks.map(translationChunk => {
return { return {
creatorId: request.user.id, creatorId: request.user.id,

View File

@@ -322,6 +322,7 @@ module.exports = function (options) {
creatorId: request.user.id, creatorId: request.user.id,
name: dialect.name, name: dialect.name,
artifactVersionId: artifactVersion.id, artifactVersionId: artifactVersion.id,
accessibility: artifactVersion.artifact.accessibility,
dialectId: dialect.id, dialectId: dialect.id,
owner: { owner: {
ownerEntities: [ ownerEntities: [
@@ -334,6 +335,7 @@ module.exports = function (options) {
return { return {
creatorId: request.user.id, creatorId: request.user.id,
chapterId: chapter.id, chapterId: chapter.id,
index: chapter.index,
translationChunks: chapter.chunks.map(chunk => { translationChunks: chapter.chunks.map(chunk => {
return { return {
creatorId: request.user.id, creatorId: request.user.id,

View File

@@ -10,6 +10,9 @@ block content
.container .container
.center .center
h1 #{artifactVersion.artifact.name} h1 #{artifactVersion.artifact.name}
if artifactVersion.artifact.accessibility == "private"
i.right.medium.material-icons lock
h2 #{artifactVersion.tag} h2 #{artifactVersion.tag}
p.flow-text p.flow-text
each ownerEntity, index in artifactVersion.artifact.owner.ownerEntities each ownerEntity, index in artifactVersion.artifact.owner.ownerEntities
@@ -35,7 +38,7 @@ block content
p.flow-text No chapters added p.flow-text No chapters added
else else
.row .row
each chapter in artifactVersion.chapters each chapter in artifactVersion.chapters.sort((a, b) => a.index - b.index)
.col.s12 .col.s12
a(href=`/v/${artifactVersion.id}/chapters/${chapter.id}`) a(href=`/v/${artifactVersion.id}/chapters/${chapter.id}`)
.card-panel .card-panel

View File

@@ -0,0 +1,4 @@
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('#accessibility-select');
var instances = M.FormSelect.init(elems, {});
});

View File

@@ -5,18 +5,37 @@ block content
.center .center
h1 Library h1 Library
.row .row
.col.s12 .col.s12
form.row(action="/library/add", method="post") form.row(action="/library/add", method="post")
.col.s12.input-field
input#name(type="text", name="name", value=artifact.name)
label(for="name") Artifact Name
.col.s12.input-field
input#url(type="text", name="url", value=artifact.url)
label(for="url") Artifact Url
if artifact.id == null
.col.s12.input-field .col.s12.input-field
input#name(type="text", name="name", value=artifact.name) input#version(type="text", name="version", value=artifact.version)
label(for="name") Artifact Name label(for="version") First Version Number
.col.s12.input-field .col.s12.input-field
input#url(type="text", name="url", value=artifact.url) p
label(for="url") Artifact Url label
if artifact.id == null input(type="radio", name="accessibility", value="public")
.col.s12.input-field span Public
input#version(type="text", name="version", value=artifact.version) br
label(for="version") First Version Number small Anyone can see and add translations
.col.s12 p
button.btn.black(type="submit") add artifact label
input(type="radio", name="accessibility", value="permissioned")
span Permissioned
br
small Anyone can see but restrict translations
p
label
input(type="radio", name="accessibility", value="private")
span Private
br
small Restrict who can see and translate project
.col.s12
button.btn.black(type="submit") add artifact

View File

@@ -58,7 +58,7 @@ block content
//- TODO: Give summary of chapters... //- TODO: Give summary of chapters...
h2 Chapters h2 Chapters
each translationChapter in translationArtifactVersion.translationChapters each translationChapter in translationArtifactVersion.translationChapters.sort((a,b) => a.index - b.index)
p.flow-text p.flow-text
small translate small translate
br br