mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-05 06:09:20 +00:00
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:
parent
ab5101f189
commit
98f031e9aa
7 changed files with 39 additions and 26 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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")}
|
||||
|
|
|
@ -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'
|
||||
)
|
||||
})
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
])
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue