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

« back to all changes in this revision

Viewing changes to www/apps/groups/__init__.py

  • Committer: William Grant
  • Date: 2009-01-19 03:56:17 UTC
  • mto: This revision was merged to the branch mainline in revision 1090.
  • Revision ID: grantw@unimelb.edu.au-20090119035617-fvsbr179u9ncgp3r
www/apps/groups: Port last bits to Storm, and remove ivle.db stuff.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
import cgi
27
27
 
28
28
from ivle import (util, caps)
29
 
import ivle.db
30
29
from ivle.database import Enrolment, Subject, Semester, Offering
31
30
 
32
31
def handle(req):
41
40
    req.write_html_head_foot = True     # Have dispatch print head and foot
42
41
 
43
42
    req.write('<div id="ivle_padding">\n')
 
43
 
44
44
    # Show a group panel per enrolment
45
 
    db = ivle.db.DB()
46
 
    try:
47
 
        enrolments = req.user.active_enrolments
48
 
        if enrolments.count() == 0:
49
 
            req.write("<p>Error: You are not currently enrolled in any subjects."
50
 
                      "</p>\n")
51
 
        for enrolment in enrolments:
52
 
            show_subject_panel(req, db, enrolment.offering)
53
 
        if req.user.hasCap(caps.CAP_MANAGEGROUPS):
54
 
            show_groupadmin_panel(req)
55
 
        
56
 
        req.write("</div>\n")
57
 
    finally:
58
 
        db.close()
 
45
    enrolments = req.user.active_enrolments
 
46
    if enrolments.count() == 0:
 
47
        req.write("<p>Error: You are not currently enrolled in any subjects."
 
48
                  "</p>\n")
 
49
    for enrolment in enrolments:
 
50
        show_subject_panel(req, enrolment.offering)
 
51
    if req.user.hasCap(caps.CAP_MANAGEGROUPS):
 
52
        show_groupadmin_panel(req)
 
53
 
 
54
    req.write("</div>\n")
59
55
 
60
56
def show_groupadmin_panel(req):
61
57
    """
75
71
        onclick=\"manage_subject()\" />\n")
76
72
    req.write("<div id=\"subject_div\"></div>")
77
73
 
78
 
def show_subject_panel(req, db, offering):
 
74
def show_subject_panel(req, offering):
79
75
    """
80
76
    Show the group management panel for a particular subject.
81
77
    Prints to req.
105
101
                '</p>\n' % {"groupnm": cgi.escape(group.name)})
106
102
        req.write("<h3>Members</h3>\n")
107
103
        req.write("<ul>\n")
108
 
        for user in db.get_projectgroup_members(group.id):
 
104
        for user in group.members:
109
105
            req.write("<li>%s (%s)</li>" %
110
 
                      (cgi.escape(user['fullname']),
111
 
                       cgi.escape(user['login'])))
 
106
                      (cgi.escape(user.fullname),
 
107
                       cgi.escape(user.login)))
112
108
        req.write("</ul>\n")
113
109
 
114
110
    req.write("</div>")