Umair Khan
e063bb0d50
2FA: Add tests for two-factor auth.
2018-05-23 15:49:35 -07:00
Tim Abbott
9c29592178
mypy: Fix rebase errors in create_user.py.
2018-05-23 11:36:28 -07:00
Vishnu Ks
8369e2b15e
registration: Allow users to import settings from other realm.
...
This should significantly improve the user experience for creating
additional accounts on zulipchat.com.
Currently, disabled in production pending some work on visual styling.
2018-05-23 10:30:00 -07:00
Vishnu Ks
2a66818e2e
registration: Add function to copy user settings.
...
This is intended to support our upcoming feature to support copying a
user's customization settings from an existing account that user owns
in another organization.
2018-05-23 10:12:14 -07:00
Rhea Parekh
c24c249b8c
export: Support export of Custom Profile Field.
2018-05-23 09:07:26 -07:00
Robert Hönig
ac04553d67
outgoing_webhook.py: Fix incorrect variable type.
2018-05-23 08:57:56 -07:00
Aditya Bansal
d343f25cc6
create_realm_internal_bots: Refactor to extract main op as a function.
...
We extract the entire operations of the management command to a
function create_if_missing_realm_internal_bots in the
zerver/lib/onboarding.py. The logic for determining if there are any realm
internal bots which have not been created is extracted to a function
missing_any_realm_internal_bots in actions.py.
2018-05-23 11:53:22 +05:30
Aditya Bansal
528230df41
test_fixtures.py: Add check_settings to is_template_database_current.
...
In this commit we add a new param (Django settings) on which the
is_template_database_current decision will depend upon.
2018-05-23 11:53:20 +05:30
Eeshan Garg
3ed20589f2
webhooks: Add generic exception for unexpected webhook events.
...
UnexpectedWebhookEventType is a generic exception that we may
now raise when we encounter a webhook event that is new or one
that we simply aren't aware of.
2018-05-22 08:30:19 -07:00
Michael J. Sullivan
d5ee801d60
mypy: Set local_partial_types = True.
...
The daemon implicitly sets this flag, so set it explicitly and fix all
of the type errors.
2018-05-21 22:41:00 -07:00
Tim Abbott
80a331385e
push_notifications: Fix missing mypy annotation.
2018-05-21 11:39:58 -07:00
Tim Abbott
cec7686f3d
push notifications: Clean up unregistered/bad APNS tokens.
...
We've had this sort of logic for GCM for a long time; it's worth
adding for APNS as well.
Writing this is a bit of a reminder that I'm not a fan of how our unit
tests for push notifications work.
2018-05-21 11:30:56 -07:00
Tim Abbott
c6909fb99c
migration_tests: Document the migration test framework.
2018-05-21 09:59:55 -07:00
Aditya Bansal
0767a5b955
test_classes: Add class MigrationsTestCase for writing migration tests.
...
The MigrationsTestCase class is based on this blog post:
https://www.caktusgroup.com/blog/2016/02/02/writing-unit-tests-django-migrations/
It provides a basic framework for writing unit tests for django
db migrations.
2018-05-21 09:46:37 -07:00
Aditya Bansal
a85576149d
test_helpers: Add use_db_models decorator.
...
This is somewhat messy, but it's purpose is to make it easy to write
tests in test_migrations.py.
2018-05-21 09:46:24 -07:00
Tim Abbott
43ec7ed456
narrow: Add is_web_public_compatible check for narrows.
...
This will be used to limit which narrows will be allowed for
web-public browsing of Zulip.
2018-05-21 08:45:48 -07:00
Tim Abbott
6cbe9890aa
embedded bots: Use get_active_user helper to look up users.
...
This should have no effect, but is part of a larger effort to avoid
using get_user (not get_active_user) unless we actually want inactive
users.
2018-05-20 20:04:16 -07:00
Tim Abbott
e7fa77f120
validate_email_for_realm: Clarify errors for deactivated users.
...
If a user's account has been deactivated, we want to provide a special
error message that makes clear what's going on.
Future work is to provide some administrative controls on whether a
user should be able to re-activate their account.
2018-05-20 19:32:53 -07:00
Tim Abbott
9360af37d4
typing: Remove unnecessary conditional for recipient types.
...
It wasn't actually possible for `recipient_for_emails` to return a
STREAM regardless, and this makes things read a little clearer.
2018-05-20 18:35:48 -07:00
Tim Abbott
ecdc7fb296
typing: Fix unnecessary else clause for recipient validation.
...
The other cases all return anyway.
2018-05-20 18:27:25 -07:00
Joshua Pan
afe09071b9
slash-commands: Implement /day and /night.
2018-05-20 14:42:09 -07:00
Joshua Pan
bdba539480
Rename get_fixed_content_for_widget to do_widget_pre_save_actions.
2018-05-20 14:42:09 -07:00
Sampriti Panda
d94202c662
notifications: Add consistent order for sending email notifications.
...
Notification emails are sent in increasing order of the max message-id
of the unread message thread.
2018-05-20 10:19:13 -07:00
Tim Abbott
3006b3f52f
url_preview: Fix crash when description has no content.
...
There's several things we'll want to cleanup with this feature, but
for now we're content to just make this not crash.
2018-05-17 12:40:43 -07:00
jkiely
058ee1ce1e
mypy: Enable strict optional on lib/soft_deactivation.
...
Tweaked by tabbott to add assert statements, rather than new
conditionals.
2018-05-17 12:13:53 -07:00
jkiely
104fdd8bf9
mypy: enable strict optional for lib/message.
...
Add assert in order to pass checks under strict conditions.
2018-05-17 11:12:08 -07:00
jkiely
04c50cffa7
mypy: Enable strict optional in zerver/lib/bugdown.
...
Explicitly check for none in optional value and set it to a dict.
2018-05-17 11:12:01 -07:00
jkiely
b3d43df498
mypy: Enable strict optional for lib/exceptions.
...
Change return type of reduce_ex to pass under stricter conditions.
2018-05-17 11:11:58 -07:00
jkiely
ca3ce90496
mypy: Enable strict optional in lib/avatar.py.
...
Add assert to function and modify tests in order to pass under
strict conditions.
2018-05-17 11:11:55 -07:00
jkiely
a1b5e7d6d5
mypy: Enable strict optional in lib/events.
...
Modify one variable assignment to pass under strict conditions.
2018-05-17 11:11:53 -07:00
jkiely
ad065fde29
mypy: Enable strict optional for lib/notifications.
...
Modify fix_emojis function to pass under strict conditions.
2018-05-17 11:11:49 -07:00
Vishnu Ks
372e9740ac
events: Add date_joined to user_dict.
2018-05-17 07:49:35 -07:00
Steve Howell
8812dba57e
Add server-side widget support for poll/tictactoe.
2018-05-16 15:13:33 -07:00
Steve Howell
1f0ffdc415
Add widget.py to enable widgets on the server side.
...
The only slash command implemented in this initial
version is an extremely crippled version of a
"/stats" slash command that reports that you are
running 1 server.
2018-05-16 15:13:33 -07:00
Steve Howell
de47eeb6f1
Add /submessage endpoint.
2018-05-16 15:13:33 -07:00
Steve Howell
4332fd64f7
Add submessages to message payloads.
2018-05-16 15:13:33 -07:00
Shubham Padia
4d70d032bc
populate_db: Make is_web_public default to False.
...
Explicit mentions of `is_web_public` as False in the stream dict to be
passed to `bulk_create_streams` have been removed.
2018-05-16 13:40:22 -07:00
Shubham Padia
315047a38b
populate_db: Make invite_only default to False.
...
Explicit mentions of `invite_only` as False in the stream dict to be
passed to `bulk_create_streams` have been removed.
2018-05-16 13:40:10 -07:00
Shubham Padia
7b4f6e0058
tests: Make is_announcement_only true for `announce` stream in populate_db.
...
Makes announce stream `is_announcement_only` for the dev db for easier
manual testing. The default value for `is_announcement_only` in
`bulk_create_streams` is False.
2018-05-16 13:35:45 -07:00
Tim Abbott
f0ef335412
models: Remove unused ModelReprMixin class.
...
It appeared to be used as a base class in various Django migrations,
but because it didn't define any model fields, it wasn't actually.
2018-05-15 19:11:22 -07:00
Tim Abbott
351fab204b
str_utils: Move force_bytes into ccache.py.
...
This is only used there, and so belongs in that bundle of
barely-maintained code.
2018-05-15 19:07:32 -07:00
Tim Abbott
c46149efcb
migrate: Remove obsolete act_on_message_ranges.
...
This has a cool structure, but it's written against the long-dead
South API, and we can always pull it out of the Git history if we want
to use this approach in the future.
2018-05-15 17:19:14 -07:00
Tim Abbott
16d807d157
Revert "test_helpers: Fix a nonexistent import."
...
This reverts commit fa18913b8b
.
We fix the typo when doing this, though.
2018-05-15 16:08:29 -07:00
Greg Price
fa18913b8b
test_helpers: Fix a nonexistent import.
...
This module doesn't exist, and never did; the name appears to be a
mistaken variant of the module that really does contain ZulipTestCase.
So, fix the import to use the real name.
This would never have worked at runtime, which is why it's in an
`if False:`. It's also an example of the kind of error that can be
hidden by `ignore_missing_imports`; we'd have caught the issue
immediately if we hadn't had a blanket application of that flag
in place.
2018-05-15 18:14:33 -04:00
Eeshan Garg
f29b9f14fd
integrations: Update docs for git and codebase.
...
Doing both as once due to the common dependency on
change-zulip-config-file-indented.md.
2018-05-15 18:02:56 -04:00
Tim Abbott
31ce382e71
coverage: Disable coverage checking for exceptions.py.
...
We also take the opportunity to slightly improve the errors if
AbstractEnum ever gets used.
2018-05-15 13:57:40 -07:00
Tim Abbott
191e6dc13a
create_user: Remove user_profile_id option.
...
This hasn't been used in years, had no test coverage, and doesn't have
a clear use case.
2018-05-15 13:51:56 -07:00
=
e731aeda44
zerver: Remove dead code from do_change_password.
2018-05-15 13:39:53 -07:00
=
9d07faaf0c
zerver: Remove dead code from do_create_realm.
2018-05-15 13:39:53 -07:00
=
344d6544da
zerver: Remove dead code for accessing subscribers.
...
These haven't been used in years, and clutter the codebase.
2018-05-15 13:39:39 -07:00