Skip to content

Commit

Permalink
changed createupdate view return value to not overwrite many to many …
Browse files Browse the repository at this point in the history
…relations created in overridden validation function
  • Loading branch information
rwblair committed Oct 7, 2016
1 parent e73b475 commit cc6ca4f
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
1 change: 0 additions & 1 deletion open_fmri/apps/dataset/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,6 @@ def __init__(self, *args, **kwargs):
Field('name', css_class="form-control"),
Field('email', css_class="form-control"),
Field('website', css_class="form-control"),
Field('DELETE', css_class="form-control"),
css_class="fieldset-control form-control"
)
)
Expand Down
14 changes: 8 additions & 6 deletions open_fmri/apps/dataset/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from django import forms
from django.core.exceptions import ObjectDoesNotExist
from django.core.urlresolvers import reverse, reverse_lazy
from django.http import HttpResponseRedirect
from django.shortcuts import redirect, render, get_object_or_404
from django.utils.crypto import constant_time_compare, salted_hmac
from django.views.generic import (CreateView, DeleteView, DetailView,
Expand Down Expand Up @@ -112,7 +113,6 @@ def get_context_data(self, **kwargs):
context['has_contacts'] = self.object.contacts.all().count() > 0
return context


class DatasetCreateUpdate(LoginRequiredMixin, SingleObjectTemplateResponseMixin,
ModelFormMixin, ProcessFormView):
model = Dataset
Expand Down Expand Up @@ -159,6 +159,7 @@ def get_context_data(self, **kwargs):
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(),
Expand All @@ -172,6 +173,7 @@ def get_context_data(self, **kwargs):

def form_valid(self, form):
dataset = form.save()
self.object = dataset
invalid_form = False

investigator_formset = InvestigatorFormSet(self.request.POST,
Expand Down Expand Up @@ -218,11 +220,12 @@ def form_valid(self, form):
contact_formset = ContactFormSet(self.request.POST)
if contact_formset.is_valid():
contact_forms = contact_formset.save()
for contact_form in contact_forms:
dataset.contacts.add(contact_form)
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,
Expand All @@ -244,8 +247,7 @@ def form_valid(self, form):
}
return self.render_to_response(context)
else:
return super(DatasetCreateUpdate, self).form_valid(form)

return HttpResponseRedirect(self.get_success_url())


class FeaturedDatasetEdit(LoginRequiredMixin, CreateView):
Expand Down

0 comments on commit cc6ca4f

Please sign in to comment.