Commit graph

176 commits

Author SHA1 Message Date
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