def render_readouts(request, readouts, template, locale=None, extra_data=None, product=None): """Render a readouts, possibly with overview page. Use the given template, pass the template the given readouts, limit the considered data to the given locale, and pass along anything in the `extra_data` dict to the template in addition to the standard data. """ current_locale = locale or request.LANGUAGE_CODE on_default_locale = request.LANGUAGE_CODE == settings.WIKI_DEFAULT_LANGUAGE data = { 'readouts': SortedDict((slug, class_(request, locale=locale, product=product)) for slug, class_ in readouts.iteritems() if class_.should_show_to(request)), 'default_locale': settings.WIKI_DEFAULT_LANGUAGE, 'default_locale_name': LOCALES[settings.WIKI_DEFAULT_LANGUAGE].native, 'current_locale': current_locale, 'current_locale_name': LOCALES[current_locale].native, 'request_locale_name': LOCALES[request.LANGUAGE_CODE].native, 'is_watching_default_approved': ApproveRevisionInLocaleEvent.is_notifying( request.user, locale=settings.WIKI_DEFAULT_LANGUAGE), 'is_watching_other_approved': None if on_default_locale else ApproveRevisionInLocaleEvent.is_notifying( request.user, locale=request.LANGUAGE_CODE), 'is_watching_default_locale': ReviewableRevisionInLocaleEvent.is_notifying( request.user, locale=settings.WIKI_DEFAULT_LANGUAGE), 'is_watching_other_locale': None if on_default_locale else ReviewableRevisionInLocaleEvent.is_notifying( request.user, locale=request.LANGUAGE_CODE), 'is_watching_default_ready': ReadyRevisionEvent.is_notifying(request.user), 'on_default_locale': on_default_locale, 'announce_form': AnnouncementForm(), 'announcements': Announcement.get_for_locale_name(current_locale), 'product': product, 'products': Product.objects.filter(visible=True), } if extra_data: data.update(extra_data) return render(request, 'dashboards/' + template, data)
def watch_locale(request): """Start watching a locale for revisions ready for review.""" ReviewableRevisionInLocaleEvent.notify(request.user, locale=request.LANGUAGE_CODE) statsd.incr('wiki.watches.locale') # A 200 so jQuery interprets it as success return HttpResponse()
def _kb_main(request, readouts, template, locale=None, extra_data=None): """Render a KB statistics overview page. Use the given template, pass the template the given readouts, limit the considered data to the given locale, and pass along anything in the `extra_data` dict to the template in addition to the standard data. """ data = { 'readouts': SortedDict((slug, class_(request, locale=locale)) for slug, class_ in readouts.iteritems()), 'default_locale': settings.WIKI_DEFAULT_LANGUAGE, 'default_locale_name': LOCALES[settings.WIKI_DEFAULT_LANGUAGE].native, 'current_locale_name': LOCALES[request.locale].native, 'is_watching_approved': ApproveRevisionInLocaleEvent.is_notifying(request.user, locale=request.locale), 'is_watching_locale': ReviewableRevisionInLocaleEvent.is_notifying(request.user, locale=request.locale), 'is_watching_approved_default': ApproveRevisionInLocaleEvent.is_notifying( request.user, locale=settings.WIKI_DEFAULT_LANGUAGE) } if extra_data: data.update(extra_data) return jingo.render(request, 'dashboards/' + template, data)
def _save_rev_and_notify(rev_form, creator, document): """Save the given RevisionForm and send notifications.""" new_rev = rev_form.save(creator, document) # Enqueue notifications ReviewableRevisionInLocaleEvent(new_rev).fire(exclude=new_rev.creator) EditDocumentEvent(new_rev).fire(exclude=new_rev.creator)
def render_readouts(request, readouts, template, locale=None, extra_data=None): """Render a readouts, possibly with overview page. Use the given template, pass the template the given readouts, limit the considered data to the given locale, and pass along anything in the `extra_data` dict to the template in addition to the standard data. """ current_locale = locale or request.locale data = {'readouts': SortedDict((slug, class_(request, locale=locale)) for slug, class_ in readouts.iteritems()), 'default_locale': settings.WIKI_DEFAULT_LANGUAGE, 'default_locale_name': LOCALES[settings.WIKI_DEFAULT_LANGUAGE].native, 'current_locale': current_locale, 'current_locale_name': LOCALES[current_locale].native, 'is_watching_approved': ApproveRevisionInLocaleEvent.is_notifying( request.user, locale=request.locale), 'is_watching_locale': ReviewableRevisionInLocaleEvent.is_notifying( request.user, locale=request.locale), 'is_watching_approved_default': ApproveRevisionInLocaleEvent.is_notifying( request.user, locale=settings.WIKI_DEFAULT_LANGUAGE)} if extra_data: data.update(extra_data) return jingo.render(request, 'dashboards/' + template, data)
def render_readouts(request, readouts, template, locale=None, extra_data=None, product=None): """Render a readouts, possibly with overview page. Use the given template, pass the template the given readouts, limit the considered data to the given locale, and pass along anything in the `extra_data` dict to the template in addition to the standard data. """ current_locale = locale or request.LANGUAGE_CODE on_default_locale = request.LANGUAGE_CODE == settings.WIKI_DEFAULT_LANGUAGE data = {'readouts': SortedDict((slug, class_(request, locale=locale, product=product)) for slug, class_ in readouts.iteritems() if class_.should_show_to(request.user)), 'default_locale': settings.WIKI_DEFAULT_LANGUAGE, 'default_locale_name': LOCALES[settings.WIKI_DEFAULT_LANGUAGE].native, 'current_locale': current_locale, 'current_locale_name': LOCALES[current_locale].native, 'request_locale_name': LOCALES[request.LANGUAGE_CODE].native, 'is_watching_default_approved': ApproveRevisionInLocaleEvent.is_notifying( request.user, locale=settings.WIKI_DEFAULT_LANGUAGE), 'is_watching_other_approved': None if on_default_locale else ApproveRevisionInLocaleEvent.is_notifying( request.user, locale=request.LANGUAGE_CODE), 'is_watching_default_locale': ReviewableRevisionInLocaleEvent.is_notifying( request.user, locale=settings.WIKI_DEFAULT_LANGUAGE), 'is_watching_other_locale': None if on_default_locale else ReviewableRevisionInLocaleEvent.is_notifying( request.user, locale=request.LANGUAGE_CODE), 'is_watching_default_ready': ReadyRevisionEvent.is_notifying(request.user), 'on_default_locale': on_default_locale, 'announce_form': AnnouncementForm(), 'announcements': Announcement.get_for_locale_name(current_locale), 'product': product, 'products': Product.objects.filter(visible=True), } if extra_data: data.update(extra_data) return jingo.render(request, 'dashboards/' + template, data)
def _save_rev_and_notify(rev_form, creator, document, based_on_id=None, base_rev=None): """Save the given RevisionForm and send notifications.""" new_rev = rev_form.save(creator, document, based_on_id, base_rev) statsd.incr('wiki.revision') # Enqueue notifications ReviewableRevisionInLocaleEvent(new_rev).fire(exclude=new_rev.creator) EditDocumentEvent(new_rev).fire(exclude=new_rev.creator)
def _kb_main(request, readouts, template, locale=None, extra_data=None): """Render a KB statistics overview page. Use the given template, pass the template the given readouts, limit the considered data to the given locale, and pass along anything in the `extra_data` dict to the template in addition to the standard data. """ data = { "readouts": SortedDict((slug, class_(request, locale=locale)) for slug, class_ in readouts.iteritems()), "default_locale": settings.WIKI_DEFAULT_LANGUAGE, "default_locale_name": LOCALES[settings.WIKI_DEFAULT_LANGUAGE].native, "current_locale_name": LOCALES[request.locale].native, "is_watching_approved": ApproveRevisionInLocaleEvent.is_notifying(request.user, locale=request.locale), "is_watching_locale": ReviewableRevisionInLocaleEvent.is_notifying(request.user, locale=request.locale), "is_watching_approved_default": ApproveRevisionInLocaleEvent.is_notifying( request.user, locale=settings.WIKI_DEFAULT_LANGUAGE ), } if extra_data: data.update(extra_data) return render(request, "dashboards/" + template, data)
def unwatch_locale(request): """Stop watching a locale for revisions ready for review.""" ReviewableRevisionInLocaleEvent.stop_notifying(request.user, locale=request.locale) return HttpResponse()
def watch_locale(request): """Start watching a locale for revisions ready for review.""" ReviewableRevisionInLocaleEvent.notify(request.user, locale=request.locale) statsd.incr('wiki.watches.locale') # A 200 so jQuery interprets it as success return HttpResponse()
def unwatch_locale(request): """Stop watching a locale for revisions ready for review.""" ReviewableRevisionInLocaleEvent.stop_notifying(request.user, locale=request.locale) return HttpResponseRedirect(_get_next_url_fallback_localization(request))
def watch_locale(request): """Start watching a locale for revisions ready for review.""" ReviewableRevisionInLocaleEvent.notify(request.user, locale=request.locale) # This redirect is pretty bad, because you might also have been on the # Contributor Dashboard: return HttpResponseRedirect(_get_next_url_fallback_localization(request))
def unwatch_locale(request): """Stop watching a locale for revisions ready for review.""" ReviewableRevisionInLocaleEvent.stop_notifying(request.user, locale=request.locale) return HttpResponseRedirect(reverse('dashboards.localization'))