From 129ce8cbc69472afd76f0780a174f8d790c84099 Mon Sep 17 00:00:00 2001 From: Kgothatso Ngako Date: Thu, 6 Jan 2022 21:04:31 +0200 Subject: [PATCH] Add pledges --- server/router/pledges/index.js | 49 ++++++++++++++++++++++++++++++++++ server/views/pledge.pug | 23 ++++++++++++++++ server/views/pledges.pug | 15 ++++++++++- 3 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 server/views/pledge.pug diff --git a/server/router/pledges/index.js b/server/router/pledges/index.js index 5f33feb..a823baa 100644 --- a/server/router/pledges/index.js +++ b/server/router/pledges/index.js @@ -7,6 +7,14 @@ module.exports = function (options) { router.route('/') .get(function(request, response, next) { db.Pledge.findAll({ + include: [ + { + association: db.Pledge.TranslationArtifactVersionPledges + }, + { + association: db.Pledge.Entity + } + ] }).then(pledges => { if (pledges) { response.display("pledges", { @@ -20,6 +28,47 @@ module.exports = function (options) { }).catch(error => { next(error) }) + }) + + router.route('/:id') + .get(function(request, response, next) { + db.Pledge.findByPk(request.params.id, { + include: [ + { + association: db.Pledge.Entity + }, + { + association: db.Pledge.TranslationArtifactVersionPledges, + include: [ + { + association: db.TranslationArtifactVersionPledge.TranslationArtifactVersion, + include: [ + { + association: db.TranslationArtifactVersion.ArtifactVersion, + include: [ + { + association: db.ArtifactVersion.Artifact + } + ] + } + ] + } + ] + } + ] + }).then(pledge => { + if (pledge) { + response.display("pledge", { + user: request.user, + pageTitle: "Pledge - Mantra", + pledge: pledge + }) + } else { + next() + } + }).catch(error => { + next(error) + }) }) return router; diff --git a/server/views/pledge.pug b/server/views/pledge.pug new file mode 100644 index 0000000..93e130b --- /dev/null +++ b/server/views/pledge.pug @@ -0,0 +1,23 @@ +extend templates/layout.pug + +block content + .container + .center + - + const totalSatoshis = pledge.translationArtifactVersionPledges.reduce((accumulator, translationArtifactVersionPledge) => { + return accumulator + translationArtifactVersionPledge.satoshis + }, 0) + h1 #{totalSatoshis} sats Pledge + + p.flow-text + small #{pledge.entity.name} + br + span= pledge.message + + p.flow-text for completion of the following translations + + each translationArtifactVersionPledge in pledge.translationArtifactVersionPledges + + p.flow-text #{translationArtifactVersionPledge.translationArtifactVersion.name} - #{translationArtifactVersionPledge.translationArtifactVersion.artifactVersion.artifact.name} - #{translationArtifactVersionPledge.translationArtifactVersion.artifactVersion.tag} + br + small #{translationArtifactVersionPledge.satoshis} sats \ No newline at end of file diff --git a/server/views/pledges.pug b/server/views/pledges.pug index 9167262..36b78a3 100644 --- a/server/views/pledges.pug +++ b/server/views/pledges.pug @@ -3,4 +3,17 @@ extend templates/layout.pug block content .container .center - h1 Pledges \ No newline at end of file + h1 Pledges + + each pledge in pledges + - + const totalSatoshis = pledge.translationArtifactVersionPledges.reduce((accumulator, translationArtifactVersionPledge) => { + return accumulator + translationArtifactVersionPledge.satoshis + }, 0) + p.flow-text + a(href=`/pledges/${pledge.id}`) #{totalSatoshis} sats for #{pledge.translationArtifactVersionPledges.length} translations + br + small + small.chip= pledge.entity.name + br + small= pledge.message \ No newline at end of file