summaryrefslogtreecommitdiff
path: root/chimere/forms.py
diff options
context:
space:
mode:
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
commit3a19d84d3e197a12239a597a7d771383111ce211 (patch)
tree754d3912f213c73a9a9bae448596f1ac917f914f /chimere/forms.py
parent5a288ffd137ab2167479e995b173edfd6e6d235c (diff)
downloadChimè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.py8
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):
"""