Bladeren bron

track when users accept invites

Henry Oswald 10 jaren geleden
bovenliggende
commit
130fece0f6

+ 2 - 1
services/web/app/coffee/Features/Collaborators/CollaboratorsInviteController.coffee

@@ -7,7 +7,7 @@ logger = require('logger-sharelatex')
 EmailHelper = require "../Helpers/EmailHelper"
 EmailHelper = require "../Helpers/EmailHelper"
 EditorRealTimeController = require("../Editor/EditorRealTimeController")
 EditorRealTimeController = require("../Editor/EditorRealTimeController")
 NotificationsBuilder = require("../Notifications/NotificationsBuilder")
 NotificationsBuilder = require("../Notifications/NotificationsBuilder")
-
+AnalyticsManger = require("../Analytics/AnalyticsManager")
 
 
 module.exports = CollaboratorsInviteController =
 module.exports = CollaboratorsInviteController =
 
 
@@ -120,4 +120,5 @@ module.exports = CollaboratorsInviteController =
 				logger.err {projectId, inviteId}, "error accepting invite by token"
 				logger.err {projectId, inviteId}, "error accepting invite by token"
 				return next(err)
 				return next(err)
 			EditorRealTimeController.emitToRoom projectId, 'project:membership:changed', {invites: true, members: true}
 			EditorRealTimeController.emitToRoom projectId, 'project:membership:changed', {invites: true, members: true}
+			AnalyticsManger.recordEvent(currentUser._id, "project-invite-accept", {inviteId:inviteId, projectId:projectId})
 			res.redirect "/project/#{projectId}"
 			res.redirect "/project/#{projectId}"

+ 2 - 0
services/web/test/UnitTests/coffee/Collaborators/CollaboratorsInviteControllerTests.coffee

@@ -11,6 +11,7 @@ ObjectId = require("mongojs").ObjectId
 
 
 describe "CollaboratorsInviteController", ->
 describe "CollaboratorsInviteController", ->
 	beforeEach ->
 	beforeEach ->
+		@AnalyticsManger = recordEvent: sinon.stub()
 		@CollaboratorsInviteController = SandboxedModule.require modulePath, requires:
 		@CollaboratorsInviteController = SandboxedModule.require modulePath, requires:
 			"../Project/ProjectGetter": @ProjectGetter = {}
 			"../Project/ProjectGetter": @ProjectGetter = {}
 			'../Subscription/LimitationsManager' : @LimitationsManager = {}
 			'../Subscription/LimitationsManager' : @LimitationsManager = {}
@@ -20,6 +21,7 @@ describe "CollaboratorsInviteController", ->
 			'logger-sharelatex': @logger = {err: sinon.stub(), error: sinon.stub(), log: sinon.stub()}
 			'logger-sharelatex': @logger = {err: sinon.stub(), error: sinon.stub(), log: sinon.stub()}
 			"../Editor/EditorRealTimeController": @EditorRealTimeController = {emitToRoom: sinon.stub()}
 			"../Editor/EditorRealTimeController": @EditorRealTimeController = {emitToRoom: sinon.stub()}
 			"../Notifications/NotificationsBuilder": @NotificationsBuilder = {}
 			"../Notifications/NotificationsBuilder": @NotificationsBuilder = {}
+			"../Analytics/AnalyticsManager": @AnalyticsManger
 		@res = new MockResponse()
 		@res = new MockResponse()
 		@req = new MockRequest()
 		@req = new MockRequest()