7
7
enable_debuginfo = False
10
# Note: icon is a string of a file basename. The icon files are found in
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
11
14
# app_icon_dir, defined below.
13
def __init__(self, dir, name, icon = None, requireauth = True,
16
def __init__(self, dir, name, desc=None, icon = None,
17
useconsole = False, requireauth = True, hashelp = False):
22
self.useconsole = useconsole
18
23
self.requireauth = requireauth
19
24
self.hashelp = hashelp
20
25
def __repr__(self):
21
return ("App(dir=" + repr(self.dir) + ", name=" + repr(self.name) +
22
", icon=" + repr(self.icon) +
23
", requireauth=" + repr(self.requireauth) + ", hashelp="
24
+ repr(self.hashelp) + ")")
26
return ("App(dir=%s, name=%s, desc=%s, icon=%s, requireauth=%s, "
27
"hashelp=%s)" % (repr(self.dir), repr(self.name),
28
repr(self.desc), repr(self.icon), repr(self.requireauth),
26
31
# Directory where app icons are stored, relative to the IVLE root.
27
32
app_icon_dir = "media/images/apps"
40
45
# Application definitions
42
47
app_browser = App(dir = "browser",
43
name = "File Browser",
49
desc = "Gives you access to all of your files and lets "
50
"you download, upload, edit and run them.",
44
51
icon = "browser.png",
48
app_editor = App(dir = "editor",
51
53
requireauth = True,
59
61
app_console = App(dir = "console",
63
desc = "A Python console where you can try out code "
64
"without having to save and run it.",
61
65
icon = "console.png",
66
useconsole = False, # We use a full console in this app
62
67
requireauth = True,
102
110
app_forum = App(dir = "forum",
112
desc = "Discussion boards for material relating to "
113
"Informatics, IVLE and Python.",
104
114
icon = "forum.png",
105
115
requireauth = True,
110
120
requireauth = False,
123
app_settings = App(dir = "settings",
124
name = "Account Settings",
125
icon = "settings.png",
129
app_groups = App(dir = "groups",
130
name = "Group Management",
113
135
app_userservice = App(dir = "userservice",
114
136
name = "User Management Service",
115
137
requireauth = False,
140
app_diff = App(dir = "diff",
146
app_svnlog = App(dir = "svnlog",
147
name = "Subversion Log",
151
app_subjects = App(dir = "subjects",
153
desc = "Announcements and information about the subjects "
154
"you are enrolled in.",
155
icon = "subjects.png",
159
app_home = App(dir = "home",
161
desc = "IVLE home page",
118
166
# Mapping URL names to apps
121
169
"files" : app_browser,
123
170
"fileservice" : app_fileservice,
124
171
"console" : app_console,
125
172
"consoleservice" : app_consoleservice,
130
177
"help" : app_help,
131
178
"forum" : app_forum,
180
"settings" : app_settings,
181
"groups" : app_groups,
133
182
"userservice" : app_userservice,
184
"svnlog" : app_svnlog,
185
"subjects" : app_subjects,
135
188
if enable_debuginfo:
136
189
app_url["debuginfo"] = app_debuginfo
139
192
# (The others are hidden unless they are linked to)
140
193
# Note: The values in this list are the URL names as seen in app_url.
142
apps_in_tabs = ["files", "edit", "console", "tutorial", "forum", "help"]
195
apps_in_tabs = ["files", "tutorial", "console",
196
"forum", "subjects", "help"]
198
# List of apps that go in the list on the home page
199
apps_on_home_page = ["subjects", "files", "tutorial", "console", "forum"]