From 6e6be6df2661311fa20a3374d1588d0c5d62e9d7 Mon Sep 17 00:00:00 2001 From: rob Date: Sun, 19 Dec 2021 14:34:21 -0500 Subject: [PATCH] refactor displayEngine.createDisplayList to SiteController base class --- app/controllers/admin/host.js | 3 +-- app/controllers/admin/link.js | 8 ++++---- app/controllers/admin/newsletter.js | 4 ++-- app/controllers/link.js | 16 ++++++++-------- app/controllers/newsletter.js | 4 ++-- app/controllers/user.js | 4 ++-- app/views/layouts/public-profile.pug | 7 ++++++- lib/site-controller.js | 5 +++++ 8 files changed, 30 insertions(+), 21 deletions(-) diff --git a/app/controllers/admin/host.js b/app/controllers/admin/host.js index b308d5e..f6a945a 100644 --- a/app/controllers/admin/host.js +++ b/app/controllers/admin/host.js @@ -49,9 +49,8 @@ class HostController extends SiteController { } async postDeactiveHost (req, res) { - const { displayEngine: displayEngineService } = this.dtp.services; try { - const displayList = displayEngineService.createDisplayList('deactivate-host'); + const displayList = this.createDisplayList('deactivate-host'); await NetHost.updateOne( { _id: res.locals.host._id }, diff --git a/app/controllers/admin/link.js b/app/controllers/admin/link.js index ecd4d44..7af0187 100644 --- a/app/controllers/admin/link.js +++ b/app/controllers/admin/link.js @@ -54,9 +54,9 @@ class LinkController extends SiteController { } async postUpdateLink (req, res) { - const { link: linkService, displayEngine: displayEngineService } = this.dtp.services; + const { link: linkService } = this.dtp.services; try { - const displayList = displayEngineService.createDisplayList('update-link'); + const displayList = this.createDisplayList('update-link'); await linkService.update(res.locals.link, req.body); @@ -92,9 +92,9 @@ class LinkController extends SiteController { } async deleteLink (req, res) { - const { link: linkService, displayEngine: displayEngineService } = this.dtp.services; + const { link: linkService } = this.dtp.services; try { - const displayList = displayEngineService.createDisplayList('delete-link'); + const displayList = this.createDisplayList('delete-link'); await linkService.remove(res.locals.link); diff --git a/app/controllers/admin/newsletter.js b/app/controllers/admin/newsletter.js index 9eaf061..78a8a05 100644 --- a/app/controllers/admin/newsletter.js +++ b/app/controllers/admin/newsletter.js @@ -90,9 +90,9 @@ class NewsletterController extends SiteController { } async deleteNewsletter (req, res) { - const { newsletter: newsletterService, displayEngine: displayEngineService } = this.dtp.services; + const { newsletter: newsletterService } = this.dtp.services; try { - const displayList = displayEngineService.createDisplayList('delete-newsletter'); + const displayList = this.createDisplayList('delete-newsletter'); await newsletterService.deleteNewsletter(res.locals.newsletter); diff --git a/app/controllers/link.js b/app/controllers/link.js index 4d75252..e856a45 100644 --- a/app/controllers/link.js +++ b/app/controllers/link.js @@ -88,9 +88,9 @@ class LinkController extends SiteController { } async postSortLinksList (req, res) { - const { link: linkService, displayEngine: displayEngineService } = this.dtp.services; + const { link: linkService } = this.dtp.services; try { - const displayList = displayEngineService.createDisplayList('sort-links-list'); + const displayList = this.createDisplayList('sort-links-list'); await linkService.setItemOrder(req.body.updateOps); displayList.showNotification( 'List sort order updated', @@ -109,9 +109,9 @@ class LinkController extends SiteController { } async postUpdateLink (req, res) { - const { link: linkService, displayEngine: displayEngineService } = this.dtp.services; + const { link: linkService } = this.dtp.services; try { - const displayList = displayEngineService.createDisplayList('update-link'); + const displayList = this.createDisplayList('update-link'); if (!res.locals.link.user._id.equals(req.user._id)) { throw new SiteError(403, 'This is not your link'); @@ -139,9 +139,9 @@ class LinkController extends SiteController { } async postCreateLink (req, res) { - const { link: linkService, displayEngine: displayEngineService } = this.dtp.services; + const { link: linkService } = this.dtp.services; try { - const displayList = displayEngineService.createDisplayList('update-link'); + const displayList = this.createDisplayList('update-link'); res.locals.link = await linkService.create(req.user, req.body); @@ -164,9 +164,9 @@ class LinkController extends SiteController { } async deleteLink (req, res, next) { - const { link: linkService, displayEngine: displayEngineService } = this.dtp.services; + const { link: linkService } = this.dtp.services; try { - const displayList = displayEngineService.createDisplayList('update-link'); + const displayList = this.createDisplayList('update-link'); if (!res.locals.link.user._id.equals(req.user._id)) { throw new SiteError(403, 'This is not your link'); } diff --git a/app/controllers/newsletter.js b/app/controllers/newsletter.js index df0331e..a3a6ce2 100644 --- a/app/controllers/newsletter.js +++ b/app/controllers/newsletter.js @@ -58,9 +58,9 @@ class NewsletterController extends SiteController { } async postAddRecipient (req, res) { - const { newsletter: newsletterService, displayEngine: displayEngineService } = this.dtp.services; + const { newsletter: newsletterService } = this.dtp.services; try { - const displayList = displayEngineService.createDisplayList('add-recipient'); + const displayList = this.createDisplayList('add-recipient'); await newsletterService.addRecipient(req.body.email); displayList.showNotification( 'You have been added to the newsletter. Please check your email and verify your email address.', diff --git a/app/controllers/user.js b/app/controllers/user.js index 552ea0f..51a77a5 100644 --- a/app/controllers/user.js +++ b/app/controllers/user.js @@ -137,9 +137,9 @@ class UserController extends SiteController { } async postUpdateSettings (req, res) { - const { user: userService, displayEngine: displayEngineService } = this.dtp.services; + const { user: userService } = this.dtp.services; try { - const displayList = displayEngineService.createDisplayList('app-settings'); + const displayList = this.createDisplayList('app-settings'); await userService.updateSettings(req.user, req.body); diff --git a/app/views/layouts/public-profile.pug b/app/views/layouts/public-profile.pug index 07fe599..4a6c420 100644 --- a/app/views/layouts/public-profile.pug +++ b/app/views/layouts/public-profile.pug @@ -1,8 +1,13 @@ extends main - block content-container + + section.uk-section.uk-section-default .uk-container.uk-width-xlarge + if user && user.flags.isAdmin + .uk-margin.uk-text-center + a(href=`/admin/user/${user._id}`).uk-button.dtp-button-danger User Admin + .uk-margin.uk-margin-auto.uk-width-small img(src="/img/icon/icon-512x512.png").responsive diff --git a/lib/site-controller.js b/lib/site-controller.js index ce6a589..96c7534 100644 --- a/lib/site-controller.js +++ b/lib/site-controller.js @@ -38,6 +38,11 @@ class SiteController extends SiteCommon { return pagination; } + createDisplayList (name) { + const { displayEngine: displayEngineService } = this.dtp.services; + return displayEngineService.createDisplayList(name); + } + async createCsrfToken (req, name) { const { csrfToken } = this.dtp.platform.services; return csrfToken.create(req, { name });