Skip to content
Snippets Groups Projects
Commit 2e104e0b authored by Beni's avatar Beni
Browse files

HF5 nearly done

parent 01ccc8c1
No related branches found
No related tags found
No related merge requests found
/**
* Contans some of the constants, and settings of the whole webapp
*/
const config = { const config = {
useAuthentication: false, useAuthentication: false, //for debug purpose, if set to false authentication wont be used
avarageCalorieIntake: 2000 //Kcal
}; avarageCalorieIntake: 2000, // Avarage calorie intake of a human adult, given in kcal
FoodWarningTime: 180, // sets how many days before the expiration of a storage item should a warning text be visible
WarningClasses: {
none: {
message: 'Nincs étel a raktárban',
class: 'text-secondary'
},
good: {
message: '-',
class: 'text-secondary'
},
warning: {
message: 'Fél éven belűl romlandó étel',
class: 'text-warning'
},
danger: {
message: 'Romlott étel ',
class: 'text-danger'
}
}
}
......
const moment = require('moment');
const requireOption = require('../common/requireOption'); const requireOption = require('../common/requireOption');
const getTextClassFromDate = require('../common/TextClass')
/** /**
* Gets bunker information from bunkerid param, puts info in res.locals.bunker * Gets bunker information from bunkerid param, puts info in res.locals.bunker
* -- if no bunker found, redirects to /bunkers * -- if no bunker found, redirects to /bunkers
...@@ -17,7 +17,7 @@ module.exports = function (objectrepository) { ...@@ -17,7 +17,7 @@ module.exports = function (objectrepository) {
if (!bunker) return res.redirect('/bunkers'); if (!bunker) return res.redirect('/bunkers');
for (let item of bunker.stock) for (let item of bunker.stock)
item.style = getStockStyle(item.expirationDate); item.style = getTextClassFromDate(item.expirationDate).class;
res.locals.bunker = bunker; res.locals.bunker = bunker;
...@@ -28,15 +28,3 @@ module.exports = function (objectrepository) { ...@@ -28,15 +28,3 @@ module.exports = function (objectrepository) {
}; };
} }
function getStockStyle (lasts) {
const today = moment();
let diff = -today.diff(lasts,'days');
console.log('ITEM:',diff);
if(diff > 180) return 'text-success';
else if(diff <=180 && diff > 0) return 'text-warning';
else return 'text-danger';
}
const moment = require('moment');
const requireOption = require('../common/requireOption');
const requireOption = require('../common/requireOption');
const getTextClassFromDate = require('../common/TextClass')
/** /**
*Gets list of bunkers, puts list on res.locals.bunkers *Gets list of bunkers, puts list on res.locals.bunkers
...@@ -14,7 +14,7 @@ module.exports = function (objectrepository) { ...@@ -14,7 +14,7 @@ module.exports = function (objectrepository) {
BunkerModel.find({}).exec() BunkerModel.find({}).exec()
.then(bunkers =>{ .then(bunkers =>{
for(let bunker of bunkers) for(let bunker of bunkers)
bunker.warning = GetWarningLabel(bunker.nextExpDate); bunker.warning = getTextClassFromDate(bunker.nextExpDate);
res.locals.bunkers = bunkers; res.locals.bunkers = bunkers;
return next(); return next();
}) })
...@@ -22,35 +22,3 @@ module.exports = function (objectrepository) { ...@@ -22,35 +22,3 @@ module.exports = function (objectrepository) {
}; };
} }
//TODO: Ezt szebben meg kéne oldani
function GetWarningLabel(nextExpireDate) {
if(!nextExpireDate) return {
message: 'Nincs étel a raktárban',
class: 'text-secondary'
};
const today = new moment();
let diff = -today.diff(nextExpireDate,'days');
if( diff > 180){
return {
message: '-',
class: 'text-secondary'
}
}
else if (diff <= 180 && diff > 0){
return {
message: 'Fél éven belűl romlandó étel',
class: 'text-warning'
}
}
else{
return {
message: 'Romlott étel ',
class: 'text-danger'
}
}
}
\ No newline at end of file
const hasAllOptions = require('../common/hasAllOptions');
const requireOption = require('../common/requireOption'); const requireOption = require('../common/requireOption');
/** /**
...@@ -14,20 +14,12 @@ module.exports = function (objectrepository) { ...@@ -14,20 +14,12 @@ module.exports = function (objectrepository) {
return function (req, res, next) { return function (req, res, next) {
if (typeof req.body.name === 'undefined' || if(!hasAllOptions(req.body,['name','adress','capacity']) ) return next();
typeof req.body.adress === 'undefined' ||
typeof req.body.capacity === 'undefined'){
return next();
}
if (req.body.name === '' || if (req.body.name === '' ||
req.body.adress === '' || req.body.adress === '' ||
req.body.capacity === '' ){ req.body.capacity === '' ){
res.locals.warning = 'Töltsd ki az összes mezőt'; res.locals.warning = 'Töltsd ki az összes mezőt';
return next(); return next();
} }
...@@ -43,7 +35,6 @@ module.exports = function (objectrepository) { ...@@ -43,7 +35,6 @@ module.exports = function (objectrepository) {
res.locals.bunker.adress = req.body.adress res.locals.bunker.adress = req.body.adress
res.locals.bunker.capacity = req.body.capacity res.locals.bunker.capacity = req.body.capacity
res.locals.bunker.save(err =>{ res.locals.bunker.save(err =>{
if(err) return next(err); if(err) return next(err);
......
const moment = require('moment');
const config = require('../../config/globalConfig');
/**
* Calculates how many days are between the actual date, and the given date in param,
* and assigns a warning class based on the date.
* @param {Date to check} date
*/
function getTextClassFromDate(date) {
if(!date) return config.WarningClasses.none;
const today = moment();
const Expirationday = moment(date);
let diff = Expirationday.diff(today,'days');
if(diff < 0 ) return config.WarningClasses.danger;
else if (diff >= 0 && diff <= 180) return config.WarningClasses.warning;
else return config.WarningClasses.good;
}
module.exports = getTextClassFromDate;
\ No newline at end of file
/**
*
* @param {Object to check} object
* @param {List of properties} propertyArray
*/
function hasAllOptions(object, propertyArray) {
if(typeof object === 'undefined' || !Array.isArray(propertyArray)) return false;
for(property of propertyArray){
if(typeof object[property] === 'undefined') return false;
}
return true;
}
module.exports = hasAllOptions;
\ No newline at end of file
const requireOption = require('../common/requireOption'); const requireOption = require('../common/requireOption');
/** /**
* Get food from database, using foodid param * Get food from database, using foodid param
* -- if no food found, redirects to '/foods' * -- if no food found, redirects to '/foods'
...@@ -10,7 +11,7 @@ module.exports = function (objectrepository) { ...@@ -10,7 +11,7 @@ module.exports = function (objectrepository) {
FoodModel.findOne({_id:req.params.foodid},(err,food)=>{ FoodModel.findOne({_id:req.params.foodid},(err,food)=>{
if(err) return next(err); if(err) return next(err);
if(!food) return res.redirect('foods'); if(!food) return res.redirect('/foods');
res.locals.food = food; res.locals.food = food;
return next(); return next();
......
const requireOption = require('../common/requireOption'); const requireOption = require('../common/requireOption');
const hasAllOptions = require('../common/hasAllOptions');
/** /**
* Creates/Updates food entry in database using foodid param * Creates/Updates food entry in database using foodid param
*/ */
...@@ -8,22 +11,15 @@ module.exports = function (objectrepository) { ...@@ -8,22 +11,15 @@ module.exports = function (objectrepository) {
return function (req, res, next) { return function (req, res, next) {
if (typeof req.body.name === 'undefined' || if (!hasAllOptions(req.body, ['name', 'kcal', 'lasts'])) return next();
typeof req.body.kcal === 'undefined' ||
typeof req.body.lasts === 'undefined'){
return next();
}
if (req.body.name === '' || if (req.body.name === '' ||
req.body.kcal === '' || req.body.kcal === '' ||
req.body.lasts === '') { req.body.lasts === '') {
res.locals.warning = 'Töltsd ki az összes mezőt'; res.locals.warning = 'Töltsd ki az összes mezőt';
return next(); return next();
} }
if (typeof res.locals.food === 'undefined') { if (typeof res.locals.food === 'undefined') {
res.locals.food = new FoodModel(); res.locals.food = new FoodModel();
} }
...@@ -32,13 +28,10 @@ module.exports = function (objectrepository) { ...@@ -32,13 +28,10 @@ module.exports = function (objectrepository) {
res.locals.food.kcal = req.body.kcal; res.locals.food.kcal = req.body.kcal;
res.locals.food.lasts = req.body.lasts; res.locals.food.lasts = req.body.lasts;
res.locals.food.save(err => { res.locals.food.save(err => {
if (err) return next(err); if (err) return next(err);
return res.redirect('/foods'); return res.redirect('/foods');
}) })
}; };
}; };
\ No newline at end of file
const requireOption = require('../common/requireOption'); const requireOption = require('../common/requireOption');
const hasAllOptions = require('../common/hasAllOptions');
const moment = require('moment'); const moment = require('moment');
/** /**
* Ads item to a storage of a bunker * Ads item to a storage of a bunker
* IMPORTANT: It only saves tthe storage item to database, saving the bunker model needs to be called in next middleware, after updateting the statisticks
*/ */
module.exports = function (objectrepository) { module.exports = function (objectrepository) {
...@@ -12,11 +14,8 @@ module.exports = function (objectrepository) { ...@@ -12,11 +14,8 @@ module.exports = function (objectrepository) {
return function (req, res, next) { return function (req, res, next) {
if (typeof req.body.type === 'undefined' ||
typeof req.body.dop === 'undefined' || if(!hasAllOptions(req.body,['type','dop','quantity'])) return next();
typeof req.body.quantity === 'undefined'){
return next();
}
if (req.body.type === '' || if (req.body.type === '' ||
req.body.dop === '' || req.body.dop === '' ||
......
const requireOption = require('../common/requireOption'); const requireOption = require('../common/requireOption');
/** /**
* Deletes item from the storage of a bunker using itemid param * Deletes item from the storage of a bunker using itemid param
* IMPORTANT: It only deletes storage item to database, saving the bunker model needs to be called in next middleware, after updateting the statisticks
*/ */
module.exports = function (objectrepository) { module.exports = function (objectrepository) {
const StorageItemModel = requireOption(objectrepository, 'StorageItemModel'); const StorageItemModel = requireOption(objectrepository, 'StorageItemModel');
......
const moment = require('moment'); const moment = require('moment');
const requireOption = require('../common/requireOption');
const globalConfig = require('../../config/globalConfig'); const globalConfig = require('../../config/globalConfig');
const requireOption = require('../common/requireOption');
/** /**
* Deletes item from the storage of a bunker using itemid param * Updates the bunkers statistics, like estimated days or next expiration date
*/ */
module.exports = function (objectrepository) { module.exports = function (objectrepository) {
const BunkerModel = requireOption(objectrepository, 'BunkerModel'); const BunkerModel = requireOption(objectrepository, 'BunkerModel');
return function (req, res, next) { return function (req, res, next) {
if(typeof res.locals.bunker === 'undefined') return next('Wrong usage of updateBunkerStatsMW');
let sumCalories = 0; let sumCalories = 0;
let expDates = []; let expDates = [];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment