Commit Graph

197 Commits

Author SHA1 Message Date
Kevin Mehall 662edc2558 [manual] Backend support for Android GCM push notifications
This adds a dependency on gcmclient:
http://gcm-client.readthedocs.org/en/latest/gcmclient.html

pip install gcm-client

or

apt-get install python-gcm-client

(imported from commit 9f1fbf1f793e4a27baed85c6f1aa7a7b03106a10)
2013-12-11 15:37:48 -05:00
Kevin Mehall e4589700b6 [schema] Modify device token to support both iOS and Android
This replaces the AppleDeviceToken table with a generic
PushDeviceToken with a `kind` field to make it easier to add functionality
like per-device/per-stream settings that share code between Android and
iOS devices.

The schema must continue to work on prod with the old table name, so we
add the new table in parallel and can drop the old table once this code
hits prod and any necessary data is copied.

(imported from commit 0209a7013f2850ac6311f23c3d6f92c65ffd19e3)
2013-12-11 15:37:47 -05:00
Tim Abbott 6721c465c9 Add admin API endpoint for creating users.
(imported from commit a8b919c7d21b28dfd75b6b95736a375874ead15f)
2013-12-10 13:21:33 -05:00
Tim Abbott 995141954f Move accounts_register user creation code into its own function.
(imported from commit 353086cecef93b76d5271b69f52046bb5b5781cb)
2013-12-10 13:21:33 -05:00
Tim Abbott 51dcf85fa0 Enable default streams and initial messages for mit.edu users.
(imported from commit 94c920a4b5a13ee727b562109a8fcb4e6318fa40)
2013-12-10 13:21:33 -05:00
Tim Abbott 3516279cdd Don't update fields for new mit_beta_user if we just created it properly.
(imported from commit b87237b95551c0e78d22507e8bb1f5641ec68d28)
2013-12-10 13:21:33 -05:00
Tim Abbott cd45cdd451 Add a decorator for checking whether a user is a realm administrator.
(imported from commit 8ba2c54ccd0a92e8c7ab8f1a8873e581f6cadd51)
2013-12-10 13:21:31 -05:00
Luke Faraone e1a9a71759 Wrap full name code in a try-except.
This prevents us from failing if the first or last name is unset.

We fall back to None, which will allow the user to set their name even
if real names are restricted, which is probably better than forcing them
to have no name.

Closes trac #2118.

(imported from commit 1ff8a55022f3a3baf67575b593a679e21c0f3194)
2013-12-09 16:29:35 -05:00
Tim Abbott 6443a3ed78 Fix create_preregistration_user to properly handle completely open realms.
And in the meanwhile, comment what's going on so that we don't break
this in refactoring again later.

(imported from commit a3119cd1eab3d54cb1883f2c8cad0d147cb04ba7)
2013-12-09 15:26:15 -05:00
Tim Abbott dd3ef9fe47 accounts_register: Don't auto-create a new realm if it doesn't exist.
Currently all of our realms we intend to create are created manually,
and regardless do_create_realm is the correct way to create a realm.

(imported from commit 42280aff461aa17ffee22ab1c7b7f43757648eec)
2013-12-09 15:26:15 -05:00
Tim Abbott 7de3c63146 Display is: operators properly in get_old_messages logging.
(imported from commit 3fdcc73b732040918a89d84bc83f2622d956c6bb)
2013-12-06 17:21:43 -05:00
Tim Abbott 458c066925 Add reporting for how long narrowing takes in the wild.
I'd also like to add a database table to actually store the values
that we get out of this and our send message requests for future
inspection, but for now, grepping logs+statsd is good enough.

(imported from commit 99ef179651850217fe6e82c5e928d122ca91101e)
2013-12-06 10:28:01 -05:00
Tim Abbott a33eb6f61f Update API documentation to use proper URLs for enterprise.
(imported from commit cbf9fba4b8281e8ce7a6dd2964c921d2ef906559)
2013-12-04 15:10:54 -05:00
Tim Abbott f86de8c7a0 Augment update_pointer logs with new pointer value.
(imported from commit bbe9835c2ef089dd85b7515f02ad1297026061e9)
2013-12-03 12:21:06 -05:00
Tim Abbott f765c88ac9 The iPhone app now handles unread counts properly.
(imported from commit 4afe4d082d9d575142087e12088a1d563e43096e)
2013-12-03 12:21:06 -05:00
Jessica McKellar c1058355f6 Add a digest emails checkbox to your settings page.
(imported from commit cf1dbae6ca30d2489a77e822c34941a986b93bbd)
2013-12-02 18:58:03 -05:00
Jessica McKellar 207cfc449d Add unsubscribe links to digest e-mails.
(imported from commit 4e2a324decf4bc694752cc24b9085361338a08a5)
2013-12-02 18:58:03 -05:00
Jessica McKellar 4563271a1b email unsubscribes: have a "display name" for email unsubscribe types.
(imported from commit 24f2db0ac3e26bca410b719dead724c6cef49a3f)
2013-11-27 09:30:00 -05:00
Jessica McKellar 8e72084fcb Add one-click unsubscribe links to day 1 and day 2 emails.
(imported from commit 9396f96365430baf894c708f9eaea642fc648435)
2013-11-27 09:29:59 -05:00
Leo Franchi 501f063426 Replace email_to_domain with split_email_to_domain and resolve_email_to_domain
Now that we support email aliases, we have to be careful when going from
an email address to a domain that we assume we can use to get a Realm
object for. When we care about the Realm's domain, we want to follow
any RealmAliases that exist for a certain domain.

When we just care about the original email address domain itself,
for comparison or other purposes, use split_email_from_domain

This removes the ambiguity of having to decide when to use
email_to_domain + RealmAlias or just email_to_domain

(imported from commit 0e199495502d946ce2e1aae56263e7e8665be4ed)
2013-11-26 10:45:01 -05:00
Kevin Mehall 231521f53c Link to the stream only in the "subscribed" PM, not on the announce stream.
Until we can add a banner to help users subscribe, it may be confusing to
narrow to a stream where you are not subscribed.

Partial revert of 390bdef

(imported from commit ea75fc59b979589b975465a3fecffea0f014fcf6)
2013-11-25 18:02:36 -05:00
Kevin Mehall ca182ec062 Link to streams in notification bot messages.
It's a little weird that these still open in a new tab, but it might
be best to keep them consistent with all other links?

This is a first pass on Trac #1927.

(imported from commit 390bdef790a83af4240ad5f5a82e572ef5824756)
2013-11-25 16:12:57 -05:00
Jessica McKellar dbc1b4b501 Add a one-click unsubscribe link to missed message e-mails.
(imported from commit 719eb61c9b7722eb1b0996b4d5f2f8f5929ad701)
2013-11-25 15:18:40 -05:00
acrefoot 4cd1d69ea0 Add the ability to unsubscribe all users from a stream
This resolves Trac #2022

(imported from commit 23d5129a6bec40c33eaf71953cd41ec387646a39)
2013-11-22 17:12:51 -05:00
Luke Faraone dff03fafda Use LDAP-provided information if available for real names
If authoritative data is available from say the LDAP database, we now
ignore the POSTed user name, and don't offer it as a form field.

We fall back to giving the user a text field if they aren't in LDAP.

If users do not have any form fields to fill out, we simply bring them
to the app without the registration page, logging them in using a dummy
backend.

(imported from commit 6bee87430ba46ff753ea3408251e8a80c45c713f)
2013-11-22 16:51:26 -05:00
Luke Faraone af02e45a17 [manual] Support authentication and profile prefilling via LDAP
The latter doesn't depend on the former; we can still fill in your full
name even if you didn't authenticate via LDAP.

This commit requires django_auth_ldap to be installed. On Debian
systems, you can do so via APT:
    sudo apt-get install python-django-auth-ldap

On OS X, use your favourite package manager. For pip, I believe this
will work:
    pip install django_auth_ldap

django_auth_ldap depends on the "ldap" Python package, which should be
installed automatically on your system.

(imported from commit 43967754285990b06b5a920abe95b8bce44e2053)
2013-11-22 16:51:26 -05:00
Jessica McKellar ae2202caad Update bankruptcy unread count to not include muted topics or read messages.
This should address user reports of huge bankruptcy counts even when
they are relatively caught up. The root issue is that we sometimes
don't mark messages as read for some reason.

(imported from commit 8799305a8665f9ee239575e6e95f603f89c1d427)
2013-11-21 13:01:01 -05:00
Tim Abbott 3caee45cf4 Fix missing support email address in signup notifications.
(imported from commit f1a4fbe5fbc68292080f87960f038fe530ba87e2)
2013-11-20 11:01:11 -05:00
Jessica McKellar d1619b3f3c Use a more accurate "is admin?" check.
UserProfile.show_admin was intended to be a check for users that have
administrative rights in other realms, which we've harmlessly but
erroneously been using to check if they are an admin in their realm.

Use the more straightforward check instead, with a more intuitive
name.

(imported from commit d81050c7dbbb19e59c5e31750be303a4630e1456)
2013-11-19 14:31:02 -05:00
Tim Abbott c66113104c Clean up logging of send times to not waste a log line.
(imported from commit 824488a323a4361ef058f27da6e0768dffc43b6d)
2013-11-18 18:05:19 -05:00
Tim Abbott f3fa78d30c Rename do_[rd]activate to do_[rd]activate_user.
For similarity with do_activate_user.

(imported from commit 2874af84dbe1ce666de10e0d8ffe2daa8bad9731)
2013-11-16 11:35:26 -05:00
Tim Abbott a78ec1d0d3 get_members_backend: Report a bit more data on users.
(imported from commit af1c2a30abed4aa2796f0babe311f993965a008b)
2013-11-16 11:35:26 -05:00
Steve Howell 0b16dfc999 Add /json/users/<email>/reactivate endpoint.
(imported from commit 7afa29f7718430ea2df7c489ab2af4d93d4ce497)
2013-11-16 11:35:25 -05:00
acrefoot 1a904185f2 fix path for do_confirm redirect
(imported from commit d61d8f155fc06fbadc68155f32f510e212adf6c0)
2013-11-15 21:31:37 -05:00
Tim Abbott 337c22f9e1 Fix redirects landing newly registered users at :8888/accounts/do_confirm.
This is similar to the related issue we had with the remote_user_sso
codepath.

(imported from commit 5c2c99be9699a1bce88c4a7de15dae4348fc7967)
2013-11-15 15:04:13 -05:00
Leo Franchi 7f2936a985 Allow enterprise customers to disable name changes
(imported from commit 1f2039f3e88a4ec0cc48dba75f714563c1de4af8)
2013-11-15 11:26:10 -05:00
Kevin Mehall 53c76aa657 Move enterprise-registration to zilencer/ from zerver/
(imported from commit d8a58913040376dbdbc9dcee13ab8a7910733da7)
2013-11-15 11:21:52 -05:00
Tim Abbott 52ca432745 remote_user_sso: Redirect to EXTERNAL_HOST, rather than a relative /.
This fixes a problem where the desktop app would attempt to load
https://zulip.akam.ai:8888/ after authenticating the user, which fails
with CSS issues.

We should probably, separately, change our Django-under-apache to only
serve the one URL that it needs and redirect the rest back to
Django-under-nginx.

(imported from commit 3e3251863618269790f61b371e88af57b6cfb272)
2013-11-15 11:10:19 -05:00
Tim Abbott 8b64833b8a Give the first user in a realm admin privileges.
(imported from commit 9d4c598f76cdbf5cc3b79f1498e9fec2005f08fa)
2013-11-14 12:39:36 -05:00
acrefoot 54d72d9a55 Fix Invitations on ONLY_SSO deploys (Zulip Enterprise)
(imported from commit 6807adbd39682ba91a5746e8a75d7ce53f632ab3)
2013-11-14 11:32:29 -05:00
Tim Abbott ce2da6c18a Use NOTIFICATION_BOT for communicating with users.
(imported from commit 98afc575259a4487a7fefbd3e8bd91a2a46cc9c9)
2013-11-14 11:16:15 -05:00
Tim Abbott be99b4438c Don't send stream invite notifications to bots.
(imported from commit b45ef40b056f451c5085e5fb2afec4bbb68fa3f5)
2013-11-14 08:19:20 -05:00
Luke Faraone 8120382b12 Fake authenticate users if they have previously authed and settings.ONLY_SSO is set
(imported from commit d5f4bf400c4bdcaf8b858bd17a0082e5bc62419d)
2013-11-13 17:57:33 -05:00
Kevin Mehall 98caa8eaf1 Add option to disable error reporting
(imported from commit 3621aa6e7a5badd21b22891026285099db393df0)
2013-11-13 16:22:21 -05:00
Kevin Mehall f7f2ec0aca [puppet] Report enterprise and prod errors to staging.
Errors are sent to a queue processor that posts them to staging,
just like the feedback bot.

(imported from commit 4a8d099672a1b3e48a8bc94148d8b53db73d2c64)
2013-11-13 16:22:21 -05:00
Jessica McKellar 76e1c80ac5 Add an enterprise registration page.
(imported from commit 5888f588ad219ba25b235477a7137853e5954bb5)
2013-11-13 16:20:42 -05:00
Tim Abbott c70adde1cd Send users whose sessions have expired to the login page.
(imported from commit 9ffdc414b9a0874d2cd6f7a4f91596b82390ab38)
2013-11-13 15:35:45 -05:00
Tim Abbott a5d64e4288 sso: Fix missing context instance.
(imported from commit dd4116282bd57e1682d9b3fb3ace66c2ab9b58c1)
2013-11-13 15:23:09 -05:00
Leo Franchi 62ba16a829 [schema] Allow a realm to have aliases for multiple other domains
(imported from commit 5d0340afd4c77f50db63550a3ec8d81e885c285c)
2013-11-13 14:17:43 -05:00
Steve Howell 2238807e59 Add /avatar/<email> URL.
The /avatar/<email> URL redirects to the appropriate
avatar URL for an email, whether it's hosted by Gravatar
or Zulip.  (This will work even for external users, as
it falls through to Gravatar.)

(imported from commit 7e6f226659cb2e5a7f6426da0be8aa9bae9cff14)
2013-11-13 13:45:08 -05:00