Merge pull request #2593 from overleaf/ta-affiliation-licence-check
Check Licence on Affiliations Rather Than Institutions GitOrigin-RevId: 7effe7f564ff953e60ed77bcdf92f3cb177d4aee
This commit is contained in:
committed by
Copybot
parent
19266bbc8a
commit
b812109cb7
@@ -53,16 +53,16 @@ module.exports = InstitutionsFeatures = {
|
||||
if (callback == null) {
|
||||
callback = function(error, hasLicence) {}
|
||||
}
|
||||
return InstitutionsGetter.getConfirmedInstitutions(userId, function(
|
||||
return InstitutionsGetter.getConfirmedAffiliations(userId, function(
|
||||
error,
|
||||
institutions
|
||||
affiliations
|
||||
) {
|
||||
if (error != null) {
|
||||
return callback(error)
|
||||
}
|
||||
|
||||
const hasLicence = institutions.some(
|
||||
institution => institution.licence && institution.licence !== 'free'
|
||||
const hasLicence = affiliations.some(
|
||||
affiliation => affiliation.licence && affiliation.licence !== 'free'
|
||||
)
|
||||
|
||||
return callback(null, hasLicence)
|
||||
|
||||
@@ -20,7 +20,7 @@ const UserMembershipEntityConfigs = require('../UserMembership/UserMembershipEnt
|
||||
const logger = require('logger-sharelatex')
|
||||
|
||||
module.exports = InstitutionsGetter = {
|
||||
getConfirmedInstitutions(userId, callback) {
|
||||
getConfirmedAffiliations(userId, callback) {
|
||||
if (callback == null) {
|
||||
callback = function(error, institutions) {}
|
||||
}
|
||||
@@ -29,7 +29,7 @@ module.exports = InstitutionsGetter = {
|
||||
return callback(error)
|
||||
}
|
||||
|
||||
const confirmedInstitutions = emailsData
|
||||
const confirmedAffiliations = emailsData
|
||||
.filter(
|
||||
emailData =>
|
||||
emailData.confirmedAt != null &&
|
||||
@@ -40,15 +40,33 @@ module.exports = InstitutionsGetter = {
|
||||
x => x.confirmed
|
||||
)
|
||||
)
|
||||
.map(
|
||||
emailData =>
|
||||
emailData.affiliation != null
|
||||
? emailData.affiliation.institution
|
||||
.map(emailData => emailData.affiliation)
|
||||
|
||||
return callback(null, confirmedAffiliations)
|
||||
})
|
||||
},
|
||||
|
||||
getConfirmedInstitutions(userId, callback) {
|
||||
if (callback == null) {
|
||||
callback = function(error, institutions) {}
|
||||
}
|
||||
InstitutionsGetter.getConfirmedAffiliations(
|
||||
userId,
|
||||
(error, confirmedAffiliations) => {
|
||||
if (error != null) {
|
||||
return callback(error)
|
||||
}
|
||||
|
||||
const confirmedInstitutions = confirmedAffiliations.map(
|
||||
confirmedAffiliation =>
|
||||
confirmedAffiliation != null
|
||||
? confirmedAffiliation.institution
|
||||
: undefined
|
||||
)
|
||||
|
||||
return callback(null, confirmedInstitutions)
|
||||
})
|
||||
return callback(null, confirmedInstitutions)
|
||||
}
|
||||
)
|
||||
},
|
||||
|
||||
getManagedInstitutions(user_id, callback) {
|
||||
|
||||
@@ -155,8 +155,14 @@ var decorateFullEmails = (defaultEmail, emailsData, affiliationsData) =>
|
||||
aff => aff.email === emailData.email
|
||||
)
|
||||
if (affiliation) {
|
||||
const { institution, inferred, role, department } = affiliation
|
||||
emailData.affiliation = { institution, inferred, role, department }
|
||||
const { institution, inferred, role, department, licence } = affiliation
|
||||
emailData.affiliation = {
|
||||
institution,
|
||||
inferred,
|
||||
role,
|
||||
department,
|
||||
licence
|
||||
}
|
||||
} else {
|
||||
emailsData.affiliation = null
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user