| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- async = require("async")
- _ = require("underscore")
- settings = require("settings-sharelatex")
- SubscriptionGroupHandler = require("./SubscriptionGroupHandler")
- _s = require("underscore.string")
- module.exports = SubscriptionDomainHandler =
- getLicenceUserCanJoin: (user, callback)->
- licence = SubscriptionDomainHandler._findDomainLicence(user.email)
- if licence?
- callback null, licence
- else
- callback()
- attemptToJoinGroup: (user, callback)->
- licence = SubscriptionDomainHandler._findDomainLicence(user.email)
- if licence? and user.emailVerified
- SubscriptionGroupHandler.addUserToGroup licence.adminUser_id, user.email, callback
- else
- callback "user not verified"
- rejectInvitationToGroup: (user, subscription, callback)->
- removeUserFromGroup(subscription.admin_id, user._id, callback)
- getDomainLicencePage: (user)->
- licence = SubscriptionDomainHandler._findDomainLicence(user.email)
- if licence?.verifyEmail
- return "/user/subscription/#{licence.subscription_id}/group/invited"
- else
- return undefined
- autoAllocate: (user, callback = ->)->
- licence = SubscriptionDomainHandler._findDomainLicence(user.email)
- #
- if licence?
- SubscriptionGroupHandler.addUserToGroup licence.adminUser_id, user.email, callback
- else
- callback()
- _findDomainLicence: (email)->
- licence = _.find settings.domainLicences, (licence)->
- _.find licence.domains, (domain)->
- _s.endsWith email, domain
- return licence
- findDomainLicenceBySubscriptionId: (subscription_id)->
- licence = _.find settings.domainLicences, (licence)->
- licence?.subscription_id == subscription_id
- return licence
|