From 32c83cd30875a1553a50fbbd4bdc3d18b73c1138 Mon Sep 17 00:00:00 2001 From: matt Date: Fri, 25 Feb 2022 16:30:21 +0000 Subject: [PATCH] Populate dashboard screen with real data --- routes/admin.js | 63 ++++++++++++++++----------------------------- views/dashboard.hbs | 4 +-- 2 files changed, 24 insertions(+), 43 deletions(-) diff --git a/routes/admin.js b/routes/admin.js index 259ae28..95cdee5 100644 --- a/routes/admin.js +++ b/routes/admin.js @@ -1,69 +1,50 @@ 'use strict'; +// Import required modules const express = require('express'); const router = express.Router(); +// Import user defined modules +const User = require('../lib/User'); + +// Redirect /admin to /admin/dashboard router.get('/', (req, res) => { return res.redirect('/admin/dashboard'); }); -router.get('/dashboard', (req, res) => { +router.get('/dashboard', async (req, res) => { + const u = await new User(null, req.session.userId); + + const recentTests = await u.getTests({ range: 'before' }); + const upcomingTests = await u.getTests({ range: 'after' }); + const classes = await u.getClasses(); + return res.render('dashboard', { title: 'Stratos - Dashboard', current: 'Dashboard', name: req.session.fullName, stats: [ { - value: 5, - text: 'Classes' + value: classes.length, + text: 'Class' + (classes.length > 1 ? 'es' : '') }, { - value: 11, - text: 'Completed Tests' + value: recentTests.length, + text: 'Completed Test' + + (recentTests.length > 1 ? 's' : '') }, { - value: 1, - text: 'Upcoming Test' + value: upcomingTests.length, + text: 'Upcoming Test' + + (upcomingTests.length > 1 ? 's' : '') }, { value: '90%', text: 'Pass rate' } ], - recentTests: [ - { - id: 1, - date: '08/01/2022', - name: 'Lagged homework 8' - }, - { - id: 1, - date: '08/01/2022', - name: 'Lagged homework 8' - }, - { - id: 1, - date: '08/01/2022', - name: 'Lagged homework 8' - } - ], - upcomingTests: [ - { - id: 1, - date: '08/01/2022', - name: 'Lagged homework 8' - }, - { - id: 1, - date: '08/01/2022', - name: 'Lagged homework 8' - }, - { - id: 1, - date: '08/01/2022', - name: 'Lagged homework 8' - } - ] + recentTests: recentTests, + upcomingTests: upcomingTests }); }); diff --git a/views/dashboard.hbs b/views/dashboard.hbs index 3c0b686..9ff1d12 100644 --- a/views/dashboard.hbs +++ b/views/dashboard.hbs @@ -15,7 +15,7 @@ {{#each recentTests}} {{> dashboardTest id=id - name=name + name=template.name date=date }} {{/each}} @@ -31,7 +31,7 @@ {{#each upcomingTests}} {{> dashboardTest id=id - name=name + name=template.name date=date }} {{/each}}