diff --git a/openslides/mediafile/views.py b/openslides/mediafile/views.py
index 5a6746784..8e068c631 100644
--- a/openslides/mediafile/views.py
+++ b/openslides/mediafile/views.py
@@ -43,7 +43,7 @@ class MediafileCreateView(CreateView):
def get_form(self, form_class):
form_kwargs = self.get_form_kwargs()
if self.request.method == 'GET':
- form_kwargs['initial'].update({'uploader': self.request.user.person_id}) # TODO: Check this.
+ form_kwargs['initial'].update({'uploader': self.request.user.person_id})
if not self.request.user.has_perm('mediafile.can_manage'):
# Return our own ModelForm
return MediafileNormalUserCreateForm(**form_kwargs)
@@ -52,6 +52,13 @@ class MediafileCreateView(CreateView):
return form_class(**form_kwargs)
def manipulate_object(self, *args, **kwargs):
+ """Method to handle the uploader
+
+ If a user has manager permissions, he has to set the uploader
+ in the given form field. Then this method only calls super.
+ Else it sets the requesting user as uploader.
+
+ """
if not self.request.user.has_perm('mediafile.can_manage'):
self.object.uploader = self.request.user
return super(MediafileCreateView, self).manipulate_object(*args, **kwargs)
diff --git a/tests/mediafile/tests.py b/tests/mediafile/tests.py
index d648aad39..89b84e288 100644
--- a/tests/mediafile/tests.py
+++ b/tests/mediafile/tests.py
@@ -82,22 +82,25 @@ class MediafileTest(TestCase):
for client in self.login_clients().itervalues():
response = client.get('/mediafile/')
self.assertEqual(response.status_code, 200)
+ self.assertTemplateUsed(response, 'mediafile/mediafile_list.html')
bad_client = Client()
response = bad_client.get('/mediafile/')
- self.assertEqual(response.status_code, 302)
+ self.assertRedirects(response, expected_url='/login/?next=/mediafile/', status_code=302, target_status_code=200)
def test_upload_mediafile_get_request(self):
clients = self.login_clients()
response = clients['client_manager'].get('/mediafile/new/')
self.assertContains(response, '---------', status_code=200)
self.assertContains(response, '', status_code=200)
+ self.assertTemplateUsed(response, 'mediafile/mediafile_form.html')
response = clients['client_vip_user'].get('/mediafile/new/')
- self.assertEqual(response.status_code, 200)
+ self.assertNotContains(response, '