Sahil Batra
998d710275
frontend: Add new user_settings module for user's settings.
...
We add a new user_settings module similar to page_params
module in frontend and use it to access user's personal
settings instead of page_params.
2021-08-01 15:30:17 -07:00
m-e-l-u-h-a-n
82394308fd
stream-settings: Use util.strcmp instead of localeCompare for sorting.
2021-06-12 08:16:19 -07:00
Steve Howell
173ce9a3fc
refactor: Use sub_store for get/validation.
...
This reduces the complexity of our dependency graph.
It also makes sub_store.get parallel to message_store.get.
For both you pass in the relevant id to get the
full validated object.
2021-04-15 17:26:17 -07:00
Steve Howell
d50462568b
refactor: Avoid update_calculated_fields() calls.
...
This change should make live-update code less brittle,
or at least less cumbersome.
Instead of having to re-compute calculated fields for
every change to a stream message, we now just compute
the fields right before we render stream settings UI.
2021-04-05 09:52:19 -07:00
Steve Howell
36632637dc
refactor: Remove foo_display fields on subs.
...
Also add a helpful comment explaining how these work.
2021-04-05 09:52:19 -07:00
Steve Howell
5624ed2afe
refactor: Extract stream_data.clean_up_description().
...
We use this in the few places where update_calculated_fields()
could plausibly be dealing with a new rendered description.
2021-04-05 09:52:19 -07:00
Steve Howell
99b177dc7d
minor: Avoid reliance on is_old_stream.
2021-04-05 09:52:19 -07:00
Steve Howell
430fadfb0b
refactor: Extract stream_data.can_subscribe_others().
2021-04-05 09:52:19 -07:00
Steve Howell
36fd76dc20
refactor: Extract can_view_subscribers().
...
We also remove some needless uses of the calculated
field in the node tests.
2021-04-05 09:52:19 -07:00
Steve Howell
ea972569a3
refactor: Extract stream_data.can_change_permissions().
2021-04-05 09:52:19 -07:00
Steve Howell
b27ff978c7
minor: Extract can_preview() helper.
2021-04-05 09:52:19 -07:00
Steve Howell
93471ed3e4
refactor: Extract can_toggle_subscription(sub).
...
We don't want to rely so much on calculated fields,
and the `should_display_subscription_button` name
is a bit misleading in certain contexts.
2021-04-05 09:52:19 -07:00
Steve Howell
4380fe4eaf
refactor: Extract stream_settings_data.
...
This is mostly a pure code move.
In passing I remove an unneeded call to
update_calculated_fields in the dispatch code,
plus some tests that don't need them.
2021-04-05 09:52:19 -07:00