Cut/Paste project and todos
This commit is contained in:
@@ -81,6 +81,10 @@ var ProjectSchema = new mongoose.Schema({
|
|||||||
type: Number,
|
type: Number,
|
||||||
default: 0
|
default: 0
|
||||||
},
|
},
|
||||||
|
hoursleft: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
hoursworked: {
|
hoursworked: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 0
|
default: 0
|
||||||
|
|||||||
@@ -266,6 +266,7 @@ class CalcTodo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
clean() {
|
clean() {
|
||||||
|
this.mydata.hoursleft = 0;
|
||||||
this.mydata.hoursplanned = 0;
|
this.mydata.hoursplanned = 0;
|
||||||
this.mydata.hoursworked = 0;
|
this.mydata.hoursworked = 0;
|
||||||
this.mydata.progressCalc = 0;
|
this.mydata.progressCalc = 0;
|
||||||
@@ -291,6 +292,10 @@ class CalcTodo {
|
|||||||
// console.log('addFields', recin);
|
// console.log('addFields', recin);
|
||||||
recout.hoursworked += recin.hoursworked;
|
recout.hoursworked += recin.hoursworked;
|
||||||
recout.hoursplanned += recin.hoursplanned;
|
recout.hoursplanned += recin.hoursplanned;
|
||||||
|
let hoursleft = (recin.hoursplanned - recin.hoursworked);
|
||||||
|
if (hoursleft < 0)
|
||||||
|
hoursleft = 0;
|
||||||
|
recout.hoursleft += hoursleft;
|
||||||
if (recin.progress === undefined) {
|
if (recin.progress === undefined) {
|
||||||
recout.progressCalc += recin.progressCalc;
|
recout.progressCalc += recin.progressCalc;
|
||||||
} else {
|
} else {
|
||||||
@@ -303,6 +308,7 @@ class CalcTodo {
|
|||||||
static copyFields(recout, recin) {
|
static copyFields(recout, recin) {
|
||||||
recout.hoursworked = recin.hoursworked;
|
recout.hoursworked = recin.hoursworked;
|
||||||
recout.hoursplanned = recin.hoursplanned;
|
recout.hoursplanned = recin.hoursplanned;
|
||||||
|
recout.hoursleft = recin.hoursleft;
|
||||||
if (recin.progress === undefined)
|
if (recin.progress === undefined)
|
||||||
recout.progressCalc = recin.progressCalc;
|
recout.progressCalc = recin.progressCalc;
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -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) => {
|
router.get('/:userId', authenticate, (req, res) => {
|
||||||
var userId = req.params.userId;
|
const userId = req.params.userId;
|
||||||
// var category = req.params.category;
|
|
||||||
|
|
||||||
tools.mylog('GET PROJECTS : ', req.params);
|
tools.mylog('GET PROJECTS : ', req.params);
|
||||||
|
|
||||||
@@ -129,25 +144,16 @@ router.get('/:userId', authenticate, (req, res) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Extract all the projects of the userId only
|
// Extract all the projects of the userId only
|
||||||
// Project.findAllByUserIdAndCat(userId, category).then((projects) => {
|
|
||||||
return Project.getAllProjects(userId).then((objprojects) => {
|
return Project.getAllProjects(userId).then((objprojects) => {
|
||||||
if (!!objprojects.arrproj)
|
if (!!objprojects.arrproj)
|
||||||
tools.mylog('projects', objprojects.arrproj.length);
|
tools.mylog('projects', objprojects.arrproj.length);
|
||||||
|
|
||||||
// console.log(objprojects.arrproj);
|
|
||||||
|
|
||||||
return objprojects
|
return objprojects
|
||||||
|
|
||||||
}).then((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 });
|
res.send({ projects: objprojects.arrproj });
|
||||||
// }
|
|
||||||
}).catch((e) => {
|
}).catch((e) => {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
res.status(400).send(e);
|
res.status(400).send(e);
|
||||||
@@ -155,6 +161,8 @@ router.get('/:userId', authenticate, (req, res) => {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// USATO SOLO LE PRIME VOLTE! O A RICHIESTA!
|
// USATO SOLO LE PRIME VOLTE! O A RICHIESTA!
|
||||||
async function calcProjects(userId, obj) {
|
async function calcProjects(userId, obj) {
|
||||||
|
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ module.exports = {
|
|||||||
|
|
||||||
// #TODO Projects++ Add fields ...
|
// #TODO Projects++ Add fields ...
|
||||||
allfieldProject: function () {
|
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'
|
'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']
|
, 'privacyread', 'privacywrite']
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user