def proposal_add(request): try: speaker = Speaker.objects.get(user=request.user) except Speaker.DoesNotExist: if request.user.first_name or request.user.last_name: name = u'{0} {1}'.format(request.user.first_name, request.user.last_name) else: name = request.user.username speaker = Speaker(user=request.user, name = name, invite_email = request.user.email, invite_token = '') if request.method == 'POST': form = ProposalForm(request.POST) if form.is_valid(): #save speaker speaker.biography = form.cleaned_data['biography'] speaker.annotation = speaker.annotation or '' speaker.save() #save proposal Proposal.objects.create( title=form.cleaned_data['title'], description=form.cleaned_data['description'], kind=form.cleaned_data['kind'], category=PresentationCategory.objects.get(slug='general'), abstract=form.cleaned_data['abstract'], audience_level=form.cleaned_data['audience_level'], additional_notes=form.cleaned_data['additional_notes'], duration=form.cleaned_data['duration'], speaker=speaker, submitted=datetime.datetime.now(), cancelled=False) return HttpResponseRedirect('/proposal-sent') else: form = ProposalForm(initial={'biography': speaker.biography.raw}) return render_to_response('proposal_add.html', { 'form': form, }, context_instance=RequestContext(request))
def setUp(self): # Create base conference infrastructure that has to exist in # order to create a Proposal. conference = Conference(title="Conference") conference.save() section = Section(conference=conference, name="Section", slug="section") section.save() proposal_kind = ProposalKind(section=section, name="Kind", slug="kind") proposal_kind.save() speaker = Speaker(name="Paul Ryan") speaker.save() self.proposal = Proposal.objects.create( title="Title", description="Description", abstract="Abstract", kind=proposal_kind, speaker=speaker, audience_level=1, )