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 +6,8 @@ import datetime
6 from topics.models import Topic, Resource 6 from topics.models import Topic, Resource
7 from users.models import User 7 from users.models import User
8 from django.utils import timezone 8 from django.utils import timezone
  9 +from django.core.urlresolvers import reverse_lazy
  10 +
9 # Create your models here. 11 # Create your models here.
10 class Link(Resource): 12 class Link(Resource):
11 link_url = models.URLField(verbose_name = _("Link_URL")) 13 link_url = models.URLField(verbose_name = _("Link_URL"))
@@ -19,7 +21,7 @@ class Link(Resource): @@ -19,7 +21,7 @@ class Link(Resource):
19 return self.name 21 return self.name
20 22
21 def access_link(self): 23 def access_link(self):
22 - return self.link_url 24 + return reverse_lazy('links:view', kwargs = {'slug': self.slug})
23 25
24 def update_link(self): 26 def update_link(self):
25 return 'links:update' 27 return 'links:update'
@@ -7,4 +7,4 @@ urlpatterns = [ @@ -7,4 +7,4 @@ urlpatterns = [
7 url(r'^create/(?P<slug>[\w_-]+)/$', views.CreateLinkView.as_view(), name='create'), 7 url(r'^create/(?P<slug>[\w_-]+)/$', views.CreateLinkView.as_view(), name='create'),
8 url(r'^delete/(?P<slug>[\w_-]+)/$', views.DeleteLinkView.as_view(), name='delete'), 8 url(r'^delete/(?P<slug>[\w_-]+)/$', views.DeleteLinkView.as_view(), name='delete'),
9 url(r'^update/(?P<topic_slug>[\w_-]+)/(?P<slug>[\w_-]+)/$', views.UpdateLinkView.as_view(), name='update'), 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 \ No newline at end of file 10 \ No newline at end of file
  11 + url(r'^view/(?P<slug>[\w_-]+)/$', views.RedirectUrl.as_view(), name='view')]
12 \ No newline at end of file 12 \ No newline at end of file
links/views.py
@@ -181,18 +181,32 @@ class DeleteLinkView(LoginRequiredMixin, LogMixin, generic.edit.DeleteView): @@ -181,18 +181,32 @@ class DeleteLinkView(LoginRequiredMixin, LogMixin, generic.edit.DeleteView):
181 181
182 return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug}) 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 log_component = 'resources' 187 log_component = 'resources'
187 log_action = 'view' 188 log_action = 'view'
188 log_resource = 'link' 189 log_resource = 'link'
189 log_context = {} 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 class UpdateLinkView(LoginRequiredMixin, LogMixin, generic.edit.UpdateView): 211 class UpdateLinkView(LoginRequiredMixin, LogMixin, generic.edit.UpdateView):
198 212