From 359485170d179811208033e3706f0a1adc70b660 Mon Sep 17 00:00:00 2001 From: Alice Gaudon Date: Mon, 25 Jan 2021 12:47:10 +0100 Subject: [PATCH] UserNameComponent: ensure usage of user.name is optional Fixes #19 --- src/auth/magic_link/MagicLinkController.ts | 3 ++- src/helpers/BackendController.ts | 3 +++ test/views/layouts/base.njk | 2 +- views/backend/accounts_approval.njk | 4 ++++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/auth/magic_link/MagicLinkController.ts b/src/auth/magic_link/MagicLinkController.ts index 3df778c..e10163f 100644 --- a/src/auth/magic_link/MagicLinkController.ts +++ b/src/auth/magic_link/MagicLinkController.ts @@ -191,7 +191,8 @@ export default class MagicLinkController extends Controll if (!res.headersSent && user) { // Auth success - req.flash('success', `Authentication success. Welcome, ${user.name}!`); + const name = user.asOptional(UserNameComponent)?.name; + req.flash('success', `Authentication success. Welcome${name ? `, ${name}` : ''}`); res.redirect(req.getIntendedUrl() || Controller.route('home')); } break; diff --git a/src/helpers/BackendController.ts b/src/helpers/BackendController.ts index 66fc1c0..71a4d83 100644 --- a/src/helpers/BackendController.ts +++ b/src/helpers/BackendController.ts @@ -9,6 +9,8 @@ import UserEmail from "../auth/models/UserEmail"; import UserApprovedComponent from "../auth/models/UserApprovedComponent"; import {RequireAdminMiddleware, RequireAuthMiddleware} from "../auth/AuthComponent"; import NunjucksComponent from "../components/NunjucksComponent"; +import ModelFactory from "../db/ModelFactory"; +import UserNameComponent from "../auth/models/UserNameComponent"; export default class BackendController extends Controller { private static readonly menu: BackendMenuElement[] = []; @@ -65,6 +67,7 @@ export default class BackendController extends Controller { .get(); res.render('backend/accounts_approval', { accounts: accounts, + has_user_name_component: ModelFactory.get(User).hasComponent(UserNameComponent), }); } diff --git a/test/views/layouts/base.njk b/test/views/layouts/base.njk index a3b9693..a38ea56 100644 --- a/test/views/layouts/base.njk +++ b/test/views/layouts/base.njk @@ -23,7 +23,7 @@
  • - {{ user.name }} + {{ user.name | default('Account') }}
  • diff --git a/views/backend/accounts_approval.njk b/views/backend/accounts_approval.njk index cc0ae9f..961ce5b 100644 --- a/views/backend/accounts_approval.njk +++ b/views/backend/accounts_approval.njk @@ -10,7 +10,9 @@ # + {% if has_user_name_component %} Name + {% endif %} Main email Registered at Action @@ -20,7 +22,9 @@ {% for user in accounts %} {{ user.id }} + {% if has_user_name_component %} {{ user.name }} + {% endif %} {{ user.mainEmail.getOrFail().email | default('No email') }} {{ user.created_at.toISOString() }}