Alberto Fernández Capel
7e5ababe66
Ensure we can import both user and user stubs to teams
2018-06-27 12:09:58 +01:00
Alberto Fernández-Capel
d36dbfda07
Merge pull request #665 from sharelatex/afc-import-team-invites
...
Add method to import invites
2018-06-22 09:55:19 +01:00
Alasdair Smith
82a8e37071
Handle V1 connection refused when getting v1 subscription
2018-06-19 16:25:31 +01:00
Alberto Fernández Capel
81c102b501
Add method to import invites
2018-06-18 14:48:27 +01:00
James Allen
b00a79ff1c
Redirect to v1 plans page from v2
2018-06-12 13:52:47 +01:00
James Allen
a417dc8ff4
v1Subscription -> v1Subscriptions
2018-06-12 13:52:47 +01:00
James Allen
034e50760e
Add flag that can disable plans page
2018-06-12 13:52:47 +01:00
James Allen
ce60e6941c
Check with v1 before allowing a new subscription
2018-06-12 13:52:47 +01:00
James Allen
9d84263463
Fetch subscription details from v1 and display to user
2018-06-12 13:52:46 +01:00
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