diff --git a/cms/djangoapps/contentstore/views.py b/cms/djangoapps/contentstore/views.py index 638db228cd..1f206539f3 100644 --- a/cms/djangoapps/contentstore/views.py +++ b/cms/djangoapps/contentstore/views.py @@ -215,7 +215,8 @@ def edit_subsection(request, location): if key not in ['display_name', 'start', 'due', 'format'] and key not in item.system_metadata_fields) can_view_live = False - for unit in item.get_children(): + subsection_units = item.get_children() + for unit in subsection_units: state = compute_unit_state(unit) if state == UnitState.public or state == UnitState.draft: can_view_live = True @@ -229,6 +230,7 @@ def edit_subsection(request, location): 'preview_link': preview_link, 'parent_item': parent, 'policy_metadata' : policy_metadata, + 'subsection_units' : subsection_units, 'can_view_live' : can_view_live }) diff --git a/cms/templates/edit_subsection.html b/cms/templates/edit_subsection.html index 4eb8210816..4c2a7d7516 100644 --- a/cms/templates/edit_subsection.html +++ b/cms/templates/edit_subsection.html @@ -29,7 +29,7 @@
- ${units.enum_units(subsection)} + ${units.enum_units(subsection, subsection_units=subsection_units)}
diff --git a/cms/templates/widgets/units.html b/cms/templates/widgets/units.html index fe955baafe..df632ac3d8 100644 --- a/cms/templates/widgets/units.html +++ b/cms/templates/widgets/units.html @@ -4,9 +4,13 @@ -<%def name="enum_units(subsection, actions=True, selected=None, sortable=True)"> +<%def name="enum_units(subsection, actions=True, selected=None, sortable=True, subsection_units=None)">
    - % for unit in subsection.get_children(): + <% + if subsection_units is None: + subsection_units = subsection.get_children() + %> + % for unit in subsection_units:
  1. <% unit_state = compute_unit_state(unit)