moved setPublicAccessLevel from collab manager to editor controller

This commit is contained in:
Henry Oswald 2014-04-04 16:53:59 +01:00
parent 08d1eeba78
commit 7c10b5cd24
4 changed files with 27 additions and 6 deletions

View file

@ -257,7 +257,6 @@ module.exports = EditorController =
EditorRealTimeController.emitToRoom project_id, 'reciveEntityMove', entity_id, folder_id
callback?()
renameProject: (project_id, window_id, newName, callback)->
newName = sanitize.escape(newName)
ProjectHandler.renameProject project_id, window_id, newName, =>
@ -265,6 +264,11 @@ module.exports = EditorController =
EditorRealTimeController.emitToRoom project_id, 'projectNameUpdated', window_id, newName
callback?()
setPublicAccessLevel : (project_id, newAccessLevel, callback)->
ProjectHandler.setPublicAccessLevel project_id, newAccessLevel, =>
EditorRealTimeController.emitToRoom project_id, 'publicAccessLevelUpdated', newAccessLevel
callback?()
p:
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"

View file

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

View file

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

View file

@ -683,3 +683,23 @@ describe "EditorController", ->
@EditorController.renameProject @project_id, @window_id, @newName, =>
@EditorRealTimeController.emitToRoom.calledWith(@project_id, 'projectNameUpdated', @window_id, @newName).should.equal true
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()