urls: Move URLs that don't belong on self-hosted servers to corporate URLs.

Use absolute URLs for these links in files which will be served
to self-hosted servers.
This commit is contained in:
Aman Agrawal 2022-08-16 07:39:36 +00:00 committed by Tim Abbott
parent f1a1868de8
commit e54ded49c4
9 changed files with 97 additions and 92 deletions

View File

@ -2,7 +2,7 @@ from typing import Any
from django.conf.urls import include from django.conf.urls import include
from django.urls import path from django.urls import path
from django.views.generic import TemplateView from django.views.generic import RedirectView, TemplateView
from corporate.views.billing_page import billing_home, update_plan from corporate.views.billing_page import billing_home, update_plan
from corporate.views.event_status import event_status, event_status_page from corporate.views.event_status import event_status, event_status_page
@ -14,6 +14,14 @@ from corporate.views.support import support_request
from corporate.views.upgrade import initial_upgrade, sponsorship, upgrade from corporate.views.upgrade import initial_upgrade, sponsorship, upgrade
from corporate.views.webhook import stripe_webhook from corporate.views.webhook import stripe_webhook
from zerver.lib.rest import rest_path from zerver.lib.rest import rest_path
from zerver.views.portico import (
app_download_link_redirect,
apps_view,
hello_view,
landing_view,
plans_view,
team_view,
)
i18n_urlpatterns: Any = [ i18n_urlpatterns: Any = [
# Zephyr/MIT # Zephyr/MIT
@ -40,6 +48,66 @@ v1_api_and_json_patterns = [
rest_path("billing/event/status", GET=event_status), rest_path("billing/event/status", GET=event_status),
] ]
landing_page_urls = [
# Landing page, features pages, signup form, etc.
path("hello/", hello_view),
path("new-user/", RedirectView.as_view(url="/hello", permanent=True)),
path("features/", landing_view, {"template_name": "zerver/features.html"}),
path("plans/", plans_view, name="plans"),
path("apps/", apps_view),
path("apps/download/<platform>", app_download_link_redirect),
path("apps/<platform>", apps_view),
path(
"developer-community/", RedirectView.as_view(url="/development-community/", permanent=True)
),
path(
"development-community/",
landing_view,
{"template_name": "zerver/development-community.html"},
),
path("attribution/", landing_view, {"template_name": "zerver/attribution.html"}),
path("team/", team_view),
path("history/", landing_view, {"template_name": "zerver/history.html"}),
path("why-zulip/", landing_view, {"template_name": "zerver/why-zulip.html"}),
path("self-hosting/", landing_view, {"template_name": "zerver/self-hosting.html"}),
path("security/", landing_view, {"template_name": "zerver/security.html"}),
# /for pages
path("use-cases/", landing_view, {"template_name": "zerver/use-cases.html"}),
path("for/education/", landing_view, {"template_name": "zerver/for-education.html"}),
path("for/events/", landing_view, {"template_name": "zerver/for-events.html"}),
path("for/open-source/", landing_view, {"template_name": "zerver/for-open-source.html"}),
path("for/research/", landing_view, {"template_name": "zerver/for-research.html"}),
path("for/business/", landing_view, {"template_name": "zerver/for-business.html"}),
path("for/companies/", RedirectView.as_view(url="/for/business/", permanent=True)),
path(
"for/communities/",
landing_view,
{"template_name": "zerver/for-communities.html"},
),
# We merged this into /for/communities.
path(
"for/working-groups-and-communities/",
RedirectView.as_view(url="/for/communities/", permanent=True),
),
# case-studies
path("case-studies/idrift/", landing_view, {"template_name": "zerver/idrift-case-study.html"}),
path("case-studies/tum/", landing_view, {"template_name": "zerver/tum-case-study.html"}),
path("case-studies/ucsd/", landing_view, {"template_name": "zerver/ucsd-case-study.html"}),
path("case-studies/rust/", landing_view, {"template_name": "zerver/rust-case-study.html"}),
path("case-studies/lean/", landing_view, {"template_name": "zerver/lean-case-study.html"}),
path(
"case-studies/asciidoctor/",
landing_view,
{"template_name": "zerver/asciidoctor-case-study.html"},
),
path(
"case-studies/recurse-center/",
landing_view,
{"template_name": "zerver/recurse-center-case-study.html"},
),
]
i18n_urlpatterns += landing_page_urls
# Make a copy of i18n_urlpatterns so that they appear without prefix for English # Make a copy of i18n_urlpatterns so that they appear without prefix for English
urlpatterns = list(i18n_urlpatterns) urlpatterns = list(i18n_urlpatterns)

View File

@ -1,6 +1,6 @@
* Zulip is [100% open-source software][zulip-github], with no "open core" catch. * Zulip is [100% open-source software][zulip-github], with no "open core" catch.
When you self-host Zulip, you get the same software as [Zulip Cloud When you self-host Zulip, you get the same software as [Zulip Cloud
Standard](/plans/) customers. Standard](https://zulip.com/plans/) customers.
* Retain full control over your data and simplify compliance by self-hosting * Retain full control over your data and simplify compliance by self-hosting
Zulip behind your firewall. Zulip behind your firewall.

View File

@ -2,5 +2,5 @@
overhead. [Sign up](/new/) with just a few clicks. overhead. [Sign up](/new/) with just a few clicks.
* Always updated to the latest version of Zulip. * Always updated to the latest version of Zulip.
* Anyone can [start with Zulip Cloud Free](/new/). [Free or heavily * Anyone can [start with Zulip Cloud Free](/new/). [Free or heavily
discounted Zulip Cloud Standard](/plans/) pricing is available for discounted Zulip Cloud Standard](https://zulip.com/plans/) pricing is available for
most non-business uses. most non-business uses.

View File

@ -1,6 +1,6 @@
You can start by reading about how [Zulips](/hello/) unique You can start by reading about how [Zulips](/hello/) unique
topic-based threading [combines the best of email and topic-based threading [combines the best of email and
chat](/why-zulip/) to make [remote work](/for/business/) productive chat](/why-zulip/) to make [remote work](https://zulip.com/for/business/) productive
and delightful. and delightful.
We also highly recommend trying Zulip for yourself! You can: We also highly recommend trying Zulip for yourself! You can:

View File

@ -1,7 +1,7 @@
# Setting up Zulip for a class # Setting up Zulip for a class
Welcome to Zulip! This page will guide you through setting everything Welcome to Zulip! This page will guide you through setting everything
up for [teaching with Zulip](/for/education/). If you are using Zulip up for [teaching with Zulip](https://zulip.com/for/education/). If you are using Zulip
for a different purpose, we recommend checking out the [Setting up for a different purpose, we recommend checking out the [Setting up
your organization][setting-up] guide instead. your organization][setting-up] guide instead.
@ -18,7 +18,7 @@ us know!
## Trying out Zulip ## Trying out Zulip
You can start by reading about [Zulip for Education](/for/education/), You can start by reading about [Zulip for Education](https://zulip.com/for/education/),
and how Zulip can become the communication hub for your class. Zulip and how Zulip can become the communication hub for your class. Zulip
is the only [modern team chat app](/features/) that is is the only [modern team chat app](/features/) that is
[ideal](/why-zulip/) for both live and asynchronous [ideal](/why-zulip/) for both live and asynchronous
@ -53,7 +53,7 @@ ensure you can always move from our hosting to yours (and back).
* Always updated to the latest version of Zulip. * Always updated to the latest version of Zulip.
* Anyone can [start with Zulip Cloud Free](/new/), which works well for a typical class. * Anyone can [start with Zulip Cloud Free](/new/), which works well for a typical class.
* For large classes and departments, we offer [special Zulip for * For large classes and departments, we offer [special Zulip for
Education pricing](/for/education/#feature-pricing), with the same Education pricing](https://zulip.com/for/education/#feature-pricing), with the same
features as Zulip Cloud Standard. You can always get started with features as Zulip Cloud Standard. You can always get started with
Zulip Cloud Free, and upgrade down the line if needed. Zulip Cloud Free, and upgrade down the line if needed.

View File

@ -1,7 +1,7 @@
# Using Zulip for a class # Using Zulip for a class
Welcome to Zulip! This pages offers some tips for [using Zulip for a Welcome to Zulip! This pages offers some tips for [using Zulip for a
class](/for/education). If this is your first time using Zulip, we class](https://zulip.com/for/education). If this is your first time using Zulip, we
recommend checking out [Getting started with recommend checking out [Getting started with
Zulip](/help/getting-started-with-zulip) to get oriented. Zulip](/help/getting-started-with-zulip) to get oriented.

View File

@ -1,7 +1,7 @@
# Zulip Cloud billing # Zulip Cloud billing
This page answers some frequently asked questions about [Zulip Cloud plans and This page answers some frequently asked questions about [Zulip Cloud plans and
pricing](/plans). If you have any other questions, please don't hesitate to pricing](https://zulip.com/plans). If you have any other questions, please don't hesitate to
reach out at sales@zulip.com. reach out at sales@zulip.com.
## Differences between Zulip Cloud plans ## Differences between Zulip Cloud plans

View File

@ -20,19 +20,19 @@
<div class="dropdown-label first">Product<i class="fa fa-chevron-down"></i></div> <div class="dropdown-label first">Product<i class="fa fa-chevron-down"></i></div>
<ul class="dropdown-list product-options"> <ul class="dropdown-list product-options">
<li> <li>
<a href="/hello">Home</a> <a href="https://zulip.com">Home</a>
</li> </li>
<li> <li>
<a href="/why-zulip">Why Zulip</a> <a href="https://zulip.com/why-zulip">Why Zulip</a>
</li> </li>
<li> <li>
<a href="/features/">Features</a> <a href="https://zulip.com/features/">Features</a>
</li> </li>
<li> <li>
<a href="/self-hosting/">Self-hosting</a> <a href="https://zulip.com/self-hosting/">Self-hosting</a>
</li> </li>
<li> <li>
<a href="/security/">Security</a> <a href="https://zulip.com/security/">Security</a>
</li> </li>
<li> <li>
<a href="/integrations/">Integrations</a> <a href="/integrations/">Integrations</a>
@ -48,52 +48,52 @@
<div class="dropdown-column"> <div class="dropdown-column">
<li class="nav-header">Use cases</li> <li class="nav-header">Use cases</li>
<li> <li>
<a href="/for/business/">Business</a> <a href="https://zulip.com/for/business/">Business</a>
</li> </li>
<li> <li>
<a href="/for/education/">Education</a> <a href="https://zulip.com/for/education/">Education</a>
</li> </li>
<li> <li>
<a href="/for/research/">Research</a> <a href="https://zulip.com/for/research/">Research</a>
</li> </li>
<li> <li>
<a href="/for/events/">Events and conferences</a> <a href="https://zulip.com/for/events/">Events and conferences</a>
</li> </li>
<li> <li>
<a href="/for/open-source/">Open source projects</a> <a href="https://zulip.com/for/open-source/">Open source projects</a>
</li> </li>
<li> <li>
<a href="/for/communities/">Communities</a> <a href="https://zulip.com/for/communities/">Communities</a>
</li> </li>
</div> </div>
<div class="dropdown-column"> <div class="dropdown-column">
<li class="nav-header">Customer stories</li> <li class="nav-header">Customer stories</li>
<li> <li>
<a href="/case-studies/idrift/">iDrift AS company</a> <a href="https://zulip.com/case-studies/idrift/">iDrift AS company</a>
</li> </li>
<li> <li>
<a href="/case-studies/tum/">Technical University of Munich</a> <a href="https://zulip.com/case-studies/tum/">Technical University of Munich</a>
</li> </li>
<li> <li>
<a href="/case-studies/ucsd/">University of California San Diego</a> <a href="https://zulip.com/case-studies/ucsd/">University of California San Diego</a>
</li> </li>
<li> <li>
<a href="/case-studies/lean/">Lean theorem prover community</a> <a href="https://zulip.com/case-studies/lean/">Lean theorem prover community</a>
</li> </li>
<li> <li>
<a href="/case-studies/asciidoctor/">Asciidoctor open-source community</a> <a href="https://zulip.com/case-studies/asciidoctor/">Asciidoctor open-source community</a>
</li> </li>
<li> <li>
<a href="/case-studies/rust/">Rust language community</a> <a href="https://zulip.com/case-studies/rust/">Rust language community</a>
</li> </li>
<li> <li>
<a href="/case-studies/recurse-center/">Recurse Center</a> <a href="https://zulip.com/case-studies/recurse-center/">Recurse Center</a>
</li> </li>
</div> </div>
</ul> </ul>
</div> </div>
<li data-on-page="plans"> <li data-on-page="plans">
<a href="/plans/">Pricing</a> <a href="https://zulip.com/plans/">Pricing</a>
</li> </li>
<div class="dropdown nav-dropdown"> <div class="dropdown nav-dropdown">
<div class="dropdown-label">Resources<i class="fa fa-chevron-down"></i></div> <div class="dropdown-label">Resources<i class="fa fa-chevron-down"></i></div>
@ -107,7 +107,7 @@
<a href="/help">Help center</a> <a href="/help">Help center</a>
</li> </li>
<li> <li>
<a href="/development-community/" target=”_blank”> <a href="https://zulip.com/development-community/" target=”_blank”>
Community chat Community chat
</a> </a>
</li> </li>

View File

@ -77,14 +77,6 @@ from zerver.views.message_flags import (
) )
from zerver.views.message_send import render_message_backend, send_message_backend, zcommand_backend from zerver.views.message_send import render_message_backend, send_message_backend, zcommand_backend
from zerver.views.muting import mute_user, unmute_user, update_muted_topic from zerver.views.muting import mute_user, unmute_user, update_muted_topic
from zerver.views.portico import (
app_download_link_redirect,
apps_view,
hello_view,
landing_view,
plans_view,
team_view,
)
from zerver.views.presence import ( from zerver.views.presence import (
get_presence_backend, get_presence_backend,
get_statuses_for_realm, get_statuses_for_realm,
@ -621,61 +613,6 @@ i18n_urls = [
path("integrations/doc-html/<integration_name>", integration_doc), path("integrations/doc-html/<integration_name>", integration_doc),
path("integrations/", integrations_view), path("integrations/", integrations_view),
path("integrations/<path:path>", integrations_view), path("integrations/<path:path>", integrations_view),
# Landing page, features pages, signup form, etc.
path("hello/", hello_view),
path("new-user/", RedirectView.as_view(url="/hello", permanent=True)),
path("features/", landing_view, {"template_name": "zerver/features.html"}),
path("plans/", plans_view, name="plans"),
path("apps/", apps_view),
path("apps/download/<platform>", app_download_link_redirect),
path("apps/<platform>", apps_view),
path(
"development-community/",
landing_view,
{"template_name": "zerver/development-community.html"},
),
# Renamed to have a cleared URL.
path(
"developer-community/", RedirectView.as_view(url="/development-community/", permanent=True)
),
path("attribution/", landing_view, {"template_name": "zerver/attribution.html"}),
path("team/", team_view),
path("history/", landing_view, {"template_name": "zerver/history.html"}),
path("why-zulip/", landing_view, {"template_name": "zerver/why-zulip.html"}),
path("for/education/", landing_view, {"template_name": "zerver/for-education.html"}),
path("for/events/", landing_view, {"template_name": "zerver/for-events.html"}),
path("for/open-source/", landing_view, {"template_name": "zerver/for-open-source.html"}),
path("for/research/", landing_view, {"template_name": "zerver/for-research.html"}),
path("for/business/", landing_view, {"template_name": "zerver/for-business.html"}),
path("for/companies/", RedirectView.as_view(url="/for/business/", permanent=True)),
path("case-studies/idrift/", landing_view, {"template_name": "zerver/idrift-case-study.html"}),
path("case-studies/tum/", landing_view, {"template_name": "zerver/tum-case-study.html"}),
path("case-studies/ucsd/", landing_view, {"template_name": "zerver/ucsd-case-study.html"}),
path("case-studies/rust/", landing_view, {"template_name": "zerver/rust-case-study.html"}),
path("case-studies/lean/", landing_view, {"template_name": "zerver/lean-case-study.html"}),
path(
"case-studies/asciidoctor/",
landing_view,
{"template_name": "zerver/asciidoctor-case-study.html"},
),
path(
"case-studies/recurse-center/",
landing_view,
{"template_name": "zerver/recurse-center-case-study.html"},
),
path(
"for/communities/",
landing_view,
{"template_name": "zerver/for-communities.html"},
),
# We merged this into /for/communities.
path(
"for/working-groups-and-communities/",
RedirectView.as_view(url="/for/communities/", permanent=True),
),
path("use-cases/", landing_view, {"template_name": "zerver/use-cases.html"}),
path("self-hosting/", landing_view, {"template_name": "zerver/self-hosting.html"}),
path("security/", landing_view, {"template_name": "zerver/security.html"}),
] ]
# Make a copy of i18n_urls so that they appear without prefix for english # Make a copy of i18n_urls so that they appear without prefix for english