Cut/Paste project and todos

This commit is contained in:
Paolo Arena
2019-04-29 01:01:40 +02:00
parent d44c0f3769
commit 4ed5a3d350
4 changed files with 31 additions and 13 deletions

View File

@@ -81,6 +81,10 @@ var ProjectSchema = new mongoose.Schema({
type: Number,
default: 0
},
hoursleft: {
type: Number,
default: 0
},
hoursworked: {
type: Number,
default: 0

View File

@@ -266,6 +266,7 @@ class CalcTodo {
}
clean() {
this.mydata.hoursleft = 0;
this.mydata.hoursplanned = 0;
this.mydata.hoursworked = 0;
this.mydata.progressCalc = 0;
@@ -291,6 +292,10 @@ class CalcTodo {
// console.log('addFields', recin);
recout.hoursworked += recin.hoursworked;
recout.hoursplanned += recin.hoursplanned;
let hoursleft = (recin.hoursplanned - recin.hoursworked);
if (hoursleft < 0)
hoursleft = 0;
recout.hoursleft += hoursleft;
if (recin.progress === undefined) {
recout.progressCalc += recin.progressCalc;
} else {
@@ -303,6 +308,7 @@ class CalcTodo {
static copyFields(recout, recin) {
recout.hoursworked = recin.hoursworked;
recout.hoursplanned = recin.hoursplanned;
recout.hoursleft = recin.hoursleft;
if (recin.progress === undefined)
recout.progressCalc = recin.progressCalc;
else {

View File

@@ -113,9 +113,24 @@ router.patch('/:id', authenticate, (req, res) => {
});
router.get('/', (req, res) => {
tools.mylog('GET ALL PROJECTS: ');
return Project.getAllProjects('').then((objprojects) => {
if (!!objprojects.arrproj)
tools.mylog('projects', objprojects.arrproj.length);
return objprojects
}).then((objprojects) => {
res.send({ projects: objprojects.arrproj });
}).catch((e) => {
console.log(e);
res.status(400).send(e);
});
});
router.get('/:userId', authenticate, (req, res) => {
var userId = req.params.userId;
// var category = req.params.category;
const userId = req.params.userId;
tools.mylog('GET PROJECTS : ', req.params);
@@ -129,25 +144,16 @@ router.get('/:userId', authenticate, (req, res) => {
}
// Extract all the projects of the userId only
// Project.findAllByUserIdAndCat(userId, category).then((projects) => {
return Project.getAllProjects(userId).then((objprojects) => {
if (!!objprojects.arrproj)
tools.mylog('projects', objprojects.arrproj.length);
// console.log(objprojects.arrproj);
return objprojects
}).then((objprojects) => {
// tools.mylog('objprojects', objprojects);
// if (tools.EXECUTE_CALCPROJ) {
// return calcProjects('', objprojects).then(objout => {
// res.send({ projects: objprojects.arrproj });
// });
// } else {
res.send({ projects: objprojects.arrproj });
// }
}).catch((e) => {
console.log(e);
res.status(400).send(e);
@@ -155,6 +161,8 @@ router.get('/:userId', authenticate, (req, res) => {
});
// USATO SOLO LE PRIME VOLTE! O A RICHIESTA!
async function calcProjects(userId, obj) {

View File

@@ -65,7 +65,7 @@ module.exports = {
// #TODO Projects++ Add fields ...
allfieldProject: function () {
return ['userId', 'pos', 'typeproj', 'id_main_project', 'id_parent', 'descr', 'longdescr', 'hoursplanned', 'hoursworked', 'priority', 'statusproj', 'created_at', 'modify_at',
return ['userId', 'pos', 'typeproj', 'id_main_project', 'id_parent', 'descr', 'longdescr', 'hoursplanned', 'hoursleft', 'hoursworked', 'priority', 'statusproj', 'created_at', 'modify_at',
'completed_at', 'expiring_at', 'enableExpiring', 'id_prev', 'progressCalc', 'modified', 'live_url', 'test_url', 'begin_development', 'begin_test', 'totalphases', 'actualphase', 'hoursweeky_plannedtowork', 'endwork_estimate'
, 'privacyread', 'privacywrite']
},