Tim Abbott
b67c0a4ad5
subs: Move settings_for_sub and button_for_sub earlier.
2016-11-04 16:37:28 -07:00
Tim Abbott
b1a5d57405
subs: Update get_subscriber_list to use subscription_setings.
2016-11-04 16:37:28 -07:00
Tim Abbott
109287dceb
subs: Update descriptions in settings separately from stream rows.
2016-11-04 16:37:11 -07:00
Tim Abbott
7a59ae591a
subs: Fix get_stream_name to use IDs from the DOM.
...
We haven't added a data-stream-name to the subscription_settings
object yet, and ideally we'd be moving away from using
data-stream-name anywhere.
2016-11-04 16:16:07 -07:00
Brock Whittaker
cc03d2014d
subs: Add missing li open/close tags.
...
Two elements were sharing the same li element, when they should be
in different elements.
2016-11-04 13:58:36 -07:00
Brock Whittaker
9b90a47fd6
Change .sub_settings_title to div.
...
All the properties they had weren’t being activated because they were
inline elements. Change to div to activate properties.
2016-11-04 13:55:11 -07:00
Brock Whittaker
7d51b6a454
subs: Create get_stream_name to get stream name from UI.
...
This accepts an arbitrary click target in the DOM inside a stream row
or stream settings element and returns the stream name.
2016-11-04 13:53:12 -07:00
Steve Howell
2088e8420f
User user_id, not email, in peer_add events.
2016-11-04 11:37:14 -07:00
Steve Howell
c5c3dfe33f
Add subscriber counts to changelog.md.
2016-11-04 11:37:14 -07:00
Steve Howell
17e39a88ef
Remove people.test_set_people_name_dict().
...
We use a cleaner approach to setting up test data in echo.js to
allow us to remove the one call to test_set_people_name_dict().
2016-11-04 11:37:14 -07:00
Steve Howell
8c47f7f7db
Remove people.test_set_people_dict().
2016-11-04 11:37:14 -07:00
Steve Howell
472f049cae
Alphabetize subscription event cases in server_events.js.
...
I also split up peer_add and peer_remove into their own cases,
since they do opposite things and didn't share that much code
in common.
2016-11-04 11:37:14 -07:00
Steve Howell
c3f2740481
Remove email_dict from gather_subscriptions_helper().
2016-11-04 11:37:14 -07:00
Steve Howell
38f2789152
Remove page_params.email_dict.
2016-11-04 11:37:14 -07:00
Steve Howell
3941334d00
Use user_ids for subscribers in stream_data.js.
...
We still shim a lot of methods to keep using emails, but the
internal data structure now has user_ids.
2016-11-04 11:37:12 -07:00
Steve Howell
7509f73f02
Clean up stream renaming in the JS code.
...
We now use stream_id as our key to rename streams, which
should prevent a few race conditions long term. (We are
still possibly contending with other events that use
stream_name as a key, so this is not perfect.)
2016-11-04 11:30:18 -07:00
Steve Howell
e1372ddf5d
Add people.get_user_id().
2016-11-04 11:30:18 -07:00
Steve Howell
4ace9bbd77
Remove dead code related to subs.create_sub().
...
Since we started handling the stream/create event properly,
create_sub() became dead code.
2016-11-04 11:30:18 -07:00
Steve Howell
2f4c7d2ef9
Clean up page_params initialization in node_tests/echo.js.
2016-11-04 11:30:18 -07:00
Steve Howell
4cd39010d1
Add people.get_person_from_user_id().
...
This requires the introduction of people_by_user_id_dict
and changes to people.add() and people.remove().
2016-11-04 11:30:18 -07:00
Steve Howell
a2874a3fe9
node tests: Simplify compiling of templates.
...
Now we just have two methods of importance:
compile_template
render_template
The compile_template() function will automatically
(and recursively) compile any partials it depends
on and mark those as compiled.
2016-11-04 11:23:11 -07:00
Steve Howell
0085164ad9
node tests: Avoid re-compiling templates.
...
This is a minor optimization to avoid re-compiling templates
that have already encountered.
2016-11-04 11:23:11 -07:00
Steve Howell
dd4a8eeebd
node tests: Extract render.find_included_partials().
2016-11-04 11:23:11 -07:00
Steve Howell
155f7881b2
node tests: Extact template_finder() class.
2016-11-04 11:23:11 -07:00
Steve Howell
61d88cfc13
node tests: Use template_dir() to walk templates.
2016-11-04 11:23:11 -07:00
Tim Abbott
945c2c4f86
docs: Add a brief release checklist.
2016-11-04 10:52:48 -07:00
Umair Khan
fe1ba6f3eb
Django 1.10: Deprecate request.REQUEST.
2016-11-04 10:20:24 -07:00
Umair Khan
dd314b3796
Django 1.10: context_processors have been moved to django.template.
2016-11-04 10:20:24 -07:00
Umair Khan
682aa1f298
Django 1.10: Use add_argument for options in BaseCommand.
2016-11-04 10:20:23 -07:00
Umair Khan
d3a4fa3e94
Django 1.10: Add Python Social Auth to Installed Apps.
2016-11-04 10:20:23 -07:00
Umair Khan
4c07e57b43
Django 1.10: Use lru_cache instead of memoize.
2016-11-04 10:20:23 -07:00
Umair Khan
b140236fcf
Django 1.10: Do not use patterns function.
2016-11-04 10:06:00 -07:00
Umair Khan
d81446805c
Django 1.10: Use `caches` object to access cache.
2016-11-04 10:06:00 -07:00
Umair Khan
b1d740afaa
Django 1.10: Remove generic module
2016-11-04 10:06:00 -07:00
Steve Howell
9b97b5da13
Improve test coverage for people.get_recipient_count().
2016-11-04 10:05:11 -07:00
Brock Whittaker
4c4733bcec
Change logo/type on left sidebar column.
...
This changes to a new logo/type on the left sidebar column.
2016-11-03 18:12:00 -07:00
Tim Abbott
cb1bc70ab0
css: Set only message overflow-x to auto.
...
This fixes a nasty problem where if you zoomed in Chrome, you'd get
little scrollbars on every message body.
2016-11-03 18:09:36 -07:00
umkay
c43a15ed18
api: Add default protocol for localhost.
...
Add default "http://" to site argument locally if it is not specified
in an api call.
This fixes a problem where if you didn't manually specify `http://`
when connecting to a development server, the API bindings would hang
trying to connect using HTTPS.
2016-11-03 18:09:26 -07:00
Tim Abbott
368b585980
subs: Redesign the rows of the #subscriptions table.
2016-11-03 17:33:33 -07:00
umkay
e6ac8c3543
analytics: Add extra count stats.
...
Fill in remaining countstats in counts.py for our intended use cases.
2016-11-03 16:50:39 -07:00
umkay
298890d125
analytics: Rename count stats and associated properties.
...
Our current naming convention is getting unwieldy. The subgroup now goes
on the right side of the colon.
2016-11-03 16:50:39 -07:00
umkay
5490442580
analytics: Replace all joins in raw SQL with natural joins.
...
We alter the behavior of our queries to no longer write rows with 0 counts
to the db, and pad with 0s in the related views code. As a result we are
also able to combine the where and join clause conditions in the sql
queries. This new behavior is also updated in our tests.
2016-11-03 16:50:39 -07:00
umkay
b5b8623f46
analytics: Update linter to ignore interpolation in test_counts.
...
Ignore whitespace error for % interpolation in sql queries.
2016-11-03 16:50:39 -07:00
Steve Howell
e4930d73c4
Add user_id for new users who we discover in new messages.
...
This change also creates a copy of the objects so that we
don't couple ourselves to the message store.
2016-11-03 16:20:45 -07:00
Steve Howell
30e01306d9
Eliminate people.reify() and mostly ignore unknown users.
...
If I try to send a message to an unknown user (which is possible
for some types of realms), then I simply ignore them during the
send codepath, so that I don't later need to patch up their attributes.
2016-11-03 16:20:45 -07:00
Steve Howell
15d44f8d71
Encapsulate pm_recipient_count.
...
We no longer store pm_recipient_count on person objects, but we
instead use a Dict to store them. Then the new API is this:
people.get_recipient_count()
people.incr_recipient_count()
2016-11-03 16:20:45 -07:00
sinwar
67d99c536a
docs: change zulip.tabbott.net to chat.zulip.org
2016-11-03 16:07:59 -07:00
Rishi Gupta
4a74301a62
models.py: Replace resolve_subdomain_to_realm with get_realm_by_string_id.
...
No change in functionality.
2016-11-03 13:59:11 -07:00
Rishi Gupta
655940acaf
create_realm.py: Add basic checks to name and subdomain.
...
Don't allow the empty string for organization name, and don't pass
do_create_realm a subdomain that's already taken.
2016-11-03 13:59:11 -07:00
Tim Abbott
dd008ae559
realm creation flow: Allow signups from all emails.
...
This (1) removes the check on whether the domain of the email matches
the Realm.domain of an existing realm and (2) avoids setting `realm =
get_realm(domain)` in the realm creation flow, which would cause the
wrong code path to be followed in the event that the domain in a
user's email address happens to match a deactivated realm.
2016-11-03 13:58:52 -07:00