# approach?
def item_url(item, suffix=''):
+ if item.item_type == 'ELEC' and suffix == '':
+ return item_download_url(item)
if item.item_type == 'URL' and suffix == '':
return item.url
else:
return '/syrup/course/%d/item/%d/%s' % (item.course_id, item.id, suffix)
+def item_download_url(item):
+ assert item.item_type == 'ELEC'
+ return '/syrup/course/%d/item/%d/dl/%s' % (
+ item.course_id, item.id, item.fileobj.name.split('/')[-1])
+
def course_url(course, suffix=''):
return '/syrup/course/%d/%s' % (course.id, suffix)
font-weight: bold; color: navy;
}
+.itemtree li.item_ELEC {
+ list-style-image: url(tango/view_detailed.png);
+ margin-top: 4;
+}
+
.itemtree li.item_URL {
list-style-image: url(tango/applications-internet.png);
margin-top: 4;
def needs_meta_link(self):
"""Should an 'About' link be displayed for this item?"""
- return self.item_type == 'URL'
+ return self.item_type in ('ELEC', 'URL')
#------------------------------------------------------------
(r'^course/$', 'my_courses'),
(r'^browse/$', 'browse_courses'),
(r'^browse/(?P<browse_option>.*)/$', 'browse_courses'),
- (r'^join/$', 'join_course'),
+ (r'^prefs/$', 'user_prefs'),
(r'^opencourse/$', 'open_courses'),
(r'^search/$', 'search'),
(r'^instructors/$', 'instructors'),
page_num=page_num,
count=count)
-def join_course(request):
- return g.render('join_course.xhtml')
+def user_prefs(request):
+ return g.render('simplemessage.xhtml',
+ title='Sorry...',
+ content='The Preferences page isn\'t ready yet.')
def browse_courses(request, browse_option=''):
#the defaults should be moved into a config file or something...
<li py:for="item, subs in tree" class="item_${item.item_type}">
<a href="${item_url(item)}">${item}</a>
<span py:if="item.needs_meta_link()" class="metalink">
- [<a href="${item_url(item)}meta/">about</a>]
+ [<a href="${item_url(item, 'meta/')}">about</a>]
</span>
<span class="editlinks" py:if="edit">
- [<a href="${item_url(item)}edit/">edit</a>]
+ [<a href="${item_url(item, 'edit/')}">edit</a>]
</span>
${show_tree(subs, edit)}
</li>
<tr py:if="item.url"><th>URL</th><td><a href="${item.url}">${item.url}</a></td></tr>
</table>
<div py:if="item.item_type=='ELEC'">
- <p><a href="${item_url(item)}dl/${item.fileobj.name.split('/')[-1]}">Download</a></p>
+ <p><a href="${item_download_url(item)}">Download</a></p>
<table>
<tr><th>Content type</th><td>${item.fileobj_mimetype}</td></tr>
<tr><th>Content length</th><td>${item.fileobj.size}</td></tr>
<span py:if="user.is_authenticated()">
<strong style="padding-right: 18;">Welcome, ${user.first_name or user.username}!</strong>
<a href="/accounts/logout">Log Out</a>
- • <a href="/user/prefs">Preferences</a>
+ • <a href="/syrup/prefs/">Preferences</a>
• <a href="/admin/">Admin UI</a>
</span>
<span py:if="not user.is_authenticated()">
--- /dev/null
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:py="http://genshi.edgewall.org/">
+<xi:include href="master.xhtml"/>
+<head>
+ <title>${title}</title>
+</head>
+<body>
+ <h1>${title}</h1>
+ ${content}
+</body>
+</html>