Commit graph

288 commits

Author SHA1 Message Date
Alberto Fernández Capel
0bf807fa9f Remove SubscriptionLocator.getManagedSubscription
It was used as a kind of access control check, but it's clearer
if the check is in the only controller that actually needs it.
2018-07-13 11:47:26 +01:00
Alberto Fernández Capel
46a1cdc510 Use the admin_ids array to query for subscriptions 2018-07-13 09:38:58 +01:00
Alberto Fernández Capel
abcfa0b0d2 Store manager ids in an array 2018-07-12 16:35:27 +01:00
Alberto Fernández Capel
40c1f67561 Check that the subscription is a group before exporting it to csv
I removed this check by mistake, just taking it back.
2018-07-11 12:10:43 +01:00
Alberto Fernández Capel
4e8185d369 Use the id in methods that modify a subscription
This will make it easier to allow a user to manage multiple
groups.
2018-07-11 09:56:36 +01:00
Tim Alby
791dc0df5b check institution features on features update 2018-07-10 17:53:37 +02:00
James Allen
cb449f4b75 Delete a subscription on expiry, rather than set personal plan code 2018-07-10 10:31:25 +01:00
Alberto Fernández Capel
193579070c Ensure features are updated for users but not for stubs 2018-06-28 13:25:04 +01:00
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