Now uses the jQuery plugin instead of Kicksend, thanks to David for helping with debugging. Added styling to the suggestion, in the scss file for sign-in.

Refactored to be more clear and follow the coding conventions already in place

Had repeats for some reason

Removed spaces around question mark

Changed `</span> > ? </a>` to `</span>?</a>`
Merge pull request #139 from JGulbronson/master

Now uses the jQuery plugin instead of Kicksend, thanks to David for the help
Added a login tab to the nav bar, so you can login from anywhere on the site

Added a link to the SignUp Modal to the bottom of the LoginModal

Moved the signup link to the same line as 'Need an account?'

Used off('hidden') to reset the behavior for each Modal

Removed a trailing space

Fixed indentation
Merge pull request #141 from JGulbronson/master

Added a login tab to the nav bar, so you can login from anywhere on the site
Create a sparse unique index on User.email

Enforce non-None emails to be unique
Added a new folder in data to store tests while I check if the OpenData API can fully replace scraping the calendar
Followed David's suggestions, replaced urllib2 with requests, and added a run_opendata_tests command to the Makefile
Support another date format for Quest schedules

Specifically, YYYY/MM/DD
Allow periods in prof names in Quest schedules
Merge pull request #145 from UWFlow/david-fix-quest-schedule-parsing

Fix two issues with Quest schedule parsing
courses_test.py now tests all the courses for every department found, and alerts the user if there is an issue. Should reroute the output to a file, or cut down on the output
Added a get_opendata command to the Makefile, and ran it to get the files found in data/opendata2_courses. All courses found, now need to process in processor.py
Merge pull request #144 from UWFlow/unique-sparse-index-email

Fix email signup race condition
Update homepage users (over 5000 now!)
Added a button to load old terms by linking to /onboarding

Removed Backbone boilerplate, simplified adding the button
Merge pull request #147 from JGulbronson/master

Added a button to load old terms by linking to /onboarding
Added a function to import departments from the OpenDataV2 data

Modified import courses and departments to use OpenDataV2. Need to test

Removed old code, now solely uses OpenData V2. Needs review

Removed all opendata2 json files except for cs do that the diff size is manageable

Load all data points for a particular course including prereqs and antireqs

Added get_departments() as a function in crawler.py

Moving all functions to crawler.py, need to update aggregator
Added an update_course() function to aggregator.py, so it can be called independently of other code

Added functions to aggregator.py, will now be called daily as part of an existing cronjob

Fixed quotes

Added a trailing newline

Followed David's advice for cleaning up code

Removed idx variable so that courses are always either updated or added

Courses now are updated rather than skipped over
Removed testing folder and corresponding line in lint_blacklist
Removed import in function