Statusmeldungen hinzugefügt; Reservierungen funktionabel; kleine Bugfixes

This commit is contained in:
Sebastian Seedorf
2016-03-28 17:04:55 +02:00
parent 87eb8ff35e
commit 62ff08624d
14 changed files with 721 additions and 105 deletions

83
main.js
View File

@@ -4,7 +4,7 @@ var bodyParser = require('body-parser');
var session = require('express-session');
var loginMod = require('./modules/login');
var menuMod = require('./modules/menu');
//var path = require('path');
var reservationMod = require('./modules/reservation');
var fs = require('fs');
var app = express();
@@ -17,7 +17,7 @@ var app = express();
// **************************
app.set('view engine', 'jade');
app.set('rundir', '.');
app.set('rundir', __dirname);
app.set('views', app.get('rundir') + '/views');
@@ -46,7 +46,9 @@ app.use('/bin', express.static(app.get('rundir') + '/public'));
// INIT
// **************************
loginMod.init(app.get('rundir') + '/data/users.json');
menuMod.init(app.get('rundir') + '/data/menu.json');
reservationMod.init(app.get('rundir') + '/data/reservation.json');
@@ -87,22 +89,91 @@ app.post('/speisekarte', function(req, res) {
error = menuMod.updateValue(name, desc, price, nametag);
else if (action == menuMod.MenuAction.DELETE)
error = menuMod.deleteValue(nametag);
console.log(error);
}
res.render('menu', {
title: 'Restaurant Reiskorn | Speisekarte',
loginName: loginMod.getName(req),
isAdmin: loginMod.hasAccess(req, loginMod.AdminRight.MENU),
menuJSON: menuMod.getJSON()
menuJSON: menuMod.getJSON(),
statusMessage: menuMod.getStatusMessage(error, action, nametag)
});
});
app.get('/kontakt', function(req, res) {
var showItem = null;
var nametag = req.query.nametag;
if (loginMod.hasAccess(req, loginMod.AdminRight.RESERVATION)) {
var action = reservationMod.determineAction(nametag);
if (action == reservationMod.MenuAction.SHOW) {
showItem = reservationMod.showValue(nametag);
}
}
res.render('contact', {
title: 'Restaurant Reiskorn | Kontakt',
loginName: loginMod.getName(req),
menuJSON: menuMod.getJSON()
isAdmin: loginMod.hasAccess(req, loginMod.AdminRight.RESERVATION),
menuJSON: menuMod.getJSON(),
editItem: showItem,
listItem: reservationMod.getJSON()["items"]
});
});
app.post('/kontakt', function(req, res) {
var nametag = req.body.nametag;
var name = req.body.name;
var desc = req.body.desc;
var email = req.body.email;
var person = req.body.person;
var time = req.body.time;
var date = req.body.date;
var action = reservationMod.determineAction(nametag);
var error = 0;
var showItem = null;
if (action == reservationMod.MenuAction.CREATE) {
error = reservationMod.addValue(name, desc, person, email, date, time, nametag);
if (error) {
showItem = {
name: name,
desc: desc,
email: email,
person: person,
time: time,
date: date
};
}
}
else if (loginMod.hasAccess(req, loginMod.AdminRight.RESERVATION)) {
if (action == reservationMod.MenuAction.UPDATE) {
error = reservationMod.updateValue(name, desc, person, email, date, time, nametag);
if (error) {
showItem = {
name: name,
desc: desc,
email: email,
person: person,
time: time,
date: date,
id: nametag
};
}
}
else if (action == reservationMod.MenuAction.DELETE)
error = reservationMod.deleteValue(nametag);
else if (action == reservationMod.MenuAction.READ)
error = reservationMod.readValue(nametag);
}
res.render('contact', {
title: 'Restaurant Reiskorn | Kontakt',
loginName: loginMod.getName(req),
isAdmin: loginMod.hasAccess(req, loginMod.AdminRight.RESERVATION),
menuJSON: menuMod.getJSON(),
editItem: showItem,
listItem: reservationMod.getJSON()["items"],
statusMessage: reservationMod.getStatusMessage(error, action)
});
});
@@ -147,5 +218,5 @@ var server = app.listen(3000, function() {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
console.log('App listening at http://%s:%s', host, port);
});