Commit 46dd764047a5dcfa831400da203f05b8e4394b55
1 parent
ec57dec6
Exists in
master
and in
2 other branches
Criando o log de visualizar link
Showing
3 changed files
with
24 additions
and
8 deletions
Show diff stats
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' |
links/urls.py
@@ -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 |