def setup(self): user1 = User(username="******", email="*****@*****.**", first_name="john", last_name="smith") user2 = User(username="******", email="*****@*****.**", first_name="sally", last_name="smith") user1.save() user2.save() teacher1 = Teacher() teacher1.teacher = user1 teacher1.save() teacher2 = Teacher() teacher2.teacher = user2 teacher2.save() course1 = Course(teacher=teacher1, name="Intro1", position=1) course2 = Course(teacher=teacher2, name="Advanced2", position=2) course1.save() course2.save() lesson1 = Lesson(course=course1, name="Lesson1", description="Intro1 - Lesson1", position=1) lesson2 = Lesson(course=course1, name="Lesson2", description="Intro1 - Lesson2", position=2) lesson1.save() lesson2.save() slide1 = Slide(lesson=lesson1, name="Slide1", content="<h1>Slide1</h1>", position=1, googleStyles=" ") slide2 = Slide(lesson=lesson1, name="Slide2", content="<h1>Slide2</h1>", position=2, googleStyles=" ") slide1.save() slide2.save()
def test_slide_insert(self): print "in test_slide_insert" setup(self) self.assertEqual(Slide.objects.count(), 2) slide3 = Slide(lesson=Lesson.objects.get(pk=1), name="Slide3", content="<h1>Slide3</h1>", position=3, googleStyles=" ") slide3.save() self.assertEqual(Slide.objects.count(), 3)
def slide_admin_update(request, slide_id, prefix): if request.is_ajax(): form = SlideForm(request.POST) if prefix == 'None' else SlideForm(request.POST, prefix=prefix) if form.is_valid(): try: slide = Slide.objects.get(pk=slide_id) slide.lesson = form.cleaned_data['lesson'] slide.content = form.cleaned_data['content'] slide.googleStyles = form.cleaned_data['googleStyles'] slide.name = form.cleaned_data['name'] slide.save() return HttpResponse('OK') except ObjectDoesNotExist: # create new object position = None if Slide.objects.count() > 0: slide = Slide.objects.order_by('-position').all()[0] position = slide.position else: position = 1 newslide = Slide() newslide.lesson = form.cleaned_data['lesson'] newslide.name = form.cleaned_data['name'] newslide.content = form.cleaned_data['content'] newslide.googleStyles = form.cleaned_data['googleStyles'] newslide.position = position newslide.save() response = {'created_object_id': newslide.pk} return HttpResponse(json.dumps(response), mimetype="application/json") else: errors_dict = {} if form.errors: for error in form.errors: e = form.errors[error] field = prefix+"-"+error; errors_dict[field] = unicode(e) print errors_dict return HttpResponseBadRequest(json.dumps(errors_dict)) else: return HttpResponseNotFound('You do not have permission to access this page!')