Commit 6824ab63 by Arjun Singh

Merge branch 'master' into feature/arjun/unread_count

parents 117c0b69 5032a1a1
......@@ -21,7 +21,15 @@ class CourseDescriptor(SequenceDescriptor):
self.title = title
self.book_url = book_url
self.table_of_contents = self._get_toc_from_s3()
self.start_page = int(self.table_of_contents[0].attrib['page'])
# The last page should be the last element in the table of contents,
# but it may be nested. So recurse all the way down the last element
last_el = self.table_of_contents[-1]
while last_el.getchildren():
last_el = last_el[-1]
self.end_page = int(last_el.attrib['page'])
@property
def table_of_contents(self):
......
......@@ -53,6 +53,18 @@ section.problem {
float: left;
border-left: 1px solid #ddd;
padding-left: 20px;
margin: 20px 0;
}
input[type="radio"],
input[type="checkbox"] {
float: left;
margin: 4px 8px 0 0;
}
text {
display: block;
margin-left: 25px;
}
}
......
......@@ -281,7 +281,7 @@ __Inherited:__
* `showanswer` - When to show answer. For 'attempted', will show answer after first attempt. Values: never, attempted, answered, closed. Default: closed. Optional.
* `graded` - Whether this section will count towards the students grade. "true" or "false". Defaults to "false".
* `rerandomise` - Randomize question on each attempt. Values: 'always' (students see a different version of the problem after each attempt to solve it)
'onreset' (students see a different version of the problem when they reset, but are not forced to reset after each check)
'onreset' (randomize question when reset button is pressed by the student)
'never' (all students see the same version of the problem)
'per_student' (individual students see the same version of the problem each time the look at it, but that version is different from what other students see)
Default: 'always'. Optional.
......
......@@ -7,7 +7,7 @@ from courseware.courses import get_course_with_access
from lxml import etree
@login_required
def index(request, course_id, book_index, page=0):
def index(request, course_id, book_index, page=None):
course = get_course_with_access(request.user, course_id, 'load')
staff_access = has_access(request.user, course, 'staff')
......@@ -15,10 +15,15 @@ def index(request, course_id, book_index, page=0):
textbook = course.textbooks[book_index]
table_of_contents = textbook.table_of_contents
if page is None:
page = textbook.start_page
return render_to_response('staticbook.html',
{'book_index': book_index, 'page': int(page),
'course': course, 'book_url': textbook.book_url,
'table_of_contents': table_of_contents,
'start_page' : textbook.start_page,
'end_page' : textbook.end_page,
'staff_access': staff_access})
def index_shifted(request, course_id, page):
......
<%inherit file="main.html" />
<%namespace name='static' file='static_content.html'/>
<%block name="title"><title>Textbook – MITx 6.002x</title></%block>
<%block name="title"><title>${course.number} Textbook</title></%block>
<%block name="headextra">
<%static:css group='course'/>
......@@ -38,14 +38,14 @@ function goto_page(n) {
function prev_page() {
var newpage=page-1;
if(newpage<0) newpage=0;
if(newpage< ${start_page}) newpage=${start_page};
goto_page(newpage);
log_event("book", {"type":"prevpage","new":page});
}
function next_page() {
var newpage=page+1;
if(newpage>1008) newpage=1008;
if(newpage> ${end_page}) newpage=${end_page};
goto_page(newpage);
log_event("book", {"type":"nextpage","new":page});
}
......@@ -97,6 +97,10 @@ $("#open_close_accordion a").click(function(){
% for entry in table_of_contents:
${print_entry(entry)}
% endfor
## Don't delete this empty list item. Without it, Jquery.TreeView won't
## render the last list item as expandable.
<li></li>
</ul>
</section>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment