Преглед изворни кода

moved setPublicAccessLevel from collab manager to editor controller

Henry Oswald пре 12 година
родитељ
комит
7c10b5cd24

+ 5 - 1
services/web/app/coffee/Features/Editor/EditorController.coffee

@@ -257,7 +257,6 @@ module.exports = EditorController =
 			EditorRealTimeController.emitToRoom project_id, 'reciveEntityMove', entity_id, folder_id
 			EditorRealTimeController.emitToRoom project_id, 'reciveEntityMove', entity_id, folder_id
 			callback?()
 			callback?()
 
 
-
 	renameProject: (project_id, window_id, newName, callback)->
 	renameProject: (project_id, window_id, newName, callback)->
 		newName = sanitize.escape(newName)
 		newName = sanitize.escape(newName)
 		ProjectHandler.renameProject project_id, window_id, newName, =>
 		ProjectHandler.renameProject project_id, window_id, newName, =>
@@ -265,6 +264,11 @@ module.exports = EditorController =
 			EditorRealTimeController.emitToRoom project_id, 'projectNameUpdated', window_id, newName
 			EditorRealTimeController.emitToRoom project_id, 'projectNameUpdated', window_id, newName
 			callback?()
 			callback?()
 
 
+	setPublicAccessLevel : (project_id, newAccessLevel, callback)->
+		ProjectHandler.setPublicAccessLevel project_id, newAccessLevel, =>
+			EditorRealTimeController.emitToRoom project_id, 'publicAccessLevelUpdated', newAccessLevel
+			callback?()
+
 	p:
 	p:
 		notifyProjectUsersOfNewFolder: (project_id, folder_id, folder, callback = (error)->)->
 		notifyProjectUsersOfNewFolder: (project_id, folder_id, folder, callback = (error)->)->
 			logger.log project_id:project_id, folder:folder, parentFolder_id:folder_id, "sending newly created folder out to users"
 			logger.log project_id:project_id, folder:folder, parentFolder_id:folder_id, "sending newly created folder out to users"

+ 1 - 4
services/web/app/coffee/managers/CollaberationManager.coffee

@@ -15,10 +15,7 @@ EditorRealTimeController = require('../Features/Editor/EditorRealTimeController'
 module.exports = class CollaberationManager
 module.exports = class CollaberationManager
 	constructor: (@io)->
 	constructor: (@io)->
 
 
-	setPublicAccessLevel : (project_id, newAccessLevel, callback)->
-		projectHandler.setPublicAccessLevel project_id, newAccessLevel, =>
-			EditorRealTimeController.emitToRoom project_id, 'publicAccessLevelUpdated', newAccessLevel
-			callback?()
+
 
 
 	distributMessage: (project_id, client, message)->
 	distributMessage: (project_id, client, message)->
 		message = sanitize.escape(message)
 		message = sanitize.escape(message)

+ 1 - 1
services/web/app/coffee/router.coffee

@@ -315,7 +315,7 @@ module.exports = class Router
 
 
 			client.on 'setPublicAccessLevel', (newAccessLevel, callback)->
 			client.on 'setPublicAccessLevel', (newAccessLevel, callback)->
 				AuthorizationManager.ensureClientCanAdminProject client, (error, project_id) =>
 				AuthorizationManager.ensureClientCanAdminProject client, (error, project_id) =>
-					collaberationManager.setPublicAccessLevel(project_id, newAccessLevel, callback)
+					EditorController.setPublicAccessLevel(project_id, newAccessLevel, callback)
 
 
 			client.on 'pdfProject', (opts, callback)->
 			client.on 'pdfProject', (opts, callback)->
 				AuthorizationManager.ensureClientCanViewProject client, (error, project_id) =>
 				AuthorizationManager.ensureClientCanViewProject client, (error, project_id) =>

+ 20 - 0
services/web/test/UnitTests/coffee/Editor/EditorControllerTests.coffee

@@ -683,3 +683,23 @@ describe "EditorController", ->
 			@EditorController.renameProject @project_id, @window_id, @newName, =>
 			@EditorController.renameProject @project_id, @window_id, @newName, =>
 				@EditorRealTimeController.emitToRoom.calledWith(@project_id, 'projectNameUpdated', @window_id, @newName).should.equal true				
 				@EditorRealTimeController.emitToRoom.calledWith(@project_id, 'projectNameUpdated', @window_id, @newName).should.equal true				
 				done()
 				done()
+
+
+	describe "setPublicAccessLevel", ->
+
+		beforeEach ->
+			@err = "errro"
+			@newAccessLevel = "public"
+			@ProjectHandler::setPublicAccessLevel = sinon.stub().callsArgWith(2, @err)
+			@EditorRealTimeController.emitToRoom = sinon.stub()
+
+		it "should call the ProjectHandler", (done)->
+			@EditorController.setPublicAccessLevel @project_id, @newAccessLevel, =>
+				@ProjectHandler::setPublicAccessLevel.calledWith(@project_id, @newAccessLevel).should.equal true
+				done()
+
+		it "should emit the update to the room", (done)->
+			@EditorController.setPublicAccessLevel @project_id, @newAccessLevel, =>
+				@EditorRealTimeController.emitToRoom.calledWith(@project_id, 'publicAccessLevelUpdated', @newAccessLevel).should.equal true				
+				done()
+