Henry Oswald 10 лет назад
Родитель
Сommit
a8060109fd
1 измененных файлов с 15 добавлено и 2 удалено
  1. 15 2
      services/web/app/coffee/models/Project.coffee

+ 15 - 2
services/web/app/coffee/models/Project.coffee

@@ -74,13 +74,26 @@ sanitizeTypeOfElement = (elementType)->
 		elementType = "fileRefs"
 	return elementType
 
+countElements = (project, callback)->
+	
+	countFolder = (folder, cb)->
+		jobs = _.map folder?.folders, (folder)->
+			(asyncCb)-> countFolder folder, asyncCb
+		async.series jobs, (err, results)->
+			total = _.reduce results, (a, b)-> return a+b
+			total += folder?.docs?.length
+			total += folder?.fileRefs?.length
+			cb(null, subTotal)
+
+	countFolder project.rootFolder[0], callback
+
 ProjectSchema.statics.putElement = (project_id, folder_id, element, type, callback)->
 	if !element?
 		e = new Error("no element passed to be inserted")
 		logger.err project_id:project_id, folder_id:folder_id, element:element, type:type, "failed trying to insert element as it was null"
 		return callback(e)
 	type = sanitizeTypeOfElement type
-	require('../Features/Project/ProjectGetter').getProjectWithOnlyFolders project_id, (err, project)=>
+	require('../Features/Project/ProjectGetter').getProject project_id, "rootFolder", (err, project)=>
 		if err?
 			callback(err)
 		if !folder_id?
@@ -100,7 +113,7 @@ ProjectSchema.statics.putElement = (project_id, folder_id, element, type, callba
 			update["$push"][mongopath] = element
 			this.update conditions, update, {}, (err)->
 				if(err)
-					logger.err err: err, project: project, 'error saving in putElement project'
+					logger.err err: err, project_id: project_id, 'error saving in putElement project'
 				if callback?
 					callback(err, {path:newPath})