diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-04-19 21:05:30 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-04-19 21:05:30 +0200 |
commit | 3a19d84d3e197a12239a597a7d771383111ce211 (patch) | |
tree | 754d3912f213c73a9a9bae448596f1ac917f914f /chimere/forms.py | |
parent | 5a288ffd137ab2167479e995b173edfd6e6d235c (diff) | |
download | Chimère-3a19d84d3e197a12239a597a7d771383111ce211.tar.bz2 Chimère-3a19d84d3e197a12239a597a7d771383111ce211.zip |
Fix multimedia and picture submissions for new multimedia files
Diffstat (limited to 'chimere/forms.py')
-rw-r--r-- | chimere/forms.py | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/chimere/forms.py b/chimere/forms.py index fb71057..84ae27b 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -280,6 +280,7 @@ class BaseFileForm(forms.ModelForm): if not hasattr(self, '_related_name') or not self._related_name: raise ImproperlyConfigured super(BaseFileForm, self).__init__(*args, **kwargs) + self.fields.pop('marker') def save(self, associated_marker): if not hasattr(self, 'cleaned_data') or not self.cleaned_data: @@ -287,11 +288,8 @@ class BaseFileForm(forms.ModelForm): instance = None if self.cleaned_data.get('id'): try: - # marker must be equal to none because the link has just be - # removed - this condition is necessary to prevent modification - # of already validated items by a forged request instance = self._meta.model.objects.get( - pk=self.cleaned_data['id'], marker=None) + pk=self.cleaned_data['id']) except: pass self.cleaned_data.pop('id') @@ -300,13 +298,13 @@ class BaseFileForm(forms.ModelForm): instance.delete() return self.cleaned_data.pop('DELETE') + self.cleaned_data['marker'] = associated_marker if instance: for k in self.cleaned_data: setattr(instance, k, self.cleaned_data[k]) instance.save() else: instance = self._meta.model.objects.create(**self.cleaned_data) - getattr(associated_marker, self._related_name).add(instance) class MultimediaFileForm(BaseFileForm): """ |