Merge branch 'master' into sk-biber-errors

This commit is contained in:
Shane Kilkelly 2016-03-11 13:54:06 +00:00
commit 3ba5808074
24 changed files with 45 additions and 22 deletions

View file

@ -1,4 +1,3 @@
Settings = require 'settings-sharelatex'
User = require("../../models/User").User
{db, ObjectId} = require("../../infrastructure/mongojs")
crypto = require 'crypto'

View file

@ -1,6 +1,5 @@
request = require 'request'
request = request.defaults()
async = require 'async'
settings = require 'settings-sharelatex'
_ = require 'underscore'
async = require 'async'

View file

@ -1,5 +1,4 @@
_ = require('underscore')
PersonalEmailLayout = require("./Layouts/PersonalEmailLayout")
NotificationEmailLayout = require("./Layouts/NotificationEmailLayout")
settings = require("settings-sharelatex")

View file

@ -1,7 +1,6 @@
logger = require('logger-sharelatex')
metrics = require('../../infrastructure/Metrics')
Settings = require('settings-sharelatex')
metrics = require("../../infrastructure/Metrics")
nodemailer = require("nodemailer")
sesTransport = require('nodemailer-ses-transport')
_ = require("underscore")

View file

@ -1,7 +1,6 @@
SecurityManager = require '../../managers/SecurityManager'
SubscriptionHandler = require './SubscriptionHandler'
PlansLocator = require("./PlansLocator")
SubscriptionFormatters = require("./SubscriptionFormatters")
SubscriptionViewModelBuilder = require('./SubscriptionViewModelBuilder')
LimitationsManager = require("./LimitationsManager")
RecurlyWrapper = require './RecurlyWrapper'

View file

@ -1,10 +1,7 @@
SubscriptionGroupHandler = require("./SubscriptionGroupHandler")
logger = require("logger-sharelatex")
SubscriptionLocator = require("./SubscriptionLocator")
ErrorsController = require("../Errors/ErrorController")
settings = require("settings-sharelatex")
SubscriptionDomainHandler = require("./SubscriptionDomainHandler")
_ = require("underscore")
@ -90,11 +87,12 @@ module.exports =
logger.log subscription_id:subscription_id, user_id:req?.session?.user?._id, email:email, "starting the completion of joining group"
SubscriptionGroupHandler.processGroupVerification email, subscription_id, req.query?.token, (err)->
if err? and err == "token_not_found"
res.redirect "/user/subscription/#{subscription_id}/group/invited?expired=true"
return res.redirect "/user/subscription/#{subscription_id}/group/invited?expired=true"
else if err?
res.sendStatus 500
return res.sendStatus 500
else
res.redirect "/user/subscription/#{subscription_id}/group/successful-join"
logger.log subscription_id:subscription_id, email:email, "user successful completed join of group subscription"
return res.redirect "/user/subscription/#{subscription_id}/group/successful-join"
renderSuccessfulJoinPage: (req, res)->
subscription_id = req.params.subscription_id

View file

@ -14,9 +14,10 @@ NotificationsBuilder = require("../Notifications/NotificationsBuilder")
module.exports = SubscriptionGroupHandler =
addUserToGroup: (adminUserId, newEmail, callback)->
logger.log adminUserId:adminUserId, newEmail:newEmail, "adding user to group"
UserCreator.getUserOrCreateHoldingAccount newEmail, (err, user)->
if err?
logger.err err:err, "error creating user for holding account"
logger.err err:err, adminUserId:adminUserId, newEmail:newEmail, "error creating user for holding account"
return callback(err)
if !user?
msg = "no user returned whenc reating holidng account or getting user"
@ -24,8 +25,10 @@ module.exports = SubscriptionGroupHandler =
return callback(msg)
LimitationsManager.hasGroupMembersLimitReached adminUserId, (err, limitReached, subscription)->
if err?
logger.err err:err, adminUserId:adminUserId, newEmail:newEmail, "error checking if limit reached for group plan"
return callback(err)
if limitReached
logger.err adminUserId:adminUserId, newEmail:newEmail, "group subscription limit reached not adding user to group"
return callback(limitReached:limitReached)
SubscriptionUpdater.addUserToGroup adminUserId, user._id, (err)->
if err?
@ -74,8 +77,8 @@ module.exports = SubscriptionGroupHandler =
EmailHandler.sendEmail "completeJoinGroupAccount", opts, callback
processGroupVerification: (userEmail, subscription_id, token, callback)->
logger.log userEmail:userEmail, subscription_id:subscription_id, "processing group verification for user"
OneTimeTokenHandler.getValueFromTokenAndExpire token, (err, token_subscription_id)->
if err? or subscription_id != token_subscription_id
logger.err userEmail:userEmail, token:token, "token value not found for processing group verification"
return callback("token_not_found")
@ -84,7 +87,7 @@ module.exports = SubscriptionGroupHandler =
logger.err err:err, subscription:subscription, userEmail:userEmail, subscription_id:subscription_id, "error getting subscription"
return callback(err)
if !subscription?
logger.warn subscription_id:subscription_id, "no subscription found"
logger.warn subscription_id:subscription_id, userEmail:userEmail, "no subscription found"
return callback()
SubscriptionGroupHandler.addUserToGroup subscription?.admin_id, userEmail, callback

View file

@ -1,4 +1,3 @@
Settings = require "settings-sharelatex"
logger = require("logger-sharelatex")
User = require('../../models/User').User
PlansLocator = require("./PlansLocator")

View file

@ -17,6 +17,8 @@ define [
newName = $scope.inputs.name
if !newName? or newName.length == 0 or newName.length > MAX_PROJECT_NAME_LENGTH
return
if $scope.project.name == newName
return
$scope.project.name = newName
settings.saveProjectSettings({name: $scope.project.name})

View file

@ -8,7 +8,7 @@ path = require 'path'
_ = require 'underscore'
modulePath = path.join __dirname, '../../../../app/js/Features/DocumentUpdater/DocumentUpdaterHandler'
describe 'Flushing documents :', ->
describe 'DocumentUpdaterHandler - Flushing documents :', ->
beforeEach ->
@project_id = "project-id-923"
@ -33,6 +33,9 @@ describe 'Flushing documents :', ->
"../../models/Project": Project: @Project={}
'../../Features/Project/ProjectLocator':{}
'redis-sharelatex' : createClient: () => @rclient
"../../infrastructure/Metrics":
Timer:->
done:->
describe 'queueChange', ->
beforeEach ->

View file

@ -10,6 +10,7 @@ describe "EditorRealTimeController", ->
createClient: () ->
auth:->
"../../infrastructure/Server" : io: @io = {}
"settings-sharelatex":{redis:{}}
@EditorRealTimeController.rclientPub = publish: sinon.stub()
@EditorRealTimeController.rclientSub =
subscribe: sinon.stub()

View file

@ -9,7 +9,7 @@ _ = require('underscore')
_.templateSettings =
interpolate: /\{\{(.+?)\}\}/g
describe "Email Templator ", ->
describe "EmailBuilder", ->
beforeEach ->

View file

@ -6,7 +6,7 @@ sinon = require('sinon')
modulePath = path.join __dirname, "../../../../app/js/Features/Email/EmailSender.js"
expect = require("chai").expect
describe "Email", ->
describe "EmailSender", ->
beforeEach ->
@ -30,6 +30,9 @@ describe "Email", ->
log:->
warn:->
err:->
"../../infrastructure/Metrics": inc:->
@opts =
to: "bob@bob.com"

View file

@ -55,6 +55,10 @@ describe "ProjectController", ->
"logger-sharelatex":
log:->
err:->
"../../infrastructure/Metrics":
Timer:->
done:->
inc:->
"./ProjectDeleter": @ProjectDeleter
"./ProjectDuplicator": @ProjectDuplicator
"./ProjectCreationHandler": @ProjectCreationHandler

View file

@ -50,6 +50,9 @@ describe 'ProjectCreationHandler', ->
'./ProjectEntityHandler':@ProjectEntityHandler
"settings-sharelatex": @Settings = {}
'logger-sharelatex': {log:->}
"../../infrastructure/Metrics": inc:->
describe 'Creating a Blank project', ->
beforeEach ->

View file

@ -505,7 +505,6 @@ describe 'ProjectEntityHandler', ->
@ProjectModel.putElement = (project_id, folder_id, doc, type, callback)-> callback(null, {path:{fileSystem:opts.path}})
@tpdsUpdateSender.addFile = (options)=>
console.log @project.name, options.project_name
options.project_id.should.equal project_id
options.path.should.equal opts.path
options.project_name.should.equal @project.name

View file

@ -26,6 +26,7 @@ describe "LoginRateLimiter", ->
@LoginRateLimiter = SandboxedModule.require modulePath, requires:
'redis-sharelatex' : createClient: () => @rclient
"settings-sharelatex":{redis:{}}
describe "processLoginRequest", ->

View file

@ -5,7 +5,7 @@ modulePath = "../../../../app/js/Features/Subscription/UserFeaturesUpdater"
assert = require("chai").assert
describe "user Features updater", ->
describe "UserFeaturesUpdater", ->
beforeEach ->

View file

@ -14,6 +14,8 @@ describe 'TpdsController', ->
'logger-sharelatex':
log:->
err:->
"../../infrastructure/Metrics": inc:->
@user_id = "dsad29jlkjas"
describe 'getting an update', ->

View file

@ -38,6 +38,8 @@ describe 'TpdsUpdateSender', ->
"logger-sharelatex":{log:->}
'../../models/Project': Project:@Project
'request':@request
"../../infrastructure/Metrics":
inc:->
describe "_enqueue", ->

View file

@ -20,9 +20,13 @@ describe 'UpdateMerger :', ->
'../Project/ProjectEntityHandler': @projectEntityHandler
'fs': @fs
'../Uploads/FileTypeManager':@FileTypeManager
'settings-sharelatex':{path:{dumpPath:"dump_here"}}
'logger-sharelatex':
log: ->
err: ->
"../../infrastructure/Metrics":
Timer:->
done:->
@project_id = "project_id_here"
@user_id = "mock-user-id"
@source = "dropbox"

View file

@ -55,7 +55,7 @@ describe "UserController", ->
"../Subscription/SubscriptionDomainHandler":@SubscriptionDomainHandler
"settings-sharelatex": @settings
"logger-sharelatex": {log:->}
"../../infrastructure/Metrics": inc:->
@req =
session:
@ -178,7 +178,6 @@ describe "UserController", ->
.should.equal true
it "should return the user and activation url", ->
console.log @res.json.args
@res.json
.calledWith({
email: @email,

View file

@ -12,6 +12,9 @@ describe 'LockManager - getting the lock', ->
"redis-sharelatex":
createClient : () =>
auth:->
"settings-sharelatex":{redis:{}}
"./Metrics": inc:->
@callback = sinon.stub()
@doc_id = "doc-id-123"

View file

@ -13,6 +13,8 @@ describe 'LockManager - trying the lock', ->
createClient : () =>
auth:->
set: @set = sinon.stub()
"settings-sharelatex":{redis:{}}
"./Metrics": inc:->
@callback = sinon.stub()
@doc_id = "doc-id-123"