Updated requirements to work with the latest Python 2.7.x release
Removed shuffle flag from application. For now, we're always assuming that shuffle is on, but play queues will replace this feature in the near future
the api is now protected by http basic authentication. the /api/users GET and POST methods can be called without authentication, which allows strangers to create new accounts. for now, all users have the same level of permissions
Added a current user check that returns information about the currently logged in user or a 401 if no user is logged in. this allows the front end to check if it is logged in
refactored the check_password function into the api/users module
Added a pre-request tool that will eventually check credentials stored in session variables. If authorization succeeds, the cherrypy.request.authorized flag will be set to True. Re-jigged the way that template rendering is done in the web app to simplify, and to support checking for this new flag. The requested part of the app can now be replaced dynamically depending on the results of authentication.
Added a snazzy new login form. Unfortunately, it's all you see because the account registration and login functionality is still missing in action.
PEP8 Compliance
PEP8 compliance and some more work on the authentication layer
Started work on a new front-end implementation that is written in backbone.js. So far, it doesn't actually communicate with the API, but eventually, it will replace the existing web client and provide a much cleaner communication model
Added login form to page on first load, hooked submit button on login form up to the current user's login function. Next steps are to make that function call the API and throw a login event on success.
Wired up login event to work locally. Still having trouble hooking logout event to the anchor in CurrentUserView. Next step is to actually talk to the API
Wired up the logout link
Got an error message showing on incorrect credentials. Added a check for the X-Requested-With header in authorization function. If present, we return a 403 instead of a 401, which prevents the browser from popping its own login box. This header is always added by jQuery, so it shouldn't affect other clients
Added a new account registration view. Still needs to be hooked up to the api
Finished wiring up login and registration forms. Thank christ this task is behind me.
Added a now playing view that is the first to be rendered on successful login. Need to add some models to back it up
Nav menu is now a view that appears on login and disappears on logout. Nav links are wired, but only show alerts for now. Need to create views for each page type. Removed debug logging from credentials check.
Added the import media page and wired associated events. Need to hook it up to the API
Wired up add media form to the API. Next step is to sync the importer status information