diff --git a/topics/views.py b/topics/views.py index cf2defb..dff6f18 100644 --- a/topics/views.py +++ b/topics/views.py @@ -131,6 +131,18 @@ class DeleteView(LoginRequiredMixin, generic.DeleteView): return super(DeleteView, self).dispatch(request, *args, **kwargs) + def delete(self, request, *args, **kwargs): + self.object = self.get_object() + + if self.object.resource_topic.count() > 0: + messages.error(self.request, _('Could not remove this topic. It has on or more resources attached.')) + + return redirect(reverse_lazy('subjects:view', kwargs = {'slug': self.object.subject.slug})) + else: + self.object.delete() + + return redirect(self.get_success_url()) + def get_success_url(self): messages.success(self.request, _('Topic "%s" was removed from virtual enviroment "%s" successfully!')%(self.object.name, self.object.subject.name)) diff --git a/webpage/templates/webpages/delete.html b/webpage/templates/webpages/delete.html new file mode 100644 index 0000000..d4956ce --- /dev/null +++ b/webpage/templates/webpages/delete.html @@ -0,0 +1,22 @@ +{% load i18n %} + + \ No newline at end of file diff --git a/webpage/templates/webpages/list.html b/webpage/templates/webpages/list.html index 36b5e91..ba491a9 100644 --- a/webpage/templates/webpages/list.html +++ b/webpage/templates/webpages/list.html @@ -25,8 +25,8 @@ @@ -40,11 +40,24 @@ {% endfor %}