mirror of
https://github.com/matt-fidd/stratos.git
synced 2026-01-01 16:19:26 +00:00
Added generalised handlebars context
This commit is contained in:
@@ -20,9 +20,9 @@ router.get('/dashboard', async (req, res) => {
|
||||
const classes = await u.getClasses();
|
||||
|
||||
return res.render('dashboard', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Dashboard',
|
||||
current: 'Dashboard',
|
||||
name: req.session.fullName,
|
||||
stats: [
|
||||
{
|
||||
value: classes.length,
|
||||
@@ -55,9 +55,9 @@ router.all(/user\/(.{36})(\/.*)?/, async (req, res, next) => {
|
||||
u = await new User(req.db, req.params[0]);
|
||||
} catch (e) {
|
||||
return res.status(400).render('error', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Error',
|
||||
current: 'Dashboard',
|
||||
name: req.session.fullName,
|
||||
code: 400,
|
||||
msg: e.message
|
||||
});
|
||||
@@ -77,9 +77,9 @@ router.get('/user/:id', (req, res) => {
|
||||
const u = req.user;
|
||||
|
||||
return res.render('user', {
|
||||
...req.hbsContext,
|
||||
title: `Stratos - ${u.shortName}`,
|
||||
current: 'Dashboard',
|
||||
name: req.session.fullName,
|
||||
user: u
|
||||
});
|
||||
});
|
||||
|
||||
@@ -14,11 +14,10 @@ router.get('/classes', async (req, res) => {
|
||||
const u = await new User(req.db, req.session.userId);
|
||||
|
||||
return res.render('classes', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Classes',
|
||||
current: 'Classes',
|
||||
name: req.session.fullName,
|
||||
classes: await u.getClasses(),
|
||||
userType: req.session.userType
|
||||
classes: await u.getClasses()
|
||||
});
|
||||
});
|
||||
|
||||
@@ -26,9 +25,9 @@ router.get('/class/add', async (req, res) => {
|
||||
const subjects = await Subject.getAllSubjects(req.db);
|
||||
|
||||
res.render('addClass', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Add class',
|
||||
current: 'Classes',
|
||||
name: req.session.fullName,
|
||||
subjects: subjects
|
||||
});
|
||||
});
|
||||
@@ -62,9 +61,9 @@ router.all(/class\/(.{36})(\/.*)?/, async (req, res, next) => {
|
||||
c = await new Class(req.db, req.params[0]);
|
||||
} catch (e) {
|
||||
return res.status(400).render('error', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Error',
|
||||
current: 'Classes',
|
||||
name: req.session.fullName,
|
||||
code: 400,
|
||||
msg: e.message
|
||||
});
|
||||
|
||||
@@ -12,6 +12,7 @@ const validator = require('../lib/validator');
|
||||
|
||||
router.get('/', (req, res) => {
|
||||
return res.render('index', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Home'
|
||||
});
|
||||
});
|
||||
@@ -21,6 +22,7 @@ router.get('/login', (req, res) => {
|
||||
return res.redirect('/admin');
|
||||
|
||||
return res.render('login', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Login',
|
||||
redirect_to: req.query?.redirect_to
|
||||
});
|
||||
@@ -28,20 +30,22 @@ router.get('/login', (req, res) => {
|
||||
|
||||
router.get('/register', (req, res) => {
|
||||
return res.render('register', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Register'
|
||||
});
|
||||
});
|
||||
|
||||
router.get('/password-reset', (req, res) => {
|
||||
return res.render('password-reset', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Password Recovery'
|
||||
});
|
||||
});
|
||||
|
||||
router.get('/logout', (req, res) => {
|
||||
return res.render('logout', {
|
||||
title: 'Stratos - Logout',
|
||||
username: req.session.fullName
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Logout'
|
||||
});
|
||||
});
|
||||
|
||||
@@ -124,6 +128,7 @@ router.post('/register', async (req, res) => {
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
return res.render('error', {
|
||||
...req.hbsContext,
|
||||
code: 400,
|
||||
msg: 'Unable to create account'
|
||||
});
|
||||
@@ -196,6 +201,7 @@ router.get('/password-reset/:uuid/:token', async (req, res) => {
|
||||
}
|
||||
|
||||
return res.render('change-password', {
|
||||
...req.hbsContext,
|
||||
uuid: uuid,
|
||||
token: token
|
||||
});
|
||||
|
||||
@@ -7,9 +7,9 @@ router.get('/reports', (req, res, next) => {
|
||||
/* eslint-disable multiline-comment-style */
|
||||
/*
|
||||
return res.render('reports', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Reports',
|
||||
current: 'Reports',
|
||||
name: req.session.fullName
|
||||
current: 'Reports'
|
||||
});
|
||||
*/
|
||||
/* eslint-enable multiline-comment-style */
|
||||
|
||||
@@ -16,9 +16,9 @@ router.get('/:id', async (req, res) => {
|
||||
const testCount = recentTests.length + upcomingTests.length;
|
||||
|
||||
return res.render('class', {
|
||||
...req.hbsContext,
|
||||
title: `Stratos - ${c.name}`,
|
||||
current: 'Classes',
|
||||
name: req.session.fullName,
|
||||
className: c.name,
|
||||
teachers: c.teachers,
|
||||
members: c.students,
|
||||
@@ -30,7 +30,6 @@ router.get('/:id', async (req, res) => {
|
||||
deleteLink: `${linkRoot}/delete`,
|
||||
membersLink: `${linkRoot}/members`,
|
||||
teachersLink: `${linkRoot}/teachers`,
|
||||
userType: req.session.userType,
|
||||
stats: [
|
||||
{
|
||||
value: testCount,
|
||||
@@ -76,10 +75,9 @@ router.get('/:id/:memberType(members|teachers)', (req, res) => {
|
||||
}
|
||||
|
||||
return res.render('classUsers', {
|
||||
...req.hbsContext,
|
||||
title: `Stratos - ${c.name}`,
|
||||
current: 'Classes',
|
||||
name: req.session.fullName,
|
||||
userType: req.session.userType,
|
||||
className: c.name,
|
||||
users: users,
|
||||
addLink: addLink,
|
||||
@@ -116,9 +114,9 @@ router.get('/:id/:userType(members|teachers)/add', (req, res) => {
|
||||
});
|
||||
|
||||
return res.render('addClassUser', {
|
||||
...req.hbsContext,
|
||||
title: `Stratos - ${c.name}`,
|
||||
current: 'Classes',
|
||||
name: req.session.fullName,
|
||||
className: c.name,
|
||||
postLink: `/admin/class/${c.id}/${req.params.userType}/add`,
|
||||
newType: userType.slice(0, -1),
|
||||
@@ -153,9 +151,9 @@ router.post('/:id/:userType(members|teachers)/add', async (req, res) => {
|
||||
return res.redirect(`${rejectURL}/?err=no_user`);
|
||||
|
||||
return res.render('addClassUser2', {
|
||||
...req.hbsContext,
|
||||
title: `Stratos - ${c.name}`,
|
||||
current: 'Classes',
|
||||
name: req.session.fullName,
|
||||
className: c.name,
|
||||
postLink: `/admin/class/${c.id}/members/add2`,
|
||||
newType: 'student',
|
||||
@@ -224,12 +222,12 @@ router.get('/:id/:userType(members|teachers)/:userId/remove',
|
||||
`/${u.id}/remove`;
|
||||
|
||||
return res.render('removeClassUser', {
|
||||
...req.hbsContext,
|
||||
title: `Stratos - ${c.name}`,
|
||||
current: 'Classes',
|
||||
name: req.session.fullName,
|
||||
u: u,
|
||||
postLink: postLink,
|
||||
pageTitle: `Remove a ${userType.slice(0, -1)}`,
|
||||
pageTitle: `Remove a ${userType.slice(0, -1)}`
|
||||
});
|
||||
}
|
||||
);
|
||||
@@ -246,9 +244,9 @@ router.post('/:id/:userType(members|teachers)/:userId/remove',
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
return res.render('error', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Error',
|
||||
current: 'Classes',
|
||||
name: req.session.fullName,
|
||||
msg: `Can not remove this user: ${e.message}`
|
||||
});
|
||||
}
|
||||
|
||||
@@ -20,9 +20,9 @@ router.get('/:id', async (req, res) => {
|
||||
}
|
||||
|
||||
return res.render('test', {
|
||||
...req.hbsContext,
|
||||
title: `Stratos - ${t.template.name}`,
|
||||
current: 'Tests',
|
||||
name: req.session.fullName,
|
||||
testName: t.template.name,
|
||||
class: t.class,
|
||||
subject: t.class.subject.name,
|
||||
@@ -30,7 +30,6 @@ router.get('/:id', async (req, res) => {
|
||||
reportsLink: `${linkRoot}/reports`,
|
||||
resultsLink: `${linkRoot}/results`,
|
||||
deleteLink: `${linkRoot}/delete`,
|
||||
userType: req.session.userType,
|
||||
testResults: results,
|
||||
stats: [
|
||||
{
|
||||
@@ -67,11 +66,10 @@ router.get('/:id/results', async (req, res) => {
|
||||
const results = await t.getTestResults();
|
||||
|
||||
return res.render('testResults', {
|
||||
...req.hbsContext,
|
||||
title: `Stratos - ${t.template.name}`,
|
||||
current: 'Tests',
|
||||
name: req.session.fullName,
|
||||
testName: t.template.name,
|
||||
userType: req.session.userType,
|
||||
testResults: results,
|
||||
linkRoot: linkRoot,
|
||||
addLink: `${linkRoot}/add`
|
||||
@@ -122,9 +120,9 @@ router.get('/:id/results/add', async (req, res) => {
|
||||
.filter(s => !existingResults.includes(s.id));
|
||||
|
||||
return res.render('addTestResult', {
|
||||
...req.hbsContext,
|
||||
title: `Stratos - ${t.template.name}`,
|
||||
current: 'Tests',
|
||||
name: req.session.fullName,
|
||||
testName: t.template.name,
|
||||
linkRoot: linkRoot,
|
||||
students: students,
|
||||
|
||||
@@ -13,11 +13,10 @@ router.get('/tests', async (req, res) => {
|
||||
const u = await new User(req.db, req.session.userId);
|
||||
|
||||
return res.render('tests', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Tests',
|
||||
current: 'Tests',
|
||||
name: req.session.fullName,
|
||||
tests: await u.getTests(),
|
||||
userType: req.session.userType
|
||||
tests: await u.getTests()
|
||||
});
|
||||
});
|
||||
|
||||
@@ -32,9 +31,9 @@ router.get('/test/add', async (req, res) => {
|
||||
const [ testTemplates, classes ] = await Promise.all(promises);
|
||||
|
||||
res.render('addTest', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Add test',
|
||||
current: 'Tests',
|
||||
name: req.session.fullName,
|
||||
testTemplates: testTemplates,
|
||||
classes: classes
|
||||
});
|
||||
@@ -72,9 +71,9 @@ router.post('/test/add', async (req, res) => {
|
||||
|
||||
router.get('/testTemplate/add', (req, res) => {
|
||||
res.render('addTestTemplate', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Add test template',
|
||||
current: 'Tests',
|
||||
name: req.session.fullName
|
||||
current: 'Tests'
|
||||
});
|
||||
});
|
||||
|
||||
@@ -103,9 +102,9 @@ router.post('/testTemplate/add', async (req, res) => {
|
||||
console.error(e);
|
||||
|
||||
return res.render('error', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Error',
|
||||
current: 'Tests',
|
||||
name: req.session.fullName,
|
||||
msg: 'Could not create test template'
|
||||
});
|
||||
}
|
||||
@@ -119,9 +118,9 @@ router.all(/test\/(.{36})(\/.*)?/, async (req, res, next) => {
|
||||
t = await new Test(req.db, req.params[0]);
|
||||
} catch (e) {
|
||||
return res.status(400).render('error', {
|
||||
...req.hbsContext,
|
||||
title: 'Stratos - Error',
|
||||
current: 'Tests',
|
||||
name: req.session.fullName,
|
||||
code: 400,
|
||||
msg: e.message
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user