47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
#!/usr/bin/env python
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
openslides.mediafile.forms
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
Forms for the mediafile app.
|
||
|
||
:copyright: 2011–2013 by OpenSlides team, see AUTHORS.
|
||
:license: GNU GPL, see LICENSE for more details.
|
||
"""
|
||
|
||
from django.forms import ModelForm
|
||
|
||
from openslides.utils.forms import CssClassMixin
|
||
|
||
from .models import Mediafile
|
||
|
||
|
||
class MediafileNormalUserCreateForm(CssClassMixin, ModelForm):
|
||
"""
|
||
Form to create a media file. This form is only used by normal users,
|
||
not by managers.
|
||
"""
|
||
class Meta:
|
||
model = Mediafile
|
||
exclude = ('uploader',)
|
||
|
||
|
||
class MediafileUpdateForm(CssClassMixin, ModelForm):
|
||
"""
|
||
Form to edit mediafile entries. This form is only for managers to update
|
||
the mediafile entry.
|
||
"""
|
||
class Meta:
|
||
model = Mediafile
|
||
|
||
def save(self, *args, **kwargs):
|
||
"""
|
||
Method to save the form. Here the overwrite is to delete old files.
|
||
"""
|
||
if not self.instance.pk is None:
|
||
old_file = Mediafile.objects.get(pk=self.instance.pk).mediafile
|
||
if not old_file == self.instance.mediafile:
|
||
old_file.delete()
|
||
return super(MediafileUpdateForm, self).save(*args, **kwargs)
|