Commit b737ff626eaef160e6bad3574a5648de485ae4c6

Authored by Felipe Henrique de Almeida Bormann
1 parent b2895806

remove website link is working

links/templates/links/delete.html
... ... @@ -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 'links:delete' link.slug %}" method="post">
  8 + {% csrf_token %}
  9 + <h4>{% trans 'Are you sure you want delete the Website link' %}: {{ link.name }}?</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 23 \ No newline at end of file
... ...
links/views.py
... ... @@ -141,11 +141,44 @@ class CreateLinkView(LoginRequiredMixin, LogMixin, generic.edit.CreateView):
141 141  
142 142 class DeleteLinkView(LoginRequiredMixin, LogMixin, generic.edit.DeleteView):
143 143  
  144 +
  145 + log_component = 'resources'
  146 + log_action = 'delete'
  147 + log_resource = 'link'
  148 + log_context = {}
144 149 login_url = reverse_lazy("users:login")
145 150 redirect_field_name = 'next'
146 151 model = Link
147 152 template_name = 'links/delete.html'
148 153  
  154 + def dispatch(self, request, *args, **kwargs):
  155 + slug = self.kwargs.get('slug', '')
  156 + link = get_object_or_404(Link, slug = slug)
  157 +
  158 + if not has_subject_permissions(request.user, link.topic.subject):
  159 + return redirect(reverse_lazy('subjects:home'))
  160 + return super(DeleteLinkView, self).dispatch(request, *args, **kwargs)
  161 +
  162 + def get_success_url(self):
  163 + messages.success(self.request, _('The Website Link "%s" was removed successfully from virtual environment "%s"!')%(self.object.name, self.object.topic.subject.name))
  164 +
  165 + self.log_context['category_id'] = self.object.topic.subject.category.id
  166 + self.log_context['category_name'] = self.object.topic.subject.category.name
  167 + self.log_context['category_slug'] = self.object.topic.subject.category.slug
  168 + self.log_context['subject_id'] = self.object.topic.subject.id
  169 + self.log_context['subject_name'] = self.object.topic.subject.name
  170 + self.log_context['subject_slug'] = self.object.topic.subject.slug
  171 + self.log_context['topic_id'] = self.object.topic.id
  172 + self.log_context['topic_name'] = self.object.topic.name
  173 + self.log_context['topic_slug'] = self.object.topic.slug
  174 + self.log_context['link_id'] = self.object.id
  175 + self.log_context['link_name'] = self.object.name
  176 + self.log_context['link_slug'] = self.object.slug
  177 +
  178 + super(DeleteLinkView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  179 +
  180 + return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
  181 +
149 182  
150 183 class DetailLinkView(LoginRequiredMixin, LogMixin, generic.detail.DetailView):
151 184  
... ...