Commit d35b2903 by cahrens

Clean up editable_metadata_fields.

parent 305b555d
<%
import hashlib
import copy
import json
hlskey = hashlib.md5(module.location.url()).hexdigest()
%>
<% showHighLevelSource='source_code' in json_metadata_data and json_metadata_data['source_code']['explicitly_set'] %>
% if 'source_code' in json_metadata_data:
<% del json_metadata_data['source_code'] %>
<% showHighLevelSource='source_code' in editable_metadata_fields and editable_metadata_fields['source_code']['explicitly_set'] %>
<% metadata_field_copy = copy.deepcopy(editable_metadata_fields) %>
## Delete 'source_code' field (if it exists) so metadata editor view does not attempt to render it.
% if 'source_code' in editable_metadata_fields:
## source-edit.html needs access to the 'source_code' value, so delete from a copy.
<% del metadata_field_copy['source_code'] %>
% endif
<div class="wrapper-comp-settings metadata_edit" id="settings-tab" data-metadata='${json.dumps(json_metadata_data)}'/>
<div class="wrapper-comp-settings metadata_edit" id="settings-tab" data-metadata='${json.dumps(metadata_field_copy)}'/>
% if showHighLevelSource:
<a href="#hls-modal-${hlskey}" style="color:yellow;" id="hls-trig-${hlskey}" >Edit High Level Source</a>
......
......@@ -31,13 +31,9 @@ class MakoModuleDescriptor(XModuleDescriptor):
"""
Return the context to render the mako template with
"""
# TODO: just return a single thing.
[editable_metadata, simplified_metadata] = self.editable_metadata_fields
return {
'module': self,
'editable_metadata_fields': editable_metadata,
'json_metadata_data' : simplified_metadata
'editable_metadata_fields': self.editable_metadata_fields
}
def get_html(self):
......
......@@ -626,8 +626,7 @@ class XModuleDescriptor(XModuleFields, HTMLSnippet, ResourceTemplates, XBlock):
"""
inherited_metadata = getattr(self, '_inherited_metadata', {})
inheritable_metadata = getattr(self, '_inheritable_metadata', {})
metadata = {}
simple_metadata = {}
metadata_fields = {}
for field in self.fields:
if field.scope != Scope.settings or field in self.non_editable_metadata_fields:
......@@ -643,12 +642,6 @@ class XModuleDescriptor(XModuleFields, HTMLSnippet, ResourceTemplates, XBlock):
if field.name in inherited_metadata:
explicitly_set = False
metadata[field.name] = {'field': field,
'value': value,
'default_value': default_value,
'inheritable': inheritable,
'explicitly_set': explicitly_set}
# We support the following editors:
# 1. A select editor for fields with a list of possible values (includes Booleans).
# 2. Number editor for integers and floats.
......@@ -670,7 +663,7 @@ class XModuleDescriptor(XModuleFields, HTMLSnippet, ResourceTemplates, XBlock):
type = "Integer"
elif isinstance(field, Float):
type = "Float"
simple_metadata[field.name] = {'field_name' : field.name,
metadata_fields[field.name] = {'field_name' : field.name,
'type' : type,
'display_name' : field.display_name,
'value': field.to_json(value),
......@@ -680,7 +673,7 @@ class XModuleDescriptor(XModuleFields, HTMLSnippet, ResourceTemplates, XBlock):
'explicitly_set': explicitly_set,
'help': field.help}
return metadata, simple_metadata
return metadata_fields
class DescriptorSystem(object):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment