diff --git a/services/web/app/coffee/Features/Project/ProjectDuplicator.coffee b/services/web/app/coffee/Features/Project/ProjectDuplicator.coffee index bf775caeeb..6cae962b04 100644 --- a/services/web/app/coffee/Features/Project/ProjectDuplicator.coffee +++ b/services/web/app/coffee/Features/Project/ProjectDuplicator.coffee @@ -75,7 +75,7 @@ module.exports = ProjectDuplicator = return callback(err) {originalProject, newProject, originalRootDoc, docContentsArray} = results - originalRootDoc = originalRootDoc[0] + originalRootDoc = originalRootDoc?[0] docContents = {} for docContent in docContentsArray diff --git a/services/web/app/coffee/Features/Project/ProjectLocator.coffee b/services/web/app/coffee/Features/Project/ProjectLocator.coffee index 36d9203ebe..9cd80d7c72 100644 --- a/services/web/app/coffee/Features/Project/ProjectLocator.coffee +++ b/services/web/app/coffee/Features/Project/ProjectLocator.coffee @@ -61,7 +61,13 @@ module.exports = ProjectLocator = findRootDoc : (opts, callback)-> getRootDoc = (project)=> if project.rootDoc_id? - @findElement {project:project, element_id:project.rootDoc_id, type:"docs"}, callback + @findElement {project:project, element_id:project.rootDoc_id, type:"docs"}, (error, args...) -> + if error? + if error instanceof Errors.NotFoundError + return callback null, null + else + return callback error + return callback null, args... else callback null, null {project, project_id} = opts diff --git a/services/web/test/UnitTests/coffee/Project/ProjectLocatorTests.coffee b/services/web/test/UnitTests/coffee/Project/ProjectLocatorTests.coffee index 15a86d235c..437c32b122 100644 --- a/services/web/test/UnitTests/coffee/Project/ProjectLocatorTests.coffee +++ b/services/web/test/UnitTests/coffee/Project/ProjectLocatorTests.coffee @@ -169,6 +169,13 @@ describe 'ProjectLocator', -> assert !err? expect(doc).to.equal null done() + + it 'should return null when the rootDoc_id no longer exists', (done) -> + project.rootDoc_id = "doesntexist" + @locator.findRootDoc project, (err, doc)-> + assert !err? + expect(doc).to.equal null + done() describe 'findElementByPath', ->