Commit 18225f88 authored by Project Open's avatar Project Open

- Fixed issue with wrong intra-project overassignment warnings

parent 28c7e60d
...@@ -483,14 +483,21 @@ Ext.define('GanttEditor.view.GanttBarPanel', { ...@@ -483,14 +483,21 @@ Ext.define('GanttEditor.view.GanttBarPanel', {
userHash[objectId] = {startX: startX, endX: endX, name: objectName, type: type, userName: user_name, contextId: context_id, context: context}; userHash[objectId] = {startX: startX, endX: endX, name: objectName, type: type, userName: user_name, contextId: context_id, context: context};
}); });
// Iterate through all children of the root node and check if they are visible // Iterate through all children of the root node and check if they are visible
var rootNode = me.objectStore.getRootNode(); var rootNode = me.objectStore.getRootNode();
rootNode.cascadeBy(function(task) { rootNode.cascadeBy(function(task) {
// Skip summary activities (tasks with children)
var children = task.childNodes;
if (Array.isArray(children)) {
var numChildren = children.length;
if (numChildren > 0) return;
}
var task_id = task.get('id'); var task_id = task.get('id');
var taskId = parseInt(task_id); if (!taskId) return; var taskId = parseInt(task_id); if (!taskId) return;
var taskName = task.get('project_name'); var taskName = task.get('project_name');
var assignees = task.get('assignees'); // Array of {id, percent, name, email, initials} var assignees = task.get('assignees'); // Array of {id, percent, name, email, initials}
var startDate, endDate; var startDate, endDate;
// Get start- and end date (look at parents if necessary...) // Get start- and end date (look at parents if necessary...)
...@@ -502,7 +509,7 @@ Ext.define('GanttEditor.view.GanttBarPanel', { ...@@ -502,7 +509,7 @@ Ext.define('GanttEditor.view.GanttBarPanel', {
var startDate = PO.Utilities.pgToDate(startDate); var startDate = PO.Utilities.pgToDate(startDate);
var endDate = PO.Utilities.pgToDate(endDate); var endDate = PO.Utilities.pgToDate(endDate);
if (!startDate) return; // skip if invalid for some reason... if (!startDate) return; // skip if invalid for some reason...
if (!endDate) return; if (!endDate) return;
var startTime = startDate.getTime(); var startTime = startDate.getTime();
var endTime = endDate.getTime(); var endTime = endDate.getTime();
...@@ -510,14 +517,12 @@ Ext.define('GanttEditor.view.GanttBarPanel', { ...@@ -510,14 +517,12 @@ Ext.define('GanttEditor.view.GanttBarPanel', {
var endX = me.date2x(endTime); // X position based on time scale var endX = me.date2x(endTime); // X position based on time scale
assignees.forEach(function(assignee) { assignees.forEach(function(assignee) {
if (0 == assignee.percent) { return; } // Don't show empty assignments if (0 == assignee.percent) { return; } // Don't show empty assignments
var userId = assignee.user_id; var userId = assignee.user_id;
var userModel = projectMemberStore.getById(""+assignee.user_id); var userModel = projectMemberStore.getById(""+assignee.user_id);
if (!userModel) return; if (!userModel) return;
var userName = userModel.get('name'); var userName = userModel.get('name');
var userHash = overHash[userId]; // Write to hash
// Write to hash
var userHash = overHash[userId];
if (!userHash) { if (!userHash) {
userHash = {}; userHash = {};
overHash[userId] = userHash; overHash[userId] = userHash;
...@@ -526,7 +531,6 @@ Ext.define('GanttEditor.view.GanttBarPanel', { ...@@ -526,7 +531,6 @@ Ext.define('GanttEditor.view.GanttBarPanel', {
}); });
}); });
me.overassignmentHash = overHash; me.overassignmentHash = overHash;
if (me.debug) { if (me.debug) console.log('PO.view.gantt.GanttBarPanel.setupOverassignments: Finished'); } if (me.debug) { if (me.debug) console.log('PO.view.gantt.GanttBarPanel.setupOverassignments: Finished'); }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment