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

621 by mattgiuca
Added 2 new apps: home and subjects. Both fairly incomplete, just a basic
1
# IVLE
2
# Copyright (C) 2007-2008 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
# App: subjects
19
# Author: Matt Giuca
20
# Date: 29/2/2008
21
22
# This is an IVLE application.
23
# A sample / testing application for IVLE.
24
627 by mattgiuca
subjects: Now presents a top-level subjects menu (same as tutorials).
25
import os
26
import urllib
27
import cgi
28
1099.1.34 by William Grant
Split up ivle.webapp.base.views into ivle.webapp.base.{rest,xhtml}, as it was
29
from ivle.webapp.base.xhtml import XHTMLView
1099.1.115 by William Grant
Add tabs to the new framework. Move the app icons into the apps themselves.
30
from ivle.webapp.base.plugins import ViewPlugin, MediaPlugin
1099.1.20 by William Grant
ivle.webapp.admin.subject: Port www/apps/subjects to new framework.
31
from ivle.webapp.errors import NotFound
32
from ivle.database import Subject
1079 by William Grant
Merge setup-refactor branch. This completely breaks existing installations;
33
from ivle import util
621 by mattgiuca
Added 2 new apps: home and subjects. Both fairly incomplete, just a basic
34
1099.1.20 by William Grant
ivle.webapp.admin.subject: Port www/apps/subjects to new framework.
35
36
class SubjectsView(XHTMLView):
37
    '''The view of the list of subjects.'''
1099.1.35 by William Grant
ivle.webapp.base.xhtml#XHTMLView: Rename app_template to template (the things
38
    template = 'subjects.html'
1116 by William Grant
Move the old tutorial views into the 'subjects' tab, so they get the right
39
    tab = 'subjects'
1099.1.20 by William Grant
ivle.webapp.admin.subject: Port www/apps/subjects to new framework.
40
1099.1.110 by William Grant
Implement an authorization system in the new framework. This breaks the REST
41
    def authorize(self, req):
42
        return req.user is not None
43
1099.1.20 by William Grant
ivle.webapp.admin.subject: Port www/apps/subjects to new framework.
44
    def populate(self, req, ctx):
1111 by William Grant
On /subjects list only the user's enrolled offerings, and link to +worksheets.
45
        ctx['enrolments'] = req.user.active_enrolments
1099.1.20 by William Grant
ivle.webapp.admin.subject: Port www/apps/subjects to new framework.
46
1099.1.115 by William Grant
Add tabs to the new framework. Move the app icons into the apps themselves.
47
class Plugin(ViewPlugin, MediaPlugin):
1099.1.20 by William Grant
ivle.webapp.admin.subject: Port www/apps/subjects to new framework.
48
    urls = [
49
        ('subjects/', SubjectsView),
50
    ]
1099.1.115 by William Grant
Add tabs to the new framework. Move the app icons into the apps themselves.
51
52
    tabs = [
1118 by matt.giuca
Rewrote tooltips for the four tabs visible by default.
53
        ('subjects', 'Subjects',
54
         'View subject content and complete worksheets',
55
         'subjects.png', 'subjects', 5)
1099.1.115 by William Grant
Add tabs to the new framework. Move the app icons into the apps themselves.
56
    ]
57
58
    media = 'subject-media'