コード例 #1
0
ファイル: views.py プロジェクト: ksiuwr/zosia16-site
def lecture_add(request):
    """
    participant can add his own lecture
    """
    zosia = Zosia.objects.find_active()
    if not zosia.is_lectures_open:
        messages.error(request, _("Call for paper is not open right now!"))
        return redirect(reverse('index'))

    form = LectureForm(request.POST or None)
    ctx = {'form': form}

    if request.method == 'POST':
        if form.is_valid():
            lecture = form.save(commit=False)
            lecture.zosia = zosia
            lecture.author = request.user
            lecture.save()
            messages.success(
                request,
                _("Lecture has been saved, it'll be displayed after it's accepted by organizers.")
            )
            return redirect('lectures_index')
        else:
            messages.error(request, errors_format(form))

    return render(request, 'lectures/add.html', ctx)
コード例 #2
0
ファイル: tests.py プロジェクト: zofiakochutek/zosia16-site
    def test_user_create_object(self):
        form = LectureForm({'title': 'foo', 'abstract': 'bar', 'duration': 45,
                            'lecture_type': LectureInternals.TYPE_LECTURE,
                            'person_type': LectureInternals.PERSON_NORMAL})

        with transaction.atomic():
            with self.assertRaises(IntegrityError):
                form.save()

        count = Lecture.objects.count()
        obj = form.save(commit=False)
        obj.zosia = self.zosia
        obj.author = self.user
        obj.save()
        self.assertEqual(count + 1, Lecture.objects.count())
コード例 #3
0
def new_lecture(request):
    form = LectureForm()
    if request.method == "POST":
        form = LectureForm(request.POST)
        if form.is_valid():
            form.save()
    return render(request, 'new_lecture.html', locals())
コード例 #4
0
def edit_lecture(request, lecture_id):
    lecture = get_object_or_404(Lecture, id=lecture_id)
    form = LectureForm(initial=lecture.get_dict())
    if request.method == "POST":
        form = LectureForm(request.POST)
        if form.is_valid():
            form.save_lecture(lecture)
    return render(request, 'edit_lecture.html', locals())
コード例 #5
0
def lecture_add(request):
    """
    participant can add his own lecture
    """
    zosia = Zosia.objects.find_active()
    if not zosia.is_lectures_open:
        messages.error(request, _("Call for paper is not open right now!"))
        return redirect(reverse('index'))

    ctx = {'form': LectureForm(request.POST or None)}
    if request.method == 'POST':
        if ctx['form'].is_valid():
            lecture = ctx['form'].save(commit=False)
            lecture.zosia = zosia
            lecture.author = request.user
            lecture.save()
            messages.success(request, _("Lecture has been saved"))
            return redirect('lectures_index')
        else:
            messages.error(request, _("Please review your form"))
    return render(request, 'lectures/add.html', ctx)
コード例 #6
0
 def test_user_form_no_data(self):
     form = LectureForm({})
     self.assertFalse(form.is_valid())