Commit Graph

2769 Commits

Author SHA1 Message Date
Tim Abbott b82edb6fd6 [manual] Add User fields to the UserProfile model.
And keep the fields updated, by copying on UserProfile creation and
updating the UserProfile object whenever we're updating the User
object, and add management commands to (1) initially ensure that they
match and (2) check that they still match (aka that the updating code
is working).

The copy_user_to_userprofile migration needs to be run after this is
deployed to prod.

(imported from commit 0a598d2e10b1a7a2f5c67dd5140ea4bb8e1ec0b8)
2013-04-01 14:34:25 -04:00
Tim Abbott 659ccc2174 [schema] Add South migration for extending UserProfile to subsume User.
(imported from commit 1f93bd1fc93bb5f2b7f144d1631428e1c5e96292)
2013-04-01 14:34:25 -04:00
Tim Abbott bd27343eba Fix incorrect use of user_id as a Recipient type_id.
This should be a user_profile_id.

(imported from commit 3d63a986a4584ba8933c4f8872ed9bb5f3928983)
2013-04-01 14:34:25 -04:00
Jessica McKellar 33a9bae5d1 Tailor empty narrow messages to what you were narrowing for.
(imported from commit 876afce2a63d4d6a522ac5300349b2be8805405f)
2013-04-01 14:26:50 -04:00
Jessica McKellar 6977920493 Don't try to auto-scroll when composing.
It's distracting, and may push messages you care about out of view.

(imported from commit 585d013c18d392433e432fc37bc02b4055822915)
2013-04-01 14:26:50 -04:00
Zev Benjamin ee9f040040 Handle subscription events in the web client
This has the nice side effect of not requiring us to trigger the
events manually in the success callbacks of our subscribe/unsubscribe
ajax calls.

(imported from commit e8d9970b708e9832d22be4803570071bacb46792)
2013-04-01 13:07:48 -04:00
Zev Benjamin 73af933f1f Handle the result of subscriptions by Javascript events
(imported from commit 7b564b1bf076581034021052fa5e2da20cf405c5)
2013-04-01 13:07:48 -04:00
Zev Benjamin 2c08fcca3a Send an event when a subscription is added or removed
We don't yet send events on property changes, though.

(imported from commit 741e6aff7c6ce8b6a1fa48e4d95317d345c6993d)
2013-04-01 13:07:48 -04:00
Zev Benjamin bd81706558 Handle realm_user events in web client
We currently only use these events to change the autocomplete lists.
I figure that the presence list will be updated by presence events.

(imported from commit e9c1466659c4bfd463806656e0023984a4ea4177)
2013-04-01 13:07:48 -04:00
Zev Benjamin fe45b1c8ad Send an event when a user joins or leaves the realm
(imported from commit fcedba2d9a3e8968e93faa396113cddd5bf36a9d)
2013-04-01 13:07:48 -04:00
Zev Benjamin f5d3d15d6b Don't send notifications if we don't have a Tornado server
This is the case when running the backend tests.

(imported from commit 8c69c4b6ec72b36f0e90b06f75a010e993c46e03)
2013-04-01 13:05:57 -04:00
Keegan McAllister 33ac53b849 tests: Reinstate star tests
(imported from commit f61762b0296922ee72e1304718044d5df78abd12)
2013-04-01 11:03:17 -04:00
Keegan McAllister c1a0309bb4 tests: Test more ways of narrowing / un-narrowing
(imported from commit 470b9fb5fc7e418944fee577d510d4ee0a78cd68)
2013-04-01 11:03:16 -04:00
Keegan McAllister 50ef0a6edb tests: Move page console.log support into common.js
(imported from commit e875e67ad44ef10d9d84671a14a4d1755c0154df)
2013-04-01 11:03:16 -04:00
Keegan McAllister 0263bace8a tests: Factor out message checks in 02-narrow.js
In anticipation of testing several UIs for narrowing.

(imported from commit 9403be5550de4f4503933aa03dc45335a7f3fc63)
2013-04-01 11:03:16 -04:00
Keegan McAllister bd85af4d02 tests: Move narrowing tests into their own file
(imported from commit 673fb5f862d08de1dfff1abb8db5efb76039e1ba)
2013-04-01 11:03:16 -04:00
Keegan McAllister 5015c77b33 tests: Clean up code for sending multiple messages
(imported from commit 194490a764d05408e9849bd3a80552c7173f5112)
2013-04-01 11:03:16 -04:00
Keegan McAllister 7e348783e6 tests: Update comment about common.keypress
(imported from commit c58d850ba4fa291e62ffdf56d8e647688940a3ed)
2013-04-01 11:03:16 -04:00
Keegan McAllister 83f1071259 tests: Move more helper functions to common.js
(imported from commit 2a4e2acda367f087acee69f46b6542e3762f5000)
2013-04-01 11:03:16 -04:00
Keegan McAllister b2dea39fad tests: Remove initial dummy message workaround
I can't reproduce the problem this works around anymore.  If it comes back,
let's debug and figure out what's happening.

(imported from commit 26096405a93a530e449c9f1f60d8110b1bb0e96b)
2013-04-01 11:03:16 -04:00
Keegan McAllister 8e6587e92f tests: Use common.js in 00-login.js
(imported from commit b4f3150ee9bbb2c37c3bd5cb0032d8d210d8e976)
2013-04-01 11:03:16 -04:00
Keegan McAllister b09c829fd6 tests: Move common initialization into casper.start
Otherwise it fails when common.js is used by the very first test.

(imported from commit 5299072a62c63202c641b2a11b40aafb9c89e13e)
2013-04-01 11:03:15 -04:00
Keegan McAllister 0c3e21e4b2 tests: Split subscriptions and settings page tests into their own files
Delete star tests for now and restore them later -- it's much easier
this way.

(imported from commit 0572aa64b39d73fddb40b57db554e1f0f14973af)
2013-04-01 11:03:15 -04:00
Keegan McAllister d6810efc90 tests: Fix URL test for new event system
(imported from commit 07671e9a8b678a725b5f49ed755f008107734251)
2013-04-01 11:03:15 -04:00
Tim Abbott 7bae0bb75a populate_db: Fix User/UserProfile confusion in personals sampling.
We were incorrectly using User objects, rather than UserProfile
objects, for fetching Recipient objects for generated messages.

(imported from commit c3dfe52f4e0a68400e22ca49293b5bf2d6986402)
2013-03-29 16:18:38 -04:00
Tim Abbott dc5839f66d tests: Fix User/UserProfile confusion in filter_by_subscriptions path.
Our testing code had a number of places where it was using User
objects where it should have been using UserProfile objects --
e.g. using a User id as the type_id in a Recipient table.  This commit
addresses this in the filter_by_subscriptions code paths.

(imported from commit e305bc8e2a8bdbfd04c93c59d56955e7971552af)
2013-03-29 16:18:38 -04:00
Tim Abbott 9317035fc7 Add hashed_password argument to do_change_password.
This way we're not directly manipulating user.password() in random
management commands.

(imported from commit e6e32ae422015ab55184d5d8111148793a8aca36)
2013-03-29 16:18:38 -04:00
Tim Abbott 80747567c0 Remove test_deactivate.py management command.
It is a less-featureful duplicate of deactivate_user.py.

(imported from commit d40fe8cc30284745aa267601b4855572bbe0e26a)
2013-03-29 16:18:38 -04:00
Tim Abbott 198480ef99 Use get_user_profile_by_email more consistently.
The previous situation was bad for two reasons:

(1) It had a lot of copies of the code, some of them missing pieces:
  UserProfile.objects.get(user__email__iexact=foo)

This was in particular going to be inconvenient since we are dropping
the __user part of that.

(2) It didn't take advantage of our memcached caching.

(imported from commit 2325795f288a7cf306cdae191f5d3080aac0651a)
2013-03-29 16:18:38 -04:00
Tim Abbott 203e5e17ee Use prereg_user as local variable for PreregistrationUser objects.
(imported from commit 5beb09a8e589bee9e98d36059eb9e0b5ab3c4af3)
2013-03-29 16:18:38 -04:00
Tim Abbott 2223b60dc0 Switch functions like do_activate_user to accept UserProfiles.
Only a few of them took a User as an argument anyway.

This is preparatory work for merging the User and UserProfile models.

(imported from commit 65b2bd2453597531bcf135ccf24d2a4615cd0d2a)
2013-03-29 16:18:37 -04:00
Tim Abbott 9d82bb5318 event_queue: Add requests 1.x compatibility.
The previous version of our code only worked with python-requests <
1.0 (as is the case on our servers), the new version will work with
any python-requests new enough to have a .json at all.

(imported from commit 77ffe3e0d890fe88776c313e0e3289aee1bb30ea)
2013-03-29 16:18:37 -04:00
Leo Franchi e546161e8d Handle web hooks from JIRA for integration support
(imported from commit d4db0b850becf42dee6f0a9df7b19c692fef41f1)
2013-03-29 16:14:39 -04:00
Leo Franchi 9817ef3460 Remove url encoding from data-name attribute as we match via iteration
(imported from commit 737418c430991414124daff41b62383284e86dc1)
2013-03-29 15:44:21 -04:00
Zev Benjamin 36ac717872 Lower the server-side heartbeat frequency slightly so its maximum value is less than 60
(imported from commit d61e12a985d833843c9ae757465701f0057d5ee8)
2013-03-29 11:11:34 -04:00
Keegan McAllister b7bb598e02 Trim search operand from the end until URI decoding succeeds
Fixes #1137.

(imported from commit a23219d2cefdc2b739a165c88780fba409d4d878)
2013-03-29 10:37:02 -04:00
Leo Franchi a8816f81c0 Comment out blueslip scroll finish error to quiet emails
A ticket is filed and this error is not fatal to the UI but rather
a warning to investigate, which we will now do

(imported from commit 3f67ec2b503e91b3921e33b89febd97790e389f1)
2013-03-29 09:38:42 -04:00
Leo Franchi 199610fe7f Add tests for unread count in sidebar
(imported from commit dc10016258bf61599ceae434623040a2a7dd5946)
2013-03-28 17:37:32 -04:00
Jessica McKellar ce66bdec5b Remove unused hotkeys.in_scroll_caused_by_keypress.
(imported from commit 65223a036e72489a41130a83e4537d0ccb80b90c)
2013-03-28 17:08:25 -04:00
Jessica McKellar 3df47f2025 Do not try to recenter if you were already moving in the right direction.
Before this commit, if you try to arrow around when the selected
message is outside the pointer threshold for recentering, you get a
big jump, even if you are arrowing towards the center of the viewport.

(imported from commit 5c15d5ccccdf027a8bfa8b79bf519fccbfa971d8)
2013-03-28 17:08:25 -04:00
Jessica McKellar 0f02eb17f4 Reduce code duplication in process_visible_unread_messages.
(imported from commit 49c36f704d9937ff06129a0b737a7d9ef32e35ed)
2013-03-28 17:08:25 -04:00
Jessica McKellar f28fe19fa8 tests: add a comment that the pygments import is still necessary.
(imported from commit c17dfc9e3b8ecf207b4cb7f4d33443122b747905)
2013-03-28 16:59:59 -04:00
Jessica McKellar 39602a4437 tests: add frontend tests for starring.
(imported from commit 6a35286cf4a1e3db9adbc14f8d6c0aa0a05b24db)
2013-03-28 16:59:59 -04:00
Jessica McKellar f050f28e05 tests: add backend tests for starring messages.
(imported from commit 5b315ad06888c60523afb666dae95287609ffa52)
2013-03-28 16:59:59 -04:00
Jessica McKellar 08422009fe Add a `Starred messages` sidebar link.
(imported from commit 0109e64b412afcd8d0d58b5e027d30c82faa970c)
2013-03-28 16:59:59 -04:00
Jessica McKellar 07967e7257 Add the ability to narrow to starred messages with `is:starred`.
(imported from commit f1eb552ddd90a1822fa988b60dc13f88f04cfc79)
2013-03-28 16:59:59 -04:00
Jessica McKellar 3d683a93bf Add the ability to toggle a message star and save it server-side.
(imported from commit 6d9eda14cddee9ce65a85deadac57925b1864f94)
2013-03-28 16:59:59 -04:00
Jessica McKellar 1e9bb457a1 Show a bookmark/favorite star on messages.
(imported from commit af34abb353f3d5b5aace59c31c073d6426b0ff03)
2013-03-28 16:59:59 -04:00
Jessica McKellar 2f560a79db Expose the `starred` flag as a client-side message attribute.
(imported from commit 3046a44e1313d0a91a1aa6ce6d166e29311a0567)
2013-03-28 16:59:59 -04:00
Jessica McKellar f1645f5fc9 Add a `starred` bit to the UserMessage.flags BitField.
(imported from commit 3998edcdafbf6b452b05aa72db86bfaafdd83e01)
2013-03-28 16:59:58 -04:00