Commit d35b2903 by cahrens

Clean up editable_metadata_fields.

parent 305b555d
<% <%
import hashlib import hashlib
import copy
import json import json
hlskey = hashlib.md5(module.location.url()).hexdigest() hlskey = hashlib.md5(module.location.url()).hexdigest()
%> %>
<% showHighLevelSource='source_code' in json_metadata_data and json_metadata_data['source_code']['explicitly_set'] %> <% showHighLevelSource='source_code' in editable_metadata_fields and editable_metadata_fields['source_code']['explicitly_set'] %>
% if 'source_code' in json_metadata_data: <% metadata_field_copy = copy.deepcopy(editable_metadata_fields) %>
<% del json_metadata_data['source_code'] %> ## 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 % 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: % if showHighLevelSource:
<a href="#hls-modal-${hlskey}" style="color:yellow;" id="hls-trig-${hlskey}" >Edit High Level Source</a> <a href="#hls-modal-${hlskey}" style="color:yellow;" id="hls-trig-${hlskey}" >Edit High Level Source</a>
......
...@@ -31,13 +31,9 @@ class MakoModuleDescriptor(XModuleDescriptor): ...@@ -31,13 +31,9 @@ class MakoModuleDescriptor(XModuleDescriptor):
""" """
Return the context to render the mako template with Return the context to render the mako template with
""" """
# TODO: just return a single thing.
[editable_metadata, simplified_metadata] = self.editable_metadata_fields
return { return {
'module': self, 'module': self,
'editable_metadata_fields': editable_metadata, 'editable_metadata_fields': self.editable_metadata_fields
'json_metadata_data' : simplified_metadata
} }
def get_html(self): def get_html(self):
......
...@@ -626,8 +626,7 @@ class XModuleDescriptor(XModuleFields, HTMLSnippet, ResourceTemplates, XBlock): ...@@ -626,8 +626,7 @@ class XModuleDescriptor(XModuleFields, HTMLSnippet, ResourceTemplates, XBlock):
""" """
inherited_metadata = getattr(self, '_inherited_metadata', {}) inherited_metadata = getattr(self, '_inherited_metadata', {})
inheritable_metadata = getattr(self, '_inheritable_metadata', {}) inheritable_metadata = getattr(self, '_inheritable_metadata', {})
metadata = {} metadata_fields = {}
simple_metadata = {}
for field in self.fields: for field in self.fields:
if field.scope != Scope.settings or field in self.non_editable_metadata_fields: if field.scope != Scope.settings or field in self.non_editable_metadata_fields:
...@@ -643,12 +642,6 @@ class XModuleDescriptor(XModuleFields, HTMLSnippet, ResourceTemplates, XBlock): ...@@ -643,12 +642,6 @@ class XModuleDescriptor(XModuleFields, HTMLSnippet, ResourceTemplates, XBlock):
if field.name in inherited_metadata: if field.name in inherited_metadata:
explicitly_set = False 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: # We support the following editors:
# 1. A select editor for fields with a list of possible values (includes Booleans). # 1. A select editor for fields with a list of possible values (includes Booleans).
# 2. Number editor for integers and floats. # 2. Number editor for integers and floats.
...@@ -670,7 +663,7 @@ class XModuleDescriptor(XModuleFields, HTMLSnippet, ResourceTemplates, XBlock): ...@@ -670,7 +663,7 @@ class XModuleDescriptor(XModuleFields, HTMLSnippet, ResourceTemplates, XBlock):
type = "Integer" type = "Integer"
elif isinstance(field, Float): elif isinstance(field, Float):
type = "Float" type = "Float"
simple_metadata[field.name] = {'field_name' : field.name, metadata_fields[field.name] = {'field_name' : field.name,
'type' : type, 'type' : type,
'display_name' : field.display_name, 'display_name' : field.display_name,
'value': field.to_json(value), 'value': field.to_json(value),
...@@ -680,7 +673,7 @@ class XModuleDescriptor(XModuleFields, HTMLSnippet, ResourceTemplates, XBlock): ...@@ -680,7 +673,7 @@ class XModuleDescriptor(XModuleFields, HTMLSnippet, ResourceTemplates, XBlock):
'explicitly_set': explicitly_set, 'explicitly_set': explicitly_set,
'help': field.help} 'help': field.help}
return metadata, simple_metadata return metadata_fields
class DescriptorSystem(object): 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