Commit graph

290 commits

Author SHA1 Message Date
Alberto Fernández Capel
3bd18715db Add some tests 2018-06-01 15:37:09 +01:00
James Allen
cfbb5c8f24 Remove some dead code 2018-06-01 14:55:07 +01:00
Alberto Fernández Capel
385fec1914 Clean up code that uses invited_emails 2018-06-01 11:23:25 +01:00
Alberto Fernández Capel
1c485c1884 Improve error handling 2018-05-31 16:42:09 +01:00
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
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