~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/webapp/errors.py

Add an XHTMLUnauthorizedView which redirects unauthenticated users to the
login page if a page raises an Unauthorized. Alter UserSettingsView to raise
one in the right cases, for testing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
# along with this program; if not, write to the Free Software
16
16
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
17
 
 
18
# Author: Will Grant
 
19
 
18
20
class HTTPError(Exception):
19
21
    '''A base class for all HTTP errors.'''
20
 
    message = None
21
 
 
22
 
    def __init__(self, message=None):
23
 
        # Only override the builtin one if it's actually specified.
24
 
        if message:
25
 
            self.message = message
26
22
 
27
23
class BadRequest(HTTPError):
28
24
    codename = 'Bad Request'
29
 
    message = 'Your browser sent a request that IVLE did not understand.'
30
25
    code = 400
31
26
 
32
27
class Unauthorized(HTTPError):
33
28
    codename = 'Unauthorized'
34
 
    message = 'You are not allowed to view this part of IVLE.'
35
29
    code = 401
36
30
 
37
31
class Forbidden(HTTPError):
38
32
    codename = 'Forbidden'
39
 
    message = 'You are not allowed to view this part of IVLE.'
40
33
    code = 403
41
34
 
42
35
class NotFound(HTTPError):
43
36
    codename = 'Not Found'
44
 
    message = 'The requested path does not exist.'
45
37
    code = 404
46
38
 
47
39
class MethodNotAllowed(HTTPError):
50
42
        super(HTTPError, self).__init__(*args, **kwargs)
51
43
 
52
44
    codename = 'Method Not Allowed'
53
 
    message = '''Your browser sent a request to IVLE using the wrong method.
54
 
This is probably a bug in IVLE; please report it to the administrators.'''
55
45
    code = 405