Alberto Fernández Capel
6d007bfe74
DRY logic to get subscription from Recurly
...
We were making two calls to recurly: one from the SubscriptionController
and another from the SubscriptionViewModelBuilder. This change moves
all the logic to the builder so we only have to do one call.
2018-01-05 16:32:29 +00:00
Alberto Fernández Capel
79eddcc736
Fix subscription page for members of a group
...
For a member of a group LimitationsManager.userHasSubscriptionOrIsGroupMember
doesn't return any subscription, so when the controller tries to
access subscription.recurlySubscription_id there's an error.
SubscriptionViewModelBuilder already knows how to handle the case
in which the user is a member of a group but has not subscription
of their own, so guarding against the crash is enough to fix
the issue.
2018-01-05 16:28:49 +00:00
Shane Kilkelly
56ec81bb3e
Change 'oveleafPlanCode' to 'v1PlanCode'
2017-12-18 13:52:37 +00:00
Shane Kilkelly
eefe56d0f7
Fix up error handling in SubscriptionUpdater
2017-12-08 11:37:24 +00:00
Shane Kilkelly
a675e774b8
Fix how the getOverleafPlanCode
integration is done
2017-12-08 11:29:11 +00:00
Shane Kilkelly
3adbc52089
Add a method to explicitely refresh subscription feature
2017-12-07 16:28:07 +00:00
Shane Kilkelly
4e86a03b46
Fix a problem with the order of module initialization
2017-12-07 15:06:32 +00:00
Shane Kilkelly
e7d8848a6a
Include possible overleaf subscription in feature setting
2017-12-04 15:12:26 +00:00
Shane Kilkelly
cc9986cefd
Remove the obsolete update-billing-details page
2017-11-28 11:52:14 +00:00
Shane Kilkelly
22c163c60a
Move the recurly-billing-details link up to main subscription page
2017-11-28 11:40:48 +00:00
Shane Kilkelly
c121653dc4
Add error-handling to attempt to get user subscription
2017-11-23 16:22:57 +00:00
Shane Kilkelly
caa65dddc1
Send user to hosted recurly billing-details page.
...
And remove our update-billing-details form, the APIs for which will be
deprecated soon.
2017-11-23 16:16:13 +00:00
Shane Kilkelly
069f49d5a6
Change getCollaboratorCount
to getInvitedCollaboratorCount
.
...
And update the one call-site in LimitationsManager. This function
is used to limit invites, so it makes sense to explicitely limit
this to Invited members of the project.
2017-09-20 10:29:47 +01:00
James Allen
10f362a77a
Add SubscriptionUpdater.deleteSubscription
2017-08-02 09:59:45 +02:00
Shane Kilkelly
8e55b77055
Move recurly callback to the public api router.
2017-07-20 13:51:11 +01:00
Henry Oswald
3da5ef818c
null check subscription for group admin panel
2017-06-22 14:07:07 +01:00
James Allen
4cecbae6b6
Use an email based invite system for groups, not holding accounts
2017-06-08 12:12:08 +01:00
Shane Kilkelly
01ee104f77
Revert "update to newest mongoose"
...
This reverts commit 7b05891ba0e87e4cf00fd6b1ea87d7406dc70989.
2017-05-10 15:31:17 +01:00
Shane Kilkelly
c5c0364d49
update to newest mongoose
2017-05-08 16:09:59 +01:00
James Allen
08699d7aa2
Handle a 404 from Recurly if account doesn't exist
2017-03-28 15:46:58 +01:00
James Allen
7aa4c0c030
Check Recurly for subscription as well before creating subscription
2017-03-27 12:07:43 +01:00
James Allen
b086d7afa2
Refactor rate limiting code around sending invites
2017-01-27 16:26:58 +01:00
Shane Kilkelly
a5d2183441
if Recurly error, parse body xml rather than using regex match
2016-12-06 10:39:59 +00:00
Shane Kilkelly
e03d16e0cd
Deleting user: if subscription is already cancelled, ignore and proceed.
2016-11-30 16:03:18 +00:00
Shane Kilkelly
acce8853ba
Remove redundant baseUrl
from plans page.
2016-11-25 15:24:50 +00:00
Shane Kilkelly
22101d0305
If user is sent to login page with explicit redirect, obey
2016-11-24 11:38:13 +00:00
Shane Kilkelly
1538f140f3
update test timestamp
2016-10-27 09:41:51 +01:00
Shane Kilkelly
dfd13e0815
Update AB test timestamp
2016-10-26 14:24:00 +01:00
Shane Kilkelly
8c1d110688
Remove debug logs
2016-10-21 16:21:21 +01:00
Shane Kilkelly
d5a7514923
Add AB test for plans (+15 squashed commits)
...
Squashed commits:
[45c2237] Add a `subscription-form-switch-to-student` event
[1ad9b8f] change experiment name, and re-enable switch-to-student workflow
[f7cdb78] Remove debug
[4b9778a] Incorporate collaborator alternative plans
[701e80b] Add collaborator plans for heron and ibis
[287aa0f] AB test plans from editor page
[c74052e] Fix change-plan view for default plans
[1a947d6] Use correct plan codes
[1eecda7] Adjust prices
[69c4c7b] Introduce two plans
[8b8d5f8] Rename sixpack experiment
[c332002] Fix up the change-plan page
[c7af52d] Overhaul change-plan page, show only plans from current generation
[33d86bf] update plan
[5bbd946] Add a basic plans AB test
2016-10-21 16:17:37 +01:00
Henry Oswald
adc6b429e6
record when a subscription is canceled
2016-10-10 15:29:54 +01:00
Shane Kilkelly
a0f156e1a9
wipe out more session access
2016-09-22 15:33:50 +01:00
Shane Kilkelly
64c9a3ae18
Fix logic, was wrong way around
2016-09-22 11:16:50 +01:00
Shane Kilkelly
438ac45854
fix unit tests
2016-09-07 16:40:49 +01:00
Shane Kilkelly
cc5ddc92bb
use getSessionUser
rather than getLoggedInUser
2016-09-07 10:30:58 +01:00
Shane Kilkelly
ab2c1e82fb
WIP: refactor
2016-09-05 15:58:31 +01:00
Shane Kilkelly
47b1a5099a
Better logging when plan is null.
2016-08-31 10:40:30 +01:00
Shane Kilkelly
f59d5d836d
Check plan, return error if not valid.
...
This prevents a crash later when we refer to properties
of the plan object, which can end up being `null` when
the `planCode` is either missing, or not a valid code.
2016-08-31 10:18:53 +01:00
Shane Kilkelly
4a76fcd13b
Change first param of getMemberSubscriptions
to user_or_id
, to match semantics of usage.
...
This function works whether a user object, or an ObjectId is passed, but the `user_id`
param name is confusing.
2016-08-30 14:26:57 +01:00
James Allen
bcc8bfbe6c
Redirect to working update billing details end point that shows a nice message
2016-08-22 17:36:33 +01:00
Shane Kilkelly
03aa9b87f1
Add debug query string origin
to invocations of the updateSubscription endpoint.
2016-08-22 10:09:54 +01:00
Shane Kilkelly
c02854c9d8
Improve log messages
2016-08-19 11:52:50 +01:00
Shane Kilkelly
07cd75cd64
Add an expect404
option to apiRequest.
...
Suppress error generation when 404 response is encountered.
2016-08-19 11:52:04 +01:00
Shane Kilkelly
4a6df04c21
Merge branch 'master' into pr-subscription-improvements
2016-08-18 12:53:56 +01:00
Shane Kilkelly
fc068b62a2
defend against undefined plan_code
2016-08-17 08:51:35 +01:00
Shane Kilkelly
81d0edf716
Improve error handling
2016-08-16 15:19:36 +01:00
Shane Kilkelly
3a3688d3d0
Include invites count in canAddXCollaborators
2016-08-02 15:42:50 +01:00
Shane Kilkelly
3aea3a68d1
Check the truth of subscription.customAccount
, rather than definition.
2016-07-19 10:28:43 +01:00
Shane Kilkelly
effc3727be
Don’t show upgrade prompts for users with custom subscription accounts.
...
Set `hasValidSubscription` to true if user subscription is custom.
2016-07-19 10:15:45 +01:00
Shane Kilkelly
6581bc4ecf
set postal_code as zip
2016-06-28 14:15:47 +01:00
Shane Kilkelly
465d09dcfe
Test the createSubscription action (+4 squashed commits)
...
Squashed commits:
[fc9c8f9] Add tests for createBillingInfo
[db9f90e] Test the createSubscription stage
[c17151d] Check that userExists gets set
[1367c96] Act on buddy-check feedback
2016-06-28 13:59:52 +01:00
Shane Kilkelly
709f8f2bea
start testing the paypal workflow.
2016-06-27 16:34:00 +01:00
Shane Kilkelly
401565ba23
Fix references to the RecurlyWrapper object.
2016-06-27 12:14:43 +01:00
Shane Kilkelly
9938787e4a
fix a few silly issues. Appears to work now
2016-06-27 10:38:10 +01:00
Shane Kilkelly
72c73809f6
Generate address xml from object.
2016-06-27 09:44:40 +01:00
Shane Kilkelly
026e9f46c8
WIP: process appears to work, setting address correctly
2016-06-24 15:03:46 +01:00
Shane Kilkelly
56bc840b88
WIP: fix up error handling and account for possibility of account already existing.
2016-06-24 14:11:28 +01:00
Shane Kilkelly
249381b6a8
WIP: initial work on sending address to recurly for paypal subscriptions
2016-06-24 11:42:58 +01:00
Henry Oswald
101e98ed83
simpliyfied dashboard & fixed error with leave group shown to group owner
...
- always show the manage button if you are the group owne
- only show the recurly subscription part if you are the subscription owner
- always try and loop through groups you can leave
2016-06-16 09:17:43 +01:00
Henry Oswald
424e09ec05
getGroupSubscriptionMemberOf gets plan code
2016-04-05 16:03:46 +01:00
Henry Oswald
3d719af71e
if subscription is downgraded don't use plan code on subscription, use default instead
2016-03-31 18:04:20 +01:00
Henry Oswald
81cd2adfd3
member_ids != members_id
2016-03-31 17:36:06 +01:00
Henry Oswald
d80191c03b
added more logging and missing err handler in subscription updater
2016-03-31 17:28:03 +01:00
Henry Oswald
5a201153c7
refactored subscription updater again adding _setUsersMinimumFeatures
...
single place you can call and the users minimum features are set
2016-03-31 16:58:16 +01:00
Henry Oswald
cb3eb88af2
Merge branch 'subscriptionimprovements'
2016-03-31 11:58:56 +01:00
Henry Oswald
db8fb63bb5
fixed change payment details page
...
also increased size of year field for firefox users
and removed unnded options in new plan page
2016-03-31 11:54:52 +01:00
Henry Oswald
c554b0630d
if user has subscription before joining group is given option to cancel personal one
2016-03-22 16:59:47 +00:00
Henry Oswald
a6859e22b3
if user is member of group on downgrade use the group subscription
2016-03-22 16:05:46 +00:00
Henry Oswald
7fb0249b2b
null check subscription for custom accounts page
2016-03-22 14:19:46 +00:00
James Allen
de02928454
Merge branch 'master' into ja_email_tokens
2016-03-17 17:01:26 +00:00
James Allen
1bd8b8d1a3
Delete SecurityManager and replace with (unwritten) AuthorizationManager
2016-03-10 17:17:26 +00:00
Henry Oswald
940586f654
sped up unit tests to improve speed
...
also removed some unneeded requires.
2016-03-09 12:51:19 +00:00
Henry Oswald
a33b480c67
added more logging to subscription group handler
2016-03-09 11:20:17 +00:00
James Allen
a50bdaf5cc
Refactor LimitationsManager to use CollaboratorsHandler
2016-03-07 15:32:04 +00:00
Henry Oswald
43102e0ffc
lowercase and trim add user to group email address
2016-02-25 14:15:56 +00:00
Henry Oswald
b504732733
fixed calls to addUserToGroup and added more logging
2016-02-22 16:50:41 +00:00
Henry Oswald
103bb1c88f
add more error logging to group handler
2016-02-22 16:01:26 +00:00
Henry Oswald
85a8bc97ed
add leave group button for group subscriptions
2016-02-19 12:27:32 +00:00
Henry Oswald
29e4b324fd
improve calls for invite notifications and auto mark as read
2016-02-18 11:43:43 +00:00
Henry Oswald
f824a3e28a
kill off dead code in group handler
2016-02-18 11:42:26 +00:00
Henry Oswald
fc4bd94a6e
don't create notification if user is already part of group
2016-02-18 10:06:21 +00:00
Henry Oswald
c8084406d3
user notifications auto created on login for joinging groups
2016-02-17 16:24:09 +00:00
Henry Oswald
ef148da7aa
remove un needed require
2016-02-12 17:15:13 +00:00
Henry Oswald
5c5888b5dc
Merge branch 'pr/221'
2016-02-11 11:44:45 +00:00
Henry Oswald
de0589b051
added notifications calls for sending to api and mark as read
...
not creating it yet
2016-02-05 14:13:38 +00:00
Henry Oswald
47eebb1840
add null check and default empty object for subscirption dashboard
2016-02-03 17:41:05 +00:00
Henry Oswald
7994528c92
make site licence regex more specific
2016-02-03 16:08:29 +00:00
Henry Oswald
aafdeb031e
wip - downgrade options it all works, need unit tests & translations
2015-12-08 18:23:28 +00:00
Henry Oswald
ba58509a67
increased length rate limit is in effect for
2015-11-16 12:21:06 +00:00
James Allen
16b7bf222a
Merge branch 'contacts'
2015-11-05 10:14:25 +00:00
Henry Oswald
885915916a
check if user exists on recurly callback
2015-10-21 11:27:13 +01:00
Henry Oswald
2b8dd7248a
added subscription handler null check
2015-10-19 22:29:11 +01:00
James Allen
d996ed6e47
Refactor addUserToProject for better access by groups
2015-10-14 17:29:58 +01:00
Henry Oswald
fae7d431f4
after subscription is updated always check bonus
2015-10-05 16:33:13 +01:00
Henry Oswald
c12213b46b
added logging around load editor times
2015-07-22 10:38:28 +01:00
Henry Oswald
3ecf201eda
send -> sendStatus
2015-07-08 16:56:38 +01:00
Henry Oswald
1cc0cbe8fc
split site into 2 routers, webRouter and apiRouter
...
web router has things like sessions etc added onto it. Api router is minimal, doesn't include things like csrf
2015-07-01 15:23:18 +01:00
Henry Oswald
665bdcf538
v1 of express4 conversion
2015-07-01 15:17:43 +01:00
Henry Oswald
33aa5c732f
if a domain licence link has expired render a nice message explaining they need to retry
2015-06-01 12:43:42 +01:00
Henry Oswald
cb48242b74
changed email expire to 1 day for verifying account
2015-06-01 12:22:46 +01:00
Henry Oswald
d3f6c0c614
Merge branch 'user-csv' of git://github.com/heukirne/web-sharelatex into heukirne-user-csv
2015-05-29 12:17:54 +01:00
Henrique Dias
f50eb0398f
add export csv group feature
2015-05-28 16:54:41 -03:00
Henry Oswald
22b94e9246
renamed SubscriptionDomainAllocator -> SubscriptionDomainHandler
2015-05-27 20:57:54 +01:00
Henry Oswald
4773d6d22f
added tests around new endpoints for joining groups
2015-05-27 20:50:16 +01:00
Henry Oswald
f27c072ae1
pull logic checking if user is already part of a group out of controller into handler
2015-05-27 16:33:47 +01:00
Henry Oswald
72e528e9d1
if you are alread in the group show the custom group page
2015-05-27 15:50:28 +01:00
Henry Oswald
79fa49a43d
if a user is elelable to be part of a group subscription and they go to
...
/user/subscription it should redirect them to the group subscription invite
2015-05-27 15:35:31 +01:00
Henry Oswald
481bd67fbd
changed paths to use hyphens and add succesfull join page
2015-05-26 15:26:45 +01:00
Henry Oswald
841231dbf8
make PasswordResetTokenHandler generic so it can be used for invites
2015-05-26 15:24:09 +01:00
Henry Oswald
cad8d8a23b
v1 basic invite works, not pretty or tested
2015-05-22 13:57:15 +01:00
Henry Oswald
97f0fad525
add vat number option to payment form
2015-03-04 18:08:06 +00:00
Henry Oswald
80dc2f9224
send coupon code server side to be applied to users subscription
2015-03-04 17:50:24 +00:00
Henry Oswald
161f24ffdf
add flag which requires login for /learn
2015-02-24 22:07:36 +00:00
Henry Oswald
216c9cefe3
don't error on subscription dashboard page if there is no subscription.taxRate
2015-02-12 09:21:45 +00:00
James Allen
e4b77a2563
Merge branch 'dropbox-module'
2015-02-10 11:38:32 +00:00
Henry Oswald
7030d5f822
change plan shows price including tax
2015-02-06 16:19:52 +00:00
Henry Oswald
86f963a7ec
recurly tax updates
...
- get all accounts does get all of them by looping through all pages
- creating coupons requires which plan the coupon is for
- fixed the total price shown to people so it includes tax
2015-02-06 16:19:52 +00:00
James Allen
6c387edbe2
Remove Dropbox front end logic from main sharelatex repo
2015-02-05 18:20:34 +00:00
Henry Oswald
e4a54cbdfc
added recurly subscription null checks
...
this deals with a user who has an expired old subscription then
is added to a group subscription.
2015-02-04 20:17:55 +00:00
James Allen
860de1528f
Load default coupon code if provided in query string
2015-02-02 17:42:27 +00:00
Henry Oswald
ee83ed6e81
started using underscore.string to check domain emails
2015-02-02 11:15:04 +00:00
Henry Oswald
3360b3c35a
added basic domain allocation feature
2015-01-27 18:09:56 +00:00
Henry Oswald
00810eaf21
Merge branch 'recurlyv3'
2015-01-19 13:51:02 +00:00
Henry Oswald
7ec0264fe2
added missing currency symbols to subscription formatter
2015-01-07 16:51:05 +00:00
Henry Oswald
f9843b3709
tax auto updates on change of address now. Is also preset based on users ip address
2015-01-07 13:16:19 +00:00
Henry Oswald
aaaf28f916
added some helper methods into recurly wrapper which can be used by
...
our one time scripts
2015-01-07 12:02:07 +00:00
Henry Oswald
baa0a42825
coupon field is shown if query string scf is shown
2014-12-28 17:51:36 +00:00
Henry Oswald
a7eb836c79
redirect to /thank-you on success and fix broken unit test from a few commits ago
2014-12-22 16:37:09 +00:00
Henry Oswald
5305cbfd3e
got more correct details making it to recurly and improved form.
2014-12-19 11:17:35 +00:00
Henry Oswald
cc545db17b
can add account just about into recurly
2014-12-18 18:59:29 +00:00
Henry Oswald
6c0f03e9c7
added ab test to show collar plan to people in editor
2014-11-24 16:21:03 +00:00
Henry Oswald
b9dd2d826e
added null check on subscription for group plans
2014-11-04 10:53:03 +00:00
Henry Oswald
af769c7871
allow ip to set via query string for plans page
2014-10-15 11:58:35 +01:00
James Allen
b32375530c
Refactor card css for use in new subscription page
2014-10-14 15:46:44 +01:00
Henry Oswald
b2b13ef9a7
pass plan to payment page to get the number of collaborators
2014-10-14 12:14:24 +01:00
Henry Oswald
6437f74cd3
use req.ip not x-forwarded-for to get ip address for multi currency
2014-10-13 17:55:18 +01:00
Henry Oswald
5a0d74753f
plans page will auto redirect to best guess currency
2014-10-13 17:39:44 +01:00
Henry Oswald
2bf34bba4d
added currency to subscription view model
2014-10-13 16:14:13 +01:00
Henry Oswald
36264706f6
hooked the plans page up to the geo ip lookup
2014-10-13 14:10:15 +01:00
Henry Oswald
b90003b11e
added custom user dashboard page
2014-10-10 15:44:53 +01:00
Henry Oswald
3ba3a91043
if its a custom account redirect to /user/subscription/custom_account
2014-10-10 15:11:22 +01:00
Henry Oswald
e7984a90d7
unlink dropbox when a user cancels
2014-10-09 17:05:41 +01:00
Henry Oswald
9c98e95ca4
send cancelation email after 1 hour
2014-09-16 14:25:12 +01:00
Henry Oswald
6efda9cf1c
push currency default to seperate var
2014-09-11 11:45:00 +01:00
Henry Oswald
20f0c648e5
default to USD
2014-09-11 11:35:39 +01:00
Henry Oswald
93b4c5f4f8
thank you page displays the correct currency
2014-09-08 10:59:12 +01:00
Henry Oswald
aee0dda243
added currency to signiture
2014-09-08 10:36:30 +01:00
Henry Oswald
eeb27062a0
added currency query string param to subscribe button
2014-09-05 11:40:14 +01:00
Henry Oswald
e740e4913d
if user is already annual tell them so on the annual upgrade page
2014-08-29 14:13:05 +01:00
Henry Oswald
350b95a0a5
annual upgrade page works, needs a bit of copy love now
2014-08-28 18:14:31 +01:00