From 2fca78eaf03291f9942965270671a50930140bc9 Mon Sep 17 00:00:00 2001 From: Jessica Lawshe Date: Thu, 8 Apr 2021 13:48:16 -0500 Subject: [PATCH] Merge pull request #3896 from overleaf/revert-3834-tm-meta-tags-billing Revert "[views] migrate subscription templates to meta tags" GitOrigin-RevId: 8ab3dae6e3aa359b6d7aa69df70a1b1eb2405dfd --- .../web/app/views/subscriptions/dashboard.pug | 6 ------ .../_personal_subscription_recurly.pug | 5 +++++ services/web/app/views/subscriptions/new.pug | 9 ++++----- services/web/app/views/subscriptions/plans.pug | 8 +++++--- .../subscriptions/successful_subscription.pug | 6 ++++++ .../web/app/views/subscriptions/team/invite.pug | 8 +++++--- .../web/frontend/js/main/new-subscription.js | 5 ++--- services/web/frontend/js/main/plans.js | 10 ++++------ .../frontend/js/main/subscription-dashboard.js | 17 +++++++---------- .../main/subscription/team-invite-controller.js | 9 ++------- 10 files changed, 40 insertions(+), 43 deletions(-) diff --git a/services/web/app/views/subscriptions/dashboard.pug b/services/web/app/views/subscriptions/dashboard.pug index d6778eabd6..04b261190e 100644 --- a/services/web/app/views/subscriptions/dashboard.pug +++ b/services/web/app/views/subscriptions/dashboard.pug @@ -2,12 +2,6 @@ extends ../layout include ./dashboard/_team_name_mixin -block append meta - if (personalSubscription) - meta(name="ol-recurlyApiKey" content=settings.apis.recurly.publicKey) - meta(name="ol-subscription" data-type="json" content=personalSubscription) - meta(name="ol-recomendedCurrency" content=personalSubscription.recurly.currency) - block head-scripts script(type="text/javascript", nonce=scriptNonce, src="https://js.recurly.com/v4/recurly.js") diff --git a/services/web/app/views/subscriptions/dashboard/_personal_subscription_recurly.pug b/services/web/app/views/subscriptions/dashboard/_personal_subscription_recurly.pug index 1f9fe4ce9f..06ce9a8d6c 100644 --- a/services/web/app/views/subscriptions/dashboard/_personal_subscription_recurly.pug +++ b/services/web/app/views/subscriptions/dashboard/_personal_subscription_recurly.pug @@ -1,3 +1,8 @@ +script(type="text/javascript", nonce=scriptNonce). + window.recurlyApiKey = "!{settings.apis.recurly.publicKey}" + window.subscription = !{StringHelper.stringifyJsonForScript(personalSubscription)} + window.recomendedCurrency = "#{personalSubscription.recurly.currency}" + div(ng-controller="RecurlySubscriptionController") div(ng-show="!showCancellation") if (personalSubscription.recurly.account.has_past_due_invoice && personalSubscription.recurly.account.has_past_due_invoice._ == 'true') diff --git a/services/web/app/views/subscriptions/new.pug b/services/web/app/views/subscriptions/new.pug index 5376ac3a5b..884d2aae19 100644 --- a/services/web/app/views/subscriptions/new.pug +++ b/services/web/app/views/subscriptions/new.pug @@ -1,12 +1,11 @@ extends ../layout -block append meta - meta(name="ol-countryCode" content=countryCode) - meta(name="ol-recurlyApiKey" content=settings.apis.recurly.publicKey) - meta(name="ol-recomendedCurrency" content=String(currency).slice(0,3)) - block head-scripts script(type="text/javascript", nonce=scriptNonce, src="https://js.recurly.com/v4/recurly.js") + script(type="text/javascript", nonce=scriptNonce). + window.countryCode = !{StringHelper.stringifyJsonForScript(countryCode || '')} + window.recurlyApiKey = "!{settings.apis.recurly.publicKey}" + window.recomendedCurrency = !{StringHelper.stringifyJsonForScript(String(currency).slice(0,3))} block content main.content.content-alt diff --git a/services/web/app/views/subscriptions/plans.pug b/services/web/app/views/subscriptions/plans.pug index 002e45515e..f33e2eabae 100644 --- a/services/web/app/views/subscriptions/plans.pug +++ b/services/web/app/views/subscriptions/plans.pug @@ -6,9 +6,11 @@ include _plans_page_tables block vars - metadata = { viewport: true } -block append meta - meta(name="ol-recomendedCurrency" content=recomendedCurrency) - meta(name="ol-groupPlans" data-type="json" content=groupPlans) +block head-scripts + script(type="text/javascript", nonce=scriptNonce). + window.recomendedCurrency = '#{recomendedCurrency}'; + window.abCurrencyFlag = '#{abCurrencyFlag}'; + window.groupPlans = !{StringHelper.stringifyJsonForScript(groupPlans)}; block content .content.content-alt diff --git a/services/web/app/views/subscriptions/successful_subscription.pug b/services/web/app/views/subscriptions/successful_subscription.pug index 771739e3d0..6034de644d 100644 --- a/services/web/app/views/subscriptions/successful_subscription.pug +++ b/services/web/app/views/subscriptions/successful_subscription.pug @@ -28,3 +28,9 @@ block content | The #{settings.appName} Team p a.btn.btn-primary(href="/project") < #{translate("back_to_your_projects")} + + script(type="text/javascript", nonce=scriptNonce). + window.ab = [ + {step:1, bucket:"student_control", testName:"editor_plan"}, + {step:1, bucket:"collab_test", testName:"editor_plan"}, + ] diff --git a/services/web/app/views/subscriptions/team/invite.pug b/services/web/app/views/subscriptions/team/invite.pug index 70d8234489..11cbe32c6b 100644 --- a/services/web/app/views/subscriptions/team/invite.pug +++ b/services/web/app/views/subscriptions/team/invite.pug @@ -1,8 +1,10 @@ extends ../../layout -block append meta - meta(name="ol-hasIndividualRecurlySubscription" data-type="boolean" content=hasIndividualRecurlySubscription) - meta(name="ol-inviteToken" content=inviteToken) +block head-scripts + script(type="text/javascript", nonce=scriptNonce). + window.teamId = '#{teamId}' + window.hasIndividualRecurlySubscription = #{hasIndividualRecurlySubscription} + window.inviteToken = '#{inviteToken}' block content main.content.content-alt.team-invite diff --git a/services/web/frontend/js/main/new-subscription.js b/services/web/frontend/js/main/new-subscription.js index 492ec5c0b4..eeb5aa182a 100644 --- a/services/web/frontend/js/main/new-subscription.js +++ b/services/web/frontend/js/main/new-subscription.js @@ -6,7 +6,6 @@ import _ from 'lodash' */ /* global recurly */ import App from '../base' -import getMeta from '../utils/meta' export default App.controller('NewSubscriptionController', function( $scope, @@ -68,7 +67,7 @@ export default App.controller('NewSubscriptionController', function( city: '', company: '', vat_number: '', - country: getMeta('ol-countryCode'), + country: window.countryCode, coupon: window.couponCode } @@ -85,7 +84,7 @@ export default App.controller('NewSubscriptionController', function( ) recurly.configure({ - publicKey: getMeta('ol-recurlyApiKey'), + publicKey: window.recurlyApiKey, style: { all: { fontFamily: '"Open Sans", sans-serif', diff --git a/services/web/frontend/js/main/plans.js b/services/web/frontend/js/main/plans.js index 59c2c5e110..73c28e16e6 100644 --- a/services/web/frontend/js/main/plans.js +++ b/services/web/frontend/js/main/plans.js @@ -3,9 +3,8 @@ max-len */ import App from '../base' -import getMeta from '../utils/meta' App.factory('MultiCurrencyPricing', function() { - const currencyCode = getMeta('ol-recomendedCurrency') + const currencyCode = window.recomendedCurrency return { currencyCode, @@ -385,12 +384,11 @@ App.controller('GroupPlansModalPurchaseController', function( ] } - $scope.prices = getMeta('ol-groupPlans') + $scope.prices = window.groupPlans let currency = 'USD' - const recomendedCurrency = getMeta('ol-recomendedCurrency') - if (['USD', 'GBP', 'EUR'].includes(recomendedCurrency)) { - currency = recomendedCurrency + if (['USD', 'GBP', 'EUR'].includes(window.recomendedCurrency)) { + currency = window.recomendedCurrency } // default selected diff --git a/services/web/frontend/js/main/subscription-dashboard.js b/services/web/frontend/js/main/subscription-dashboard.js index 99a1acedbe..3598341cd5 100644 --- a/services/web/frontend/js/main/subscription-dashboard.js +++ b/services/web/frontend/js/main/subscription-dashboard.js @@ -18,14 +18,13 @@ import _ from 'lodash' * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ import App from '../base' -import getMeta from '../utils/meta' const SUBSCRIPTION_URL = '/user/subscription/update' const ensureRecurlyIsSetup = _.once(() => { if (typeof recurly === 'undefined' || !recurly) { return false } - recurly.configure(getMeta('ol-recurlyApiKey')) + recurly.configure(window.recurlyApiKey) return true }) @@ -107,8 +106,7 @@ App.controller('ChangePlanFormController', function( $scope.$watch('plan', function(plan) { if (!plan) return const planCode = plan.planCode - const subscription = getMeta('ol-subscription') - const { currency, taxRate } = subscription.recurly + const { currency, taxRate } = window.subscription.recurly $scope.price = '...' // Placeholder while we talk to recurly RecurlyPricing.loadDisplayPriceWithTax(planCode, currency, taxRate).then( price => { @@ -175,11 +173,10 @@ App.controller('GroupMembershipController', function($scope, $modal) { App.controller('RecurlySubscriptionController', function($scope) { const recurlyIsSetup = ensureRecurlyIsSetup() - const subscription = getMeta('ol-subscription') - $scope.showChangePlanButton = recurlyIsSetup && !subscription.groupPlan + $scope.showChangePlanButton = recurlyIsSetup && !window.subscription.groupPlan if ( - subscription.recurly.account.has_past_due_invoice && - subscription.recurly.account.has_past_due_invoice._ === 'true' + window.subscription.recurly.account.has_past_due_invoice && + window.subscription.recurly.account.has_past_due_invoice._ === 'true' ) { $scope.showChangePlanButton = false } @@ -208,7 +205,7 @@ App.controller('RecurlyCancellationController', function( $http ) { if (!ensureRecurlyIsSetup()) return - const subscription = getMeta('ol-subscription') + const subscription = window.subscription const sevenDaysTime = new Date() sevenDaysTime.setDate(sevenDaysTime.getDate() + 7) const freeTrialEndDate = new Date(subscription.recurly.trial_ends_at) @@ -229,7 +226,7 @@ App.controller('RecurlyCancellationController', function( $scope.showBasicCancel = true } - const { currency, taxRate } = subscription.recurly + const { currency, taxRate } = window.subscription.recurly $scope.studentPrice = '...' // Placeholder while we talk to recurly RecurlyPricing.loadDisplayPriceWithTax('student', currency, taxRate).then( price => { diff --git a/services/web/frontend/js/main/subscription/team-invite-controller.js b/services/web/frontend/js/main/subscription/team-invite-controller.js index e9d1f1ee80..47bc90f7ac 100644 --- a/services/web/frontend/js/main/subscription/team-invite-controller.js +++ b/services/web/frontend/js/main/subscription/team-invite-controller.js @@ -10,15 +10,11 @@ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ import App from '../../base' -import getMeta from '../../utils/meta' export default App.controller('TeamInviteController', function($scope, $http) { $scope.inflight = false - const hasIndividualRecurlySubscription = getMeta( - 'ol-hasIndividualRecurlySubscription' - ) - if (hasIndividualRecurlySubscription) { + if (window.hasIndividualRecurlySubscription) { $scope.view = 'hasIndividualRecurlySubscription' } else { $scope.view = 'teamInvite' @@ -44,8 +40,7 @@ export default App.controller('TeamInviteController', function($scope, $http) { return ($scope.joinTeam = function() { $scope.inflight = true - const inviteToken = getMeta('ol-inviteToken') - const request = $http.put(`/subscription/invites/${inviteToken}/`, { + const request = $http.put(`/subscription/invites/${window.inviteToken}/`, { _csrf: window.csrfToken }) request.then(function(response) {