Commit Graph

23621 Commits

Author SHA1 Message Date
Keegan McAllister 85abb3f274 forge_zephyr: Convert email to lowercase
This fixes failing User.object.get(email=...)

(imported from commit e0d5097520c6a149031e6881ae25f4c5bb967918)
2012-09-21 14:11:34 -04:00
Keegan McAllister a68a3e7ab7 Get the just-created user from create_user
(imported from commit d709c99cc670aa1b0864c40b8c0d5e52b6c90340)
2012-09-21 14:01:43 -04:00
Keegan McAllister 0638c2aada forge_zephyr: fetch the just-created user
(imported from commit a269f30736f1873e6e4ed7202fcaa16c436299a8)
2012-09-21 13:56:20 -04:00
Keegan McAllister 6bb1dabed5 Add a 500 error template
(imported from commit 54c1e9a30cf87e28349eb39a566bf721ffdd4cf9)
2012-09-21 13:47:41 -04:00
Keegan McAllister e4b63aae95 Fix autofocus of the email field
...which is still called id_username.

(imported from commit f3ca47a5675bccf8c8acde536db042a88bc4b7b5)
2012-09-21 13:44:13 -04:00
Keegan McAllister 6a71cd9a51 Use a proper <label> for the username field
(imported from commit c7ddab5f4a41f30352bbbae9bff41f877f4b27b4)
2012-09-21 13:44:13 -04:00
Keegan McAllister 08345098db Use truncated Base32 SHA256 instead of hex MD5 for usernames
There isn't a specific problem with using MD5 here, but there's just no reason
to use a hash function with serious known flaws.

We have to truncate to 30 characters for Django's username field.  Using Base32
instead of hex gives us twice as many bits.  This reduces the chances of a
collision (which are pretty low already) and also provides resistance against a
targetted attack based on some weakness in SHA256.  (There are better ways to
reduce a hash to fewer bits but let's not get too fancy.)

We still need to use MD5 for Gravatar because that's their protocol.

(imported from commit ffe6955312f580676409d4f9c4ed2d7f3d0df62c)
2012-09-21 13:44:13 -04:00
Keegan McAllister 3cbc56a866 Rename MD5_SALT to HASH_SALT
(imported from commit 3112cd805614c3057a9eb8f1b251381f48ab3173)
2012-09-21 13:44:09 -04:00
Tim Abbott f1476963bf Fix display of email address.
(imported from commit 3be3319dff6aa9d24ae3a7275a8e6d2c1c1113f4)
2012-09-21 11:33:56 -04:00
Waseem Daher 03a936f046 Add settings page, iconify menu.
I don't love some of these icons, so I view them as pretty temporary.
(I'd like, e.g., settings to be a gear.)

(imported from commit 0433f226082acc37392e97b20648be8eee704b7b)
2012-09-21 11:28:42 -04:00
Tim Abbott 94cab0042b Remove 'username' label in login form.
(imported from commit 474e8ac5f4946ea3a08f44f7653a8f1b9cef9c89)
2012-09-21 11:27:12 -04:00
Tim Abbott efd2cb8fa9 Add both Humbug and MIT internal users.
(imported from commit f300c6513a9756417285ba371cb2d3f6f26fc4a3)
2012-09-21 11:15:19 -04:00
Tim Abbott fc12e6ffbb Fix collapsing with new email addresses instead of usernames.
(imported from commit 26a2391ac1f965f78feaff5092b42cf49f57215f)
2012-09-21 11:15:08 -04:00
Tim Abbott 2d6683f896 Deduplicate user creation code.
(imported from commit bda76a9a44bd5ed7f0726b527fdb93cec109cbed)
2012-09-21 10:45:00 -04:00
Tim Abbott 135c82717d Authenticate by email.
Approach from http://www.micahcarrick.com/django-email-authentication.html.

(imported from commit 796b8e08d8e1f9769cd3cf8ee61d3724ac3847b7)
2012-09-21 10:34:48 -04:00
Tim Abbott ee8f28a084 Use email addresses as unique identifiers rather than usernames.
Note that this code still assumes one's email address (stripped of
domain) is unique.

(imported from commit e98f96601ad109811978fc00b1165e97d8f7b185)
2012-09-21 09:43:22 -04:00
Tim Abbott 967dc37bc2 Put the Shakespeare users in a different realm from the MIT ones.
(imported from commit c75bff78380ee85c00edb4690030b6e0c1b42360)
2012-09-20 18:03:43 -04:00
Tim Abbott b040615cbe Move our server configuration into puppet.
(imported from commit fb1c096b46f23c56f2e08952cbbcc99b34ae0586)
2012-09-20 17:00:24 -04:00
Tim Abbott 1d36bbecef puppet-apt: Make priorities configurable.
(imported from commit 82ca93e510ec07251fed4c32bc0165c6e9187d6b)
2012-09-20 17:00:24 -04:00
Tim Abbott d757b630bf Import puppet-common from https://github.com/camptocamp/puppet-common.git
(imported from commit bb3ccac0dd0cc5688be0f1487092cbe34b107002)
2012-09-20 17:00:24 -04:00
Tim Abbott 5a4a5b0fc0 Import puppet-apt from https://github.com/camptocamp/puppet-apt.git.
(imported from commit 4940c1479b518971e1f3513315b046a571323604)
2012-09-20 17:00:24 -04:00
Luke Faraone 1050300ded Render Huddle titles the way Waseem detailed in his original mockup.
This actually involved refactoring a good bit of existing code; we
in this commit introduce a new property of zephyr called .reply_to, which
is the fully rendered-to-string and pretty-printable version of the person
to which any reply should be addressed.

This is useful for grouping personals, where if you simply went by the
.display_recipient or .sender you would have to check them against
eachother.

We also introduce a new narrow_classish command, which is triggered on
clicking on the "Huddle with…" text. This method intelligently determines
which sort of narrowing to do; we essentially moved out code from the 'r'
key handling section and put it in its own function.

(imported from commit 2406ee0f6f83b990eec83190d2e8858865c06238)
2012-09-20 16:36:49 -04:00
Keegan McAllister fbec2b8d76 Use DOM ids in get_zephyr
This greatly reduces lag on mouseover selection.

(imported from commit 7d9bc0ebce2aa9781c316033d3e9d21e9da6ee3f)
2012-09-20 15:23:41 -04:00
Keegan McAllister 1dabe1cf81 Give each zephyr row a unique DOM id
(imported from commit 4530d0bbbfc94fb86ebba9c6d73074de38e4a78a)
2012-09-20 15:23:41 -04:00
Keegan McAllister 48fea66e34 More consistent naming for #table and #filtered_table
(imported from commit 966ab97522a79fb5cf6dc1e215487ceba01f6d11)
2012-09-20 15:23:41 -04:00
Keegan McAllister d4985ef5f4 Optimize select_zephyr_by_id for the already-selected case
Saves a call to get_zephyr.

(imported from commit 9ce9f2af7e4d8eb5e3a76a3c0ddbfb7f5896a583)
2012-09-20 15:23:41 -04:00
Keegan McAllister a00227c864 Implicitly choose the selected zephyr for showing email address
I erroneously switched halfway in ce4f6289491722d4c1aa84fe8b88b3a5932a3f2a, so
let's just do it for real.

(imported from commit 4c09a7805f6e2322cbbab2f8534e9d362acdc826)
2012-09-20 15:23:39 -04:00
Keegan McAllister 8d994bdb21 Make sure only one email address is displayed at a time
(imported from commit 51b5b2268a154d1136b03185d6658fad7f2922aa)
2012-09-20 15:22:08 -04:00
Keegan McAllister 209bfdf16a populate_db: style fixes
(imported from commit bf16e9a745407a95917e4765257c54dd342fcacc)
2012-09-20 11:22:39 -04:00
Keegan McAllister 16b53fc1ef populate_db: Provide option to create extra users
(imported from commit 13d24c2af3911a06138e73619aa6091a9aeb4f1a)
2012-09-20 10:47:25 -04:00
Keegan McAllister 81ff352ac3 Simplify bookend creation
(imported from commit 8faf260037b7e0508d9e4acea24687ebc06ea0ef)
2012-09-20 00:08:46 -04:00
Keegan McAllister 7d894d8dd1 Merge update_pointer and select_zephyr
Having both is confusing.

(imported from commit becd1ac7a8bab583c4fafdd77256c57f3dc98ea1)
2012-09-19 17:55:58 -04:00
Keegan McAllister 5ff4d22859 Note get_zephyr performance
(imported from commit 215a457d30f5a355d18882a9703ff671248b054f)
2012-09-19 17:55:58 -04:00
Keegan McAllister c3f3a1ef14 Cache the selected zephyr jQuery object
(imported from commit ce4f6289491722d4c1aa84fe8b88b3a5932a3f2a)
2012-09-19 17:35:18 -04:00
Keegan McAllister 5ba760a8f3 Use the zephyr IDs we already have
(imported from commit 6506f30be02cd4d4ee660709fbf8b7530a9276a9)
2012-09-19 16:43:45 -04:00
Keegan McAllister af5282abd4 Add client-side debugging tools
(imported from commit faa87e85f366e91fe33e0f24e00ae1197403605d)
2012-09-19 16:25:23 -04:00
Keegan McAllister 72b98d1d01 Hotkeys: don't go from zephyr to zid and back
(imported from commit e7e80bdc2e0af5dfe9ec4f885cae814543c038de)
2012-09-19 16:25:23 -04:00
Luke Faraone eb1740e1e7 Use emails in the gravatar seed, don't display a static gravatar for the current user.
(imported from commit 64d1fd4f1cd33796bc907fef9778e088d80b8c5a)
2012-09-19 13:39:34 -04:00
Luke Faraone c0805e4846 Remove spurious lines at the top, add lines to the bottom of the view.
We previously weren't actually applying collapsed_parent to any zephyrs,
switching from .children to .find fixes this.

We also don't add a bookend in front of the first zephyr.

Also, borders are handled by the zephyr trs themselves as opposed to the
bookend tr.

(imported from commit 8bdc9bd812833288c85c13a102459a5ef1e36225)
2012-09-19 13:15:12 -04:00
Luke Faraone fed4cd3891 Limit № of autocomplete results so the list doesn't fall off the screen
(imported from commit 311376c1dec35a16ddfb66fc01161501c2eafff0)
2012-09-19 13:11:13 -04:00
Keegan McAllister d8c243dbe2 Remove unused SQLAlchemy code
(imported from commit 0738c771e76bd659efeb2d20d14ba95b7c7666cf)
2012-09-19 13:06:31 -04:00
Keegan McAllister db7a8277ff Replace create_{user_profile,zephyr_class} with {UserProfile,ZephyrClass}.create
Looks nicer and cuts down on imports.

(imported from commit 4fdbbb45cf6d8ad016481c663cf52fd555b41d91)
2012-09-19 13:01:58 -04:00
Keegan McAllister 5486e148e3 Cache Zephyr.to_dict
(imported from commit 7968244a813111e328fc91c34d64af727a98bb36)
2012-09-19 13:01:58 -04:00
Keegan McAllister 669bb789f8 Add caching decorators
(imported from commit 7a4d9257ea8c6a86a5ffb498f726c4c2eb42bc9f)
2012-09-19 13:01:58 -04:00
Keegan McAllister 3b9fcb6404 Configure Django for in-memory caching
(imported from commit ad9e5b1712eef77631ea4d8de5a018cdb04742d8)
2012-09-19 12:58:38 -04:00
Luke Faraone 72eb05dfc5 Switch to Boostrap Typeahead instead of JQuery-UI Autocomplete.
This reduces the number of CSS/JS files we need to load, which is awesome.

(imported from commit 3d34276a185e61f698163402cff2fd2c75ce0bd7)
2012-09-19 11:51:53 -04:00
Luke Faraone b634d26017 Post the newly selected zephyr ID, rather than the old zephyr ID.
Previously update_pointer POSTed the selected_zephyr_id, which in reality
was the ID of the zephyr we just moved off of, rather than the current
zephyr we just higlighted.

(imported from commit 2b143b34d3042a789b3f6a999117115dd6243782)
2012-09-19 11:13:43 -04:00
Jessica McKellar 28be3581a3 Get gravatars over HTTPS.
(imported from commit 37d12b038e955144e3b7a990db1b72c1fe8a1200)
2012-09-19 10:50:37 -04:00
Jessica McKellar 3ec50a921d Fix loading subscriptions on the live site.
For some reason on both my and Waseem's local instances the lack of a
trailing slash was not an issue, but this does fix the issue on the
live site.

This could be because we are running Django 1.4.1 and the deployment
server is running 1.4.0.

(imported from commit 613732d75f204fd654247382088d92879780560b)
2012-09-19 10:21:34 -04:00
Luke Faraone 7d4693a063 Unbreak adding messages in get_updates_longpoll.
(imported from commit 4dbf0b151c7ac243f23b74feeb85dac2b410c7b9)
2012-09-18 18:02:53 -04:00