Commit graph

231 commits

Author SHA1 Message Date
Alberto Fernández Capel
7e09c0e0b1 First stab at email token invites (WIP) 2018-05-30 11:29:21 +01:00
James Allen
c5b553d4a6 Notify v1 by default 2018-05-29 17:31:15 +01:00
James Allen
301ae80f99 Allow refreshFeatures to notify v1 to update its features 2018-05-29 17:21:42 +01:00
Alberto Fernández Capel
b52fbdbfa4 Unit test SubscriptionGroupHandler.replaceUserReferencesInGroups 2018-05-29 15:37:04 +01:00
Alberto Fernández Capel
259d690f7c Add method to update user references 2018-05-29 12:00:22 +01:00
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
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