Commit 46dd764047a5dcfa831400da203f05b8e4394b55

Authored by Jailson Dias
1 parent ec57dec6

Criando o log de visualizar link

links/models.py
... ... @@ -6,6 +6,8 @@ import datetime
6 6 from topics.models import Topic, Resource
7 7 from users.models import User
8 8 from django.utils import timezone
  9 +from django.core.urlresolvers import reverse_lazy
  10 +
9 11 # Create your models here.
10 12 class Link(Resource):
11 13 link_url = models.URLField(verbose_name = _("Link_URL"))
... ... @@ -19,7 +21,7 @@ class Link(Resource):
19 21 return self.name
20 22  
21 23 def access_link(self):
22   - return self.link_url
  24 + return reverse_lazy('links:view', kwargs = {'slug': self.slug})
23 25  
24 26 def update_link(self):
25 27 return 'links:update'
... ...
links/urls.py
... ... @@ -7,4 +7,4 @@ urlpatterns = [
7 7 url(r'^create/(?P<slug>[\w_-]+)/$', views.CreateLinkView.as_view(), name='create'),
8 8 url(r'^delete/(?P<slug>[\w_-]+)/$', views.DeleteLinkView.as_view(), name='delete'),
9 9 url(r'^update/(?P<topic_slug>[\w_-]+)/(?P<slug>[\w_-]+)/$', views.UpdateLinkView.as_view(), name='update'),
10   - url(r'^view/(?P<slug>[\w_-]+)/$', views.DetailLinkView.as_view(), name='view')]
11 10 \ No newline at end of file
  11 + url(r'^view/(?P<slug>[\w_-]+)/$', views.RedirectUrl.as_view(), name='view')]
12 12 \ No newline at end of file
... ...
links/views.py
... ... @@ -181,18 +181,32 @@ class DeleteLinkView(LoginRequiredMixin, LogMixin, generic.edit.DeleteView):
181 181  
182 182 return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
183 183  
  184 +from django.views.generic.base import RedirectView
184 185  
185   -class DetailLinkView(LoginRequiredMixin, LogMixin, generic.detail.DetailView):
  186 +class RedirectUrl(LogMixin, RedirectView):
186 187 log_component = 'resources'
187 188 log_action = 'view'
188 189 log_resource = 'link'
189 190 log_context = {}
190   - login_url = reverse_lazy("users:login")
191   - redirect_field_name = 'next'
192 191  
193   - model = Link
194   - template_name = 'links/view.html'
195   - context_object_name = 'web_link'
  192 + def get_redirect_url(self, *args, **kwargs):
  193 + link = get_object_or_404(Link,slug=self.kwargs.get("slug",""))
  194 + self.log_context['category_id'] = link.topic.subject.category.id
  195 + self.log_context['category_name'] = link.topic.subject.category.name
  196 + self.log_context['category_slug'] = link.topic.subject.category.slug
  197 + self.log_context['subject_id'] = link.topic.subject.id
  198 + self.log_context['subject_name'] = link.topic.subject.name
  199 + self.log_context['subject_slug'] = link.topic.subject.slug
  200 + self.log_context['topic_id'] = link.topic.id
  201 + self.log_context['topic_name'] = link.topic.name
  202 + self.log_context['topic_slug'] = link.topic.slug
  203 + self.log_context['link_id'] = link.id
  204 + self.log_context['link_name'] = link.name
  205 + self.log_context['link_slug'] = link.slug
  206 +
  207 + super(RedirectUrl, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  208 +
  209 + return link.link_url
196 210  
197 211 class UpdateLinkView(LoginRequiredMixin, LogMixin, generic.edit.UpdateView):
198 212  
... ...