def step_2(request, trial_pk): ct = get_object_or_404(ClinicalTrial, id=int(trial_pk)) qs_primary_sponsor = Institution.objects.filter(creator=request.user).order_by('name') if request.POST: form = PrimarySponsorForm(request.POST, instance=ct, queryset=qs_primary_sponsor, display_language=request.user.get_profile().preferred_language) SecondarySponsorSet = inlineformset_factory(ClinicalTrial, TrialSecondarySponsor, form=make_secondary_sponsor_form(request.user),extra=EXTRA_FORMS) SupportSourceSet = inlineformset_factory(ClinicalTrial, TrialSupportSource, form=make_support_source_form(request.user),extra=EXTRA_FORMS) secondary_forms = SecondarySponsorSet(request.POST, instance=ct) sources_form = SupportSourceSet(request.POST, instance=ct) if form.is_valid() and secondary_forms.is_valid() and sources_form.is_valid(): secondary_forms.save() sources_form.save() form.save() return HttpResponseRedirect(reverse('step_2',args=[trial_pk])) else: form = PrimarySponsorForm(instance=ct, queryset=qs_primary_sponsor, default_second_language=ct.submission.get_secondary_language(), display_language=request.user.get_profile().preferred_language) SecondarySponsorSet = inlineformset_factory(ClinicalTrial, TrialSecondarySponsor, form=make_secondary_sponsor_form(request.user),extra=EXTRA_FORMS, can_delete=True) SupportSourceSet = inlineformset_factory(ClinicalTrial, TrialSupportSource, form=make_support_source_form(request.user),extra=EXTRA_FORMS,can_delete=True) secondary_forms = SecondarySponsorSet(instance=ct) sources_form = SupportSourceSet(instance=ct) forms = [form] formsets = [secondary_forms,sources_form] return render_to_response('repository/step_2.html', {'forms':forms,'formsets':formsets, 'trial_pk':trial_pk, 'title':TRIAL_FORMS[1], 'steps': step_list(trial_pk), 'remarks':Remark.opened.filter(submission=ct.submission,context=slugify(TRIAL_FORMS[1])), 'default_second_language': ct.submission.get_secondary_language(), 'available_languages': [lang.lower() for lang in ct.submission.get_mandatory_languages()],}, context_instance=RequestContext(request))
def step_2(request, trial_pk): ct = get_object_or_404(ClinicalTrial, id=int(trial_pk)) if request.POST: form = PrimarySponsorForm(request.POST, instance=ct) SecondarySponsorSet = inlineformset_factory(ClinicalTrial, TrialSecondarySponsor, form=SecondarySponsorForm,extra=EXTRA_FORMS) SupportSourceSet = inlineformset_factory(ClinicalTrial, TrialSupportSource, form=SupportSourceForm,extra=EXTRA_FORMS) secondary_forms = SecondarySponsorSet(request.POST, instance=ct) sources_form = SupportSourceSet(request.POST, instance=ct) if form.is_valid() and secondary_forms.is_valid() and sources_form.is_valid(): form.save() secondary_forms.save() sources_form.save() if request.POST.has_key('submit_next'): return HttpResponseRedirect(reverse("step_3",args=[trial_pk])) return HttpResponseRedirect(reverse("repository.edittrial", args=[trial_pk])) else: form = PrimarySponsorForm(instance=ct) SecondarySponsorSet = inlineformset_factory(ClinicalTrial, TrialSecondarySponsor, form=SecondarySponsorForm,extra=EXTRA_FORMS, can_delete=True) SupportSourceSet = inlineformset_factory(ClinicalTrial, TrialSupportSource, form=SupportSourceForm,extra=EXTRA_FORMS,can_delete=True) secondary_forms = SecondarySponsorSet(instance=ct) sources_form = SupportSourceSet(instance=ct) # import pdb # pdb.set_trace() forms = [form] formsets = [secondary_forms,sources_form] return render_to_response('repository/step_2.html', {'forms':forms,'formsets':formsets, 'username':request.user.username, 'trial_pk':trial_pk, 'title':TRIAL_FORMS[1], 'steps': step_list(trial_pk), 'next_form_title':_('Health Conditions Form')})