Example #1
0
 def test_create_announcement_from_past_date_auto_publish(self):
     draft_announcement = baker.make(
         Announcement,
         datetime_released=timezone.now() - timedelta(days=3),
         auto_publish=True,
     )
     form = AnnouncementForm(data=model_to_dict(draft_announcement))
     self.assertFalse(form.is_valid())
Example #2
0
def new_announcement(request):
	form = AnnouncementForm(request.POST)

	if not form.is_valid():
		return JSONResponse({'success': False, 'errors': form.errors})

	announcement = form.save(commit=False)
	announcement.owner_band = Band(id=request.POST.get('band_id'))
	announcement.save()

	print EquipamentType(id=5)
	announcement.instruments = [EquipamentType(id=i) for i in request.POST.getlist('instruments')]

	return JSONResponse({ "success": True })
Example #3
0
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)
Example #4
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")
Example #5
0
	def put(self, request):

		try:
			body = request.body.decode('utf-8')
			body = json.loads(body)

		except json.decoder.JSONDecodeError as ex:
			return JsonResponse({ 'error': str(ex) }, status=400)

		form = AnnouncementForm(body)

		if not form.is_valid():
			return JsonResponse(dict(form.errors.items()), status=422)

		Announcement.objects.create(**{
			'content': form.cleaned_data['content'],
		})

		return JsonResponse({})
Example #6
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")
 def test_form_save(self):
     form = AnnouncementForm(data={'text': 'Website Down'})
     new_announcement = form.save()
     self.assertEqual(new_announcement, Announcement.objects.all()[0])