mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
got more correct details making it to recurly and improved form.
This commit is contained in:
parent
cc545db17b
commit
5305cbfd3e
5 changed files with 306 additions and 19 deletions
|
@ -8,13 +8,16 @@ logger = require("logger-sharelatex")
|
|||
module.exports = RecurlyWrapper =
|
||||
apiUrl : "https://api.recurly.com/v2"
|
||||
|
||||
createSubscription: (subscription, recurly_token_id, callback)->
|
||||
createSubscription: (user, subscriptionDetails, recurly_token_id, callback)->
|
||||
requestBody = """
|
||||
<subscription>
|
||||
<plan_code>student</plan_code>
|
||||
<currency>USD</currency>
|
||||
<plan_code>#{subscriptionDetails.plan_code}</plan_code>
|
||||
<currency>#{subscriptionDetails.currencyCode}</currency>
|
||||
<account>
|
||||
<account_code>TEST_SUBSCRIPTION</account_code>
|
||||
<account_code>#{user._id}</account_code>
|
||||
<email>#{user.email}</email>
|
||||
<first_name>#{user.first_name}</first_name>
|
||||
<last_name>#{user.last_name}</last_name>
|
||||
<billing_info>
|
||||
<token_id>#{recurly_token_id}</token_id>
|
||||
</billing_info>
|
||||
|
|
|
@ -133,8 +133,9 @@ module.exports = SubscriptionController =
|
|||
SecurityManager.getCurrentUser req, (error, user) ->
|
||||
return callback(error) if error?
|
||||
recurly_token_id = req.body.recurly_token_id
|
||||
logger.log recurly_token_id: recurly_token_id, user_id:user._id, "creating subscription"
|
||||
SubscriptionHandler.createSubscription user, recurly_token_id, (err)->
|
||||
subscriptionDetails = req.body.subscriptionDetails
|
||||
logger.log recurly_token_id: recurly_token_id, user_id:user._id, subscriptionDetails:subscriptionDetails, "creating subscription"
|
||||
SubscriptionHandler.createSubscription user, subscriptionDetails, recurly_token_id, (err)->
|
||||
if err?
|
||||
logger.err err:err, user_id:user._id, "something went wrong creating subscription"
|
||||
res.redirect "/user/subscription/thank-you"
|
||||
|
|
|
@ -10,10 +10,10 @@ DropboxHandler = require("../Dropbox/DropboxHandler")
|
|||
|
||||
module.exports =
|
||||
|
||||
createSubscription: (user, recurly_token_id, callback)->
|
||||
createSubscription: (user, subscriptionDetails, recurly_token_id, callback)->
|
||||
self = @
|
||||
clientTokenId = ""
|
||||
RecurlyWrapper.createSubscription user, recurly_token_id, (error, recurlySubscription)->
|
||||
RecurlyWrapper.createSubscription user, subscriptionDetails, recurly_token_id, (error, recurlySubscription)->
|
||||
return callback(error) if error?
|
||||
SubscriptionUpdater.syncSubscription recurlySubscription, user._id, (error) ->
|
||||
return callback(error) if error?
|
||||
|
|
|
@ -34,20 +34,41 @@ block content
|
|||
ng-click="changeCurrency(currency)",
|
||||
) {{currency}} ({{value['symbol']}})
|
||||
h1 #{translate("new_subscription")}
|
||||
|
||||
hr
|
||||
form
|
||||
.form-group
|
||||
label #{translate("credit_card_number")}
|
||||
input.form-control(type='text', value='', maxlength='255', tabindex='1', onkeyup='', data-recurly='number', ng-model='data.number')
|
||||
input.form-control.input-lg-1(type='text', value='', maxlength='255', tabindex='1', onkeyup='', data-recurly='number', ng-model='data.number', placeholder='Credit Card Number')
|
||||
input.form-control.input-lg-1(type='text', value='', maxlength='255', tabindex='1', onkeyup='', data-recurly='cvv', ng-model='data.cvv')
|
||||
.form-group
|
||||
label #{translate("month")}
|
||||
input.form-control(type='text', value='', maxlength='255', tabindex='1', onkeyup='', data-recurly='month', ng-model='data.month')
|
||||
select.form-control(data-recurly='month', ng-model='data.month')
|
||||
option(value="01") 01 January
|
||||
option(value="02") 02 February
|
||||
option(value="03") 03 March
|
||||
option(value="04") 04 April
|
||||
option(value="05") 05 May
|
||||
option(value="06") 06 June
|
||||
option(value="07") 07 July
|
||||
option(value="08") 08 August
|
||||
option(value="09") 09 September
|
||||
option(value="10") 10 October
|
||||
option(value="11") 11 November
|
||||
option(value="12") 12 December
|
||||
.form-group
|
||||
label #{translate("year")}
|
||||
input.form-control(type='text', value='', maxlength='255', tabindex='1', onkeyup='', data-recurly='year', ng-model='data.year')
|
||||
.form-group
|
||||
label #{translate("cvv")}
|
||||
input.form-control(type='text', value='', maxlength='255', tabindex='1', onkeyup='', data-recurly='cvv', ng-model='data.cvv')
|
||||
select.form-control(data-recurly='year', ng-model='data.year')
|
||||
option(value="2015") 2015
|
||||
option(value="2016") 2016
|
||||
option(value="2017") 2017
|
||||
option(value="2018") 2018
|
||||
option(value="2019") 2019
|
||||
option(value="2020") 2020
|
||||
option(value="2021") 2021
|
||||
option(value="2022") 2022
|
||||
option(value="2023") 2023
|
||||
option(value="2024") 2024
|
||||
option(value="2025") 2025
|
||||
option(value="2026") 2026
|
||||
.form-group
|
||||
label #{translate("first_name")}
|
||||
input.form-control(type='text', value='', maxlength='255', tabindex='1', onkeyup='', data-recurly="first_name", ng-model="data.first_name")
|
||||
|
@ -62,7 +83,8 @@ block content
|
|||
input.form-control(type='text', value='', maxlength='255', tabindex='1', onkeyup='', data-recurly="city", ng-model="data.city")
|
||||
.form-group
|
||||
label #{translate("country")}
|
||||
input.form-control(type='text', value='', maxlength='255', tabindex='1', onkeyup='', data-recurly="country", ng-model="data.country")
|
||||
select.form-control(data-recurly="country", ng-model="data.country")
|
||||
mixin countries_options()
|
||||
.form-group
|
||||
label #{translate("country")}
|
||||
input.form-control(type='text', value='', maxlength='255', tabindex='1', onkeyup='', data-recurly="postal_code", ng-model="data.postal_code")
|
||||
|
@ -128,3 +150,258 @@ block content
|
|||
{step:1, bucket:"blue", testName:"button_color"}
|
||||
]
|
||||
|
||||
|
||||
mixin countries_options()
|
||||
option(value='-') Select Country
|
||||
option(value='-') --------------
|
||||
option(value='AF') Afghanistan
|
||||
option(value='AL') Albania
|
||||
option(value='DZ') Algeria
|
||||
option(value='AS') American Samoa
|
||||
option(value='AD') Andorra
|
||||
option(value='AO') Angola
|
||||
option(value='AI') Anguilla
|
||||
option(value='AQ') Antarctica
|
||||
option(value='AG') Antigua and Barbuda
|
||||
option(value='AR') Argentina
|
||||
option(value='AM') Armenia
|
||||
option(value='AW') Aruba
|
||||
option(value='AC') Ascension Island
|
||||
option(value='AU') Australia
|
||||
option(value='AT') Austria
|
||||
option(value='AZ') Azerbaijan
|
||||
option(value='BS') Bahamas
|
||||
option(value='BH') Bahrain
|
||||
option(value='BD') Bangladesh
|
||||
option(value='BB') Barbados
|
||||
option(value='BE') Belgium
|
||||
option(value='BZ') Belize
|
||||
option(value='BJ') Benin
|
||||
option(value='BM') Bermuda
|
||||
option(value='BT') Bhutan
|
||||
option(value='BO') Bolivia
|
||||
option(value='BA') Bosnia and Herzegovina
|
||||
option(value='BW') Botswana
|
||||
option(value='BV') Bouvet Island
|
||||
option(value='BR') Brazil
|
||||
option(value='BQ') British Antarctic Territory
|
||||
option(value='IO') British Indian Ocean Territory
|
||||
option(value='VG') British Virgin Islands
|
||||
option(value='BN') Brunei
|
||||
option(value='BG') Bulgaria
|
||||
option(value='BF') Burkina Faso
|
||||
option(value='BI') Burundi
|
||||
option(value='KH') Cambodia
|
||||
option(value='CM') Cameroon
|
||||
option(value='CA') Canada
|
||||
option(value='IC') Canary Islands
|
||||
option(value='CT') Canton and Enderbury Islands
|
||||
option(value='CV') Cape Verde
|
||||
option(value='KY') Cayman Islands
|
||||
option(value='CF') Central African Republic
|
||||
option(value='EA') Ceuta and Melilla
|
||||
option(value='TD') Chad
|
||||
option(value='CL') Chile
|
||||
option(value='CN') China
|
||||
option(value='CX') Christmas Island
|
||||
option(value='CP') Clipperton Island
|
||||
option(value='CC') Cocos [Keeling] Islands
|
||||
option(value='CO') Colombia
|
||||
option(value='KM') Comoros
|
||||
option(value='CD') Congo [DRC]
|
||||
option(value='CK') Cook Islands
|
||||
option(value='CR') Costa Rica
|
||||
option(value='HR') Croatia
|
||||
option(value='CU') Cuba
|
||||
option(value='CY') Cyprus
|
||||
option(value='CZ') Czech Republic
|
||||
option(value='DK') Denmark
|
||||
option(value='DG') Diego Garcia
|
||||
option(value='DJ') Djibouti
|
||||
option(value='DM') Dominica
|
||||
option(value='DO') Dominican Republic
|
||||
option(value='NQ') Dronning Maud Land
|
||||
option(value='TL') East Timor
|
||||
option(value='EC') Ecuador
|
||||
option(value='EG') Egypt
|
||||
option(value='SV') El Salvador
|
||||
option(value='EE') Estonia
|
||||
option(value='ET') Ethiopia
|
||||
option(value='FK') Falkland Islands [Islas Malvinas]
|
||||
option(value='FO') Faroe Islands
|
||||
option(value='FJ') Fiji
|
||||
option(value='FI') Finland
|
||||
option(value='FR') France
|
||||
option(value='GF') French Guiana
|
||||
option(value='PF') French Polynesia
|
||||
option(value='TF') French Southern Territories
|
||||
option(value='FQ') French Southern and Antarctic Territories
|
||||
option(value='GA') Gabon
|
||||
option(value='GM') Gambia
|
||||
option(value='GE') Georgia
|
||||
option(value='DE') Germany
|
||||
option(value='GH') Ghana
|
||||
option(value='GI') Gibraltar
|
||||
option(value='GR') Greece
|
||||
option(value='GL') Greenland
|
||||
option(value='GD') Grenada
|
||||
option(value='GP') Guadeloupe
|
||||
option(value='GU') Guam
|
||||
option(value='GT') Guatemala
|
||||
option(value='GG') Guernsey
|
||||
option(value='GW') Guinea-Bissau
|
||||
option(value='GY') Guyana
|
||||
option(value='HT') Haiti
|
||||
option(value='HM') Heard Island and McDonald Islands
|
||||
option(value='HN') Honduras
|
||||
option(value='HK') Hong Kong
|
||||
option(value='HU') Hungary
|
||||
option(value='IS') Iceland
|
||||
option(value='IN') India
|
||||
option(value='ID') Indonesia
|
||||
option(value='IE') Ireland
|
||||
option(value='IM') Isle of Man
|
||||
option(value='IL') Israel
|
||||
option(value='IT') Italy
|
||||
option(value='JM') Jamaica
|
||||
option(value='JP') Japan
|
||||
option(value='JE') Jersey
|
||||
option(value='JT') Johnston Island
|
||||
option(value='JO') Jordan
|
||||
option(value='KZ') Kazakhstan
|
||||
option(value='KE') Kenya
|
||||
option(value='KI') Kiribati
|
||||
option(value='KW') Kuwait
|
||||
option(value='KG') Kyrgyzstan
|
||||
option(value='LA') Laos
|
||||
option(value='LV') Latvia
|
||||
option(value='LS') Lesotho
|
||||
option(value='LY') Libya
|
||||
option(value='LI') Liechtenstein
|
||||
option(value='LT') Lithuania
|
||||
option(value='LU') Luxembourg
|
||||
option(value='MO') Macau
|
||||
option(value='MK') Macedonia [FYROM]
|
||||
option(value='MG') Madagascar
|
||||
option(value='MW') Malawi
|
||||
option(value='MY') Malaysia
|
||||
option(value='MV') Maldives
|
||||
option(value='ML') Mali
|
||||
option(value='MT') Malta
|
||||
option(value='MH') Marshall Islands
|
||||
option(value='MQ') Martinique
|
||||
option(value='MR') Mauritania
|
||||
option(value='MU') Mauritius
|
||||
option(value='YT') Mayotte
|
||||
option(value='FX') Metropolitan France
|
||||
option(value='MX') Mexico
|
||||
option(value='FM') Micronesia
|
||||
option(value='MI') Midway Islands
|
||||
option(value='MD') Moldova
|
||||
option(value='MC') Monaco
|
||||
option(value='MN') Mongolia
|
||||
option(value='ME') Montenegro
|
||||
option(value='MS') Montserrat
|
||||
option(value='MA') Morocco
|
||||
option(value='MZ') Mozambique
|
||||
option(value='NA') Namibia
|
||||
option(value='NR') Nauru
|
||||
option(value='NP') Nepal
|
||||
option(value='NL') Netherlands
|
||||
option(value='AN') Netherlands Antilles
|
||||
option(value='NT') Neutral Zone
|
||||
option(value='NC') New Caledonia
|
||||
option(value='NZ') New Zealand
|
||||
option(value='NI') Nicaragua
|
||||
option(value='NE') Niger
|
||||
option(value='NG') Nigeria
|
||||
option(value='NU') Niue
|
||||
option(value='NF') Norfolk Island
|
||||
option(value='VD') North Vietnam
|
||||
option(value='MP') Northern Mariana Islands
|
||||
option(value='NO') Norway
|
||||
option(value='OM') Oman
|
||||
option(value='QO') Outlying Oceania
|
||||
option(value='PC') Pacific Islands Trust Territory
|
||||
option(value='PK') Pakistan
|
||||
option(value='PW') Palau
|
||||
option(value='PS') Palestinian Territories
|
||||
option(value='PA') Panama
|
||||
option(value='PZ') Panama Canal Zone
|
||||
option(value='PY') Paraguay
|
||||
option(value='YD') People's Democratic Republic of Yemen
|
||||
option(value='PE') Peru
|
||||
option(value='PH') Philippines
|
||||
option(value='PN') Pitcairn Islands
|
||||
option(value='PL') Poland
|
||||
option(value='PT') Portugal
|
||||
option(value='PR') Puerto Rico
|
||||
option(value='QA') Qatar
|
||||
option(value='RO') Romania
|
||||
option(value='RU') Russia
|
||||
option(value='RW') Rwanda
|
||||
option(value='RE') Réunion
|
||||
option(value='BL') Saint Barthélemy
|
||||
option(value='SH') Saint Helena
|
||||
option(value='KN') Saint Kitts and Nevis
|
||||
option(value='LC') Saint Lucia
|
||||
option(value='MF') Saint Martin
|
||||
option(value='PM') Saint Pierre and Miquelon
|
||||
option(value='VC') Saint Vincent and the Grenadines
|
||||
option(value='WS') Samoa
|
||||
option(value='SM') San Marino
|
||||
option(value='SA') Saudi Arabia
|
||||
option(value='SN') Senegal
|
||||
option(value='RS') Serbia
|
||||
option(value='CS') Serbia and Montenegro
|
||||
option(value='SC') Seychelles
|
||||
option(value='SL') Sierra Leone
|
||||
option(value='SG') Singapore
|
||||
option(value='SK') Slovakia
|
||||
option(value='SI') Slovenia
|
||||
option(value='SB') Solomon Islands
|
||||
option(value='ZA') South Africa
|
||||
option(value='GS') South Georgia and the South Sandwich Islands
|
||||
option(value='KR') South Korea
|
||||
option(value='ES') Spain
|
||||
option(value='LK') Sri Lanka
|
||||
option(value='SR') Suriname
|
||||
option(value='SJ') Svalbard and Jan Mayen
|
||||
option(value='SZ') Swaziland
|
||||
option(value='SE') Sweden
|
||||
option(value='CH') Switzerland
|
||||
option(value='ST') São Tomé and Príncipe
|
||||
option(value='TW') Taiwan
|
||||
option(value='TJ') Tajikistan
|
||||
option(value='TZ') Tanzania
|
||||
option(value='TH') Thailand
|
||||
option(value='TG') Togo
|
||||
option(value='TK') Tokelau
|
||||
option(value='TO') Tonga
|
||||
option(value='TT') Trinidad and Tobago
|
||||
option(value='TA') Tristan da Cunha
|
||||
option(value='TN') Tunisia
|
||||
option(value='TR') Turkey
|
||||
option(value='TM') Turkmenistan
|
||||
option(value='TC') Turks and Caicos Islands
|
||||
option(value='TV') Tuvalu
|
||||
option(value='UM') U.S. Minor Outlying Islands
|
||||
option(value='PU') U.S. Miscellaneous Pacific Islands
|
||||
option(value='VI') U.S. Virgin Islands
|
||||
option(value='UG') Uganda
|
||||
option(value='UA') Ukraine
|
||||
option(value='AE') United Arab Emirates
|
||||
option(value='GB') United Kingdom
|
||||
option(value='US') United States
|
||||
option(value='UY') Uruguay
|
||||
option(value='UZ') Uzbekistan
|
||||
option(value='VU') Vanuatu
|
||||
option(value='VA') Vatican City
|
||||
option(value='VE') Venezuela
|
||||
option(value='VN') Vietnam
|
||||
option(value='WK') Wake Island
|
||||
option(value='WF') Wallis and Futuna
|
||||
option(value='EH') Western Sahara
|
||||
option(value='YE') Yemen
|
||||
option(value='ZM') Zambia
|
||||
option(value='AX') Åland Islands
|
||||
|
|
|
@ -27,7 +27,7 @@ define [
|
|||
postal_code: "se153tt"
|
||||
address1 : "7 somewhere"
|
||||
city:"london"
|
||||
country:"uk"
|
||||
country:"GB"
|
||||
|
||||
|
||||
|
||||
|
@ -42,7 +42,13 @@ define [
|
|||
if err
|
||||
$scope.error = err.message
|
||||
else
|
||||
$http.post("/user/subscription/create", {_csrf: window.csrfToken, recurly_token_id:recurly_token_id.id})
|
||||
postData =
|
||||
_csrf: window.csrfToken
|
||||
recurly_token_id:recurly_token_id.id
|
||||
subscriptionDetails:
|
||||
currencyCode:"USD"
|
||||
plan_code:"student"
|
||||
$http.post("/user/subscription/create", postData)
|
||||
.success ->
|
||||
console.log "success"
|
||||
|
||||
|
|
Loading…
Reference in a new issue