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)
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())
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())
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())
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)
def test_user_form_no_data(self): form = LectureForm({}) self.assertFalse(form.is_valid())