Example #1
0
    def test_get_request(self):
        """clean_return_path works for GET requests"""
        bad_request = MockRequest('GET', {
            'HTTP_REFERER': 'http://cookies.com',
            'HTTP_HOST': 'misago-project.org'
        })
        self.assertIsNone(clean_return_path(bad_request))

        bad_request = MockRequest('GET', {
            'HTTP_REFERER': 'https://misago-project.org/',
            'HTTP_HOST': 'misago-project.org/'
        })
        self.assertIsNone(clean_return_path(bad_request))

        bad_request = MockRequest('GET', {
            'HTTP_REFERER': 'https://misago-project.org/',
            'HTTP_HOST': 'misago-project.org/assadsa/'
        })
        self.assertIsNone(clean_return_path(bad_request))

        ok_request = MockRequest('GET', {
            'HTTP_REFERER': 'http://misago-project.org/',
            'HTTP_HOST': 'misago-project.org/'
        })
        self.assertEqual(clean_return_path(ok_request), '/')

        ok_request = MockRequest('GET', {
            'HTTP_REFERER': 'http://misago-project.org/login/',
            'HTTP_HOST': 'misago-project.org/'
        })
        self.assertEqual(clean_return_path(ok_request), '/login/')
Example #2
0
    def test_post_request(self):
        """clean_return_path works for POST requests"""
        bad_request = MockRequest('POST', {
            'HTTP_REFERER': 'http://misago-project.org/',
            'HTTP_HOST': 'misago-project.org/'
        }, {'return_path': '/sdasdsa/'})
        self.assertIsNone(clean_return_path(bad_request))

        ok_request = MockRequest('POST', {
            'HTTP_REFERER': 'http://misago-project.org/',
            'HTTP_HOST': 'misago-project.org/'
        }, {'return_path': '/login/'})
        self.assertEqual(clean_return_path(ok_request), '/login/')
Example #3
0
    def test_post_request(self):
        """clean_return_path works for POST requests"""
        bad_request = MockRequest(
            'POST', {
                'HTTP_REFERER': 'http://misago-project.org/',
                'HTTP_HOST': 'misago-project.org/'
            }, {'return_path': '/sdasdsa/'})
        self.assertIsNone(clean_return_path(bad_request))

        ok_request = MockRequest(
            'POST', {
                'HTTP_REFERER': 'http://misago-project.org/',
                'HTTP_HOST': 'misago-project.org/'
            }, {'return_path': '/login/'})
        self.assertEqual(clean_return_path(ok_request), '/login/')
Example #4
0
def moderation_return_path(request, user):
    return_path = clean_return_path(request)
    if not return_path:
        return reverse(user_profile.get_default_link(),
                       kwargs={
                           'user_slug': user.slug,
                           'user_id': user.pk
                       })
    return return_path
Example #5
0
    def test_get_request(self):
        """clean_return_path works for GET requests"""
        bad_request = MockRequest(
            'GET', {
                'HTTP_REFERER': 'http://cookies.com',
                'HTTP_HOST': 'misago-project.org',
            }
        )
        self.assertIsNone(clean_return_path(bad_request))

        bad_request = MockRequest(
            'GET', {
                'HTTP_REFERER': 'https://misago-project.org/',
                'HTTP_HOST': 'misago-project.org/',
            }
        )
        self.assertIsNone(clean_return_path(bad_request))

        bad_request = MockRequest(
            'GET', {
                'HTTP_REFERER': 'https://misago-project.org/',
                'HTTP_HOST': 'misago-project.org/assadsa/',
            }
        )
        self.assertIsNone(clean_return_path(bad_request))

        ok_request = MockRequest(
            'GET', {
                'HTTP_REFERER': 'http://misago-project.org/',
                'HTTP_HOST': 'misago-project.org/',
            }
        )
        self.assertEqual(clean_return_path(ok_request), '/')

        ok_request = MockRequest(
            'GET', {
                'HTTP_REFERER': 'http://misago-project.org/login/',
                'HTTP_HOST': 'misago-project.org/',
            }
        )
        self.assertEqual(clean_return_path(ok_request), '/login/')
Example #6
0
 def decorator(request, profile):
     response = f(request, profile.lock())
     if request.is_ajax():
         response['is_error'] = False
         return JsonResponse(response)
     else:
         messages.success(request, response['message'])
         return_path = clean_return_path(request)
         if return_path:
             return redirect(return_path)
         else:
             return redirect(user_profile.get_default_link(),
                             user_slug=profile.slug, user_id=profile.id)
Example #7
0
 def decorator(request, profile):
     response = f(request, profile.lock())
     if request.is_ajax():
         response['is_error'] = False
         return JsonResponse(response)
     else:
         messages.success(request, response['message'])
         return_path = clean_return_path(request)
         if return_path:
             return redirect(return_path)
         else:
             return redirect(user_profile.get_default_link(),
                             user_slug=profile.slug,
                             user_id=profile.id)
Example #8
0
def moderation_return_path(request, user):
    return_path = clean_return_path(request)
    if not return_path:
        return reverse(user_profile.get_default_link(),
                       kwargs={'user_slug': user.slug, 'user_id': user.pk})
    return return_path