From 607b99deced71b388be8ff4b011a9a6b21a0bf19 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Fri, 12 Oct 2012 15:03:06 -0400 Subject: [PATCH 1/7] Make separate links for lms_preview and lms as needed --- cms/djangoapps/contentstore/utils.py | 8 +- cms/djangoapps/contentstore/views.py | 10 +- cms/envs/dev.py | 2 +- cms/static/sass/_unit.scss | 19 ++-- cms/templates/edit_subsection.html | 133 ++++++++++++++------------- cms/templates/unit.html | 1 + cms/templates/widgets/header.html | 2 +- 7 files changed, 90 insertions(+), 85 deletions(-) diff --git a/cms/djangoapps/contentstore/utils.py b/cms/djangoapps/contentstore/utils.py index fe1a64f5cf..9109efd292 100644 --- a/cms/djangoapps/contentstore/utils.py +++ b/cms/djangoapps/contentstore/utils.py @@ -1,7 +1,6 @@ from django.conf import settings from xmodule.modulestore import Location from xmodule.modulestore.django import modulestore -from xmodule.modulestore.draft import DRAFT from xmodule.modulestore.exceptions import ItemNotFoundError @@ -35,13 +34,14 @@ def get_course_location_for_item(location): return location -def get_lms_link_for_item(location): +def get_lms_link_for_item(location, preview=False): location = Location(location) if settings.LMS_BASE is not None: - lms_link = "{lms_base}/courses/{course_id}/jump_to/{location}".format( + lms_link = "//{preview}{lms_base}/courses/{course_id}/jump_to/{location}".format( + preview='preview.' if preview else '', lms_base=settings.LMS_BASE, # TODO: These will need to be changed to point to the particular instance of this problem in the particular course - course_id = modulestore().get_containing_courses(location)[0].id, + course_id=modulestore().get_containing_courses(location)[0].id, location=location, ) else: diff --git a/cms/djangoapps/contentstore/views.py b/cms/djangoapps/contentstore/views.py index ef9613581b..3e49e9f35a 100644 --- a/cms/djangoapps/contentstore/views.py +++ b/cms/djangoapps/contentstore/views.py @@ -188,6 +188,7 @@ def edit_subsection(request, location): break lms_link = get_lms_link_for_item(location) + preview_link = get_lms_link_for_item(location, preview=True) # make sure that location references a 'sequential', otherwise return BadRequest if item.location.category != 'sequential': @@ -214,7 +215,8 @@ def edit_subsection(request, location): 'context_course': course, 'create_new_unit_template': Location('i4x', 'edx', 'templates', 'vertical', 'Empty'), 'lms_link': lms_link, - 'parent_item' : parent, + 'preview_link': preview_link, + 'parent_item': parent, 'policy_metadata' : policy_metadata }) @@ -240,8 +242,8 @@ def edit_unit(request, location): course.location.course == item.location.course): break - # The non-draft location - lms_link = get_lms_link_for_item(item.location._replace(revision=None)) + lms_link = get_lms_link_for_item(item.location) + preview_lms_link = get_lms_link_for_item(item.location, preview=True) component_templates = defaultdict(list) @@ -282,7 +284,7 @@ def edit_unit(request, location): 'unit_location': location, 'components': components, 'component_templates': component_templates, - 'draft_preview_link': lms_link, + 'draft_preview_link': preview_lms_link, 'published_preview_link': lms_link, 'subsection': containing_subsection, 'section': containing_section, diff --git a/cms/envs/dev.py b/cms/envs/dev.py index faf7dc8886..e29ee62e20 100644 --- a/cms/envs/dev.py +++ b/cms/envs/dev.py @@ -53,7 +53,7 @@ DATABASES = { } } -LMS_BASE = "http://localhost:8000" +LMS_BASE = "localhost:8000" REPOS = { 'edx4edx': { diff --git a/cms/static/sass/_unit.scss b/cms/static/sass/_unit.scss index 5eeefaecaa..0b893e1965 100644 --- a/cms/static/sass/_unit.scss +++ b/cms/static/sass/_unit.scss @@ -310,7 +310,7 @@ } } - .preview-button { + .preview-button, .view-button { @include white-button; margin-bottom: 10px; } @@ -325,7 +325,8 @@ .save-button, .preview-button, - .publish-button { + .publish-button, + .view-button { font-size: 11px; margin-top: 10px; padding: 6px 15px 8px; @@ -427,17 +428,15 @@ } .edit-state-draft { - .visibility { + .visibility, + .edit-draft-message, + .view-button { display: none; } .published-alert { display: block; } - - .edit-draft-message { - display: none; - } } .edit-state-public { @@ -446,7 +445,8 @@ .component-actions, .new-component-item, #published-alert, - .publish-draft-message { + .publish-draft-message, + .preview-button { display: none; } @@ -463,7 +463,8 @@ #delete-draft, #publish-draft, #published-alert, - #create-draft, { + #create-draft, + .view-button { display: none; } } diff --git a/cms/templates/edit_subsection.html b/cms/templates/edit_subsection.html index ec5adc770a..3b70725053 100644 --- a/cms/templates/edit_subsection.html +++ b/cms/templates/edit_subsection.html @@ -19,31 +19,31 @@
-
- - -
-
- - -
-
- - ${units.enum_units(subsection)} -
-
- -
    - % for policy_name in policy_metadata.keys(): -
  1. - -
  2. - % endfor +
    + + +
    +
    + + +
    +
    + + ${units.enum_units(subsection)} +
    +
    + +
      + % for policy_name in policy_metadata.keys(): +
    1. + +
    2. + % endfor New Policy Data -
    -
    +
+
@@ -51,46 +51,47 @@
diff --git a/cms/templates/widgets/header.html b/cms/templates/widgets/header.html index 08e998381a..6c238313a2 100644 --- a/cms/templates/widgets/header.html +++ b/cms/templates/widgets/header.html @@ -13,7 +13,7 @@
  • Pages
  • Assets
  • Users
  • -
  • Import
  • +
  • Import
  • % endif From 4005cbf455df89b2a0a340b3c4c366558031e743 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Fri, 12 Oct 2012 15:11:02 -0400 Subject: [PATCH 2/7] Hide/show wips w/ press of 'w' key --- cms/static/js/base.js | 2 +- cms/static/sass/_base.scss | 6 ++++++ cms/templates/base.html | 2 +- cms/templates/manage_users.html | 2 +- cms/templates/widgets/header.html | 2 +- 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/cms/static/js/base.js b/cms/static/js/base.js index 8602770d24..d4da4a8b58 100644 --- a/cms/static/js/base.js +++ b/cms/static/js/base.js @@ -306,7 +306,7 @@ function hideModal(e) { function onKeyUp(e) { if(e.which == 87) { - $body.toggleClass('show-wip'); + $body.toggleClass('show-wip hide-wip'); } } diff --git a/cms/static/sass/_base.scss b/cms/static/sass/_base.scss index 69b51b727e..c1875edb06 100644 --- a/cms/static/sass/_base.scss +++ b/cms/static/sass/_base.scss @@ -217,6 +217,12 @@ code { } } +body.hide-wip { + .wip, .wip-box { + display: none !important; + } +} + body.show-wip { .wip { outline: 1px solid #f00 !important; diff --git a/cms/templates/base.html b/cms/templates/base.html index f839cb9753..ab4697ee3e 100644 --- a/cms/templates/base.html +++ b/cms/templates/base.html @@ -17,7 +17,7 @@ <%block name="header_extras"> - + <%include file="widgets/header.html" args="active_tab=active_tab"/> <%include file="courseware_vendor_js.html"/> diff --git a/cms/templates/manage_users.html b/cms/templates/manage_users.html index 142afc2304..3adfa42a16 100644 --- a/cms/templates/manage_users.html +++ b/cms/templates/manage_users.html @@ -12,7 +12,7 @@

    The following list of users have been designated as course staff. This means that these users will have permissions to modify course content. You may add additional source staff below. Please note that they must have already registered and verified their account.

    diff --git a/cms/templates/widgets/header.html b/cms/templates/widgets/header.html index 6c238313a2..6e56c4f591 100644 --- a/cms/templates/widgets/header.html +++ b/cms/templates/widgets/header.html @@ -10,7 +10,7 @@ ${context_course.display_name}