Commit b737ff626eaef160e6bad3574a5648de485ae4c6
1 parent
b2895806
Exists in
master
and in
3 other branches
remove website link is working
Showing
2 changed files
with
55 additions
and
0 deletions
Show diff stats
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 | ... | ... |