Bugfix: Initialize new tabname to "Empty"

In Studio, when the course administrator creates a new tab, its name was being
initialized as null in the mongo database. This caused students in LMS to get a
server error when trying to access the course page, since LMS was trying to
process the null tabname for translation, etc. Now tabname is initialized as
'Empty', which is how it was being done in the frontend.

STUD-2000
This commit is contained in:
Se Won Jang
2014-07-17 15:40:14 -07:00
parent adae7c6d95
commit 2c3aebf91f
2 changed files with 12 additions and 0 deletions

View File

@@ -429,6 +429,7 @@ def _create_item(request):
# if we add one then we need to also add it to the policy information (i.e. metadata)
# we should remove this once we can break this reference from the course to static tabs
if category == 'static_tab':
display_name = display_name or _("Empty") # Prevent name being None
course = store.get_course(dest_usage_key.course_key)
course.tabs.append(
StaticTab(

View File

@@ -248,6 +248,17 @@ class TestCreateItem(ItemTest):
obj = self.get_item_from_modulestore(usage_key)
self.assertEqual(obj.start, datetime(2030, 1, 1, tzinfo=UTC))
def test_static_tabs_initialization(self):
"""
Test that static tab display names are not being initialized as None.
"""
# Add a new static tab with no explicit name
resp = self.create_xblock(category='static_tab')
usage_key = self.response_usage_key(resp)
# Check that its name is not None
new_tab = self.get_item_from_modulestore(usage_key)
self.assertEquals(new_tab.display_name, 'Empty')
class TestDuplicateItem(ItemTest):
"""