Commit graph

271 commits

Author SHA1 Message Date
James Allen
f7532e5854 Merge pull request #619 from sharelatex/afc-email-tokens
Use emails with tokens for team invites
2018-06-12 08:30:23 +01:00
James Allen
dbd6ea30e9 Improve robustness of email validation 2018-06-11 15:22:42 +01:00
James Allen
155102df64 Use Error classes, and ensure invited_emails is cleared on new invite 2018-06-11 14:20:35 +01:00
James Allen
b716f59442 Remove deprecated removeEmailInviteFromGroup 2018-06-11 14:19:47 +01:00
Tim Alby
5438a565b9 use multiple emails when relevant 2018-06-08 17:53:45 +02:00
Jessica Lawshe
d57660aeb5 Merge pull request #632 from sharelatex/jel-plans-pricing-fix
Plans and Pricing fixes
2018-06-08 07:17:28 -05:00
Alberto Fernández Capel
59688efb56 Merge remote-tracking branch 'origin/master' into afc-email-tokens 2018-06-08 12:21:17 +01:00
Alberto Fernández Capel
57775e60b1 Merge remote-tracking branch 'origin/master' into afc-update-user-references 2018-06-08 11:28:58 +01:00
Alberto Fernández Capel
5159f6f33d Check the subscription is in a group plan before adding new members 2018-06-08 09:58:51 +01:00
Timothée Alby
7cdcd725fd Revert "Use Multiple Emails" 2018-06-07 18:44:59 +02:00
Alberto Fernández Capel
85f4a31585 Proper coffee syntax 2018-06-07 16:49:17 +01:00
Jessica Lawshe
484ee9ad61 Should not AB test when signed up before 2018-06-06 2018-06-07 10:30:21 -05:00
Alberto Fernández Capel
a3bb99d755 Honour invited_emails for the team being
We'll remove them soon, but we want to keep them for a while so
recent invites can join their teams.
2018-06-07 16:22:38 +01:00
Alberto Fernández Capel
670f24ef6f Simplify method name 2018-06-07 16:12:02 +01:00
Alberto Fernández Capel
30b935befd Prevent double rendering error 2018-06-07 16:12:02 +01:00
Alberto Fernández Capel
d1b1e6c299 Do not include the Licence ending in domain invites
So the message reads like "University of Notre Dame has invited
you to join a team on Overleaf" instead of ""University of Notre
Dame licence..."
2018-06-07 16:12:02 +01:00
Alberto Fernández Capel
5e70825c94 Rename view variable to invite
Makes the meaning more explicit
2018-06-07 16:12:02 +01:00
Timothée Alby
f422b7242d Merge pull request #603 from sharelatex/ta-use-multi-emails
Use Multiple Emails
2018-06-07 15:40:43 +02:00
James Allen
c2ef93b212 Merge pull request #610 from sharelatex/ja-sync-from-v2
Tell v1 when refreshing features in v2
2018-06-07 13:30:34 +01:00
Alberto Fernández Capel
959db80177 Check all emails to prevent invite duplicates 2018-06-07 12:49:46 +01:00
Alberto Fernández Capel
1fc047d08e Fix invitation resend 2018-06-06 17:11:25 +01:00
Alberto Fernández Capel
553878064b Resend email if the user has already been invited 2018-06-06 15:36:53 +01:00
Alberto Fernández Capel
16cb5e0d35 Propagate the error further up the stack
Useful for error reporting and metrics.
2018-06-06 15:36:53 +01:00
Alberto Fernández Capel
e753ef3af5 Invite users in the invited_emails array
We'll remove that attribute soon, but for the time being we want
users to still be able to join the team.
2018-06-06 15:36:53 +01:00
Tim Alby
813289f5de use multiple emails when relevant 2018-06-06 11:45:01 +02:00
Alberto Fernández Capel
6fb6119ca8 Merge remote-tracking branch 'origin' into afc-email-tokens 2018-06-05 15:42:17 +01:00
Jessica Lawshe
10cf5825a5 Add plans variant
Also, fix for multiple quotes. Without a closing quote subsequent quotes are considered nested, and
will use a ‘ instead of “

Also, move repeated elements to partials
2018-06-04 14:42:26 -05:00
Alberto Fernández Capel
58c4e72b2a Update references to UserLocator
UserLocator was refactored in another branch: UserLocator -> UserGetter
2018-06-01 16:53:16 +01:00
Alberto Fernández Capel
25d7196570 Merge remote-tracking branch 'origin/master' into afc-email-tokens 2018-06-01 16:49:47 +01:00
Alberto Fernández Capel
b0b2546e43 Remove dead code 2018-06-01 16:45:36 +01:00
Alberto Fernández Capel
7fcdf68296 Remove dead code 2018-06-01 16:05:44 +01:00
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