108 lines
2.9 KiB
JavaScript
108 lines
2.9 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
let Work=require('../models/works');
|
|
var utils = require('../js/utils');
|
|
|
|
// Add Devices ToRoute
|
|
router.get('/', utils.ensureAuthenticated,function (req,res) {
|
|
|
|
console.log('GANTT');
|
|
var gantt={};
|
|
var data=[];
|
|
Work.find({'state':'Opened'},function(err, works){
|
|
if (err)
|
|
{
|
|
console.log(err);
|
|
}
|
|
else
|
|
{
|
|
works.forEach(element => {
|
|
data.push(element.ganttData);
|
|
});
|
|
gantt={data:data};
|
|
res.render('gantt', {
|
|
title: 'GANTT CHART',
|
|
data: gantt
|
|
});
|
|
}
|
|
})
|
|
|
|
|
|
/* res.render('gantt', {
|
|
title: 'GANTT CHART',
|
|
data:gantt_tasks.data, collections: { links : gantt_tasks.links }
|
|
});*/
|
|
});
|
|
|
|
var gantt_tasks={
|
|
data:[
|
|
{"id":"1", "text":"Project #2", "start_date":"01-04-2017", "duration":18,
|
|
"progress":0.4, "open": true, "holder":"Mike", "priority":"High", "fasz":"fasz"},
|
|
{"id":"2", "text":"Task #1", "start_date":"02-04-2018", "duration":8,
|
|
"progress":0.6, "parent":1, "holder":"John", "priority":"Medium"},
|
|
{"id":"3", "text":"Task #2", "start_date":"11-04-2019", "duration":8,
|
|
"progress":0.6, "parent":1, "holder":"Alex", "priority":"Low"}
|
|
]/*,
|
|
links:[
|
|
{"id":"1", "source":"1", "target":"2", "type":"1"},
|
|
{"id":"2", "source":"2", "target":"3", "type":"0"},
|
|
{"id":"3", "source":"3", "target":"4", "type":"0"},
|
|
{"id":"4", "source":"2", "target":"5", "type":"2"}
|
|
]*/
|
|
}
|
|
|
|
function getTask(data) {
|
|
return {
|
|
text: data.text,
|
|
start_date: data.start_date.date("YYYY-MM-DD"),
|
|
|
|
duration: data.duration,
|
|
progress: data.progress || 0,
|
|
parent: data.parent
|
|
};
|
|
}
|
|
|
|
router.put("/api/task/:id",function(req,res){
|
|
var sid=req.params.id;
|
|
Work.findByIdAndUpdate(sid,{$set:{'ganttData':req.body}},function(err){
|
|
if (err)
|
|
{
|
|
console.log("DB ERROR");
|
|
}
|
|
else
|
|
{
|
|
res.status(200).end();
|
|
}
|
|
})
|
|
|
|
|
|
})
|
|
router.all(/api/,function(req,res,next){
|
|
console.log(`\n$(req.method} ${req.url} --> ${JSON.stringify(req.body,'\t',2)}`);
|
|
console.log (req.method);
|
|
|
|
res.status(200).end();
|
|
})
|
|
router.get("/data", function(req, res){
|
|
console.log('GANTT');
|
|
var gantt={};
|
|
var data=[];
|
|
Work.find({'state':'Opened'},function(err, works){
|
|
if (err)
|
|
{
|
|
console.log(err);
|
|
}
|
|
else
|
|
{
|
|
works.forEach(element => {
|
|
element.ganttData.id=element._id;
|
|
data.push(element.ganttData);
|
|
});
|
|
gantt={data:data};
|
|
res.send(gantt);
|
|
}
|
|
})
|
|
|
|
// res.send(gantt_tasks);
|
|
});
|
|
module.exports = router; |