mirror of
https://github.com/matt-fidd/stratos.git
synced 2026-01-02 03:39:28 +00:00
Fix multiple instantiation problem
This commit is contained in:
@@ -70,11 +70,12 @@ router.all(/user\/(.{36})(\/.*)?/, async (req, res, next) => {
|
|||||||
)))
|
)))
|
||||||
return res.redirect('/admin/dashboard');
|
return res.redirect('/admin/dashboard');
|
||||||
|
|
||||||
|
req.user = u;
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/user/:id', async (req, res) => {
|
router.get('/user/:id', (req, res) => {
|
||||||
const u = await new User(req.db, null, req.params.id);
|
const u = req.user;
|
||||||
|
|
||||||
return res.render('user', {
|
return res.render('user', {
|
||||||
title: `Stratos - ${u.shortName}`,
|
title: `Stratos - ${u.shortName}`,
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ router.all(/class\/(.{36})(\/.*)?/, async (req, res, next) => {
|
|||||||
)))
|
)))
|
||||||
return res.redirect('/admin/classes');
|
return res.redirect('/admin/classes');
|
||||||
|
|
||||||
|
req.class = c;
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -6,11 +6,10 @@ const router = express.Router();
|
|||||||
|
|
||||||
const validator = require('../lib/validator');
|
const validator = require('../lib/validator');
|
||||||
|
|
||||||
const Class = require('../lib/Class');
|
|
||||||
const User = require('../lib/User');
|
const User = require('../lib/User');
|
||||||
|
|
||||||
router.get('/:id', async (req, res) => {
|
router.get('/:id', async (req, res) => {
|
||||||
const c = await new Class(req.db, req.params.id);
|
const c = req.class;
|
||||||
const linkRoot = `/admin/class/${c.id}`;
|
const linkRoot = `/admin/class/${c.id}`;
|
||||||
const upcomingTests = await c.getTests({ range: 'after' });
|
const upcomingTests = await c.getTests({ range: 'after' });
|
||||||
const recentTests = await c.getTests({ range: 'before' });
|
const recentTests = await c.getTests({ range: 'before' });
|
||||||
@@ -59,8 +58,8 @@ router.get('/:id', async (req, res) => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/:id/:memberType(members|teachers)', async (req, res) => {
|
router.get('/:id/:memberType(members|teachers)', (req, res) => {
|
||||||
const c = await new Class(req.db, req.params.id);
|
const c = req.class;
|
||||||
const linkRoot = `/admin/class/${c.id}`;
|
const linkRoot = `/admin/class/${c.id}`;
|
||||||
|
|
||||||
let users, addLink, addContent, pageTitle;
|
let users, addLink, addContent, pageTitle;
|
||||||
@@ -89,8 +88,8 @@ router.get('/:id/:memberType(members|teachers)', async (req, res) => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/:id/:userType(members|teachers)/add', async (req, res) => {
|
router.get('/:id/:userType(members|teachers)/add', (req, res) => {
|
||||||
const c = await new Class(req.db, req.params.id);
|
const c = req.class;
|
||||||
const userType =
|
const userType =
|
||||||
req.params.userType === 'teachers' ?
|
req.params.userType === 'teachers' ?
|
||||||
'teachers' :
|
'teachers' :
|
||||||
@@ -129,7 +128,7 @@ router.get('/:id/:userType(members|teachers)/add', async (req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
router.post('/:id/:userType(members|teachers)/add', async (req, res) => {
|
router.post('/:id/:userType(members|teachers)/add', async (req, res) => {
|
||||||
const c = await new Class(req.db, req.params.id);
|
const c = req.class;
|
||||||
const userType = req.params.userType;
|
const userType = req.params.userType;
|
||||||
const rejectURL = `/admin/class/${c.id}/${userType}/add`;
|
const rejectURL = `/admin/class/${c.id}/${userType}/add`;
|
||||||
|
|
||||||
@@ -174,7 +173,7 @@ router.post('/:id/:userType(members|teachers)/add', async (req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
router.post('/:id/members/add2', async (req, res) => {
|
router.post('/:id/members/add2', async (req, res) => {
|
||||||
const c = await new Class(req.db, req.params.id);
|
const c = req.class;
|
||||||
const rejectURL = `/admin/class/${c.id}/students/add`;
|
const rejectURL = `/admin/class/${c.id}/students/add`;
|
||||||
|
|
||||||
let fields;
|
let fields;
|
||||||
|
|||||||
@@ -133,11 +133,12 @@ router.all(/test\/(.{36})(\/.*)?/, async (req, res, next) => {
|
|||||||
)))
|
)))
|
||||||
return res.redirect('/admin/tests');
|
return res.redirect('/admin/tests');
|
||||||
|
|
||||||
|
req.test = t;
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/test/:id', async (req, res) => {
|
router.get('/test/:id', (req, res) => {
|
||||||
const t = await new Test(req.db, req.params.id);
|
const t = req.test;
|
||||||
const linkRoot = `/admin/test/${t.id}`;
|
const linkRoot = `/admin/test/${t.id}`;
|
||||||
|
|
||||||
return res.render('test', {
|
return res.render('test', {
|
||||||
|
|||||||
Reference in New Issue
Block a user