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

« back to all changes in this revision

Viewing changes to lib/conf/apps.py

Move the login machinery to the new framework.

The login page is now redirected to by the XHTML Unauthorized page, and knows
to return to the right URL when authentication succeeds. It also means that we
no longer return a 200 with login page content for a totally unrelated page...

Some of the user stuff (disabling, Tos, etc.) is now broken, and /logout moved
to /+logout.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# IVLE Configuration File
2
 
# conf/apps.py
3
 
# Configuration of plugin applications for IVLE
4
 
# These should not need to be modified by admins unless new applications are
5
 
# plugged in.
6
 
 
7
 
enable_debuginfo = False
8
 
 
9
 
# Allow App objects
10
 
# Notes:
11
 
# desc is a full description for the front page. It isn't required
12
 
# unless this app is in apps_on_home_page.
13
 
# icon is a string of a file basename. The icon files are found in
14
 
# app_icon_dir, defined below.
15
 
class App:
16
 
    def __init__(self, dir, name, desc=None, icon = None,
17
 
        requireauth = True, hashelp = False):
18
 
        self.dir = dir
19
 
        self.name = name
20
 
        self.desc = desc
21
 
        self.icon = icon
22
 
        self.requireauth = requireauth
23
 
        self.hashelp = hashelp
24
 
    def __repr__(self):
25
 
        return ("App(dir=%s, name=%s, desc=%s, icon=%s, requireauth=%s, "
26
 
                "hashelp=%s)" % (repr(self.dir), repr(self.name),
27
 
                repr(self.desc), repr(self.icon), repr(self.requireauth),
28
 
                repr(self.hashelp)))
29
 
 
30
 
# Directory where app icons are stored, relative to the IVLE root.
31
 
app_icon_dir = "media/images/apps"
32
 
# Small version of icons (16x16, for favicon)
33
 
app_icon_dir_small = "media/images/apps/small"
34
 
 
35
 
# Which application to load by default (if the user navigates to the top level
36
 
# of the site). This is the app's URL name.
37
 
# Note that if this app requires authentication, the user will first be
38
 
# presented with the login screen.
39
 
default_app = "home"
40
 
# Which application to use for "public host" URLs.
41
 
# (See conf.py)
42
 
public_app = "serve"
43
 
 
44
 
# Application definitions
45
 
 
46
 
app_browser =   App(dir = "browser",
47
 
                    name = "Files",
48
 
                    desc = "Gives you access to all of your files and lets "
49
 
                           "you download, upload, edit and run them.",
50
 
                    icon = "browser.png",
51
 
                    requireauth = True,
52
 
                    hashelp = True)
53
 
 
54
 
app_fileservice = App(dir = "fileservice",
55
 
                    name = "File Service (AJAX server)",
56
 
                    requireauth = True,
57
 
                    hashelp = False)
58
 
 
59
 
app_console =     App(dir = "console",
60
 
                    name = "Console",
61
 
                    desc = "A Python console where you can try out code "
62
 
                           "without having to save and run it.",
63
 
                    icon = "console.png",
64
 
                    requireauth = True,
65
 
                    hashelp = True)
66
 
 
67
 
app_consoleservice = App(dir = "consoleservice",
68
 
                    name = "Console Service",
69
 
                    requireauth = True,
70
 
                    hashelp = False)
71
 
 
72
 
app_tutorial =     App(dir = "tutorial",
73
 
                    name = "Worksheets",
74
 
                    desc = "Online tutorials and exercises for lab work.",
75
 
                    icon = "tutorial.png",
76
 
                    requireauth = True,
77
 
                    hashelp = True)
78
 
 
79
 
app_tutorialservice = App(dir = "tutorialservice",
80
 
                    name = "Tutorial Service",
81
 
                    requireauth = True,
82
 
                    hashelp = False)
83
 
 
84
 
app_server =    App(dir = "server",
85
 
                    name = "Server",
86
 
                    requireauth = True,
87
 
                    hashelp = False)
88
 
 
89
 
app_download =  App(dir = "download",
90
 
                    name = "Download",
91
 
                    requireauth = True,
92
 
                    hashelp = False)
93
 
 
94
 
app_help =      App(dir = "help",
95
 
                    name = "Help",
96
 
                    desc = "IVLE help pages",
97
 
                    icon = "help.png",
98
 
                    requireauth = True,
99
 
                    hashelp = False)
100
 
 
101
 
app_debuginfo = App(dir = "debuginfo",
102
 
                    name = "Debug Information",
103
 
                    requireauth = False,
104
 
                    hashelp = False)
105
 
 
106
 
app_forum = App(dir = "forum",
107
 
                    name = "Forum",
108
 
                    desc = "Discussion boards for material relating to "
109
 
                           "Informatics, IVLE and Python.",
110
 
                    icon = "forum.png",
111
 
                    requireauth = True,
112
 
                    hashelp = False)
113
 
 
114
 
app_tos = App(dir = "tos",
115
 
                    name = "Terms of Service",
116
 
                    requireauth = False,
117
 
                    hashelp = False)
118
 
 
119
 
app_settings = App(dir = "settings",
120
 
                    name = "Account Settings",
121
 
                    icon = "settings.png",
122
 
                    requireauth = True,
123
 
                    hashelp = True)
124
 
 
125
 
app_userservice = App(dir = "userservice",
126
 
                    name = "User Management Service",
127
 
                    requireauth = False,
128
 
                    hashelp = False)
129
 
 
130
 
app_diff = App(dir = "diff",
131
 
                    name = "Diff",
132
 
                    #icon = "forum.png",
133
 
                    requireauth = True,
134
 
                    hashelp = False)
135
 
 
136
 
app_svnlog = App(dir = "svnlog",
137
 
                    name = "Subversion Log",
138
 
                    requireauth = True,
139
 
                    hashelp = False)
140
 
 
141
 
app_subjects = App(dir = "subjects",
142
 
                    name = "Subjects",
143
 
                    desc = "Announcements and information about the subjects "
144
 
                           "you are enrolled in.",
145
 
                    icon = "subjects.png",
146
 
                    requireauth = False,
147
 
                    hashelp = False)
148
 
 
149
 
app_home = App(dir = "home",
150
 
                    name = "Home",
151
 
                    desc = "IVLE home page",
152
 
                    icon = "home.png",
153
 
                    requireauth = True,
154
 
                    hashelp = False)
155
 
 
156
 
# Mapping URL names to apps
157
 
 
158
 
app_url = {
159
 
    "files" : app_browser,
160
 
    "fileservice" : app_fileservice,
161
 
    "console" : app_console,
162
 
    "consoleservice" : app_consoleservice,
163
 
    "tutorial" : app_tutorial,
164
 
    "tutorialservice" : app_tutorialservice,
165
 
    "serve" : app_server,
166
 
    "download" : app_download,
167
 
    "help" : app_help,
168
 
    "forum" : app_forum,
169
 
    "tos" : app_tos,
170
 
    "settings" : app_settings,
171
 
    "userservice" : app_userservice,
172
 
    "diff" : app_diff,
173
 
    "svnlog" : app_svnlog,
174
 
    "subjects" : app_subjects,
175
 
    "home" : app_home,
176
 
}
177
 
if enable_debuginfo:
178
 
    app_url["debuginfo"] = app_debuginfo
179
 
 
180
 
# List of apps that go in the tabs at the top
181
 
# (The others are hidden unless they are linked to)
182
 
# Note: The values in this list are the URL names as seen in app_url.
183
 
 
184
 
apps_in_tabs = ["home", "subjects", "files", "tutorial", "console",
185
 
                "forum", "help"]
186
 
 
187
 
# List of apps that go in the list on the home page
188
 
apps_on_home_page = ["subjects", "files", "tutorial", "console", "forum"]