Esempio n. 1
0
def announcement(visible_dates=True, **kwargs):
    # Pass in visible_dates=False to hide the announcement.
    if visible_dates:
        defaults = {'show_after': datetime.now() - timedelta(days=2)}
    else:
        defaults = {
            'show_after': datetime.now() - timedelta(days=4),
            'show_until': datetime.now() - timedelta(days=2)
        }
    defaults['content'] = ("*crackles* Captain's log, stardate 43124.5 "
                           "We are doomed.")
    if 'creator' not in kwargs:
        defaults['creator'] = user(save=True)
    defaults.update(kwargs)
    return Announcement(**defaults)
Esempio n. 2
0
def create_for_locale(request):
    """An ajax view to create a new announcement for the current locale."""
    user = request.user
    locale = Locale.objects.get(locale=request.LANGUAGE_CODE)

    if not user_can_announce(user, locale):
        return HttpResponseForbidden()

    form = AnnouncementForm(request.POST)

    if form.is_valid():
        a = Announcement(creator=user, locale=locale, **form.cleaned_data)
        a.save()
        return HttpResponse(json.dumps({"id": a.id}), content_type="application/json")
    else:
        return HttpResponse(json.dumps(form.errors), status=400, content_type="application/json")