UserCreator.coffee 963 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. User = require("../../models/User").User
  2. UserLocator = require("./UserLocator")
  3. logger = require("logger-sharelatex")
  4. module.exports =
  5. getUserOrCreateHoldingAccount: (email, callback = (err, user)->)->
  6. self = @
  7. UserLocator.findByEmail email, (err, user)->
  8. if user?
  9. callback(err, user)
  10. else
  11. self.createNewUser email:email, holdingAccount:true, callback
  12. createNewUser: (opts, callback)->
  13. logger.log opts:opts, "creating new user"
  14. user = new User()
  15. user.email = opts.email
  16. user.holdingAccount = opts.holdingAccount
  17. user.ace.syntaxValidation = true
  18. username = opts.email.match(/^[^@]*/)
  19. if opts.first_name? and opts.first_name.length != 0
  20. user.first_name = opts.first_name
  21. else if username?
  22. user.first_name = username[0]
  23. else
  24. user.first_name = ""
  25. if opts.last_name?
  26. user.last_name = opts.last_name
  27. else
  28. user.last_name = ""
  29. user.featureSwitches?.pdfng = true
  30. user.save (err)->
  31. callback(err, user)