* `db.models` - Removed `MediaEntry.get_comments()` and replaced it with a helper
which just returns a cursor for the comments query
* `media.html` - Added `{% set comment_author = comment.author() %}`
* `user_pages.views` - media_home() now passes `MediaEntry.get_comments()`
directly to `Pagination`, handles pagination for comments.
* Added `MEDIA_COMMENTS_PER_PAGE` to define the number of comments per page
in the `media_home()` view.
* ADDED `media_post_comment(request)` which creates `MediaComments`
from POST requests
* UPDATED `media_home(request, media, **kwargs)` now passes `comments`,
`pagination` and `comments_form` to `media.html`
* `media.html` now imports `wtforms.html` for use in comment form rendering
* `media.html` now outputs a commenting form if `request.user` evals to `True`
* `media.html` now outputs `MediaComments` if `comments` evals to `True`
* `media.html` now includes `pagination.html` to handle comment pagination
* `MediaComment.get_comments()` now uses pagination
* `MediaComment.get_comments()` now sorts by `created` DESC
* `MediaComment.media_entry` is now **required**
* `MediaComment.media_entry()` now returns parent `MediaEntry`
More specifically, we now just take a dictionary of lists, like:
{'collection': ['index_identifier1', 'index_identifier2']}
Previously we took something with more info like in add_new_indexes,
but that extra info isn't really necessary.
Feature #368 - messaging framework
* message levels are debug, info, success, warning, and error
* display mechanism - base.html includes messages.html for now
* fetch_messages and add_message are available to all templates
using jinja2 environment.globals
* messages are displayed and cleared. no persistence
Lots of fixes to do this.
- setup_celery_from_config no longer responsible for checking
'celery_setup_elsewhere'; that's the app's job. (This was a problem
because more than the app was relying on using this function)
- Allow us to specifically set the config file we're setting up
celery from with setup_self
- Set up celery_always_eager. This is something we strongly want
while doing tests.
- Instead of setting up the app in the get_test_app method, let's set
that up simply by importing from_tests, which should itself up via
from_celery being the environment variable being set.