def add_person( request ): if request.method == "POST": form = PersonForm( request.POST ) if form.is_valid(): person = form.save( commit=False ) person.permalink = slughifi( "%s %s" % ( person.name, person.surname ) ) try: # if person with same permalink already exist # we should return this person silent. person = Person.objects.get( permalink = person.permalink ) except Person.DoesNotExist: person.type = Person.TYPE_PERSON person.save() if person: return http.HttpResponse( '<script type="text/javascript">opener.dismissAddAnotherPopup( window, "%s", "%s" );</script>' % ( person.pk, escape( person ) )) else: form = PersonForm() return render_to_response( "person/add-person-popup.html", { 'form': form })
def add_person(request): if request.method == "POST": form = PersonForm(request.POST) if form.is_valid(): person = form.save(commit=False) person.permalink = slughifi("%s %s" % (person.name, person.surname)) try: # if person with same permalink already exist # we should return this person silent. person = Person.objects.get(permalink=person.permalink) except Person.DoesNotExist: person.type = Person.TYPE_PERSON person.save() if person: return http.HttpResponse( '<script type="text/javascript">opener.dismissAddAnotherPopup( window, "%s", "%s" );</script>' % (person.pk, escape(person))) else: form = PersonForm() return render_to_response("person/add-person-popup.html", {'form': form})
def testPersonIMDBCode(self): # empty form is ivalid form = PersonForm({}) self.assertEqual(form.is_valid(), False) # form with name and surname is OK form = PersonForm({'name': 'Jack', 'surname': 'Mort'}) self.assertTrue(form.is_valid()) # form with bad code is invalid form = PersonForm({ 'name': 'Jack', 'surname': 'Mort', 'imdb_code': 'bad_code' }) self.assertEqual(form.is_valid(), False) # user can set only code form = PersonForm({ 'name': 'Jack', 'surname': 'Mort', 'imdb_code': 'nm1382072' }) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data['imdb_code'], '1382072') # ... or full url form = PersonForm({ 'name': 'Jack', 'surname': 'Mort', 'imdb_code': 'http://www.imdb.com/name/nm1382072' }) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data['imdb_code'], '1382072') # ... and with slash form = PersonForm({ 'name': 'Jack', 'surname': 'Mort', 'imdb_code': 'http://www.imdb.com/name/nm1382072/' }) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data['imdb_code'], '1382072') # but film code is wrong form = PersonForm({ 'name': 'Jack', 'surname': 'Mort', 'imdb_code': 'http://www.imdb.com/title/tt0800080/' }) self.assertEqual(form.is_valid(), False)
def testPersonIMDBCode( self ): # empty form is ivalid form = PersonForm( {} ) self.assertEqual( form.is_valid(), False ) # form with name and surname is OK form = PersonForm( { 'name': 'Jack', 'surname': 'Mort' } ) self.assertTrue( form.is_valid() ) # form with bad code is invalid form = PersonForm( { 'name': 'Jack', 'surname': 'Mort', 'imdb_code': 'bad_code' } ) self.assertEqual( form.is_valid(), False ) # user can set only code form = PersonForm( { 'name': 'Jack', 'surname': 'Mort', 'imdb_code': 'nm1382072' } ) self.assertTrue( form.is_valid() ) self.assertEqual( form.cleaned_data['imdb_code'], '1382072' ) # ... or full url form = PersonForm( { 'name': 'Jack', 'surname': 'Mort', 'imdb_code': 'http://www.imdb.com/name/nm1382072' } ) self.assertTrue( form.is_valid() ) self.assertEqual( form.cleaned_data['imdb_code'], '1382072' ) # ... and with slash form = PersonForm( { 'name': 'Jack', 'surname': 'Mort', 'imdb_code': 'http://www.imdb.com/name/nm1382072/' } ) self.assertTrue( form.is_valid() ) self.assertEqual( form.cleaned_data['imdb_code'], '1382072' ) # but film code is wrong form = PersonForm( { 'name': 'Jack', 'surname': 'Mort', 'imdb_code': 'http://www.imdb.com/title/tt0800080/' } ) self.assertEqual( form.is_valid(), False )