Cut/Paste project and todos
This commit is contained in:
@@ -81,6 +81,10 @@ var ProjectSchema = new mongoose.Schema({
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
hoursleft: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
hoursworked: {
|
||||
type: Number,
|
||||
default: 0
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
|
||||
@@ -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']
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user