From 1eae675952d24ac04b95cb50c755cd3f7a92473c Mon Sep 17 00:00:00 2001 From: David Baumgold Date: Thu, 1 Aug 2013 13:39:45 -0400 Subject: [PATCH] Create a dedicated CMS.Models.Course Backbone model Initialize on every page that has a context_course set --- cms/envs/common.py | 1 + cms/static/coffee/spec/models/course_spec.coffee | 9 +++++++++ cms/static/js/models/course.js | 10 ++++++++++ cms/templates/base.html | 12 ++++++++++++ cms/templates/manage_users.html | 12 ++---------- 5 files changed, 34 insertions(+), 10 deletions(-) create mode 100644 cms/static/coffee/spec/models/course_spec.coffee create mode 100644 cms/static/js/models/course.js diff --git a/cms/envs/common.py b/cms/envs/common.py index bdb3ec6fde..003e29743b 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -244,6 +244,7 @@ PIPELINE_JS = { rooted_glob(COMMON_ROOT / 'static/', 'coffee/src/**/*.js') + rooted_glob(PROJECT_ROOT / 'static/', 'coffee/src/**/*.js') ) + ['js/hesitate.js', 'js/base.js', 'js/views/feedback.js', + 'js/models/course.js', 'js/models/section.js', 'js/views/section.js', 'js/models/metadata_model.js', 'js/views/metadata_editor_view.js', 'js/models/textbook.js', 'js/views/textbook.js', diff --git a/cms/static/coffee/spec/models/course_spec.coffee b/cms/static/coffee/spec/models/course_spec.coffee new file mode 100644 index 0000000000..07fe6930f4 --- /dev/null +++ b/cms/static/coffee/spec/models/course_spec.coffee @@ -0,0 +1,9 @@ +describe "CMS.Models.Course", -> + describe "basic", -> + beforeEach -> + @model = new CMS.Models.Course({ + name: "Greek Hero" + }) + + it "should take a name argument", -> + expect(@model.get("name")).toEqual("Greek Hero") diff --git a/cms/static/js/models/course.js b/cms/static/js/models/course.js new file mode 100644 index 0000000000..4f2325e94c --- /dev/null +++ b/cms/static/js/models/course.js @@ -0,0 +1,10 @@ +CMS.Models.Course = Backbone.Model.extend({ + defaults: { + "name": "" + }, + validate: function(attrs, options) { + if (!attrs.name) { + return gettext("You must specify a name"); + } + } +}); diff --git a/cms/templates/base.html b/cms/templates/base.html index 44ebf59170..b53dc2657d 100644 --- a/cms/templates/base.html +++ b/cms/templates/base.html @@ -58,6 +58,18 @@ + % if context_course: + + % endif
diff --git a/cms/templates/manage_users.html b/cms/templates/manage_users.html index 9013d98452..0f14174d1c 100644 --- a/cms/templates/manage_users.html +++ b/cms/templates/manage_users.html @@ -162,14 +162,6 @@ <%block name="jsextra">