…orums. [bug 644463]
…ing on prod. [bug 643688]
* Copy over most of MostVisitedTranslationsReadout's functionality, while only changing the query fetching the list of documents. Abstract to common _most_visited_query_and_params * Add 'Templates' to the overview section in color. * File bug to optimize select query later.
… a Dashboard link. [bug 643407]
…orums apps. Also... * Add starts_with() assertion helper. * Add emails_with_users_and_watches() convenience function to notifications. * Remove leading line breaks from emails.
…t them for all wiki notifications. * Add unsubscribe view to notifications app. Currently depends on Jingo and a template called "base.html". * Rename get_watch_description() to description_of_watch(). Trying to get away from get_* functions and name them (shorter, better-flowing) nouns (unambiguously) instead. * Stop using easy-to-misidentify letters like I and l in secrets. * Add a secret to the default value of watch() so unsubscribing in a test requires actual secret data.
* 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.
* Add NewPostInLocale and NewThreadInLocale events, union them on .fire() with the existing NewPostEvent, NewThreadEvent. * Refactor email sending as new_post_mails, new_thread_mails. * Helper for is_watching_discussion_locale(user, locale) * Moved _clean_next_url to -> sumo.utils.get_next_url as redirect logic. * Use get_next_url in watch_locale view to redirect back to dashboard/document discuss pages.
…esent on an article. [bug 594813]