Tim Abbott
f78db57c6b
corporate: Remove temporary billing scaffolding.
2023-12-10 16:46:39 -08:00
Mateusz Mandera
a0ea14bdb1
remote_billing: Fold the separate .ts files into remote_billing_auth.ts.
...
The separation of files no longer makes any sense, with some of these
forms being used by the RemoteRealm and legacy server flows together.
And in general we don't need to scatter this stuff across files.
Also, the unifying of the class of loader on the buttons, fixes a visual
bug on the final "Confirm login" page where you would see it spinning
for half a second upon loading the page, until the .hide() code
triggered.
2023-12-10 16:15:28 -08:00
Mateusz Mandera
1e6d9d28f8
remote_billing: Fix up templates and HTML names in them.
...
These pages are generally used by both remoterealm and legacy server
flows, so should have general names.
2023-12-10 16:15:28 -08:00
Mateusz Mandera
423aebf98e
remote_billing: Implement confirmation flow for RemoteRealm auth.
...
The way the flow goes now is this:
1. The user initiaties login via "Billing" in the gear menu.
2. That takes them to `/self-hosted-billing/` (possibly with a
`next_page` param if we use that for some gear menu options).
3. The server queries the bouncer to give the user a link with a signed
access token.
4. The user is redirected to that link (on `selfhosting.zulipchat.com`).
Now we have two cases, either the user is logging in for the first time
and already did in the past.
If this is the first time, we have:
5. The user is asked to fill in their email in a form that's shown,
pre-filled with the value provided inside the signed access token.
They POST this to the next endpoint.
6. The next endpoint sends a confirmation email to that address and asks
the user to go check their email.
7. The user clicks the link in their email is taken to the
from_confirmation endpoint.
8. Their initial RemoteBillingUser is created, a new signed link like in
(3) is generated and they're transparently taken back to (4),
where now that they have a RemoteBillingUser, they're handled
just like a user who already logged in before:
If the user already logged in before, they go straight here:
9. "Confirm login" page - they're shown their information (email and
full_name), can update
their full name in the form if they want. They also accept ToS here
if necessary. They POST this form back to
the endpoint and finally have a logged in session.
10. They're redirected to billing (or `next_page`) now that they have
access.
2023-12-10 16:15:28 -08:00
Aman Agrawal
e44f3d448d
stripe: Use `next_plan` instead of `new_plan` for legacy upgrades.
2023-12-09 12:50:05 -08:00
Aman Agrawal
dca7e654ca
billing: Enforce min license for plan on upgrade and billing page.
2023-12-09 12:50:05 -08:00
Mateusz Mandera
abdfdeffe4
remote_billing: Implement confirmation flow for legacy servers.
...
For the last form (with Full Name and ToS consent field), this pretty
shamelessly re-uses and directly renders the
corporate/remote_realm_billing_finalize_login_confirmation.html
template. That's probably good in terms of re-use, but calls for a
clean-up commit that will generalize the name of this template and the
classes/ids in the HTML.
2023-12-08 23:49:10 -08:00
Aman Agrawal
12dec4234e
billing: Minor adjustments across the billing system.
...
* Reformat "This is a legacy plan" notice on billing page.
* Add a link to the plan name on upgrade page title.
* Tweak discount style on billing page.
* Add line break to server login page title.
* Match server login page title and tab title.
2023-12-08 11:24:15 -08:00
Aman Agrawal
76d9aff5a6
sponsorship: Allow remote orgs to request a plan type.
...
Sponsorship and billing pages modified to reflect the correctly
requested sponsorship plan name.
Add a line break before "Contact Zulip support".
2023-12-08 11:24:15 -08:00
Aman Agrawal
134a05ff5e
billing: Hide license management fields for free trial states.
...
* For free trial, don't show number of licenses for current billing period.
* For free trial scheduled to downgrade, don't show number of
licenses for next billing period.
2023-12-08 09:21:18 -08:00
Karl Stolley
8d76231dda
portico: Hide Cloud-plan buttons for self-hosters.
2023-12-07 19:19:21 -08:00
Karl Stolley
60a4300db9
portico: Set standalone 'Choose a plan' header for self-hosters.
2023-12-07 19:19:21 -08:00
Karl Stolley
e1fab4a55a
portico: Hide header/footer on self-hosted /plans.
2023-12-07 19:19:21 -08:00
Aman Agrawal
2165486c88
upgrade: Allow showing downgrade success message for legacy server.
2023-12-07 13:55:39 -08:00
Aman Agrawal
825986ac3a
billing: Allow legacy servers to cancel upgrade.
2023-12-07 13:55:39 -08:00
Aman Agrawal
00b7424d11
legacy_server_login: Restyle page.
2023-12-07 13:55:39 -08:00
Aman Agrawal
21e64887f1
plans: Add current plan icon to cloud free current plan.
2023-12-07 13:55:39 -08:00
Aman Agrawal
1987894a2d
billing: Remove `min` input validation for license input.
...
Fixes #28040
2023-12-07 08:34:39 -08:00
Aman Agrawal
7cad1f80be
sponsorship: Set page title based on sponsorship status.
...
Fixes #27999
2023-12-07 08:34:39 -08:00
Aman Agrawal
a15499fb98
upgrade: Fix upgrade links.
2023-12-06 12:04:10 -08:00
Aman Agrawal
34730203b3
plans: Show special text for legacy orgs scheduled for upgrade.
2023-12-05 23:44:29 -08:00
Aman Agrawal
8d9a7679bc
plans: Show buttons as per current context.
...
Also show correct tab based on remote / cloud user.
2023-12-05 23:44:29 -08:00
Aman Agrawal
49908ba166
sponsorship: Populate sponsorship page with correct context.
...
Fixes sponsorship page to work for remote realm and server.
2023-12-05 23:44:29 -08:00
Mateusz Mandera
250b52e3dc
remote_billing: Add a "confirm login" page in RemoteRealm auth flow.
2023-12-05 11:34:57 -08:00
Karl Stolley
acbe843b09
portico: Update pricing buttons on business, self-hosting.
...
This also defaults to the Zulip Cloud plans tab on the business
page.
2023-12-05 11:09:41 -08:00
Karl Stolley
2ea37a54a6
portico: Update plans tab on other pages.
...
This adds the new tabs from /plans to:
* /for/business
* /self-hosting
And it isolates legacy styles to preserve the tabs on
/for/education
Fixes : #28013
2023-12-05 11:09:41 -08:00
Aman Agrawal
1a063986e3
billing: Render page for legacy server scheduled for upgrade.
2023-12-04 12:36:24 -08:00
Aman Agrawal
f22ccd3125
stripe: Render upgrade page for remote servers on legacy plan.
2023-12-04 12:36:24 -08:00
Aman Agrawal
895d76f6f0
hello: Add getapp badge on landing page.
2023-12-03 20:43:07 -08:00
Aman Agrawal
a59245e932
billing: Make various buttons on billing page work.
...
We pass billing_base_url to the template and use it to construct
session specific URLs. Also, add corresponding function on server
to support them.
2023-12-03 15:15:04 -08:00
Aman Agrawal
f942bbd70f
stripe: Show tier information correctly on billing and upgrade page.
2023-12-03 15:15:04 -08:00
Mateusz Mandera
44ac99b8fc
remote_billing: Redirect via next_page param in legacy server flow.
...
Analogical to 1df8e00d7c
which implemented
this for the RemoteRealm auth flow.
Except here we don't need to add next_page to the IdentityDict
(LegacyServerIdentityDict in this flow), because the redirect happens
immediately at remote_billing_legacy_server_login upon login - so no
need to have a structure to carry the info through intermediate steps.
2023-12-03 10:39:56 -08:00
Karl Stolley
871054bd1e
plans_page: Allow different max-widths on cloud, self-hosted panes.
2023-12-01 15:12:31 -08:00
Karl Stolley
5eb86f3fbb
plans_page: Add responsive non-JS plan-pane scrolling.
2023-12-01 15:12:31 -08:00
Karl Stolley
5bfe45b244
plans_page: Implement button styles and icons.
2023-12-01 15:12:31 -08:00
Karl Stolley
8529d86fc6
plans_page: Place custom bullets with flexbox.
2023-12-01 15:12:31 -08:00
Alya Abbott
6f796e0cbd
plans_page: Adjust /plans content.
...
[squash]: Update sponsorsip and question boxes for Cloud.
[squash]: Update tabs subtitles.
[squash]: Content for info boxes for self-hosted plans.
[squash]: Adjust content to fit design.
portico: Tweak /plans text.
2023-12-01 15:12:31 -08:00
Karl Stolley
4f8cc13417
plans_page: Place text, background colors.
2023-12-01 15:12:31 -08:00
Karl Stolley
b0db397ec6
plans_page: Add independent additional info sections for cloud, self-hosted.
2023-12-01 15:12:31 -08:00
Karl Stolley
29a09ca793
plans_page: Add cloud Plus plan.
2023-12-01 15:12:31 -08:00
Karl Stolley
c9f33344e2
plans_page: Add JS toggle for showing cloud or self-hosted plans.
2023-12-01 15:12:31 -08:00
Karl Stolley
eb36256d7a
plans_page: Handle typesetting and vertical alignment.
2023-12-01 15:12:31 -08:00
Karl Stolley
52f8f56286
plans_page: Rough out structures and grid layout.
2023-12-01 15:12:31 -08:00
Karl Stolley
a6498ad666
plans_page: Simplify structures and present page header.
2023-12-01 15:12:31 -08:00
Karl Stolley
9e4cda6ecc
plans_page: Align content with Vlad's mock.
2023-12-01 15:12:31 -08:00
Karl Stolley
93aa5747d3
plans_page: Duplicate existing pricing for business page.
2023-12-01 15:12:31 -08:00
Aman Agrawal
5d49e54d33
upgrade: Show tier corresponding to session on upgrade page.
2023-12-01 08:55:58 -08:00
Aman Agrawal
9889dc38fe
event_status: Pass billing_base_url to calculate realm specific URLs.
2023-12-01 08:55:58 -08:00
Aman Agrawal
cd7893b1bf
sponsorship: Use `organization_type` as field name for simplification.
2023-11-29 19:04:32 -08:00
Mateusz Mandera
2765c63f56
remote_billing: Add flow for legacy servers.
2023-11-29 14:40:27 -08:00
Alya Abbott
fcd0783202
upgrade: Simplify free trial upgrade page.
2023-11-28 08:57:27 -08:00
Aman Agrawal
cc6ab527b4
upgrade: Match width of license count input with billing page input.
2023-11-27 14:17:18 -08:00
Alya Abbott
9788e7514f
billing: Edit text of free trial upgrade page.
2023-11-27 14:17:18 -08:00
Alya Abbott
585ed6c569
billing: Tweak text of free trial downgrade confirmation modal.
2023-11-27 14:17:18 -08:00
Aman Agrawal
fa699032ca
upgrade: Drop option to select billing frequency in free trail.
...
We set monthly as default for billing frequency and let users
change it on the billing page.
2023-11-27 14:17:18 -08:00
Aman Agrawal
b35a792623
billing: Allow free trial orgs to switch billing frequency.
...
Fixes #27855
2023-11-27 14:17:18 -08:00
Aman Agrawal
482b5d8871
upgrade: Minor text changes to free trial page.
...
Fixes #27684
2023-11-27 14:17:18 -08:00
Aman Agrawal
fe1a40279c
billing: Downgrade realm at the end of free trial.
...
Fixes #27875
Instead of immediately ending the free trial, we end the free trial
at the end of the cycle.
2023-11-27 14:17:18 -08:00
Aman Agrawal
9fe1e38f98
billing: Remove unused input field.
2023-11-26 20:24:25 -08:00
Aman Agrawal
79d1a1850c
billing: Remove card change success message.
...
This message is barely visible to the user so removed. Now, the
card change behaviour is same as on upgrade page.
2023-11-26 20:24:25 -08:00
Aman Agrawal
4844ef9810
upgrade: Pass customer_name instead of realm object to upgrade context.
...
This will help simplify things for remote realms.
2023-11-24 09:22:02 -08:00
Aman Agrawal
95f5d8bdb8
billing: Note applied discount on upgrade and billing pages.
...
Fixes #27526
2023-11-23 10:32:39 -08:00
Aman Agrawal
07d29126fd
sponsorship: Improve page for sponsorship pending orgs.
...
Fixes #27686
2023-11-23 10:32:39 -08:00
Aman Agrawal
003b29ba14
billing_page: Redirect orgs on paid plans with sponsorship pending.
...
Redirect sponsorship pending realms on a paid plan to billing page
with banner which reflects the current status of their request.
2023-11-23 10:32:39 -08:00
Aman Agrawal
5422dd3661
sponsorship: Improve sponsorship page for sponsored realms.
2023-11-23 10:32:39 -08:00
Mateusz Mandera
3958743b33
corporate: Add prototype authentication system for self-hosters.
...
This makes it possible for a self-hosted realm administrator to
directly access a logged-page on the push notifications bouncer
service, enabling billing, support contacts, and other administrator
for enterprise customers to be managed without manual setup.
2023-11-22 17:03:47 -08:00
Aman Agrawal
d82efbd503
free_trial: Remove extra onboarding flow.
...
We still redirect free trial users to upgrade page on first
signup but no longer pass the onboarding param.
2023-11-22 08:06:22 -08:00
Aman Agrawal
2218c49244
billing: Minor changes to text for free trial.
...
Fixes #27685
2023-11-22 08:06:22 -08:00
Aman Agrawal
de267b964c
event_status: Return user back to same license management after session.
...
If the update / add card session is successful, return user to
manual license management page if user was on it before clicking
the add / update card button.
2023-11-21 11:44:04 -08:00
Aman Agrawal
626768f626
upgrade: Remove dead error message block.
2023-11-21 10:42:12 -08:00
Aman Agrawal
2b68b300a1
upgrade: Add some recommendation for user on payment failure.
2023-11-21 10:42:12 -08:00
Aman Agrawal
69d8442ab4
billing: Allow user to switch between billing frequencies.
2023-11-21 10:42:12 -08:00
Aman Agrawal
6d80460425
billing: Convert some underline separated names to dashes.
2023-11-21 10:42:12 -08:00
Aman Agrawal
09009ab03a
upgrade: Separate add card and purchase upgrade flow.
...
We now let user add / update card in a separate session and then
charge users after clicking on the purchase button.
2023-11-20 12:04:56 -08:00
Aman Agrawal
a9e9f54962
upgrade: Show loading spinner after clicking on upgrade org button.
2023-11-20 12:04:56 -08:00
Aman Agrawal
637e9c11ee
billing: Show success text after plan change on top after reload.
2023-11-13 10:35:39 -08:00
Aman Agrawal
67bddb3d72
billing: Show success message for license change after page reload.
2023-11-13 10:35:39 -08:00
Aman Agrawal
c2e01f06a3
billing: Show message for users without access to page in a white box.
2023-11-13 10:35:39 -08:00
Aman Agrawal
2997c269e1
billing: Show breakdown of renewal amount if not fixed_price.
2023-11-13 10:35:39 -08:00
Aman Agrawal
17573cd1fb
billing: Don't show license update buttons until valid change in value.
2023-11-13 10:35:39 -08:00
Aman Agrawal
2a70143050
upgrade: Show user/month plurals based on their count.
2023-11-13 10:35:39 -08:00
Aman Agrawal
874d4a7026
upgrade: Improve styles for free trial upgrade.
2023-11-13 10:35:39 -08:00
Aman Agrawal
2ffae56efa
upgrade: Improve styles for onboarding free trial orgs.
2023-11-13 10:35:39 -08:00
Aman Agrawal
a04204e47d
billing: Style go to your org better.
2023-11-13 10:35:39 -08:00
Aman Agrawal
6158411ecb
upgrade: Move error fields under the purchase button.
2023-11-13 10:35:39 -08:00
Aman Agrawal
7d10b3dcf7
upgrade: Add required fields to upgrade a realm.
2023-11-13 10:35:39 -08:00
Aman Agrawal
09db89a0c8
upgrade: Remove extra wrapping elements.
2023-11-13 10:35:39 -08:00
Aman Agrawal
2f9a48cce7
upgrade: Show payment amount based on user input.
...
Write script to make payment amount vary with payment schedule
and number of licenses.
2023-11-13 10:35:39 -08:00
Aman Agrawal
dfe179bf0d
upgrade: Add input for num of licenses for manual management.
2023-11-13 10:35:39 -08:00
Aman Agrawal
f5ba6fe03c
upgrade: Fix HTML structure and styles.
2023-11-13 10:35:39 -08:00
Aman Agrawal
6cadf333fb
upgrade: Remove invoice payment instructions.
2023-11-13 10:35:39 -08:00
Aman Agrawal
f273229b01
upgrade: Add payment button and info style with fake text.
2023-11-13 10:35:39 -08:00
Aman Agrawal
4638f67e4e
upgrade: Use style similar to /billing page.
2023-11-13 10:35:39 -08:00
Aman Agrawal
d3363bab96
upgrade: Add a dropdown to select billing cycle.
2023-11-13 10:35:39 -08:00
Aman Agrawal
2570f7ce23
upgrade: Control automatic / manual license management via URL.
2023-11-13 10:35:39 -08:00
Aman Agrawal
682ef235b5
upgrade: Remove tab structure.
2023-11-13 10:35:39 -08:00
Aman Agrawal
395cafcf46
sponsorship: Add extra input fields to get more org info.
...
Fixes #27600
2023-11-13 08:52:13 -08:00
Aman Agrawal
df703f847c
billing: Fix free trial billing page end plan button not working.
2023-11-10 05:17:52 +05:30
Aman Agrawal
9a186ac8d5
billing_page: Redirect users on free plan to `/plans`.
...
Fixes #27379
2023-11-10 05:17:52 +05:30
Aman Agrawal
f85bd0234a
billing: Minor changes.
2023-11-10 05:17:52 +05:30