def invite(request, invite_id): inviter, url = reverse_invite_id(invite_id) homepage_invite = url == '/' Metrics.visit_from_invite.record(request, inviter=inviter.id, invite_url=url, homepage_invite=homepage_invite) request.session['inviter'] = inviter.id return HttpResponseRedirect(url)
def process_request(self, request): invite_id = request.GET.get('invite') if not invite_id: return try: inviter, url = reverse_invite_id(invite_id) except Base36DecodeException: return Metrics.visit_from_invite.record(request, inviter=inviter.id, invite_url=url, homepage_invite=homepage_invite) request.session['inviter'] = inviter.id
def test_reverse(self): invite_id = urls.invite_id(self.inviter, comment_id=self.comment.id) inviter2, url = urls.reverse_invite_id(invite_id) self.assertEqual(self.comment.get_absolute_url(), url) self.assertEqual(self.inviter.id, inviter2.id)