Commit 8dbba617d44db21241f1a027bc8c0a27970aecf1
1 parent
781cb416
Exists in
master
and in
3 other branches
Adding file link deletion
Showing
4 changed files
with
46 additions
and
1 deletions
Show diff stats
file_link/models.py
@@ -0,0 +1,22 @@ | @@ -0,0 +1,22 @@ | ||
1 | +{% load i18n %} | ||
2 | + | ||
3 | +<div class="modal fade" id="topic" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> | ||
4 | + <div class="modal-dialog" role="document"> | ||
5 | + <div class="modal-content"> | ||
6 | + <div class="modal-body"> | ||
7 | + <form id="delete_form" action="{% url 'file_links:delete' file_link.slug %}" method="post"> | ||
8 | + {% csrf_token %} | ||
9 | + <h4>{% trans 'Are you sure you want delete the file link' %}: {{ file_link }}?</h4> | ||
10 | + </form> | ||
11 | + </div> | ||
12 | + <div class="modal-footer"> | ||
13 | + <div class="pull-right"> | ||
14 | + <button type="button" class="btn btn-default btn-raised" data-dismiss="modal">{% trans "Close" %}</button> | ||
15 | + </div> | ||
16 | + <div class="pull-left"> | ||
17 | + <button type="submit" form="delete_form" class="btn btn-success btn-raised">{% trans "Delete" %}</button> | ||
18 | + </div> | ||
19 | + </div> | ||
20 | + </div> | ||
21 | + </div> | ||
22 | +</div> | ||
0 | \ No newline at end of file | 23 | \ No newline at end of file |
file_link/urls.py
@@ -6,5 +6,6 @@ from . import views | @@ -6,5 +6,6 @@ from . import views | ||
6 | urlpatterns = [ | 6 | urlpatterns = [ |
7 | url(r'^create/(?P<slug>[\w_-]+)/$', views.CreateView.as_view(), name = 'create'), | 7 | url(r'^create/(?P<slug>[\w_-]+)/$', views.CreateView.as_view(), name = 'create'), |
8 | url(r'^update/(?P<topic_slug>[\w_-]+)/(?P<slug>[\w_-]+)/$', views.UpdateView.as_view(), name = 'update'), | 8 | url(r'^update/(?P<topic_slug>[\w_-]+)/(?P<slug>[\w_-]+)/$', views.UpdateView.as_view(), name = 'update'), |
9 | + url(r'^delete/(?P<slug>[\w_-]+)/$', views.DeleteView.as_view(), name = 'delete'), | ||
9 | url(r'^download/(?P<slug>[\w_-]+)/$', views.DownloadFile.as_view(), name = 'download'), | 10 | url(r'^download/(?P<slug>[\w_-]+)/$', views.DownloadFile.as_view(), name = 'download'), |
10 | ] | 11 | ] |
file_link/views.py
@@ -239,4 +239,26 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView): | @@ -239,4 +239,26 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView): | ||
239 | def get_success_url(self): | 239 | def get_success_url(self): |
240 | messages.success(self.request, _('The File Link "%s" was updated successfully!')%(self.object.name)) | 240 | messages.success(self.request, _('The File Link "%s" was updated successfully!')%(self.object.name)) |
241 | 241 | ||
242 | + return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug}) | ||
243 | + | ||
244 | +class DeleteView(LoginRequiredMixin, generic.DeleteView): | ||
245 | + login_url = reverse_lazy("users:login") | ||
246 | + redirect_field_name = 'next' | ||
247 | + | ||
248 | + template_name = 'file_links/delete.html' | ||
249 | + model = FileLink | ||
250 | + context_object_name = 'file_link' | ||
251 | + | ||
252 | + def dispatch(self, request, *args, **kwargs): | ||
253 | + slug = self.kwargs.get('slug', '') | ||
254 | + file_link = get_object_or_404(FileLink, slug = slug) | ||
255 | + | ||
256 | + if not has_subject_permissions(request.user, file_link.topic.subject): | ||
257 | + return redirect(reverse_lazy('subjects:home')) | ||
258 | + | ||
259 | + return super(DeleteView, self).dispatch(request, *args, **kwargs) | ||
260 | + | ||
261 | + def get_success_url(self): | ||
262 | + messages.success(self.request, _('The File Link "%s" was removed successfully from virtual environment "%s"!')%(self.object.name, self.object.topic.subject.name)) | ||
263 | + | ||
242 | return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug}) | 264 | return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug}) |
243 | \ No newline at end of file | 265 | \ No newline at end of file |