enterprise => voyager

(imported from commit 04be792bb480d5e5db1c91d296d1000cf1682571)
This commit is contained in:
David Roe 2015-08-21 02:48:43 -07:00 committed by Tim Abbott
parent edf7e732a2
commit 3f7cb34b00
32 changed files with 42 additions and 57 deletions

View File

@ -31,7 +31,7 @@ def confirm(request, confirmation_key):
'key': confirmation_key, 'key': confirmation_key,
'full_name': request.GET.get("full_name", None), 'full_name': request.GET.get("full_name", None),
'support_email': settings.ZULIP_ADMINISTRATOR, 'support_email': settings.ZULIP_ADMINISTRATOR,
'enterprise': settings.VOYAGER 'voyager': settings.VOYAGER
} }
templates = [ templates = [
'confirmation/confirm.html', 'confirmation/confirm.html',

View File

@ -3,7 +3,7 @@ Directory structure
=================== ===================
.. attention:: .. attention::
``tools/build-enterprise-tarball`` needs a new name. (``build-server-tarball``?) does ``tools/build-voyager-tarball`` need a different name?
This page documents our directory structure and how to decide where to This page documents our directory structure and how to decide where to
put a file. put a file.
@ -89,7 +89,7 @@ Documentation
| ``docs/`` | Source for this documentation | | ``docs/`` | Source for this documentation |
+-------------+-----------------------------------------------+ +-------------+-----------------------------------------------+
You can consult the code for ``tools/build-enterprise-tarball`` to You can consult the code for ``tools/build-voyager-tarball`` to
check exactly which components are included in production -- check exactly which components are included in production --
since that is the tool that does the builds, it controls the since that is the tool that does the builds, it controls the
distribution. distribution.

View File

@ -145,7 +145,7 @@ def main():
# Management commands expect to be run from the root of the project. # Management commands expect to be run from the root of the project.
os.chdir(ZULIP_PATH) os.chdir(ZULIP_PATH)
os.system("generate_enterprise_secrets.py -d") os.system("generate_voyager_secrets.py -d")
sh.configure_rabbitmq(**LOUD) sh.configure_rabbitmq(**LOUD)
sh.postgres_init_db(**LOUD) sh.postgres_init_db(**LOUD)
sh.do_destroy_rebuild_database(**LOUD) sh.do_destroy_rebuild_database(**LOUD)

View File

@ -15,7 +15,7 @@ apt-get install -y puppet git
cp -a /root/zulip/puppet/zulip/files/puppet.conf /etc/puppet/ cp -a /root/zulip/puppet/zulip/files/puppet.conf /etc/puppet/
mkdir -p /etc/zulip mkdir -p /etc/zulip
echo -e "[machine]\npuppet_classes = zulip::enterprise\ndeploy_type = enterprise" > /etc/zulip/zulip.conf echo -e "[machine]\npuppet_classes = zulip::enterprise\ndeploy_type = voyager" > /etc/zulip/zulip.conf
/root/zulip/scripts/zulip-puppet-apply -f /root/zulip/scripts/zulip-puppet-apply -f
# These server restarting bits should be moveable into puppet-land, ideally # These server restarting bits should be moveable into puppet-land, ideally
@ -24,7 +24,7 @@ if [ -e "/etc/init.d/nginx" ]; then
service nginx restart service nginx restart
fi fi
/root/zulip/scripts/setup/generate_enterprise_secrets.py /root/zulip/scripts/setup/generate_voyager_secrets.py
mv /root/zulip/zproject/local_settings_template.py /etc/zulip/settings.py mv /root/zulip/zproject/local_settings_template.py /etc/zulip/settings.py
ln -nsf /etc/zulip/settings.py /root/zulip/zproject/local_settings.py ln -nsf /etc/zulip/settings.py /root/zulip/zproject/local_settings.py

View File

@ -13,6 +13,6 @@ python manage.py checkconfig
python manage.py migrate --noinput python manage.py migrate --noinput
python manage.py createcachetable third_party_api_results python manage.py createcachetable third_party_api_results
python manage.py initialize_enterprise_db python manage.py initialize_voyager_db
supervisorctl restart all supervisorctl restart all

View File

@ -11,8 +11,8 @@ var customer4_realms = [
]; ];
var is_customer4 = _.contains(customer4_realms, page_params.domain); var is_customer4 = _.contains(customer4_realms, page_params.domain);
// Enterprise-related flags // Voyager-related flags
exports.do_not_share_the_love = page_params.enterprise; exports.do_not_share_the_love = page_params.voyager;
// Manually-flipped debugging flags // Manually-flipped debugging flags
exports.log_send_times = false; exports.log_send_times = false;

View File

@ -10,7 +10,7 @@
<p class="lead">Whoops, something's not right. We couldn't find your confirmation ID!</p> <p class="lead">Whoops, something's not right. We couldn't find your confirmation ID!</p>
{% if enterprise %} {% if voyager %}
<p>Make sure you copied the link correctly in to your browser.</p> <p>Make sure you copied the link correctly in to your browser.</p>
<p>If you're still having problems, please contact your Zulip administrator at <a <p>If you're still having problems, please contact your Zulip administrator at <a

View File

@ -5,7 +5,7 @@ Hi there,
To get started, visit the link below: To get started, visit the link below:
<{{ activate_url }}> <{{ activate_url }}>
{% if enterprise %} {% if voyager %}
If you are having issues, please contact your Zulip administrator at <{{ support_email }}>. If you are having issues, please contact your Zulip administrator at <{{ support_email }}>.
{% else %} {% else %}
Feel free to give us a shout at <{{ support_email }}> if you have any questions. Feel free to give us a shout at <{{ support_email }}> if you have any questions.

View File

@ -5,7 +5,7 @@ Hi there,
To get started, visit the link below: To get started, visit the link below:
<{{ activate_url }}> <{{ activate_url }}>
{% if enterprise %} {% if voyager %}
If you are having issues, please contact your Zulip administrator at <{{ support_email }}>. If you are having issues, please contact your Zulip administrator at <{{ support_email }}>.
{% else %} {% else %}
Feel free to give us a shout at <{{ support_email }}> if you have any questions. Feel free to give us a shout at <{{ support_email }}> if you have any questions.

View File

@ -5,7 +5,7 @@ You recently signed up for Zulip. Awesome!
To complete signup, visit this link below: To complete signup, visit this link below:
<{{ activate_url }}> <{{ activate_url }}>
{% if enterprise %} {% if voyager %}
If you are having issues, please contact your Zulip administrator at <{{ support_email }}>. If you are having issues, please contact your Zulip administrator at <{{ support_email }}>.
{% else %} {% else %}
Feel free to give us a shout at <{{ support_email }}> if you have any questions. Feel free to give us a shout at <{{ support_email }}> if you have any questions.

View File

@ -8,7 +8,7 @@
<h3 class="apps-instructions-header">Installation instructions</h3> <h3 class="apps-instructions-header">Installation instructions</h3>
<ul class="nav nav-tabs" id="apps-tabs"> <ul class="nav nav-tabs" id="apps-tabs">
{% if not_enterprise %} {% if not_voyager %}
<li class="active"><a href="#android" data-toggle="tab">Android</a></li> <li class="active"><a href="#android" data-toggle="tab">Android</a></li>
<li><a href="#iphone" data-toggle="tab">iPhone</a></li> <li><a href="#iphone" data-toggle="tab">iPhone</a></li>
{% endif %} {% endif %}
@ -19,7 +19,7 @@
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
{% if not_enterprise %} {% if not_voyager %}
<div class="tab-pane active" id="android"> <div class="tab-pane active" id="android">
<img class="screenshot android-screenshot pull-left" src="/static/images/app-screenshots/zulip-android.png" alt="screenshot of the Zulip app on Android" /> <img class="screenshot android-screenshot pull-left" src="/static/images/app-screenshots/zulip-android.png" alt="screenshot of the Zulip app on Android" />
@ -54,7 +54,7 @@
emacs, or Photoshop.</p> emacs, or Photoshop.</p>
<p style="text-align: center"> <p style="text-align: center">
{% if not_enterprise %} {% if not_voyager %}
<a href="https://zulip.com/dist/apps/mac/Zulip-latest.dmg" class="btn btn-large btn-primary btn-app-download"><i class="icon-vector-download"></i> Download Zulip for Mac</a> <a href="https://zulip.com/dist/apps/mac/Zulip-latest.dmg" class="btn btn-large btn-primary btn-app-download"><i class="icon-vector-download"></i> Download Zulip for Mac</a>
{% else %} {% else %}
<a href="https://zulip.com/dist/apps/sso/mac/Zulip-latest.dmg" class="btn btn-large btn-primary btn-app-download"><i class="icon-vector-download"></i> Download Zulip for Mac</a> <a href="https://zulip.com/dist/apps/sso/mac/Zulip-latest.dmg" class="btn btn-large btn-primary btn-app-download"><i class="icon-vector-download"></i> Download Zulip for Mac</a>
@ -75,7 +75,7 @@
cat user-apt.asc | sudo apt-key add - cat user-apt.asc | sudo apt-key add -
sudo apt-add-repository http://apt.zulip.com/user/ sudo apt-add-repository http://apt.zulip.com/user/
sudo apt-get update sudo apt-get update
{% if not_enterprise %} {% if not_voyager %}
sudo apt-get install zulip-desktop sudo apt-get install zulip-desktop
{% else %} {% else %}
sudo apt-get install zulip-desktop-sso sudo apt-get install zulip-desktop-sso
@ -84,7 +84,7 @@ sudo apt-get install zulip-desktop-sso
<h3>Other</h3> <h3>Other</h3>
{% if not_enterprise %} {% if not_voyager %}
<p>We provide a <a href="https://zulip.com/dist/apps/linux/zulip-desktop_latest.bin.tar.gz">binary tarball</a> of the Zulip application, built for 64-bit systems. <p>We provide a <a href="https://zulip.com/dist/apps/linux/zulip-desktop_latest.bin.tar.gz">binary tarball</a> of the Zulip application, built for 64-bit systems.
</p> </p>
{% else %} {% else %}
@ -102,7 +102,7 @@ sudo apt-get install zulip-desktop-sso
Solitaire, obviously.)</p> Solitaire, obviously.)</p>
<p style="text-align: center"> <p style="text-align: center">
{% if not_enterprise %} {% if not_voyager %}
<a href="https://zulip.com/dist/apps/win/zulip-latest.exe" class="btn btn-large btn-primary btn-app-download"><i class="icon-vector-download"></i> Download Zulip for Windows</a> <a href="https://zulip.com/dist/apps/win/zulip-latest.exe" class="btn btn-large btn-primary btn-app-download"><i class="icon-vector-download"></i> Download Zulip for Windows</a>
{% else %} {% else %}
<a href="https://zulip.com/dist/apps/sso/win/zulip-latest.exe" class="btn btn-large btn-primary btn-app-download"><i class="icon-vector-download"></i> Download Zulip for Windows</a> <a href="https://zulip.com/dist/apps/sso/win/zulip-latest.exe" class="btn btn-large btn-primary btn-app-download"><i class="icon-vector-download"></i> Download Zulip for Windows</a>

View File

@ -20,7 +20,7 @@
<![endif]--> <![endif]-->
<link href="/static/favicon.ico?v=2" rel="shortcut icon"> <link href="/static/favicon.ico?v=2" rel="shortcut icon">
{% if not_enterprise %} {% if not_voyager %}
<script type="text/javascript">var dropboxAppKey = "{{ dropboxAppKey }}";</script> <script type="text/javascript">var dropboxAppKey = "{{ dropboxAppKey }}";</script>
{% endif %} {% endif %}

View File

@ -33,15 +33,11 @@
<li><b>Emoji</b>. Because <pre style="display:inline; color:#D14; padding:2px 4px; background-color:#f5f5f5; border-radius:4px; border:1px solid rgba(0,0,0,0.15); font-family:Monaco,Menlo,Consolas,'Courier New',monospace">:ramen:</pre> means <img src="https://{{ external_host }}/static/third/gemoji/images/emoji/ramen.png" style="max-height:20px; height:20px;" height="20px" />.</li> <li><b>Emoji</b>. Because <pre style="display:inline; color:#D14; padding:2px 4px; background-color:#f5f5f5; border-radius:4px; border:1px solid rgba(0,0,0,0.15); font-family:Monaco,Menlo,Consolas,'Courier New',monospace">:ramen:</pre> means <img src="https://{{ external_host }}/static/third/gemoji/images/emoji/ramen.png" style="max-height:20px; height:20px;" height="20px" />.</li>
</ol> </ol>
{% if not_enterprise %} {% if not_voyager %}
<p>Zulip has a team of engineers standing by to respond to your feedback, so please let us know what you think! Click the "Send feedback" button inside Zulip, or just reply to this email.</p> <p>Zulip has a team of engineers standing by to respond to your feedback, so please let us know what you think! Click the "Send feedback" button inside Zulip, or just reply to this email.</p>
{% endif %} {% endif %}
{% if not_enterprise %}
<p>- Waseem, for the Zulip team</p>
{% else %}
<p>Thanks,<br />Zulip</p> <p>Thanks,<br />Zulip</p>
{% endif %}
</td></tr> </td></tr>
</table> </table>

View File

@ -16,15 +16,11 @@ https://{{ external_host }}/hello has a nice overview of what we're up to, but h
5. Are you a keyboard power user? Learn about keyboard shortcuts in the Keyboard Shortcuts tab under the gear icon. (Or press '?') 5. Are you a keyboard power user? Learn about keyboard shortcuts in the Keyboard Shortcuts tab under the gear icon. (Or press '?')
6. Emoji. Because :ramen: 6. Emoji. Because :ramen:
{% if not_enterprise %} {% if not_voyager %}
Zulip has a team of engineers standing by to respond to your feedback, so please let us know what you think! Click the "Send feedback" button inside Zulip, or just reply to this email. Zulip has a team of engineers standing by to respond to your feedback, so please let us know what you think! Click the "Send feedback" button inside Zulip, or just reply to this email.
{% endif %} {% endif %}
{% if not_enterprise %}
- Waseem, for the Zulip team
{% else %}
Thanks, Thanks,
Zulip Zulip
{% endif %}
---- ----
Manage email preferences: Manage email preferences:
https://{{ external_host }}/#settings https://{{ external_host }}/#settings

View File

@ -28,11 +28,7 @@
<p><a href="https://{{ external_host }}">Take it for a spin now.</a></p> <p><a href="https://{{ external_host }}">Take it for a spin now.</a></p>
{% if not_enterprise %}
<p>- Waseem, for the Zulip team</p>
{% else %}
<p>Thanks,<br />Zulip</p> <p>Thanks,<br />Zulip</p>
{% endif %}
</td></tr> </td></tr>
</table> </table>

View File

@ -12,12 +12,9 @@ Why bother with topics? Well, two reasons: it makes conversations clearer (imagi
Take it for a spin now: Take it for a spin now:
https://{{ external_host }} https://{{ external_host }}
{% if not_enterprise %}
- Waseem, for the Zulip team
{% else %}
Thanks, Thanks,
Zulip Zulip
{% endif %}
---- ----
Manage email preferences: Manage email preferences:
https://{{ external_host }}/#settings https://{{ external_host }}/#settings

View File

@ -28,7 +28,7 @@
<br /> <br />
<a href="{{ activate_url }}" style="color:#08c">{{ activate_url }}</a> <a href="{{ activate_url }}" style="color:#08c">{{ activate_url }}</a>
</p> </p>
{% if enterprise %} {% if voyager %}
<p> <p>
If you are having issues, please contact your Zulip administrator at <a href="mailto:{{ support_email }}" style="color:#08c">{{ support_email }}</a>. If you are having issues, please contact your Zulip administrator at <a href="mailto:{{ support_email }}" style="color:#08c">{{ support_email }}</a>.
</p> </p>

View File

@ -5,7 +5,7 @@ This is a friendly reminder that {{ referrer.full_name }} ({{ referrer.email }})
To get started, visit the link below: To get started, visit the link below:
<{{ activate_url }}> <{{ activate_url }}>
{% if enterprise %} {% if voyager %}
If you are having issues, please contact your Zulip administrator at <{{ support_email }}>. If you are having issues, please contact your Zulip administrator at <{{ support_email }}>.
{% else %} {% else %}
We're here for you at <{{ support_email }}>, if you have any questions. We're here for you at <{{ support_email }}>, if you have any questions.

View File

@ -10,7 +10,7 @@
Finally, workplace chat that actually improves your productivity.* Finally, workplace chat that actually improves your productivity.*
</span> </span>
<span class="footnote">* It's also great for sharing cat pictures.</span> <span class="footnote">* It's also great for sharing cat pictures.</span>
{% if not_enterprise %} {% if not_voyager %}
{% elif only_sso %} {% elif only_sso %}
<a href="{% url 'login-sso' %}" class="main-signup-button btn btn-large btn-primary">Log in now!</a> <a href="{% url 'login-sso' %}" class="main-signup-button btn btn-large btn-primary">Log in now!</a>
{% else %} {% else %}
@ -175,7 +175,7 @@
<div class="app feature-line light"> <div class="app feature-line light">
<div class="app-main feature-line-container centered-content"> <div class="app-main feature-line-container centered-content">
{% if not_enterprise %} {% if not_voyager %}
{% elif only_sso %} {% elif only_sso %}
<a href="{% url 'login-sso' %}" class="bottom-signup-button btn btn-large btn-primary">Log in now</a> <a href="{% url 'login-sso' %}" class="bottom-signup-button btn btn-large btn-primary">Log in now</a>
{% else %} {% else %}

View File

@ -75,7 +75,7 @@ Form is validated both client-side using jquery-validate (see signup.js) and ser
{% endif %} {% endif %}
{% if not_enterprise %} {% if not_voyager %}
<div class="control-group"> <div class="control-group">
<div class="controls"> <div class="controls">
<label class="checkbox"> <label class="checkbox">

View File

@ -10,7 +10,7 @@ version="$1"
prefix="zulip-server-$version" prefix="zulip-server-$version"
if [ "$(uname)" = "Darwin" ]; then if [ "$(uname)" = "Darwin" ]; then
TMPDIR=/tmp/enterprise-build TMPDIR=/tmp/voyager-build
rm -Rf $TMPDIR rm -Rf $TMPDIR
mkdir -p $TMPDIR mkdir -p $TMPDIR
else else

View File

@ -7,10 +7,10 @@ from zproject.backends import password_auth_enabled, dev_auth_enabled, google_au
def add_settings(request): def add_settings(request):
realm = request.user.realm if hasattr(request.user, "realm") else None realm = request.user.realm if hasattr(request.user, "realm") else None
return { return {
# We use the not_enterprise variable name so that templates # We use the not_voyager variable name so that templates
# will render even if the appropriate context is not provided # will render even if the appropriate context is not provided
# to the template # to the template
'not_enterprise': not settings.VOYAGER, 'not_voyager': not settings.VOYAGER,
'zulip_com': settings.ZULIP_COM, 'zulip_com': settings.ZULIP_COM,
'zulip_admin': settings.ZULIP_ADMINISTRATOR, 'zulip_admin': settings.ZULIP_ADMINISTRATOR,
'login_url': settings.HOME_NOT_LOGGED_IN, 'login_url': settings.HOME_NOT_LOGGED_IN,

View File

@ -2547,7 +2547,7 @@ def do_send_confirmation_email(invitee, referrer):
body_template_path = 'confirmation/invite_email_body.txt' body_template_path = 'confirmation/invite_email_body.txt'
context = {'referrer': referrer, context = {'referrer': referrer,
'support_email': settings.ZULIP_ADMINISTRATOR, 'support_email': settings.ZULIP_ADMINISTRATOR,
'enterprise': settings.VOYAGER} 'voyager': settings.VOYAGER}
if referrer.realm.domain == 'mit.edu': if referrer.realm.domain == 'mit.edu':
subject_template_path = 'confirmation/mituser_invite_email_subject.txt' subject_template_path = 'confirmation/mituser_invite_email_subject.txt'

View File

@ -371,7 +371,7 @@ def clear_followup_emails_queue(email, mail_client=None):
`from_email` is a string representing the zulip email account used `from_email` is a string representing the zulip email account used
to send the email (for example `support@zulip.com` or `signups@zulip.com`) to send the email (for example `support@zulip.com` or `signups@zulip.com`)
""" """
# Zulip Enterprise implementation # Zulip implementation
if not mail_client: if not mail_client:
items = ScheduledJob.objects.filter(type=ScheduledJob.EMAIL, filter_string__iexact = email) items = ScheduledJob.objects.filter(type=ScheduledJob.EMAIL, filter_string__iexact = email)
items.delete() items.delete()
@ -414,7 +414,7 @@ def send_future_email(recipients, email_html, email_text, subject,
# "to": [{'email':"acrefoot@zulip.com", 'name': "thingamajig"}] # "to": [{'email':"acrefoot@zulip.com", 'name': "thingamajig"}]
# } # }
# Zulip Enterprise implementation # Zulip implementation
if not mail_client: if not mail_client:
if sender is None: if sender is None:
# This may likely overridden by settings.DEFAULT_FROM_EMAIL # This may likely overridden by settings.DEFAULT_FROM_EMAIL
@ -501,7 +501,7 @@ def enqueue_welcome_emails(email, name):
unsubscribe_link = one_click_unsubscribe_link(user_profile, "welcome") unsubscribe_link = one_click_unsubscribe_link(user_profile, "welcome")
template_payload = {'name': name, template_payload = {'name': name,
'not_enterprise': not settings.VOYAGER, 'not_voyager': not settings.VOYAGER,
'external_host': settings.EXTERNAL_HOST, 'external_host': settings.EXTERNAL_HOST,
'unsubscribe_link': unsubscribe_link} 'unsubscribe_link': unsubscribe_link}

View File

@ -64,7 +64,7 @@ Usage: python manage.py create_realm --domain=foo.com --name='Foo, Inc.'"""
self.print_help("python manage.py", "create_realm") self.print_help("python manage.py", "create_realm")
exit(1) exit(1)
if options["deployment_id"] is not None and settings.VOYAGER: if options["deployment_id"] is not None and settings.VOYAGER:
print >>sys.stderr, "\033[1;31mExternal deployments are not supported on enterprise deployments.\033[0m\n" print >>sys.stderr, "\033[1;31mExternal deployments are not supported on voyager deployments.\033[0m\n"
exit(1) exit(1)
domain = options["domain"] domain = options["domain"]

View File

@ -4,7 +4,7 @@
Forward messages sent to the configured email gateway to Zulip. Forward messages sent to the configured email gateway to Zulip.
At Zulip, messages to that address go to the Inbox of emailgateway@zulip.com. At Zulip, messages to that address go to the Inbox of emailgateway@zulip.com.
Zulip enterprise customers' configurations will differ. Zulip voyager configurations will differ.
Messages meant for Zulip have a special recipient form of Messages meant for Zulip have a special recipient form of

View File

@ -830,7 +830,7 @@ def send_registration_completion_email(email, request):
""" """
prereg_user = create_preregistration_user(email, request) prereg_user = create_preregistration_user(email, request)
context = {'support_email': settings.ZULIP_ADMINISTRATOR, context = {'support_email': settings.ZULIP_ADMINISTRATOR,
'enterprise': settings.VOYAGER} 'voyager': settings.VOYAGER}
Confirmation.objects.send_confirmation(prereg_user, email, Confirmation.objects.send_confirmation(prereg_user, email,
additional_context=context) additional_context=context)
@ -966,7 +966,7 @@ def home(request):
# Pass parameters to the client-side JavaScript code. # Pass parameters to the client-side JavaScript code.
# These end up in a global JavaScript Object named 'page_params'. # These end up in a global JavaScript Object named 'page_params'.
page_params = dict( page_params = dict(
enterprise = settings.VOYAGER, voyager = settings.VOYAGER,
debug_mode = settings.DEBUG, debug_mode = settings.DEBUG,
test_suite = settings.TEST_SUITE, test_suite = settings.TEST_SUITE,
poll_timeout = settings.POLL_TIMEOUT, poll_timeout = settings.POLL_TIMEOUT,

View File

@ -125,7 +125,7 @@ class ConfirmationEmailWorker(QueueProcessingWorker):
"zerver/emails/invitation/invitation_reminder_email", "zerver/emails/invitation/invitation_reminder_email",
{'activate_url': link, {'activate_url': link,
'referrer': referrer, 'referrer': referrer,
'enterprise': settings.VOYAGER, 'voyager': settings.VOYAGER,
'external_host': settings.EXTERNAL_HOST, 'external_host': settings.EXTERNAL_HOST,
'support_email': settings.ZULIP_ADMINISTRATOR}, 'support_email': settings.ZULIP_ADMINISTRATOR},
datetime.timedelta(days=2), datetime.timedelta(days=2),

View File

@ -93,7 +93,7 @@ class GoogleMobileOauth2Backend(ZulipAuthMixin):
https://developers.google.com/+/mobile/android/sign-in#server-side_access_for_your_app https://developers.google.com/+/mobile/android/sign-in#server-side_access_for_your_app
https://developers.google.com/accounts/docs/CrossClientAuth#offlineAccess https://developers.google.com/accounts/docs/CrossClientAuth#offlineAccess
This backend is not currently supported on enterprise. This backend is not currently supported on voyager.
""" """
def authenticate(self, google_oauth2_token=None, return_data={}): def authenticate(self, google_oauth2_token=None, return_data={}):
try: try:

View File

@ -92,7 +92,7 @@ urlpatterns = patterns('',
url(r'^features/$', TemplateView.as_view(template_name='zerver/features.html')), url(r'^features/$', TemplateView.as_view(template_name='zerver/features.html')),
) )
# These are used for enterprise development. On a real enterprise instance, # These are used for voyager development. On a real voyager instance,
# these files would be served by nginx. # these files would be served by nginx.
if settings.DEVELOPMENT and settings.LOCAL_UPLOADS_DIR is not None: if settings.DEVELOPMENT and settings.LOCAL_UPLOADS_DIR is not None:
urlpatterns += patterns('', urlpatterns += patterns('',