You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728
  1. from django.views.generic import TemplateView, RedirectView
  2. from django.core.urlresolvers import reverse
  3. class HomeView(TemplateView):
  4. """
  5. This is the home page and will typically live at /
  6. """
  7. template_name = 'promotions/home.html'
  8. class RecordClickView(RedirectView):
  9. """
  10. Simple RedirectView that helps recording clicks made on promotions
  11. """
  12. permanent = False
  13. model = None
  14. def get_redirect_url(self, **kwargs):
  15. try:
  16. prom = self.model.objects.get(pk=kwargs['pk'])
  17. except self.model.DoesNotExist:
  18. return reverse('promotions:home')
  19. if prom.promotion.has_link:
  20. prom.record_click()
  21. return prom.link_url
  22. return reverse('promotions:home')