49
49
req.write("<p>Error: You are not currently enrolled in any subjects."
51
51
for enrolment in enrolments:
52
show_subject_panel(req, db, enrolment.offering.id,
53
enrolment.offering.subject.name)
52
show_subject_panel(req, db, enrolment.offering)
54
53
if req.user.hasCap(caps.CAP_MANAGEGROUPS):
55
54
show_groupadmin_panel(req)
76
75
onclick=\"manage_subject()\" />\n")
77
76
req.write("<div id=\"subject_div\"></div>")
79
def show_subject_panel(req, db, offeringid, subj_name):
78
def show_subject_panel(req, db, offering):
81
80
Show the group management panel for a particular subject.
84
83
# Get the groups this user is in, for this offering
85
groups = db.get_groups_by_user(req.user.login, offeringid=offeringid)
84
groups = req.user.get_groups(offering)
85
if groups.count() == 0:
89
req.write("<div id=\"subject%d\"class=\"subject\">"%offeringid)
90
req.write("<h1>%s</h1>\n" % cgi.escape(subj_name))
91
for groupid, groupnm, group_nick, is_member in groups:
92
if group_nick is None:
88
req.write("<div id=\"subject%d\"class=\"subject\">"%offering.id)
89
req.write("<h1>%s</h1>\n" % cgi.escape(offering.subject.name))
94
91
req.write("<h2>%s (%s)</h2>\n" %
95
(cgi.escape(group_nick), cgi.escape(groupnm)))
92
(cgi.escape(group.nick if group.nick else ''),
93
cgi.escape(group.name)))
94
if True: # XXX - was is_member (whether real member or just invited)
97
95
req.write('<p>You are a member of this group.</p>\n')
99
97
req.write('<p>You have been invited to this group.</p>\n')
104
102
'<input type="button" '
105
103
'onclick="decline("%(groupnm)s")" '
106
104
'value="Decline" />\n'
107
'</p>\n' % {"groupnm": cgi.escape(groupnm)})
105
'</p>\n' % {"groupnm": cgi.escape(group.name)})
108
106
req.write("<h3>Members</h3>\n")
109
107
req.write("<ul>\n")
110
for user in db.get_projectgroup_members(groupid):
108
for user in db.get_projectgroup_members(group.id):
111
109
req.write("<li>%s (%s)</li>" %
112
110
(cgi.escape(user['fullname']),
113
111
cgi.escape(user['login'])))