* Make several SUMO-centric substitutions (of reverse(), ModelBase, etc.) customizable through settings.
* Don't freak out if there's no `uncached` manager.
* Announcement model + migration.
* Model utils: get_for_group, get_side_wide, is_visible
* Site-wide announcements are in no group.
* Minimally formatted and styled for review/question dashboards.
The API is available at /postcrash. There is one required GET parameter: s.
A request without an `s` parameter is a 400.
A request with an `s` parameter that does not return a result is a 404.
A request with an `s` parameter that returns a result is a 200. (Or 304.)
All responses are cached for 24 hours and have Content-type: text/plain.
If an article matching a crash signature is found, its URL isreturned without
a locale. This will cause SUMO to use our Accept-Language localization
fallback when a user visits the URL.
* Fixed home page to use product logo sprite
* Need the wiki_syntax styles to be last so they don't get overriden easily
* Tweak so only div.selections renders when it is needed
Also clean up unnecessary call in wiki.views.py [bug 632165]
And style document properly: #wiki-doc and #doc-content stuff.
Fix showfor JS to use <ul> properly.
Questions section require wiki documents created:
* Desktop home for mobile - Common Questions
* Mobile home for mobile - Common Questions
[bug 631622, bug 631624]
* Add an is_active column.
* Add stub implementation for confirmation email.
* Update .notify() to send a confirmation email and raise an ActivationRequestFailed exception if the email message fails to send.
* Add function Event._activation_email, which receives a watch and an email and returns an EmailMessage.
* Make questions anonymous watches work, add extra views for confirming/unsubscribing from watches.
* Add Event.get_activation_url() for use in email templates.
* Add Event.get_watch_description() for events to describe their watches in string form. This comes in handy when sending out emails, to explain why the receiver is getting this.
* Catch SMTPRecipientsRefused exception and show message about it.
* Update wiki tests.
Both human-readable and machine-readable:
* Returns 200 OK if everything looks OK.
* Returns 500 ISE if anything is wrong.
Tracks:
* Memcache servers.
* Library installations.
* File system permissions.
TODO:
* Ping Celery.
* Include generic function to lazy load scripts and stylesheets.
* Add TODO for removing dependency on jqueryui CSS.
TODO: (future, if needed)
Lazy load jquery ui everywhere, and use a callback to resume running JS code that depends on it. (AMO is already doing this.)