Skip to content

Commit f6514ca

Browse files
committedNov 4, 2017
Add flash support
1 parent 548136e commit f6514ca

29 files changed

+20517
-9
lines changed
 

‎controllers/login.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ function hander_post_login (req,res){
2727
})
2828
})
2929
.catch(function(err){
30-
return res.send(err.message);
30+
req.flash("error", err.message);
31+
return res.redirect('/user/login');
3132
})
3233
}
3334

‎index.js

+4
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,12 @@ require('./config/database.js');
2323
require('./models/log');
2424
require('./models/user');
2525

26+
/**Session and flash**/
2627
require('./config/session.js').addSession(app);
28+
app.use(require('connect-flash')());
2729

30+
/**Middlewares**/
31+
app.use(require('./middlewares/flash'));
2832
app.use(require('./middlewares/passSession'));
2933

3034
/**controllers**/

‎middlewares/flash.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/*Responsible for inserting all flash messages to res.locals for rendering*/
2+
/*One time use only*/
3+
4+
module.exports = function(req, res, next) {
5+
const flash = {
6+
info: req.flash('info'),
7+
success: req.flash('success'),
8+
warning: req.flash('warn'),
9+
error: req.flash('error')
10+
};
11+
res.locals.flash = JSON.stringify(flash);
12+
next();
13+
};

‎package.json

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"base64-stream": "^0.1.3",
1414
"bcryptjs": "^2.4.3",
1515
"body-parser": "^1.18.2",
16+
"connect-flash": "^0.1.1",
1617
"connect-mongo": "^2.0.0",
1718
"cookie-parser": "^1.4.3",
1819
"csv-parse": "^2.0.0",

‎public/js/script.js

+20
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11

2+
/**
3+
* Convert tabs to space in the textbox used for user code input
4+
*/
25
function tabToSpace() {
36
const text = $('#code').val().replace(/\t/g, ' ');
47
$('#code').val(text);
58
}
69

710
$('#code').on('input', tabToSpace );
811

12+
/**
13+
* Disables button after clicking it once
14+
*/
915
function disableOnClick(){
1016
$('.disableOnClick').on('click', (function() {
1117
const clickedItems = {};
@@ -19,3 +25,17 @@ function disableOnClick(){
1925
};
2026

2127
disableOnClick();
28+
29+
/**
30+
* Display flash messages
31+
*/
32+
$.notify.defaults({
33+
autoHideDelay: 15000
34+
});
35+
36+
for (const val in flash) {
37+
const len = flash[val].length;
38+
for (let i = 0; i < len; i++) {
39+
$.notify(flash[val][i], val);
40+
}
41+
}

‎public/vendor/bootstrap/css/bootstrap-grid.css

+1,567
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/css/bootstrap-grid.css.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/css/bootstrap-grid.min.css

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/css/bootstrap-grid.min.css.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/css/bootstrap-reboot.css

+342
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/css/bootstrap-reboot.css.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/css/bootstrap-reboot.min.css

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/css/bootstrap-reboot.min.css.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/css/bootstrap.css

+8,374
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/css/bootstrap.css.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/css/bootstrap.min.css

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/css/bootstrap.min.css.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/js/bootstrap.bundle.js

+6,287
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/js/bootstrap.bundle.js.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/js/bootstrap.bundle.min.js

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/js/bootstrap.bundle.min.js.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/js/bootstrap.js

+3,850
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/js/bootstrap.js.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/js/bootstrap.min.js

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/bootstrap/js/bootstrap.min.js.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/jquery/jquery-3.2.1.min.js

+4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎public/vendor/notifyjs/notify.min.js

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎views/home.pug

-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
extends layout.pug
22

3-
43
block content
54
form(action='/printCode', method='post')
65
.row
@@ -11,7 +10,3 @@ block content
1110
.row
1211
.col.text-center
1312
input.btn.btn-primary.mr-1.disableOnClick(type='submit', value='Print')
14-
15-
16-
block scripts
17-
script(src="/js/script.js", defer)

‎views/layout.pug

+6-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ html(lang='en')
44

55
title Print Server
66

7-
link(rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous")
7+
link(rel="stylesheet" href="/vendor/bootstrap/css/bootstrap.min.css")
88

9-
script(src="https://code.jquery.com/jquery-3.2.1.min.js")
109

1110
block head
1211

@@ -19,4 +18,8 @@ html(lang='en')
1918

2019
include partials/footer.pug
2120

22-
block scripts
21+
script(src="/vendor/jquery/jquery-3.2.1.min.js", defer)
22+
script(src="/vendor/notifyjs/notify.min.js", defer)
23+
script.
24+
var flash = !{flash};
25+
script(src="/js/script.js", defer)

0 commit comments

Comments
 (0)
Please sign in to comment.