Commit 3629ead9793ef310dffd30ed1ee5f3d60de33286
1 parent
52b42091
Exists in
master
and in
5 other branches
Update permission to remove file [#134]
Showing
1 changed file
with
2 additions
and
1 deletions
Show diff stats
files/views.py
@@ -5,6 +5,7 @@ from django.contrib import messages | @@ -5,6 +5,7 @@ from django.contrib import messages | ||
5 | from django.core.urlresolvers import reverse_lazy | 5 | from django.core.urlresolvers import reverse_lazy |
6 | from django.contrib.auth.mixins import LoginRequiredMixin | 6 | from django.contrib.auth.mixins import LoginRequiredMixin |
7 | from rolepermissions.mixins import HasRoleMixin | 7 | from rolepermissions.mixins import HasRoleMixin |
8 | +from rolepermissions.verifications import has_role | ||
8 | from .forms import FileForm, UpdateFileForm | 9 | from .forms import FileForm, UpdateFileForm |
9 | from .models import TopicFile | 10 | from .models import TopicFile |
10 | from .utils import mime_type_to_material_icons | 11 | from .utils import mime_type_to_material_icons |
@@ -115,7 +116,7 @@ class DeleteFile(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): | @@ -115,7 +116,7 @@ class DeleteFile(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): | ||
115 | 116 | ||
116 | def dispatch(self, *args, **kwargs): | 117 | def dispatch(self, *args, **kwargs): |
117 | file = get_object_or_404(TopicFile, slug = self.kwargs.get('slug')) | 118 | file = get_object_or_404(TopicFile, slug = self.kwargs.get('slug')) |
118 | - if(not (file.topic.owner == self.request.user)): | 119 | + if(not (file.topic.owner == self.request.user) and not(has_role(self.request.user, 'system_admin')) ): |
119 | return self.handle_no_permission() | 120 | return self.handle_no_permission() |
120 | return super(DeleteFile, self).dispatch(*args, **kwargs) | 121 | return super(DeleteFile, self).dispatch(*args, **kwargs) |
121 | 122 |