Archived
1
0
Fork 0
This repository has been archived on 2024-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
SOD/routes/orders.js

48 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

2020-08-18 17:54:00 +02:00
let express = require("express");
let router = express.Router();
let sessionCheck = require("../middlewares/sessionCheck");
let models = require("../models");
let error = require("./utils/error");
2020-08-18 17:54:00 +02:00
router.get("/", sessionCheck(2), async (req, res) => {
let date = req.query.date ? req.query.date : (new Date()).toISOString().substring(0,10);
let orders = {};
for (let o of await models.Order.findAll({
where: {paid: true},
include: [{
model: models.Sandwich,
through: {
where: {date: date, give: false}
},
required: true
}]
})) {
let name = o.firstName + " " + o.lastName;
2020-08-18 17:54:00 +02:00
if (!(o.DepartmentName in orders))
orders[o.DepartmentName] = {};
2020-08-18 17:54:00 +02:00
if (!(name in orders[o.DepartmentName]))
orders[o.DepartmentName][name] = {};
2020-08-18 17:54:00 +02:00
orders[o.DepartmentName][name][o.id] = o.Sandwiches;
2020-08-18 17:54:00 +02:00
}
res.render("orders", {title: "SOD - Orders", orders: orders, date: date});
2020-09-28 15:08:58 +02:00
}).get("/give", sessionCheck(2), async (req, res) => {
if (!req.query.id)
return error(req, res, "Missing arg !", 400);
2020-09-28 15:08:58 +02:00
let order = await models.SandwichOrder.findByPk(req.query.id, {where: {give: false}});
if (!order)
return error(req, res, "Invalid order id !", 400);
order.give = true;
await order.save();
res.redirect("/orders")
2020-08-18 17:54:00 +02:00
});
module.exports = router;