diff --git a/migrations/20180608_project_add_templateId_and_new_tables.sql b/migrations/20180608_project_add_templateId_and_new_tables.sql index 5b1ede10..3f3d6723 100644 --- a/migrations/20180608_project_add_templateId_and_new_tables.sql +++ b/migrations/20180608_project_add_templateId_and_new_tables.sql @@ -113,6 +113,7 @@ CREATE TABLE product_milestone_templates ( "activeText" character varying(512) NOT NULL, "blockedText" character varying(512) NOT NULL, "completedText" character varying(512) NOT NULL, + "hidden" boolean DEFAULT false, "deletedAt" timestamp with time zone, "createdAt" timestamp with time zone, "updatedAt" timestamp with time zone, diff --git a/src/routes/projectTemplates/update.js b/src/routes/projectTemplates/update.js index 61e01c99..0e048afe 100644 --- a/src/routes/projectTemplates/update.js +++ b/src/routes/projectTemplates/update.js @@ -66,6 +66,8 @@ module.exports = [ // Merge JSON fields entityToUpdate.scope = util.mergeJsonObjects(projectTemplate.scope, entityToUpdate.scope); entityToUpdate.phases = util.mergeJsonObjects(projectTemplate.phases, entityToUpdate.phases); + // removes null phase templates + entityToUpdate.phases = _.omitBy(entityToUpdate.phases, _.isNull); return projectTemplate.update(entityToUpdate); }) diff --git a/src/routes/projects/create.js b/src/routes/projects/create.js index c603b820..b83fb4ea 100644 --- a/src/routes/projects/create.js +++ b/src/routes/projects/create.js @@ -87,7 +87,7 @@ function createProjectAndPhases(req, project, projectTemplate, productTemplates) if (!projectTemplate) { return Promise.resolve(result); } - const phases = _.values(projectTemplate.phases); + const phases = _.filter(_.values(projectTemplate.phases), p => !!p); const productTemplateMap = {}; productTemplates.forEach((pt) => { productTemplateMap[pt.id] = pt;