Commit graph

236 commits

Author SHA1 Message Date
Alberto Fernández Capel
d262de14d6 Use team invites to join domain licensed teams 2018-05-31 16:15:47 +01:00
Alberto Fernández Capel
39c8595c27 Split SubscriptionGroupInvites and rename to DomainSubscriptionJoin
To not cause confusion with team invites.
They are not really an invite because they are user initiated, but
more of a user choosing to join a team.
2018-05-31 14:25:47 +01:00
Alberto Fernández Capel
11edfde153 Accept & revoke team invites 2018-05-31 11:54:50 +01:00
Alberto Fernández Capel
9aa95cb0d5 Show team invites 2018-05-30 13:06:27 +01:00
James Allen
e0e88b25fe Make agrument checking more robust 2018-05-30 12:48:08 +01:00
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