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

« back to all changes in this revision

Viewing changes to ivle/webapp/tutorial/breadcrumbs.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:
1
 
# IVLE - Informatics Virtual Learning Environment
2
 
# Copyright (C) 2007-2009 The University of Melbourne
3
 
#
4
 
# This program is free software; you can redistribute it and/or modify
5
 
# it under the terms of the GNU General Public License as published by
6
 
# the Free Software Foundation; either version 2 of the License, or
7
 
# (at your option) any later version.
8
 
#
9
 
# This program is distributed in the hope that it will be useful,
10
 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 
# GNU General Public License for more details.
13
 
#
14
 
# You should have received a copy of the GNU General Public License
15
 
# along with this program; if not, write to the Free Software
16
 
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
 
 
18
 
class ExercisesBreadcrumb(object):
19
 
    @property
20
 
    def url(self):
21
 
        return '/+exercises'
22
 
 
23
 
    @property
24
 
    def text(self):
25
 
        return 'Exercises'
26
 
 
27
 
 
28
 
class ExerciseBreadcrumb(object):
29
 
    def __init__(self, req, context):
30
 
        self.req = req
31
 
        self.context = context
32
 
 
33
 
    @property
34
 
    def url(self):
35
 
        return self.req.publisher.generate(self.context)
36
 
 
37
 
    @property
38
 
    def text(self):
39
 
        return self.context.name
40
 
 
41
 
    @property
42
 
    def extra_breadcrumbs_before(self):
43
 
        return [ExercisesBreadcrumb()]
44
 
 
45
 
 
46
 
class WorksheetBreadcrumb(object):
47
 
    def __init__(self, req, context):
48
 
        self.req = req
49
 
        self.context = context
50
 
 
51
 
    @property
52
 
    def url(self):
53
 
        return self.req.publisher.generate(self.context)
54
 
 
55
 
    @property
56
 
    def text(self):
57
 
        return self.context.name
58