コード例 #1
0
 def get_context_data(self, **kwargs):
     context = super(DatasetCreateUpdate, self).get_context_data(**kwargs)
     contact_pk = 0
     # initial = {'contact': contact_pk})
     context['investigator_formset'] = InvestigatorFormSet(
         instance=self.object)
     context['investigator_formset_helper'] = InvestigatorFormSetHelper()
     context['link_formset'] = LinkFormSet(instance=self.object)
     context['link_formset_helper'] = LinkFormSetHelper()
     context['publication_document_formset'] = \
         PublicationDocumentFormSet(instance=self.object)
     context['publication_document_formset_helper'] = \
         PublicationDocumentFormSetHelper()
     context['publication_pubmed_link_formset'] = \
         PublicationPubMedLinkFormSet(instance=self.object)
     context['publication_pubmed_link_formset_helper'] = \
         PublicationPubMedLinkFormSetHelper()
     context['task_formset'] = TaskFormSet(instance=self.object)
     context['task_formset_helper'] = TaskFormSetHelper()
     context['revision_formset'] = RevisionFormSet(instance=self.object)
     context['revision_formset_helper'] = RevisionFormSetHelper()
     print(self.object)
     if self.object:
         context['contact_formset'] = ContactFormSet(
             queryset=self.object.contacts.all(), )
     else:
         context['contact_formset'] = ContactFormSet(
             queryset=Contact.objects.none(), )
     context['contact_formset_helper'] = ContactFormSetHelper()
     return context
コード例 #2
0
ファイル: views.py プロジェクト: nikolas/open_fmri
    def form_valid(self, form):
        dataset = form.save()

        investigator_formset = InvestigatorFormSet(self.request.POST,
                                                   self.request.FILES,
                                                   instance=dataset)
        if investigator_formset.is_valid():
            investigator_formset.save()

        link_formset = LinkFormSet(self.request.POST, instance=dataset)
        if link_formset.is_valid():
            link_formset.save()

        publication_document_formset = PublicationDocumentFormSet(
            self.request.POST, self.request.FILES, instance=dataset)
        if publication_document_formset.is_valid():
            publication_document_formset.save()

        publication_pubmed_link_formset = PublicationPubMedLinkFormSet(
            self.request.POST, instance=dataset)
        if publication_pubmed_link_formset.is_valid():
            publication_pubmed_link_formset.save()

        revision_formset = RevisionFormSet(self.request.POST, instance=dataset)
        if revision_formset.is_valid():
            revision_formset.save()

        task_formset = TaskFormSet(self.request.POST,
                                   self.request.FILES,
                                   instance=dataset)
        if task_formset.is_valid():
            task_formset.save()

        return super(DatasetCreate, self).form_valid(form)
コード例 #3
0
ファイル: views.py プロジェクト: nikolas/open_fmri
 def get_context_data(self, **kwargs):
     context = super(DatasetCreate, self).get_context_data(**kwargs)
     context['investigator_formset'] = InvestigatorFormSet()
     context['investigator_formset_helper'] = InvestigatorFormSetHelper()
     context['link_formset'] = LinkFormSet()
     context['link_formset_helper'] = LinkFormSetHelper()
     context['publication_document_formset'] = PublicationDocumentFormSet()
     context['publication_document_formset_helper'] = \
         PublicationDocumentFormSetHelper()
     context['publication_pubmed_link_formset'] = \
         PublicationPubMedLinkFormSet()
     context['publication_pubmed_link_formset_helper'] = \
         PublicationPubMedLinkFormSetHelper()
     context['task_formset'] = TaskFormSet()
     context['task_formset_helper'] = TaskFormSetHelper()
     context['revision_formset'] = RevisionFormSet(instance=self.object)
     context['revision_formset_helper'] = RevisionFormSetHelper()
     return context
コード例 #4
0
ファイル: views.py プロジェクト: nikolas/open_fmri
    def form_valid(self, form):
        dataset = form.save()

        investigator_formset = InvestigatorFormSet(self.request.POST,
                                                   self.request.FILES,
                                                   instance=self.object)
        if investigator_formset.is_valid():
            investigator_formset.save()

        link_formset = LinkFormSet(self.request.POST, instance=self.object)
        if link_formset.is_valid():
            link_formset.save()

        publication_document_formset = PublicationDocumentFormSet(
            self.request.POST, self.request.FILES, instance=self.object)
        if publication_document_formset.is_valid():
            publication_document_formset.save()

        publication_pubmed_link_formset = PublicationPubMedLinkFormSet(
            self.request.POST, instance=self.object)
        if publication_pubmed_link_formset.is_valid():
            publication_pubmed_link_formset.save()

        revision_formset = RevisionFormSet(self.request.POST,
                                           instance=self.object)
        if revision_formset.is_valid():
            revision_formset.save()

        task_formset = TaskFormSet(self.request.POST,
                                   self.request.FILES,
                                   instance=self.object)
        if task_formset.is_valid():
            task_formset.save()
        else:
            form_empty_permitted = task_formset.forms[-1].empty_permitted
            form_has_changed = task_formset.forms[-1].changed_data
            total_forms = task_formset.total_form_count()
            raise forms.ValidationError(task_formset.errors)

        return super(DatasetUpdate, self).form_valid(form)
コード例 #5
0
    def form_valid(self, form):
        dataset = form.save()
        self.object = dataset
        invalid_form = False

        investigator_formset = InvestigatorFormSet(self.request.POST,
                                                   self.request.FILES,
                                                   instance=dataset)
        if investigator_formset.is_valid():
            investigator_formset.save()
        else:
            invalid_form = True

        link_formset = LinkFormSet(self.request.POST, instance=dataset)
        if link_formset.is_valid():
            link_formset.save()
        else:
            invalid_form = True

        publication_document_formset = PublicationDocumentFormSet(
            self.request.POST, self.request.FILES, instance=dataset)
        if publication_document_formset.is_valid():
            publication_document_formset.save()
        else:
            invalid_form = True

        publication_pubmed_link_formset = PublicationPubMedLinkFormSet(
            self.request.POST, instance=dataset)
        if publication_pubmed_link_formset.is_valid():
            publication_pubmed_link_formset.save()
        else:
            invalid_form = True

        revision_formset = RevisionFormSet(self.request.POST, instance=dataset)
        if revision_formset.is_valid():
            revision_formset.save()
        else:
            invalid_form = True

        task_formset = TaskFormSet(self.request.POST,
                                   self.request.FILES,
                                   instance=dataset)
        if task_formset.is_valid():
            task_formset.save()
        else:
            invalid_form = True

        contact_formset = ContactFormSet(self.request.POST)
        if contact_formset.is_valid():
            contact_forms = contact_formset.save()
            for contact in contact_forms:
                dataset.contacts.add(contact.pk)
        else:
            invalid_form = True

        print(dataset.contacts.all())
        if invalid_form:
            context = {
                'request':
                self.request,
                'form':
                form,
                'investigator_formset':
                investigator_formset,
                'link_formset':
                link_formset,
                'publication_document_formset':
                publication_document_formset,
                'publication_pubmed_link_formset':
                publication_pubmed_link_formset,
                'revision_formset':
                revision_formset,
                'task_formset':
                task_formset,
                'contact_formset':
                contact_formset,
                'contact_formset_helper':
                ContactFormSetHelper(),
                'investigator_formset_helper':
                InvestigatorFormSetHelper(),
                'link_formset_helper':
                LinkFormSetHelper(),
                'publication_document_formset_helper':
                PublicationDocumentFormSetHelper(),
                'publication_pubmed_link_formset_helper':
                PublicationPubMedLinkFormSetHelper(),
                'task_formset_helper':
                TaskFormSetHelper(),
                'revision_formset_helper':
                RevisionFormSetHelper(),
            }
            return self.render_to_response(context)
        else:
            return HttpResponseRedirect(self.get_success_url())