fix/ Reinforce user to complete the financial questionnaire

This commit is contained in:
nicoagostini committed 2025-05-22 10:33:13 -07:00
1 parent c1adb31657
commit ec309fbafd
1 file changed
+28 -10
+28 -10
View File
@@ -109,6 +109,12 @@ module.exports = (middleware, users, plans, assets) => {
}); });
router.get('/assets', async (req, res) => { router.get('/assets', async (req, res) => {
if (!req.session.user.financialData || !req.session.user) {
req.session.errMessage = "Please complete your financial data before creating a plan.";
return res.status(status.Unauthorized).redirect('/questionnaire');
}
let userAssets = await assets.find({ userId: new ObjectId(req.session.userId) }).toArray(); let userAssets = await assets.find({ userId: new ObjectId(req.session.userId) }).toArray();
let totalUserAssetValue = await calculateTotalAssetValue(userAssets); let totalUserAssetValue = await calculateTotalAssetValue(userAssets);
@@ -124,6 +130,12 @@ module.exports = (middleware, users, plans, assets) => {
}); });
router.get('/plans', async (req, res) => { router.get('/plans', async (req, res) => {
if (!req.session.user.financialData || !req.session.user) {
req.session.errMessage = "Please complete your financial data before creating a plan.";
return res.status(status.Unauthorized).redirect('/questionnaire');
}
try { try {
const updatedUserPlans = await updateProgress(plans, assets, users, req.session.user._id); const updatedUserPlans = await updateProgress(plans, assets, users, req.session.user._id);
@@ -177,21 +189,27 @@ module.exports = (middleware, users, plans, assets) => {
} }
}); });
router.get('/newPlan', (req, res) => { // router.get('/newPlan', (req, res) => {
// if (!req.session.user.financialData || !req.session.user) {
// req.session.errMessage = "Please complete your financial data before creating a plan.";
// return res.status(status.Unauthorized).redirect('/questionnaire');
// }
// const errMessage = req.session.errMessage;
// req.session.errMessage = "";
// res.render('newPlan', {
// user: req.session.user,
// errMessage: errMessage,
// geoData: req.session.geoData
// });
// });
router.post('/newPlan', async (req, res) => {
if (!req.session.user.financialData || !req.session.user) { if (!req.session.user.financialData || !req.session.user) {
req.session.errMessage = "Please complete your financial data before creating a plan."; req.session.errMessage = "Please complete your financial data before creating a plan.";
return res.status(status.Unauthorized).redirect('/questionnaire'); return res.status(status.Unauthorized).redirect('/questionnaire');
} }
const errMessage = req.session.errMessage;
req.session.errMessage = "";
res.render('newPlan', {
user: req.session.user,
errMessage: errMessage,
geoData: req.session.geoData
});
});
router.post('/newPlan', async (req, res) => {
const planSchema = joi.object({ const planSchema = joi.object({
name: joi.string().min(3).max(100).required(), name: joi.string().min(3).max(100).required(),
retirementAge: joi.number().min(18).max(120).required(), retirementAge: joi.number().min(18).max(120).required(),