aboutsummaryrefslogtreecommitdiff
path: root/routes
diff options
context:
space:
mode:
authorHumairAK <humair88@hotmail.com>2016-07-25 09:32:34 +0000
committerHumairAK <humair88@hotmail.com>2016-07-25 09:32:34 +0000
commitc7bec051d61d66925d68be8661aaf52b011dedac (patch)
treef96695e584177a825f89c982adb005a079e78515 /routes
parent16b2dab8c2a384ccb95fca048414f33daf3925a8 (diff)
added admin confirmation and alert messages for submissions
Diffstat (limited to 'routes')
-rw-r--r--routes/admin.js72
-rw-r--r--routes/user.js121
2 files changed, 96 insertions, 97 deletions
diff --git a/routes/admin.js b/routes/admin.js
index 027722d..24c5910 100644
--- a/routes/admin.js
+++ b/routes/admin.js
@@ -9,7 +9,9 @@ var csrfProtection = csrf();
router.use(csrfProtection); // router is protected
router.get('/', isAdmin, function(req,res){
+ console.log(req.session.messages);
res.render('admin', {csrfToken: req.csrfToken()});
+ req.session.messages = null;
});
/* Adds exam from front-end */
@@ -36,15 +38,16 @@ router.post('/add/exam', function(req,res){
upload_date, // String
uploaded_by]; // String
- dbFile.add_exam(fields, questions_list, function(examAdded, statusMessage){
+ dbFile.add_exam(fields, questions_list, function(examAdded, statusMsg){
if(examAdded){
- console.log("Success!");
+ req.session.messages = {success : statusMsg};
}else{
- console.log("Failed!");
+ req.session.messages = {error : statusMsg};
}
- console.log(statusMessage);
+ console.log(statusMsg);
+ res.redirect('/admin');
});
- res.redirect('/admin');
+
});
/* Adds course from front-end */
@@ -52,15 +55,16 @@ router.post('/add/course', function(req,res){
var course_code = req.body.course_code,
title = req.body.title;
- dbFile.add_course(course_code, title, function(courseAdded, statusMessage){
+ dbFile.add_course(course_code, title, function(courseAdded, statusMsg){
if(courseAdded){
- console.log("Success!");
+ req.session.messages = {success : statusMsg};
}else{
- console.log("Failure!");
+ req.session.messages = {error : statusMsg};
}
- console.log("Status message: " + statusMessage)
+ console.log(statusMsg);
+ res.redirect('/admin');
});
- res.redirect('/admin');
+
});
/* Add a new admin, redirect to admin panel */
@@ -72,18 +76,16 @@ router.post('/add/admin', function(req,res){
password: passport_file.encryptPassword(req.body.password)
};
- dbFile.addAdmin(admin_data, function(success, error, message){
+ dbFile.addAdmin(admin_data, function(success, error, statusMsg){
if(success){
- console.log("Success!");
- }else if(error){
- console.log("Error!");
+ req.session.messages = {success : statusMsg};
}else{
- console.log("Admin already exists.");
+ req.session.messages = {error : statusMsg};
}
- console.log(message);
+ console.log(statusMsg);
+ res.redirect('/admin');
});
- res.redirect('/admin');
});
/* Remove an exam route, redirect to admin panel */
@@ -95,48 +97,46 @@ router.post('/remove/exam', function(req,res){
campus = req.body.campus;
var fields = [course_code, year, term, type];
- console.log(fields);
- dbFile.remove_exam(fields,
- function(examRemoved, statusMessage){
+
+ dbFile.remove_exam(fields, function(examRemoved, statusMsg){
if(examRemoved){
- console.log("Success.");
+ req.session.messages = {success : statusMsg};
} else {
- console.log("Failed.");
+ req.session.messages = {error : statusMsg};
}
- console.log(statusMessage);
+ console.log(statusMsg);
+ res.redirect('/admin');
});
-
- res.redirect('/admin');
});
/* Remove a course route, redirect to admin panel */
router.post('/remove/course', function(req,res){
var course_code = req.body.course_code;
- dbFile.remove_course(course_code, function(courseRemoved, statusMessage){
+ dbFile.remove_course(course_code, function(courseRemoved, statusMsg){
if(courseRemoved){
- console.log("Success.");
+ req.session.messages = {success : statusMsg};
} else {
- console.log("Failed.");
+ req.session.messages = {error : statusMsg};
}
- console.log(statusMessage);
+ console.log(statusMsg);
+ res.redirect('/admin');
});
-
- res.redirect('/admin');
});
/* Remove a user route, redirect to admin panel */
router.post('/remove/user', function(req,res){
var username = req.body.username;
- dbFile.remove_user(username, function(userRemoved, statusMessage){
+ dbFile.remove_user(username, function(userRemoved, statusMsg){
if(userRemoved){
- console.log("Success.");
+ req.session.messages = {success : statusMsg};
} else {
- console.log("Failed.");
+ req.session.messages = {error : statusMsg};
}
- console.log(statusMessage);
+ console.log(statusMsg);
+ res.redirect('/admin');
});
- res.redirect('/admin');
+
});
diff --git a/routes/user.js b/routes/user.js
index 68fee21..dcf4c19 100644
--- a/routes/user.js
+++ b/routes/user.js
@@ -86,62 +86,6 @@ router.get('/user_profile', loggedIn, isUser, function(req, res, next) {
//res.render('user_profile_alt', {comments : comments, inbox: inbox, csrfToken: req.csrfToken()});
});
-/* Adds a solution into the database, redirect to exam/question/solution page */
-router.post('/submit_solution/:examID/:qID', function(req,res){
- // Get required fields from body
- // Populate this data
- /* var Data = {
- exam_id: fields[0],
- q_id: fields[1],
- text: fields[2],
- votes: 0,
- comments: [],
- author: fields[3]
- };*/
-
- var examID = req.params.examID;
- var qID = req.params.qID;
-
- var text = req.body.solution,
- votes = 0,
- comments = [],
- author = req.user.user_name;
-
- var fields = [examID, qID, text, author];
- console.log(fields);
- // Add to database
- dbFile.add_solution(fields, function(addedSolution, statusMsg){
- if(addedSolution){
- console.log("Success!");
- }else{
- console.log("Failed to add solution!");
- }
- console.log(statusMsg);
-
- //Redirect to solutions page again
- res.redirect('/solutions/' + examID + '/' + qID);
-
- });
-
-});
-
-/* Routed here from Solutions page (add solution button)
-* Renders add_solution page for response.*/
-router.get('/add_solution/:examID/:qID', function (req, res, next) {
- var examID = req.params.examID;
- var qID = req.params.qID;
-
- // Must be a logged in user to access
- if(req.isAuthenticated()){
- res.render('add_solutions', {csrfToken: req.csrfToken(), examID: examID, qID: qID});
- } else {
- var message = "Must be logged in to add a solution!";
- req.session.messages = {error : message};
- res.redirect('/solutions/' + examID + '/' + qID);
- }
-
-});
-
router.get('/signup', loggedOut, function(req, res, next) {
res.render('signup', {csrfToken: req.csrfToken(), success: req.session.success, errors: req.session.errors});
req.session.errors = null;
@@ -245,6 +189,60 @@ router.post('/user_profile/send_message', loggedIn, function(req, res, next) {
});
+/* Adds a solution into the database, redirect to exam/question/solution page */
+router.post('/submit_solution/:examID/:qID', function(req,res){
+ // Get required fields from body
+ // Populate this data
+ /* var Data = {
+ exam_id: fields[0],
+ q_id: fields[1],
+ text: fields[2],
+ votes: 0,
+ comments: [],
+ author: fields[3]
+ };*/
+
+ var examID = req.params.examID;
+ var qID = req.params.qID;
+
+ var text = req.body.solution,
+ votes = 0,
+ comments = [],
+ author = req.user.user_name;
+
+ var fields = [examID, qID, text, author];
+ console.log(fields);
+ // Add to database
+ dbFile.add_solution(fields, function(addedSolution, statusMsg){
+ if(addedSolution){
+ req.session.messages = {success : statusMsg};
+ }else{
+ req.session.messages = {error : statusMsg};
+ }
+ //Redirect to solutions page again
+ res.redirect('/solutions/' + examID + '/' + qID);
+
+ });
+
+});
+
+/* Routed here from Solutions page (add solution button)
+ * Renders add_solution page for response.*/
+router.get('/add_solution/:examID/:qID', function (req, res, next) {
+ var examID = req.params.examID;
+ var qID = req.params.qID;
+
+ // Must be a logged in user to access
+ if(req.isAuthenticated()){
+ res.render('add_solutions', {csrfToken: req.csrfToken(), examID: examID, qID: qID});
+ } else {
+ var message = "Must be logged in to add a solution!";
+ req.session.messages = {error : message};
+ res.redirect('/solutions/' + examID + '/' + qID);
+ }
+
+});
+
// Authentication check in code
router.post('/comment/submit/:examID/:qID/:solID', function(req, res, next){
var examID = req.params.examID;
@@ -255,18 +253,19 @@ router.post('/comment/submit/:examID/:qID/:solID', function(req, res, next){
// Must be a logged in user to access
var fields = [comment, username];
if(req.isAuthenticated()){
- dbFile.add_comment(solutionID, fields, function(commentAdded, statusMessage){
+ dbFile.add_comment(solutionID, fields, function(commentAdded, statusMsg){
if(commentAdded){
- console.log("Success!");
+ req.session.messages = {success : statusMsg};
} else{
- console.log("Failed to add comment!");
+ req.session.messages = {error : statusMsg};
}
- console.log(statusMessage);
res.redirect('/solutions/' + examID + '/' + qID);
});
} else { //User not logged in
- res.redirect('/'); // Change this to go back to the solutions page with "need to be logged in msg"
+ var message = "Must be logged in to comment!";
+ req.session.messages = {error : message};
+ res.redirect('/solutions/' + examID + '/' + qID);
}
});