Merge pull request #2619 from overleaf/ta-licence-attribute-fix

Read Licence Attribute from Affiliation Instead of Institution

GitOrigin-RevId: 2294222e2bd0da473a303d3ffdc5ddb7d856f7f7
This commit is contained in:
Timothée Alby 2020-02-20 11:07:54 -05:00 committed by Copybot
parent ab5101f189
commit 98f031e9aa
7 changed files with 39 additions and 26 deletions

View file

@ -154,7 +154,7 @@ module.exports = SubscriptionController = {
personalSubscription,
memberGroupSubscriptions,
managedGroupSubscriptions,
confirmedMemberInstitutions,
confirmedMemberAffiliations,
managedInstitutions,
managedPublishers,
v1SubscriptionStatus
@ -177,7 +177,7 @@ module.exports = SubscriptionController = {
personalSubscription,
memberGroupSubscriptions,
managedGroupSubscriptions,
confirmedMemberInstitutions,
confirmedMemberAffiliations,
managedInstitutions,
managedPublishers,
v1SubscriptionStatus

View file

@ -113,8 +113,8 @@ module.exports = {
managedGroupSubscriptions(cb) {
return SubscriptionLocator.getManagedGroupSubscriptions(user, cb)
},
confirmedMemberInstitutions(cb) {
return InstitutionsGetter.getConfirmedInstitutions(user._id, cb)
confirmedMemberAffiliations(cb) {
return InstitutionsGetter.getConfirmedAffiliations(user._id, cb)
},
managedInstitutions(cb) {
return InstitutionsGetter.getManagedInstitutions(user._id, cb)
@ -142,7 +142,7 @@ module.exports = {
personalSubscription,
memberGroupSubscriptions,
managedGroupSubscriptions,
confirmedMemberInstitutions,
confirmedMemberAffiliations,
managedInstitutions,
managedPublishers,
v1SubscriptionStatus,
@ -156,8 +156,8 @@ module.exports = {
if (managedGroupSubscriptions == null) {
managedGroupSubscriptions = []
}
if (confirmedMemberInstitutions == null) {
confirmedMemberInstitutions = []
if (confirmedMemberAffiliations == null) {
confirmedMemberAffiliations = []
}
if (managedInstitutions == null) {
managedInstitutions = []
@ -241,7 +241,7 @@ module.exports = {
personalSubscription,
managedGroupSubscriptions,
memberGroupSubscriptions,
confirmedMemberInstitutions,
confirmedMemberAffiliations,
managedInstitutions,
managedPublishers,
v1SubscriptionStatus

View file

@ -35,7 +35,7 @@ block content
-hasDisplayedSubscription = true
include ./dashboard/_group_memberships
-if (confirmedMemberInstitutions && confirmedMemberInstitutions.length > 0)
-if (confirmedMemberAffiliations && confirmedMemberAffiliations.length > 0)
include ./dashboard/_institution_memberships
-if (v1SubscriptionStatus)

View file

@ -1,5 +1,5 @@
each institution in confirmedMemberInstitutions
if (institution.licence != 'free')
each affiliation in confirmedMemberAffiliations
if (affiliation.licence && affiliation.licence != 'free')
-hasDisplayedSubscription = true
p
| You have a
@ -8,6 +8,6 @@ each institution in confirmedMemberInstitutions
|
| #{settings.appName} account as a confirmed member of
|
strong= institution.name
strong= affiliation.institution.name
hr

View file

@ -40,10 +40,10 @@ form.row(
ng-click="resendConfirmationEmail(userEmail)",
ng-if="!userEmail.ssoAvailable"
) #{translate('resend_confirmation_email')}
div(ng-if="userEmail.confirmedAt && userEmail.affiliation.institution && userEmail.affiliation.institution.confirmed && userEmail.affiliation.institution.licence != 'free'").small
div(ng-if="userEmail.confirmedAt && userEmail.affiliation.institution && userEmail.affiliation.institution.confirmed && userEmail.affiliation.licence && userEmail.affiliation.licence != 'free'").small
span.label.label-primary #{translate("professional")}
td
div(ng-if="userEmail.affiliation.institution")
td
div(ng-if="userEmail.affiliation.institution")
div {{ userEmail.affiliation.institution.name }}
span.small
a(
@ -55,7 +55,7 @@ form.row(
ng-if="!isChangingAffiliation(userEmail.email) && (userEmail.affiliation.role || userEmail.affiliation.department)"
)
span(ng-if="userEmail.affiliation.role") {{ userEmail.affiliation.role }}
span(ng-if="userEmail.affiliation.role && userEmail.affiliation.department") ,
span(ng-if="userEmail.affiliation.role && userEmail.affiliation.department") ,
span(ng-if="userEmail.affiliation.department") {{ userEmail.affiliation.department }}
br
a(
@ -206,13 +206,13 @@ form.row(
tr.affiliations-table-highlighted-row(
ng-if="ui.isMakingRequest"
)
td.text-center(colspan="3", ng-if="ui.isLoadingEmails")
td.text-center(colspan="3", ng-if="ui.isLoadingEmails")
i.fa.fa-fw.fa-spin.fa-refresh(aria-hidden="true")
|  #{translate("loading")}...
td.text-center(colspan="3", ng-if="ui.isResendingConfirmation")
td.text-center(colspan="3", ng-if="ui.isResendingConfirmation")
i.fa.fa-fw.fa-spin.fa-refresh(aria-hidden="true")
|  #{translate("sending")}...
td.text-center.text-capitalize(colspan="3", ng-if="ui.isProcessing")
td.text-center.text-capitalize(colspan="3", ng-if="ui.isProcessing")
i.fa.fa-fw.fa-spin.fa-refresh(aria-hidden="true")
|  #{translate("processing")}
td.text-center(colspan="3", ng-if="!ui.isLoadingEmails && !ui.isResendingConfirmation && !ui.isProcessing")
@ -221,7 +221,7 @@ form.row(
tr.affiliations-table-error-row(
ng-if="ui.hasError"
)
td.text-center(colspan="3")
td.text-center(colspan="3")
div
i.fa.fa-fw.fa-exclamation-triangle(aria-hidden="true")
span(ng-if="!ui.errorMessage")  #{translate("error_performing_request")}

View file

@ -24,7 +24,7 @@ define(['base'], App =>
.filter(email => email.affiliation)
.map(email => email.affiliation)
$scope.userOnPayingUniversity = $scope.userAffiliations.some(
affiliation => affiliation.institution.licence !== 'free'
affiliation => affiliation.licence && affiliation.licence !== 'free'
)
})
}

View file

@ -430,23 +430,27 @@ describe('Subscriptions', function() {
MockV1Api.setAffiliations([
{
email: 'confirmed-affiliation-email@stanford.example.edu',
licence: 'pro_plus',
department: 'Math',
role: 'Prof',
inferred: false,
institution: {
name: 'Stanford',
licence: 'pro_plus',
confirmed: true
}
},
{
email: 'unconfirmed-affiliation-email@harvard.example.edu',
licence: 'pro_plus',
institution: {
name: 'Harvard',
licence: 'pro_plus',
confirmed: true
}
},
{
email: 'confirmed-affiliation-email@mit.example.edu',
institution: { name: 'MIT', licence: 'pro_plus', confirmed: false }
licence: 'pro_plus',
institution: { name: 'MIT', confirmed: false }
}
])
return async.series(
@ -504,8 +508,17 @@ describe('Subscriptions', function() {
})
it('should return only the affilations with confirmed institutions, and confirmed emails', function() {
return expect(this.data.confirmedMemberInstitutions).to.deep.equal([
{ name: 'Stanford', licence: 'pro_plus', confirmed: true }
return expect(this.data.confirmedMemberAffiliations).to.deep.equal([
{
licence: 'pro_plus',
department: 'Math',
role: 'Prof',
inferred: false,
institution: {
name: 'Stanford',
confirmed: true
}
}
])
})
})