Tim Alby
5fbe5c5537
remove UserLocator
...
Use UserGetter instead
2018-05-28 14:11:13 +02:00
Tim Alby
bbaca91e57
add UserGetter#getUserByMainEmail
...
Use only that method to find users by email.
2018-05-28 14:11:09 +02:00
James Allen
50bd60dd51
Split FeaturesUpdater out of SubscriptionUpdater
2018-05-22 10:05:08 +01:00
James Allen
0830c473ad
Update unit tests and refactor to make more testable
2018-05-22 10:05:08 +01:00
James Allen
4deaf7865d
Guard against no apis.v1 setting
2018-05-22 10:05:08 +01:00
James Allen
b1f378208d
Properly merge subscriptions from different places
2018-05-22 10:05:08 +01:00
Hayden Faulds
304a6bc332
use ProjectGetter rather than Project directly
2018-02-16 08:55:09 +00:00
Alberto Fernández Capel
a81b56556f
Add test for SubscriptionViewModelBuilder
2018-01-09 17:00:56 +00:00
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