* 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.)
Since the only content we try to disallow is forums, this lists all locales
instead of /*/forums, since wildcards are not part of the standard, and it
was easy.