Skip to content

Commit c0357cf

Browse files
authored
Merge pull request #516 from uw-it-aca/fix/MUWM-3796
Fix/muwm 3796
2 parents db8a2c7 + e42f87b commit c0357cf

File tree

5 files changed

+60
-8
lines changed

5 files changed

+60
-8
lines changed

myuw/static/js/card/textbook.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -96,18 +96,19 @@ var TextbookCard = {
9696
var template = Handlebars.compile(source);
9797
var raw = template(template_data);
9898
TextbookCard.dom_target.html(raw);
99+
LogUtils.cardLoaded(TextbookCard.name, TextbookCard.dom_target);
100+
TextbookCard.add_events(term);
101+
},
99102

100-
$(".show_textbooks").on("click", function(ev) {
103+
add_events: function(term) {
104+
$("#show_term_textbooks").on("click", function(ev) {
101105
WSData.log_interaction("card_view_future_textbooks", term);
102106
var hist = window.History;
103107
hist.pushState({
104108
state: "textbooks",
105109
term: term
106110
}, "", "/textbooks/"+term);
107-
return false;
108111
});
109-
LogUtils.cardLoaded(TextbookCard.name, TextbookCard.dom_target);
110-
111112
}
112113

113114
};

myuw/templates/handlebars/card/textbook.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ <h3>Textbooks</h3>
2525

2626
{{#unless no_book_assigned}}
2727
<div class="destination-arrow">
28-
<a class="show_textbooks" href="/textbooks/{{year}},{{quarter}}{{#if summer_term}},{{toLowerCase summer_term}}{{/if}}" title="View textbooks" aria-label="View textbook details for this quarter" ><i role="presentation" class="fa fa-chevron-right"></i></a>
28+
<a class="show_textbooks" id="show_term_textbooks" href="/textbooks/{{year}},{{quarter}}{{#if summer_term}},{{toLowerCase summer_term}}{{/if}}" title="View textbooks" aria-label="View textbook details for this quarter" ><i role="presentation" class="fa fa-chevron-right"></i></a>
2929
</div>
3030
{{/unless}}
3131
</div>

myuw/test/views/textbooks.py

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
from unittest2 import skipIf
2+
from django.test.utils import override_settings
3+
from django.core.urlresolvers import reverse
4+
from myuw.test.api import missing_url, require_url, MyuwApiTest
5+
6+
7+
@require_url('myuw_home')
8+
class TestTextbook(MyuwApiTest):
9+
10+
@skipIf(missing_url("myuw_textbooks_page"),
11+
"myuw_textbooks_page urls not configured")
12+
def test_textbook_current(self):
13+
url = reverse("myuw_textbooks_page")
14+
self.set_user("javerage")
15+
response = self.client.get(url)
16+
self.assertEqual(response.status_code, 200)
17+
self.assertIsNone(response.context['term'])
18+
self.assertIsNone(response.context['textbook'])
19+
self.assertEqual(response.context['year'], 2013)
20+
self.assertEqual(response.context['quarter'], 'spring')
21+
22+
response = self.client.get(url + "/2013,spring/PHYS121AC")
23+
self.assertEqual(response.status_code, 200)
24+
self.assertEqual(response.context['term'], u'2013,spring')
25+
self.assertEqual(response.context['textbook'], u'PHYS121AC')
26+
27+
@skipIf(missing_url("myuw_textbooks_page"),
28+
"myuw_pref_new_site urls not configured")
29+
def test_textbook_future(self):
30+
url = reverse("myuw_textbooks_page")
31+
self.set_user("javerage")
32+
response = self.client.get(url + "/2013,autumn")
33+
self.assertEqual(response.status_code, 200)
34+
self.assertEqual(response.context['term'], u'2013,autumn')
35+
self.assertIsNone(response.context['textbook'])
36+
37+
response = self.client.get(url + "/2013,summer,a-term")
38+
self.assertEqual(response.status_code, 200)
39+
self.assertEqual(response.context['term'], u'2013,summer,a-term')
40+
self.assertIsNone(response.context['textbook'])
41+
42+
response = self.client.get(url + "/2013,summer,b-term")
43+
self.assertEqual(response.status_code, 200)
44+
self.assertEqual(response.context['term'], u'2013,summer,b-term')
45+
self.assertIsNone(response.context['textbook'])
46+
47+
response = self.client.get(url + "/2013,summer,b-term/TRAIN101A")
48+
self.assertEqual(response.status_code, 200)
49+
self.assertEqual(response.context['term'], u'2013,summer,b-term')
50+
self.assertEqual(response.context['textbook'], u'TRAIN101A')

myuw/tests.py

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
from myuw.test.views.logout import TestLogoutLink
5555
from myuw.test.views.mobile_login import TestLoginRedirects
5656
from myuw.test.views.rest_dispatch import TestDispatchErrorCases
57+
from myuw.test.views.textbooks import TestTextbook
5758
from myuw.test.template_tags import TestNetidHash
5859
from myuw.test.userservice_validation import TestValidation
5960
from myuw.test.speed import TestPageSpeeds

myuw/urls.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,11 @@
137137
name="myuw_academic_calendar_page"),
138138
url(r'^future_quarters/(?P<quarter>2[0-9]{3},[-,a-z]+)',
139139
future_quarters, name="myuw_future_quarters_page"),
140-
url(r'^textbooks/?',
140+
url(r'^textbooks/(?P<term>2[0-9]{3},[-,a-z]+)/(?P<textbook>[%A-Z0-9]+)',
141141
textbooks, name="myuw_textbooks_page"),
142-
url(r'^textbooks/(?P<term>2[0-9]{3}-[a-z]+)',
142+
url(r'^textbooks/(?P<term>2[0-9]{3},[-,a-z]+)',
143143
textbooks, name="myuw_textbooks_page"),
144-
url(r'^textbooks/(?P<term>2[0-9]{3}-[a-z]+)/(?P<textbook>[%A-Z0-9]+)',
144+
url(r'^textbooks/?',
145145
textbooks, name="myuw_textbooks_page"),
146146
url(r'^resource(/((?P<category>[a-z]+)?(/(?P<topic>[a-z]+))?)?)?',
147147
category, name="myuw_resource_page"),

0 commit comments

Comments
 (0)