Commit Graph

6542 Commits

Author SHA1 Message Date
Jessica McKellar fb62e808d7 Use an associative array for faster subscription checks.
This also helps us manage checking, case-insensitive, for
subscriptions while preserving the casing used by the class creator
for display.

It also fixes a bug where the class_list would become out of sync with
your true subscriptions, allowing you to appear to send messages to
classes to which you had unsubscribed.

(imported from commit 5e8d017bcfb27a71c52f7517733eda7b926d721b)
2012-10-09 17:28:21 -04:00
Jessica McKellar 9544964277 Having tabbing from a huddle recipient focus on the content input box.
This stopped working after unifying the content boxes for streams and
huddles.

(imported from commit cd4e733ff8b3a2fe43c4551b9615ba922ff005a1)
2012-10-09 13:33:50 -04:00
Jessica McKellar 6050a0a251 Advance focus to the next input field after autocompleting class or instance.
(imported from commit 068009946f0581834e268f1ed3d5e7e6a940fcde)
2012-10-09 11:45:46 -04:00
Waseem Daher c32a6a4d88 HTML cleanup since the two compose forms are now unified.
This also prevents the "bounciness" associated with the fact
that the stream/huddle selector was an absolutely positioned
div relative to the bottom of the compose window.

(imported from commit 413003a83c187efd45d0281f7cb6c9d0bd550674)
2012-10-09 11:14:21 -04:00
Tim Abbott d510a62976 Rename huddle recipient field to #huddle_recipient.
(imported from commit 8670f06679aa1554003aa2832dec3ed6d00ad1c3)
2012-10-09 10:27:40 -04:00
Waseem Daher 1f2c0faee4 Unnarrow when you click 'home'.
Potential downside: If you were narrowed and went to, e.g.,
settings, you would lose your place. If we wanted to be more
fancy we could have this code fire only if you were already
on the #home tab.

(imported from commit 5e8d90ba255076a11aa6f7a58c447156729ca23f)
2012-10-07 17:02:22 -04:00
Waseem Daher 10c15ba1cf Don't use <a> when you really want a button.
href="#" will cause the browser to jump to the top of the page, which
breaks everything in the scrolltheworld world, unless you suppress the
event.

(imported from commit ae03cbb9e8a82f28e8536f29485e9e947e7e76c2)
2012-10-06 22:18:35 -04:00
Tim Abbott 358351d423 Use the new_zephyr form for personal zephyrs, rather than a duplicate.
(imported from commit 741a785efba9ea40b5c1022d710360f086a2d859)
2012-10-05 17:44:55 -04:00
Tim Abbott d9f03d9842 Import xdate javascript library.
(imported from commit 6a9344a07672c377f38d29f6d8a5d866684c8456)
2012-10-05 15:42:54 -04:00
Waseem Daher 0c3ace82d5 Use throttling on our handling of scroll events.
This actually is a bit cleaner than our last approach,
because (I believe) we run our scroll handler code
even after the final scroll event, which prevents the
pointer from getting hidden by rapid scrolls.

(imported from commit 3bde4e8f067cd2406f90c04425c6e4ffb81ea784)
2012-10-05 15:39:10 -04:00
Waseem Daher 10adfee7b0 Clicking "New Message" no longer resets your position on the page.
The issue was that our 'button' was actually a link with href='#',
and we didn't actually cancel the event; so it jumped to the
top of the page.

(imported from commit e66decb3a202ea22176ec539a1ec1d405faf0117)
2012-10-05 14:52:46 -04:00
Waseem Daher 6d37154a36 Better, but still not great, small-window behavior.
I'd like it to ultimately be the case that if you make the window
too narrow, the menubar goes to the very top and has small icons.

(imported from commit 0a5fe548d4d848c0358c9780df7af1fe1abc93fa)
2012-10-05 11:50:40 -04:00
Waseem Daher c59cb40a71 CSS cleanup.
Try to adhere to Bootstrap grid system a bit more consistently.
Unstyle subscriptions page for consistency.
Still not sure why the "affix" jumps when we switch to "Subscriptions."

(imported from commit 1c28de4e2ef3d6ed3d1bdcfd143eadefba2b46cb)
2012-10-05 11:50:40 -04:00
Keegan McAllister 2ebd708a8d Remove client-side linkification
It causes problems when [un]narrowing, and we already do the rest of formatting
on the server side.

This reverts commit 90af0192b37bbebbf56d5e7c50f182485ddbca10.
This reverts commit df7e355648d2c4d6319de049933547ed96402fd8.

(imported from commit 99d87f0826ec2f49741f86fad6524ed93e76723f)
2012-10-04 16:52:08 -04:00
Luke Faraone 8f81dc5670 Changing your gravatar should be in a new window.
(imported from commit 4877bcdfc1ad2b0597a13078816c39a8768bcd71)
2012-10-04 16:46:20 -04:00
Waseem Daher 738fe500f0 Unbreak settings/subscriptions windows with some div cleanup.
(imported from commit 427ead3b0cb6ddaf399394ca6c3e363cc8264efe)
2012-10-04 16:35:53 -04:00
Waseem Daher 59a00cb1ab Eliminate scrolling-tab.
scrolling-tab used to be used to target which tab would be a recipient
of the scroll events generated by PgUp, PgDn, etc. Since we now let
the browser handle these natively, we don't need to worry about it.

(Instead, when we hook the 'scroll' event, we should make sure that
home screen.)

(imported from commit c555d960da995a09b370867c96d17f4ce4f2171f)
2012-10-04 15:47:20 -04:00
Waseem Daher 86ffd0de7a Make composebox look better.
Make it look as wide as normal messages, and improve the closing 'x'.

(imported from commit 2aae92192ba8fc9bc4ee28a57755c4bd40726fb4)
2012-10-04 15:45:59 -04:00
Waseem Daher f1efc6f920 Remove scroll buttons.
(imported from commit ddb3ed5073fc66c130e345b3a2eff8abfab06f9b)
2012-10-04 15:45:59 -04:00
Waseem Daher 785485041d Allow the whole page to scroll for 'Home'.
(imported from commit a61627cca0fb3624b343fae5b9a575f1b389e57a)
2012-10-04 15:45:58 -04:00
Waseem Daher 94663ed215 Enable scrolling in a reasonable way on tabs other than 'Home'.
(imported from commit 11a7b6e0055b5202003a0cdb93d90f5f9ebedf2a)
2012-10-04 15:45:58 -04:00
Luke Faraone 29555559d2 Create better error pages for 404 and 500.
(imported from commit c2903b630131c55b9e14369ca0b7f1a8f0fe765c)
2012-10-04 15:31:23 -04:00
Luke Faraone d0a1d32c2b Make the confirmation redirect as short as possible; don't render a waiting page first.
(imported from commit 05b035a59bd3cfced56649b95c0ed91a811d0041)
2012-10-04 14:52:32 -04:00
Luke Faraone 120d0aa99d Validate the register.html page.
(imported from commit 10ce8b637ae40ab733c01c2adbf6a2ad61a85d82)
2012-10-04 10:59:43 -04:00
Keegan McAllister ffff63eaad Move some subscriptions-related code
(imported from commit 49f6e525e3aa8a7a5336f713c94e81fee6546dfa)
2012-10-03 18:25:59 -04:00
Keegan McAllister 8d17de1247 Move some early setup code
(imported from commit ca57718e4a71f43bbf229d2a6e8c70174bb3583f)
2012-10-03 18:25:59 -04:00
Keegan McAllister 50d84e9ca8 Move some UI-related code
(imported from commit 28dc554ed91c14f8a8b4be282a211d3d50cf9873)
2012-10-03 18:25:59 -04:00
Keegan McAllister 37f8445318 Split more files out of zephyr.js
I would like to have split this into several commits, but it's hard to do
incrementally, because functions need to be defined before their use in global
data.

(imported from commit 31533396b236f3b657950b073982c317256f082a)
2012-10-03 18:25:59 -04:00
Waseem Daher 9b268e53ed Remove 'Search' from the navbar.
My expectation is that you may or may not get to "Search" by clicking
something like this.

(imported from commit 3f09286b1a8fa80455d6f6d55997f6f829fbad15)
2012-10-03 14:23:46 -04:00
Luke Faraone 568c7300ef Spacing, labelling fixes to register.html.
(imported from commit fee13c25740a0d0a80b44c3771c989d1c8cd30fe)
2012-10-03 13:51:01 -04:00
Luke Faraone ca50ecb945 Align registration form components for consistency.
(imported from commit 7933ea5fbc01c7d2ddd0bda71b5d2344aa6349a5)
2012-10-03 13:51:01 -04:00
Luke Faraone 2de8a1a59d Submit the confirmation form instantly for zero-delay registration.
(imported from commit b9465ba00a6e3bf57bb6d832bf1f3a98184fc36a)
2012-10-03 13:51:01 -04:00
Waseem Daher 2c294694fd Restyle narrowbar to avoid wrapping.
Previously, when we narrowed on a super-long class/instance or
a huddle with lots of people, the box overflowed. This is an
attempt to fix that, even if it isn't the prettiest.

(imported from commit 4eb58726a4c4714bd5435a791ad8fea0eabb58ed)
2012-10-03 13:38:33 -04:00
Tim Abbott 7acfb5c71c Rename /zephyr/ to /send_message/.
(imported from commit 41c2ff67cfc514e53aff8648c36f545526e324ed)
2012-10-03 12:30:37 -04:00
Tim Abbott e79805847b Rename the 'new_zephyr' argument to the more descriptive 'content'.
(imported from commit b47e2c4823bbfbf2f94cbafb24ed5d78dfbe841b)
2012-10-02 17:29:55 -04:00
Waseem Daher 61c7558b65 Long class and instance names get auto-abbreviated.
This required some serious retooling of the table,
and some thinking about the interactions between
table-layout: fixed and colspan.

And some of it is still a little magic-number-y.
(Like that 97% width on zephyr_compose_box -- without
 it, the stream compose box looks weird in Chrome,
 but not Firefox.)

(imported from commit 20c426ad2dae5efa3107890b28976a957bb3d1e3)
2012-10-02 16:00:46 -04:00
Jessica McKellar 588db5b4c5 Make class names case-insensitive.
(imported from commit e76e50156ca8dab1f7b3124351997e75ef08e521)
2012-10-02 15:16:26 -04:00
Waseem Daher 2873e45b3f Tweak signup email text slightly.
(imported from commit 4f8427a731376d7e9d5eb387673324bb25141743)
2012-10-01 18:05:01 -04:00
Jessica McKellar 28e668bb46 Handle home view subscriptions error cases.
(imported from commit 7f31b5c4837c524c3ad5a0538ca1f01ad73141a3)
2012-10-01 15:36:10 -04:00
Luke Faraone aca5cef3eb Redirect to login when attempting to resignup with a used email address.
(imported from commit d58a5dda9a0af409a6ee57cfcd30be45020352d2)
2012-10-01 10:45:58 -04:00
Luke Faraone 50dfbf7a1b Implement confirmation for new user signups.
We add a few templates for django-confirmation. We define a
"PreregistrationForm" which is validated by accounts_home, which then
generates a confirmation object and emails the user. This required creating
a new table for a PreregistrationUser with an email and status (confirmed)
field.

The register function now no longer accepts a "email" field in the form
and deals only with confirmation IDs to determine the email used to sign
up a user.

(imported from commit 4fcde04530aa7ad4de84579668daee7290b424ac)
2012-10-01 10:45:58 -04:00
Waseem Daher d13dd0a953 Restyle personals, attempt #2.
(imported from commit a8bdf6ad1d7e3dd24b8d42b0f46472ba2db15900)
2012-09-28 14:34:09 -04:00
Waseem Daher d767d0ee49 Style the compose dialog, too.
(imported from commit 5e464c18d913b016d1a9d4514e2aef7e56c5df2c)
2012-09-28 13:42:56 -04:00
Jessica McKellar 9cbdbc4893 Don't update the selected zephyr on mouseover.
But do keep the pointer on the screen as you scroll, and smoothly
scroll all the way up to the top or all the way down to the bottom.

(imported from commit 6acad2a16339ee5eeeebd62a853000c21e4b7152)
2012-09-28 10:59:38 -04:00
Waseem Daher 8c6e274dc6 Compose window class/instance should not be clickable.
(imported from commit b32bc57e101d232fb9d0a1f1272aba35b536576f)
2012-09-27 18:03:46 -04:00
Waseem Daher 1c63c2b19c Compose box UI experiment.
(imported from commit cf95f39da1a8c6558d2a3c3629efe425e274e80d)
2012-09-27 17:39:54 -04:00
Keegan McAllister 3429e77178 Don't display the "Loading..." indicator if the user has no messages
(imported from commit a050218ccde3b82c570a9373cbab5e3fb22abcde)
2012-09-27 16:15:10 -04:00
Keegan McAllister 4e846f9059 Change the home page back to the register form, but go to login on log out.
This reverts commit 5c21c3b44ebc69377177ceb50b43dfd560f0b4d1.

(imported from commit ef983386ee11cbe3a75a7f0555f81ac71240c4c0)
2012-09-27 15:54:33 -04:00
Waseem Daher cd296da113 CSS cleanup.
(imported from commit a7a13e57cf43368d66e94d01ef25ec14d0c15657)
2012-09-27 15:40:11 -04:00
Waseem Daher 42ac10b9c3 Restyle narrowbar slightly.
This removes the duplicate 'x' and '<-' issue that Tim identified
previously.

(imported from commit 0572978731d12eb6689edec105f8e0e35c74f0e0)
2012-09-27 15:40:11 -04:00
Waseem Daher 0f8f60f30d Round corners on gravatars.
(imported from commit 858bfa920f42e366daa2fa4422a20e41ff11238e)
2012-09-27 14:56:53 -04:00
Luke Faraone ce4d3f6d52 Display the user's gravatar to them in the settings panel.
Previously, we were trying to expand a variable which wasn't defined. We
correct that here. Furthermore, we don't right-align the gravatar if
its being shown in the settings panel by removing the "profile_picture"
class.

(imported from commit 1ae09d1a44aca87962f971af82393bf4ece6d16c)
2012-09-26 17:29:18 -04:00
Keegan McAllister 35dcc04822 Add an interim "Loading..." indicator
We will probably re-style this eventually.

Also, the animation freezes during template rendering.  And the HTML is a "give
up and use tables" situation.

(imported from commit 847374b616dc7ce909834f23d5ed9522aa457254)
2012-09-26 17:11:00 -04:00
Keegan McAllister 21d76b3398 Don't send instance_list in index.html
It gets populated from the zephyrs we receive in the initial get_updates_longpoll.

(imported from commit 83c773d211ea323233a986ccf12fd797236c08a5)
2012-09-26 17:11:00 -04:00
Keegan McAllister 12e458df80 Get initial messages from get_updates_longpoll
(imported from commit 2bb9c51409735abe23bad758338b13121aea4c99)
2012-09-26 17:10:59 -04:00
Luke Faraone ca8441b3fb Use HTTPS CDN link for jquery.validate.
(imported from commit e56962ec10fe1bfcb29374b719aef837e394edf4)
2012-09-26 16:48:27 -04:00
Luke Faraone 7057091b94 Autofocus username field on login page.
(imported from commit 6f9fbac7c4f05ebcd8ed7208c4b439198a94d36a)
2012-09-26 16:45:28 -04:00
Luke Faraone be2ed0d686 Display errors in the registration form to the user.
If there's an error with the user's email address, make the email field
editable.

(imported from commit a7b902a9c1dc6b1283ad1f7dc6e28954cbbabcc3)
2012-09-26 16:42:10 -04:00
Luke Faraone 873147330e Make the big "Humbug" title a link.
(imported from commit af16043a1562a7a31efbd6f21d626c90d4d277be)
2012-09-26 16:42:10 -04:00
Luke Faraone ae6cfee818 Implement a new login redesign per Waseem. Be a little cute about it.
Split off some content previously placed into base back into index.html.
Move content previously localised in accounts_home to a new content_base
for use in the non-app version of the site.

We wrote up some copy and styled it according to taste.

In our new signup form, we no longer collect a short name and instead
extrapolate from the email.

(imported from commit cd734b13a4bda7f304129379524c4cc96b77b24b)
2012-09-26 16:42:10 -04:00
Waseem Daher deb5cc771a Restyle compose box to be more consistent with our experiment.
(imported from commit a035c82e83a0bb1a2eea24de18044e3022ecdde5)
2012-09-26 16:19:01 -04:00
Waseem Daher 05d5c58d9f Unbreak the compose window.
For some reason it was super-wide, probably due to a bug of mine.

(imported from commit be5079d61eadb7b011e5c57084938f90bb741bc5)
2012-09-26 15:34:53 -04:00
Waseem Daher 97b20a8cb6 A new Waseem design candidate.
(imported from commit 0acb3ef0e37752178d4809d77d0281568a75b98e)
2012-09-26 14:29:17 -04:00
Jessica McKellar f60e9de1f2 Linkify URLs in zephyrs.
(imported from commit df7e355648d2c4d6319de049933547ed96402fd8)
2012-09-26 10:33:33 -04:00
Keegan McAllister 9efb63f6b8 Display SQL queries when DEBUG = True and URL like /?show_debug=y
(imported from commit dc3efd7aee2975f7d007296ba1ee1f72b262c493)
2012-09-25 18:40:59 -04:00
Jessica McKellar 14ceb7e888 Add hotkeys for composing a new message and toggling betweeen message types.
(imported from commit 5778b12d204f803a4c46b0f32ec19d9410108b36)
2012-09-25 13:00:43 -04:00
Jessica McKellar 810229288b Track and be able to return to your high water mark.
(imported from commit 52a1ce8c84ad3f4eea16b7abaf075ebffc794c9a)
2012-09-25 10:04:34 -04:00
Jessica McKellar 6685bfdd10 Add page up and down arrows to the zephyr list.
(imported from commit e66dfc4eef150e5b84d98ab7346d4d66852699b3)
2012-09-25 10:04:34 -04:00
Keegan McAllister 4793cee888 Switch to Handlebars templating
Benchmarks [1] show it's much faster than ICanHaz, though we will have to work
to realize those gains.

[1] http://jsperf.com/jquery-template-table-performance/77

(imported from commit b037a6f15e27fd49af88f814ff949811dbcd48f2)
2012-09-24 17:45:51 -04:00
Keegan McAllister cd7ee170b8 Move Javascript templates into index.html
...which includes subscriptions.html.

(imported from commit d6297b8b0828fdc1b71393a8549bf2796633a2d0)
2012-09-24 17:45:51 -04:00
Jessica McKellar b276596855 Add page up/down support for all tabs.
This does not yet try to keep the pointer in view.

(imported from commit 865413ba70e271ed12d5cc45d13e56ff9a3275f9)
2012-09-24 14:03:18 -04:00
Keegan McAllister 07e1314462 Rename initial_zephyr_array -> zephyr_array
We keep adding stuff to it in get_updates_longpoll.

(imported from commit be33421c9df16191112e5bcc7c4a476080d52859)
2012-09-24 11:58:37 -04:00
Luke Faraone 5bbe023c23 Refactor index.html, move things to base.html.
In this commit we also remove the navbar from base.html for implementing
further changes as requested by Waseem.

(imported from commit 85a8ea82ff0e271120adde83e15eb671b5584722)
2012-09-24 11:40:09 -04:00
Jessica McKellar 703a1cd6d9 Add error handling for subscription AJAX requests.
(imported from commit 9ed019da01aaa85302000ad62441b85786c2c528)
2012-09-24 10:16:22 -04:00
Keegan McAllister a53cbc9f36 Move hotkeys into a new file
(imported from commit a589cd4623c4707122d5d5936aa0bc555c38557a)
2012-09-21 17:52:02 -04:00
Waseem Daher f1aa17cf1d Change some URLs associated with subscriptions.
Put all the 'API'-ish URLs in the /json/ namespace so that
/subscriptions and /subscriptions/add, etc. can be real
user-facing URLs if we want them to be.

(imported from commit 1455a32d27e44547ab1874b6289243cb40c85dde)
2012-09-21 17:36:29 -04:00
Waseem Daher 5a164f19c2 Clean up subscription functions.
Now that 'manage_subscriptions' only removes subscriptions,
let's name it that. Also, since both functions now only
act on one subscription at a time, use them in the singular.

(imported from commit 52cfc7b36eb1533da7aec1bc3a6e460151a56da8)
2012-09-21 16:30:29 -04:00
Waseem Daher a27edbce7d Restyle subscriptions page.
(imported from commit 41339c5af38ae5ea4801fc1e23b7184c277145f3)
2012-09-21 16:04:44 -04:00
Tim Abbott ed46a453ba Add (mostly unstyled) settings page.
(imported from commit 492c5f498c2fec452e6c724555bc4a5a2c4c151a)
2012-09-21 14:47:26 -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
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 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
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 af5282abd4 Add client-side debugging tools
(imported from commit faa87e85f366e91fe33e0f24e00ae1197403605d)
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 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
Jessica McKellar 28be3581a3 Get gravatars over HTTPS.
(imported from commit 37d12b038e955144e3b7a990db1b72c1fe8a1200)
2012-09-19 10:50:37 -04:00
Luke Faraone c5d1897ab3 Reimplement collapsing, for realsies this time.
We no longer break random things! Its pretty grand, actually.

This reworks and reverts commit fbadd6e854722e41cccd2535748ee47f4efd657b.

Conflicts:
	zephyr/static/js/zephyr.js

(imported from commit 534a120290855d3bf2cf979ac174267c2d07bf68)
2012-09-18 15:56:01 -04:00
Keegan McAllister 996c7fb4eb Add 404 template
Django wants this when DEBUG = False.

(imported from commit 9c30b59aa0976be40ac64d16774c97f0e80f06aa)
2012-09-18 13:45:59 -04:00
Jessica McKellar a8484cb967 Remove subscriptions with an AJAX request.
(imported from commit d34154b31a38ac66cc8f97785c312c98dd53286c)
2012-09-18 12:33:07 -04:00
Jessica McKellar 736f60cf7b Move subscription rows to a Mustache template.
Now that subscriptions are in a tab, we'll need to dynamically
generate the rows.

(imported from commit e8ded6399d28fa52369ece154c5b55102ccbbd8c)
2012-09-18 12:26:29 -04:00
Waseem Daher a70e8dee4d Refactor our different pages into separate templates.
They are all included by index.html in different divs.

(imported from commit bd8b485516007075d33c2614b1de9f08999e927c)
2012-09-18 12:26:29 -04:00
Waseem Daher 5ebac29508 Switch back to 'Home' view when composing new message.
For now the idea is that if you're in the search view (or the
subscriptions view) and you click 'New Message', we should
snap you back to the main view.

This may or may not be the right behavior in the long term.

(imported from commit 43c24e1af9e80225ff9be8a62f4c8c925960436a)
2012-09-18 12:15:24 -04:00
Waseem Daher 6a7c2b3ef7 Add a new pane for 'Search'.
(imported from commit d7d96ad7abffbca794474e289da6ff05aa706265)
2012-09-18 12:15:24 -04:00
Keegan McAllister 0a88386523 Specify size on compose box Gravatar, too
(imported from commit 3a2911d5aadb3057222969d6e38d8dfccf7c15a7)
2012-09-17 22:12:38 -04:00
Waseem Daher c31c27f626 Cause gravatar to appear to left of textbox, rather than top.
(imported from commit 4c04dab329802bf6c4090658bc3ab114c1356c48)
2012-09-17 17:53:04 -04:00
Keegan McAllister 7152fe2f73 Format messages with Markdown
(imported from commit 014a4dddd4d3db61d85c6f6bf1987aff6093fb52)
2012-09-17 15:24:41 -04:00
Keegan McAllister 409d671445 Use absolute path for zephyr.css
(imported from commit 4bedaaebd160c6f0a4b9861a76376e44dadfeca0)
2012-09-17 15:24:40 -04:00
Jessica McKellar aaf537f528 Hide the scrollbar.
I am not thrilled with this hack, even though everyone on the Internet
says this is how you do it
(e.g. http://stackoverflow.com/questions/5820304/hidden-scrollbars-in-firefox-allows-scrolling-but-just-no-scrollbar).

(imported from commit 3a3e782f8f7e489d897187a583e0f7de704b26cd)
2012-09-17 13:51:33 -04:00
Luke Faraone de5ff99c21 Don't generate both zephyr_json and zephyr_dict_json on the server.
Previously we were iterating through all zephyrs twice on the server, now
we are moving part of that to the client so the client has an index of
Zephyrs that it generates itself as part of add_message.

(imported from commit c07a6c36911fa2eae6f216c34331be34b2aa8178)
2012-09-17 13:12:22 -04:00
Waseem Daher 7f6c50b8f1 Add body and /html tags.
(imported from commit be26f902bb2b19442e0ff0c5f19b90ae27e0f1cf)
2012-09-14 16:35:51 -04:00
Waseem Daher b2483d81a8 Reindent in the hopes of improving clarity.
Take a look with 'git show -w' to ignore whitespace changes,
there are some tiny tweaks to try to make sure we close
tags that we weren't properly closing.

(imported from commit 44cba1b8859842fd85a39a3062963af617556ca8)
2012-09-14 16:35:51 -04:00
Waseem Daher 2030d7237e Restyle personal messages box.
It's still not perfect, but it's better.

(imported from commit ec15c3082641a2dd6e076637fbd0792812e6e106)
2012-09-14 16:35:50 -04:00
Jessica McKellar 56ea3d12d5 Clear the compose box after successfully sending a zephyr.
You don't care about that content anymore. We probably want to clear
even more aggressively than this.

(imported from commit 29f6910a12e1b722f5801db644b04f54cf5bfd63)
2012-09-14 15:44:54 -04:00
Waseem Daher ea586ac581 Restyle compose window slightly, add close button.
I still don't love it visually, but it's getting there.
Some obvious issues:
 Personals window is totally unstyled
 Clicking 'new message' should perhaps give you a fresh new window
  not something prepopulated with old stuff. Think about this.

(imported from commit 8b28fd084d550db404eabbe63c056fa6866c0697)
2012-09-14 12:22:25 -04:00
Waseem Daher bee291afaa Restyle the narrow bar slightly.
Put a little 'x' by the class or class-instance indicator, to make
it more analogous to the planned behavior of the view-in-context
search box.

(imported from commit fa01001cffa6a6094ba5fbdcbdc965addb2efa1c)
2012-09-14 11:40:56 -04:00
Keegan McAllister 67b337ce07 Get rid of selectors like span.foo
Just write .foo.  We shouldn't have to care what type of tag it is.

(imported from commit 86c4eeecbe4f5c9875002e3fd81757cd49050268)
2012-09-13 16:32:21 -04:00
Keegan McAllister 00a91d8ff3 Clean up more copy-paste fail
(imported from commit 27233b64439ca4e761060739f019ac03f92f8d56)
2012-09-13 16:32:21 -04:00
Keegan McAllister 7638dc7279 Less confusing names for some classes
(imported from commit 15475d7dc98702a3935b1eb8a1373ab222913a7c)
2012-09-13 16:32:21 -04:00
Luke Faraone 4821175dd5 Provide both a sequential list of zephyrs and an associative array.
The purpose of this is to ensure that we can reference a zephyr by its ID
and get all the data about the zephyr; in the future we may not have all
such data stored in TRs as we do now.

(imported from commit 9128ddd01b46396fd276124ca1e6430538d3dd63)
2012-09-13 14:31:02 -04:00
Waseem Daher 3e5008b143 Remove searchbar from narrowed view.
Today I'm of the mindset that searching is a fundamentally
distinct operation than narrowing, so this reflects that.
(There would be a separate screen and UI for searching,
 I guess.)

(imported from commit 432a4088612dafd06184bec228b63056961325dd)
2012-09-13 10:36:29 -04:00
Waseem Daher e8a1ecad94 Renaming some divs for additional clarity.
unhide -> show_all_messages
narrow_indicator -> currently_narrowed_to
narrow -> searchbox

This is a little clearer about what these buttons/functions
do, which will be useful as we add a little more complexity
associated with searching.

(imported from commit b51e745ea71c212d6735e04011eaea5e71bf6d5a)
2012-09-12 17:31:48 -04:00
Keegan McAllister e6d9b5fa27 register.html: Focus first field
(imported from commit 738227000c288b5f72fe6e91b9998ad72ab092c1)
2012-09-12 16:14:09 -04:00
Waseem Daher 3f42c8422f Experimentally add a search bar.
I'm not exactly sure that this is the interface we'll want for
this, but it's the start of an experiment.

(imported from commit ea18a9b05106546475bc151229955ddafd8e7b8e)
2012-09-12 11:19:33 -04:00
Waseem Daher 1d9fb55b1a Make the filter icon look less clickable.
This was a historical artifact of how that used
to be a search icon right by a textbox.

(imported from commit 6f73bc8b5d174e4c07f1503ffd08650110e80420)
2012-09-11 17:00:37 -04:00
Jessica McKellar bfdf2bef57 [schema] Collect and display names and e-mail addresses.
(imported from commit aa6bceb05fcd5b456c03288cbfed65b14050fe88)
2012-09-11 16:34:53 -04:00
Jessica McKellar 06711afa51 Add a block of whitespace at the bottom of the zephyr feed.
That way you can see new zephyrs as they come in.

(imported from commit 6b72a7f2116130edc0444f601423453801ddb6b5)
2012-09-11 16:27:12 -04:00
Waseem Daher cca0e8f521 Restyle narrowbar slightly.
I have some serious concerns with this implementation,
but I think it's still an incremental improvement.

(imported from commit 6ed8d2545c727e25bf85b98a1528dbf3d155bc92)
2012-09-11 16:20:16 -04:00
Keegan McAllister a5d105dbae Move styles out of index.html
(imported from commit 8b3732ff67af71dac49886004370b6d4759b140f)
2012-09-11 14:38:33 -04:00
Keegan McAllister d8c3d60c18 Remove Bootstrap cutesy nonsense
(imported from commit fd959ce9cfb8df774fa438f8def61994f2ab8173)
2012-09-11 14:38:33 -04:00
Keegan McAllister 75c34a7f1b Fix a bunch of code style problems
(imported from commit 473ae8fdd64783f7a0989b17cae39826de42d30d)
2012-09-11 14:38:33 -04:00
Luke Faraone fef89daa46 Pad the top and bottom of the zephyr window.
(imported from commit f95a6fe7584add5f6b60db57824123ccba8badf0)
2012-09-11 13:39:01 -04:00
Luke Faraone 34b594b96b Reimplement the narrow bar.
(imported from commit 19e41c1238dff404813a21b9dc318458d5f29c64)
2012-09-11 12:12:02 -04:00
Keegan McAllister e5ac53674a Use fixed table layout
(imported from commit 12eb4882b03e6cf4b633334481a82da70b868ce1)
2012-09-11 11:56:34 -04:00
Luke Faraone 1da8c16367 Make "new message" open the compose window.
(imported from commit d63f4915f884dfa2bc11653d17782e5ee4c6191e)
2012-09-11 10:54:25 -04:00
Luke Faraone 4503aaae89 Implement gravatars.
(imported from commit 1e07d295ee7c12a95091e0785a9a9c3c4e856ede)
2012-09-10 18:18:09 -04:00
Luke Faraone cfc42b1d82 Implement portions of Waseem's new UI.
This is mostly working; things that need to be implemented:
 - Ask users for their Real Name
 - Personal replies need skinning
 - Miscl UI changes to match mockups

(imported from commit 3638cf5ec2ba2306004ba6db6fa4c25c47f76517)
2012-09-10 14:32:42 -04:00
Keegan McAllister 42fcb7789e subscriptions.html: Focus new subscriptions field on load
(imported from commit a3a0f84a83838aa04e69a951667bda6d5e508b93)
2012-09-07 11:35:17 -04:00
Keegan McAllister 474f08198b Send zephyr template inline with index.html using django-jstemplate
(imported from commit 58cc8a50d463548aa283658dbe0aae366ecab39f)
2012-09-06 15:48:15 -04:00
Keegan McAllister 8f1cee0b88 Move third-party components into static/third/
(imported from commit 709c78a6e41afcd4202a8264c9103ac7827158ec)
2012-09-06 15:48:15 -04:00
Keegan McAllister b1eb0fd0fd Inhibit caching of zephyr.css
(imported from commit 5e1af66b12454f791f7edfcc3f01be03b00e4b2f)
2012-09-06 14:54:10 -04:00
Luke Faraone f6b481546f Offer to subscribe / create classes if user zwrites to a non-subbed class
Here we check if a class exists. If not, we prompt the user to create, sub,
and send his message to the class. If the class exists but we're not subbed
we prompt the user to sub.

This commit also added a decorator to views.py and refactored out some
redundant code.

(imported from commit 7234ef6c080f2a6de6ff0922635dddd90032f7fe)
2012-09-06 14:33:55 -04:00
Tim Abbott 38b30e5997 [schema] Add realms to the schema.
Note that realms aren't actually used for anything, aren't prompted
for, etc, so this is mostly just a schema change and the refactoring
needed to allow setting the realm in the future.

(imported from commit b8b483dcc9601b288702284879e9c99707a50a5c)
2012-09-06 11:02:34 -04:00
Keegan McAllister 4dd1567426 Keep third-party jQuery style in the jquery dir
(imported from commit 9e34277b90c13b3ce71521fe0657014f186fc1c3)
2012-09-06 11:00:34 -04:00
Tim Abbott 84ece4b3fe Combine the zephyr() and personal_zephyr() functions.
(imported from commit a39b70f019901d0dd6994d4c440002111e4c29e1)
2012-09-04 19:14:46 -04:00
Luke Faraone 974b560659 Add autocomplete for personals, classes, and instances.
Here we pull in the jqueryui library and a style sheet to provide a widget
to do autocomplete for various fields. We populate a list of all ever-seen
classes, instances, and people (C/I/P) into JS arrays and then pass them to
jqueryui.

Each time a new C/I/P appears, we reinitialise the autocomplete functions
so they will notice the new data.

(imported from commit f1ab69c99d21f68ccf40c015bd43960f463c6ff2)
2012-09-04 16:14:48 -04:00
Keegan McAllister ac2553cdff Replace get_state with a variable embedded into index.html
(imported from commit 3ef4a0163107248618a25e242ab30fdff5da17e0)
2012-09-04 13:01:00 -04:00
Keegan McAllister 2e8b1fa14a Use client-side templating to render zephyrs
(imported from commit 5ac650c3df0fa8caa823407d9d1a65a38f7e63c6)
2012-09-04 13:01:00 -04:00
Tim Abbott d85e80483f Eliminate the dummy row.
(imported from commit 4f0cd12e77cbe4d6a29baed9902c7c7074fcff27)
2012-09-04 11:49:13 -04:00
Luke Faraone 37d02a232a Don't include zephyr.js in /subscriptions/
That code added no value and actually crashed on page load.

(imported from commit d6f0be6aaa5e1ac938a588387564800bd5807f90)
2012-09-04 11:08:27 -04:00
Keegan McAllister 115edb57b2 Eliminate tab characters from source code
(imported from commit 60c0742b8998ee08189b576b38cd0b4416f22b66)
2012-08-31 16:51:46 -04:00
Luke Faraone cd5b623cfd Reply to the recipient instead of the sender if replying to my own personal
Previously, if hamlet wrote to iago, and then hit "r" on his own message,
the form would prompt hamlet to reply to himself. Now, Humbug will DTRT and
prefill the form with iago instead.

(imported from commit cb3260d1d0bc89b184dac84ebf1e5642d0bc1606)
2012-08-31 16:50:24 -04:00
Keegan McAllister 2d30c9440d Retry if long polling fails
(imported from commit fc2d09976231974bf48efbcf5dfc480be36e26ec)
2012-08-31 15:33:04 -04:00
Jessica McKellar 99925f4aaf Add the ability to add new subscriptions.
(imported from commit 0a7fdc17087240b13631627a053c580c2e4b5319)
2012-08-30 17:17:59 -04:00
Jessica McKellar 7e56e7a0f4 Add a navigation link for managing subscriptions (for starters, just unsubbing).
(imported from commit 23274a8790bf1f017e9c33db52bf746e291f23ba)
2012-08-30 17:17:47 -04:00
Keegan McAllister d57d19e562 Move all zephyr HTML generation to the client
(imported from commit 3afec768a5cd220c14ce615e03c29ee22754fdf2)
2012-08-30 16:41:09 -04:00
Keegan McAllister ddacce81b7 More responsive UI for sending messages
(imported from commit 8a6c4e78788f46dde4fe166e17828eb9e7bdcaff)
2012-08-30 16:19:44 -04:00
Keegan McAllister a1a7291fe5 Send zephyrs via Ajax
(imported from commit cdfd69079212d36a9e4e9d2d01dc7b6a93b6a4e0)
2012-08-30 16:19:44 -04:00
Tim Abbott 70f96ad674 Fix log out URL.
(imported from commit b0405266792b1cbeea3b30f20e942fd3ad046eff)
2012-08-30 16:17:33 -04:00
Keegan McAllister 556837d3a6 Indicate clickability on labels
(imported from commit cc3c48879d50c0808d465492c20a887bef408a91)
2012-08-29 17:25:04 -04:00
Keegan McAllister d87fdaad99 Quote hrefs on accounts_home
(imported from commit 9b04e654be54b70ccaf91c1ca54d8d533e3a712a)
2012-08-29 17:25:04 -04:00
Jessica McKellar a8fa6b156a Turn newlines into linebreaks.
(imported from commit 67999641a8cff471be1430e421f259b1c558444d)
2012-08-29 16:47:53 -04:00
Keegan McAllister a0e59fbbc9 Narrow on all personals together
(imported from commit 2dc2646344767acbda7f1d8d6f847f8a69d597cf)
2012-08-29 16:23:56 -04:00
Keegan McAllister 03a087a654 Rework display of personals
Code cleanup, and add an arrow to indicate sender and recipient

(imported from commit 24881ee1e5f3bc9209f9ec485195dcd7178d86fb)
2012-08-29 15:53:38 -04:00
Keegan McAllister 053122c3d1 Drop the responsive navbar
(imported from commit 9ccf5a2f43242f35e510adab58ac6ca4715bceec)
2012-08-29 15:40:10 -04:00
Keegan McAllister aca034b29d Fix capitalization
(imported from commit c8bb901bcba58c760bde290bfe8b3eb2fe125e23)
2012-08-29 15:40:10 -04:00
Keegan McAllister 6832fa9489 Use 'BLACK RIGHT-POINTING TRIANGLE' for the 'selected' indicator
(imported from commit 713b24521f080e7772991d2d9808324ef6219ac5)
2012-08-29 15:40:10 -04:00
Keegan McAllister 6cdbe914c4 Style the send buttons
This happens automatically in Chrome, but not in Firefox.

(imported from commit 95c9d1e6110cdc51e6c97f743e8078ac262498bc)
2012-08-29 15:40:09 -04:00
Keegan McAllister a2777eaed4 Resize main_div to exactly take up remaining vertical space
Unfortunately, it's not so easy to do this with CSS only.

(imported from commit 93b58a53e20aae9ee651aa66b3163f68549a3982)
2012-08-29 15:40:09 -04:00
Keegan McAllister a1d852d124 Jump to personals tab on prepare_personal
(imported from commit 5f3fbc7a84a0af6742ceb1f1ab8806234870445f)
2012-08-29 15:40:09 -04:00
Keegan McAllister 395001d8db Indicate narrowing
(imported from commit 19682fc07393f0848481abf72339eefd56b30ab2)
2012-08-29 15:40:09 -04:00
Keegan McAllister 1b587fc2c6 Style class / instance / username labels
(imported from commit 2e0c9d72aa17971bdc12750dad62a59c46f646f1)
2012-08-29 15:40:09 -04:00
Keegan McAllister 8948b21758 Restyle unhide button
(imported from commit c668f19a581fa111dabdba5b1304922c7387c5dd)
2012-08-29 15:16:28 -04:00
Keegan McAllister 5bf0c7be8e Move Zephyr input tabs to the bottom
(imported from commit 646792708f18bf7504147996e63a52cada28be0d)
2012-08-29 15:16:28 -04:00
Keegan McAllister 3e45bd2ccc Use a Bootstrap alert class on failed login
(imported from commit d0e0048e4f3b99f9e2512c8b7f7249b6fa5201a3)
2012-08-29 15:16:28 -04:00
Keegan McAllister 3ef5334d9b Focus username field on loading login/register pages
(imported from commit 004a98ffaa59aebab34057cbe34f5e1038e44b62)
2012-08-29 15:16:28 -04:00
Tim Abbott cc01ad04bf Move javascript into its own file.
(imported from commit b0e9a5e2700e85f31f8cd5922ab489000c96781c)
2012-08-29 12:04:57 -04:00
Keegan McAllister 5e59c79d1d Tab between class and personal message
(imported from commit f7ce9eebc8fe75ad0fcfd0f60dde9ae117681134)
2012-08-28 19:09:48 -04:00
Keegan McAllister 2f2bb1b9c1 Some content for accounts_home
(imported from commit f42c0ee74a69d2668a1f77b1180c4e1ccb1def0c)
2012-08-28 19:09:48 -04:00
Keegan McAllister 473de4eb2a New layout
(imported from commit d44db3acf1d4c6a7b42a54aff9720bb86d01a754)
2012-08-28 19:09:48 -04:00
Keegan McAllister 9849cc91e9 Move bootstrap.js and jQuery into head
(imported from commit 8deddd6178f5612be275509bea0a23d20fb4693c)
2012-08-28 18:36:55 -04:00
Keegan McAllister 54622c9101 Create zephyr.css
(imported from commit 56c698496ba5cc59aeed4902dfee7bcfa248ffcf)
2012-08-28 18:36:55 -04:00
Keegan McAllister c454718f3a Add log out link
(imported from commit 89e489d5b96ba7ae02c77a384b4dfabaa9b28785)
2012-08-28 18:36:55 -04:00
Keegan McAllister f88882f9a2 Basic Bootstrapification
(imported from commit 54871fadcb5670a1ed3a68156b282bde1b50363f)
2012-08-28 18:36:55 -04:00
Keegan McAllister 098618df72 Add Bootstrap to base.html
(imported from commit fe05c9a68b5ea352a191f29292defb99dff136d7)
2012-08-28 18:36:55 -04:00
Keegan McAllister 316b32ef31 Make base.html more valid
(imported from commit 07ae94e9678deca71b2b6933df4c4503cda96be5)
2012-08-28 18:36:55 -04:00
Tim Abbott 74219b5e08 Move the message display code out of get_updates().
(imported from commit 9de20dbd11156cd98a11c736991945cba12b8118)
2012-08-28 17:38:36 -04:00
Tim Abbott 9625c17473 Change the last message received variable name to 'last_received'.
(imported from commit 37c34b54ce4bcbf601f934854c8e77340ba69117)
2012-08-28 17:38:36 -04:00
Jessica McKellar f6819d09d5 Add basic personals functionality.
(imported from commit a4fecbe40672f34295b1e908526b6c45056bcb7f)
2012-08-28 16:35:04 -04:00
Jessica McKellar 2b9a3205be Switch zephyrs to the notion of a "Recipient", which is either a class or user.
(imported from commit edc46267dab9cc972358b6020ca28b009e15d8c5)
2012-08-28 16:34:23 -04:00
Jessica McKellar 80a47ca2bc POST the pointer location on narrows (since the pointer moves).
Ideally this would be expressed as an event handler bound to the
in every place that the pointer changes, but I haven't found a way to
do that yet (this is easy for *inputs* but not arbitrary DOM
elements).

(imported from commit c190e23f5ed5fd3e3a4823b763682d611ec5b446)
2012-08-28 12:45:28 -04:00
Jessica McKellar 2bf27af375 Have the pointer track the highlighted zephyr on instance narrow.
(imported from commit b19e7950bb5e77067b9a24bcf9ee762fdc23b5ad)
2012-08-28 12:45:24 -04:00
Jessica McKellar 2c7a35596b Have the pointer track the highlighted zephyr on narrow/unnarrow.
(imported from commit 0fff361f08cf7849a751bcd533757a18fe752398)
2012-08-28 12:45:20 -04:00
Jessica McKellar c6fd3df60a Detect keydown instead of keypress, so holding the arrow down scrolls.
(imported from commit 8c3a9a2c22ced942d4a86845a9e0bf2f67dea795)
2012-08-28 12:45:16 -04:00
Jessica McKellar e509cc8a85 Autofill class and instance and move focus to textbox on 'r'.
(imported from commit f06b82539dbd0ef9ae46bf3c368a877947e3df19)
2012-08-28 12:45:06 -04:00
Jessica McKellar abbb9ee95d Add narrowing by instance.
(imported from commit e927192ded358dc3771c7add2b7c4c62e8be4452)
2012-08-28 12:45:01 -04:00
Jessica McKellar d90e8f6ec5 Initial Django commit: basic account, zephyr stream, narrowing, etc.
(imported from commit 3cd40521171a4020c19021eda0d20ee9f802af41)
2012-08-28 12:44:51 -04:00