Anders Kaseorg
f912572887
settings_profile_fields: Iterate over field_data with Object.entries.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-07 14:09:47 -08:00
Anders Kaseorg
dd10108c24
user_status: Iterate over page_params.user_status with Object.entries.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-07 14:09:47 -08:00
Anders Kaseorg
5564b39ea4
tests: Iterate over page_param_checkbox_options with Object.keys.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-07 14:09:47 -08:00
Anders Kaseorg
91d3d5d9df
settings_org: Iterate over auth_methods with Object.entries.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-07 14:09:47 -08:00
Anders Kaseorg
a9f5730270
drafts: Iterate over drafts with Object.entries.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-07 14:09:47 -08:00
Anders Kaseorg
0d05decbe4
presence: Iterate over presence info with Object.entries.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-07 14:09:47 -08:00
Anders Kaseorg
10edd2d0a1
server_events_dispatch: Iterate over event data with Object.entries.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-07 14:09:47 -08:00
Anders Kaseorg
3b4dc2d8d8
tests: Iterate over tabs with Object.values.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-07 14:09:47 -08:00
Anders Kaseorg
8bb515dbd9
emoji: Iterate over emoji_codes data with Object.{entries,values}.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-07 14:09:47 -08:00
Anders Kaseorg
5de013b11e
emoji: Iterate over realm_emoji with Object.values.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-07 14:09:47 -08:00
Tim Abbott
84edb5c516
test_fixtures: Fix buggy reuse of status_dir between databases.
...
Apparently, the arguments passed to template_database_status were
incorrect for the manual testing development database, in that we
didn't pass a status_dir when calling into that code from provision.
The result was that provisioning before running `test-backend` would
ignore changes to the list of check_files (etc.) made after rebasing,
and vice versa.
The cleanest fix is to compute status_dir from other values passed in;
I'm also going to open a follow-up issue for creating a better overall
interface here.
2020-02-07 13:33:08 -08:00
akashaviator
1ae5964ab8
api: Add an api endpoint for GET /users/{id}
...
This adds a new API endpoint for querying basic data on a single other
user in the organization, reusing the existing infrastructure (and
view function!) for getting data on all users in an organization.
Fixes #12277 .
2020-02-07 10:36:31 -08:00
Tim Abbott
e39840c705
users: Add read-only mode for access_user_by_id.
...
We've be using this in the upcoming GET /users/{id} method.
2020-02-07 10:36:31 -08:00
Tim Abbott
aa9286a1f9
users: Move query into caller of get_custom_profile_field_values.
...
This will be useful for supporting a smaller query for a single user.
2020-02-07 10:36:31 -08:00
Tim Abbott
79e5dd1374
users: Rename get_raw_user_data user parameter to acting_user.
...
This is for improved clarity as we extend this function to take
multiple user objects.
2020-02-07 10:36:31 -08:00
Anders Kaseorg
07602c4aac
message_edit: Convert currently_echoing_messages from object to Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 17:24:43 -08:00
Anders Kaseorg
b8c8ba544d
message_edit: Convert currently_editing_messages from object to Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 17:24:43 -08:00
Anders Kaseorg
52a8449a0e
widgetize: Convert widget_contents from object to Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 17:24:43 -08:00
Anders Kaseorg
56436188a4
widgetize: Convert widgets from object to Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 17:24:43 -08:00
Anders Kaseorg
88c73602e0
vdom: Convert new_dict, old_dict from object to Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 17:24:43 -08:00
Anders Kaseorg
737efd1fac
presence: Convert presence_info from object to Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 17:24:43 -08:00
Anders Kaseorg
cbe476721c
message_store: Convert stored_messages from object to Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 17:24:43 -08:00
Anders Kaseorg
442ff64836
notifications: Convert notice_memory from object to Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 17:24:43 -08:00
Anders Kaseorg
44b3b7cf4a
emoji: Convert default_emoji_aliases from object to Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 17:24:43 -08:00
Anders Kaseorg
362ab8838b
emoji: Convert active_realm_emojis from object to Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 17:24:43 -08:00
Anders Kaseorg
419666fc31
emoji: Convert all_realm_emojis from object to Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 17:24:43 -08:00
Anders Kaseorg
ab93385106
emoji: Convert emojis_by_name from object to Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 17:24:43 -08:00
Steve Howell
7e99e7feb2
presence: Extract get_legacy_user_info.
...
This code is a bit flatter and just preps the data
for a single user. There is never any interaction
between the data for user A and user B, so we can
mostly avoid complicated nested data structures
and do most of the data-crunching on a per-user basis.
We also do an explicit sort of the data before
running it through groupby. The explicit sort
simplifies how we calculate `most_recent_info`
and also avoids needing to add `dt` to an intermediate
data structure.
Finally, when it comes to the individual client data,
the code has relied on the assumption that there is
only one row per client, which I believe to be true,
but now the code is more explicit about that.
2020-02-06 17:16:22 -08:00
Steve Howell
bf3baa14ac
presence: Rename get_status_dict_by_user().
2020-02-06 17:16:22 -08:00
Steve Howell
675f8514e8
presence: Rename get_status_dict().
...
We renamed this to get_presences_for_realm(),
and we have the caller pass in realm, not
user_profile.
2020-02-06 17:16:22 -08:00
Steve Howell
363e6bf239
presence: Move get_status_dicts_for_rows().
2020-02-06 17:16:22 -08:00
Steve Howell
36fba1076f
presence: Move get_status_dict_by_user.
2020-02-06 17:16:22 -08:00
Steve Howell
6f027d84a9
presence: Move get_status_dict_by_realm.
2020-02-06 17:16:22 -08:00
Steve Howell
703338dfa3
presence: Extract lib/presence.py.
...
This will make more sense when we pull some
code out of the model.
2020-02-06 17:16:22 -08:00
Steve Howell
a5093be867
presence: Rename get_status_list.
...
The word "status" is vague, and this isn't
actually returning a list, so we now name it
get_presence_response.
I originally was gonna rename this to
get_presence_dict, but there's a function
called get_status_dict that returns a subset
of the response, so I think it's a bit more
clear that this is the bigger dict that
actually gets sent back.
2020-02-06 17:16:22 -08:00
Steve Howell
8a1fb2dcd6
presence: Calculate server_timestamp slightly earlier.
...
We want to err on the side of server_timestamp being
old, since we may eventually use this to make responses
just include incremental changes, and we don't want a
time window (however small) when we miss presence rows.
The clients will be able to deal with duplicate data
to the extent that the time windows are overlapping.
Also, extracting the other local var here
(for `presences`) will set up a subsequent commit
where we re-format the data for clients with
slim_presence=True.
2020-02-06 17:16:22 -08:00
Tim Abbott
14e0322dda
docs: Fix small issues in architecture overview.
...
Typos and removing now-inaccurate discussion of the incoming email
integration as a use case for redis.
2020-02-06 15:03:10 -08:00
Anders Kaseorg
52de93f5f8
requirements: Ask social-auth to pull in its own reqs for Azure, SAML.
...
This makes no actual change to the installed packages, but may help
upgrades go more correctly.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-06 15:00:13 -08:00
Tim Abbott
b5cc1a3afe
home: Finish removing assumption that user_profile isn't None.
2020-02-05 16:16:33 -08:00
Tim Abbott
be02604fe5
home: Refactor logic for several more settings.
...
The main functional change is there's now a code path for
`user_profile is None`.
2020-02-05 16:13:29 -08:00
Tim Abbott
5f8af84ad1
home: Refactor emojiset and billing logic for None UserProfile.
2020-02-05 16:09:03 -08:00
Tim Abbott
7c0a98754a
home: Refactor logic for show_invites and show_add_streams.
2020-02-05 16:05:02 -08:00
Tim Abbott
c43f4926cb
settings_overlay: Don't assume a user_profile is provided.
2020-02-05 16:05:02 -08:00
Tim Abbott
fc4400cfa7
home: Remove unused avatar_url context parameter.
2020-02-05 16:05:02 -08:00
Tim Abbott
7044aa8e5d
home: Extract updates to last_reminder to a function.
2020-02-05 16:05:02 -08:00
Tim Abbott
85690ce649
home: Extract handling of narrow windows to a function.
2020-02-05 16:05:02 -08:00
Tim Abbott
42d529e749
home: Extract terms of service check to a function.
2020-02-05 16:05:01 -08:00
Tim Abbott
7032f49f8e
exceptions: Move default json_unauthorized string to response.py.
...
This small refactor should make it easier to reuse this exception for
other situations as well.
2020-02-05 15:40:10 -08:00
Steve Howell
58859ab115
unread: Remove topic counts.
...
We no longer use topic counts from unread.get_counts().
The topic list widget instead calls
unread.num_unread_for_topic().
2020-02-05 13:04:16 -08:00
Steve Howell
f0e18b3b3e
topic list: Use vdom techniques.
...
We avoid complicated code to update unread counts
by just using vdom.js.
One small change here is that if click on "more
topics", we replace it with the spinner instead
of putting the spinner after it. This saves us
a redraw under the new scheme.
2020-02-05 13:04:16 -08:00