From 46dd764047a5dcfa831400da203f05b8e4394b55 Mon Sep 17 00:00:00 2001 From: Jailson Dias Date: Fri, 5 May 2017 19:36:24 -0300 Subject: [PATCH] Criando o log de visualizar link --- links/models.py | 4 +++- links/urls.py | 2 +- links/views.py | 26 ++++++++++++++++++++------ 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/links/models.py b/links/models.py index d4899fb..659d5ea 100644 --- a/links/models.py +++ b/links/models.py @@ -6,6 +6,8 @@ import datetime from topics.models import Topic, Resource from users.models import User from django.utils import timezone +from django.core.urlresolvers import reverse_lazy + # Create your models here. class Link(Resource): link_url = models.URLField(verbose_name = _("Link_URL")) @@ -19,7 +21,7 @@ class Link(Resource): return self.name def access_link(self): - return self.link_url + return reverse_lazy('links:view', kwargs = {'slug': self.slug}) def update_link(self): return 'links:update' diff --git a/links/urls.py b/links/urls.py index c6857c4..05180bb 100644 --- a/links/urls.py +++ b/links/urls.py @@ -7,4 +7,4 @@ urlpatterns = [ url(r'^create/(?P[\w_-]+)/$', views.CreateLinkView.as_view(), name='create'), url(r'^delete/(?P[\w_-]+)/$', views.DeleteLinkView.as_view(), name='delete'), url(r'^update/(?P[\w_-]+)/(?P[\w_-]+)/$', views.UpdateLinkView.as_view(), name='update'), - url(r'^view/(?P[\w_-]+)/$', views.DetailLinkView.as_view(), name='view')] \ No newline at end of file + url(r'^view/(?P[\w_-]+)/$', views.RedirectUrl.as_view(), name='view')] \ No newline at end of file diff --git a/links/views.py b/links/views.py index d82c720..1e08916 100644 --- a/links/views.py +++ b/links/views.py @@ -181,18 +181,32 @@ class DeleteLinkView(LoginRequiredMixin, LogMixin, generic.edit.DeleteView): return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug}) +from django.views.generic.base import RedirectView -class DetailLinkView(LoginRequiredMixin, LogMixin, generic.detail.DetailView): +class RedirectUrl(LogMixin, RedirectView): log_component = 'resources' log_action = 'view' log_resource = 'link' log_context = {} - login_url = reverse_lazy("users:login") - redirect_field_name = 'next' - model = Link - template_name = 'links/view.html' - context_object_name = 'web_link' + def get_redirect_url(self, *args, **kwargs): + link = get_object_or_404(Link,slug=self.kwargs.get("slug","")) + self.log_context['category_id'] = link.topic.subject.category.id + self.log_context['category_name'] = link.topic.subject.category.name + self.log_context['category_slug'] = link.topic.subject.category.slug + self.log_context['subject_id'] = link.topic.subject.id + self.log_context['subject_name'] = link.topic.subject.name + self.log_context['subject_slug'] = link.topic.subject.slug + self.log_context['topic_id'] = link.topic.id + self.log_context['topic_name'] = link.topic.name + self.log_context['topic_slug'] = link.topic.slug + self.log_context['link_id'] = link.id + self.log_context['link_name'] = link.name + self.log_context['link_slug'] = link.slug + + super(RedirectUrl, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) + + return link.link_url class UpdateLinkView(LoginRequiredMixin, LogMixin, generic.edit.UpdateView): -- libgit2 0.21.2