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 | 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 | ... | ... |