Fix single-field customfields widgets not setting value properly

This commit is contained in:
Nathan Gray 2015-03-31 19:48:46 +00:00
parent 9fc67020cc
commit 1f88ddf303
3 changed files with 14 additions and 7 deletions

View File

@ -63,7 +63,7 @@
<menulist> <menulist>
<menupopup id="${row}[cf_type2]" no_lang="1" multiple="true" empty_label="All"/> <menupopup id="${row}[cf_type2]" no_lang="1" multiple="true" empty_label="All"/>
</menulist> </menulist>
<description id="${row}[cf_name]" /> <description id="${row}[cf_name]" no_lang="1" />
<vbox> <vbox>
<description id="${row}[cf_label]" no_lang="1"/> <description id="${row}[cf_label]" no_lang="1"/>
<description id="${row}[cf_label]"/> <description id="${row}[cf_label]"/>

View File

@ -371,7 +371,7 @@ class etemplate_widget_customfields extends etemplate_widget_transformer
{ {
self::set_validation_error($field,lang('Field must not be empty !!!'),''); self::set_validation_error($field,lang('Field must not be empty !!!'),'');
} }
$field_name = self::form_name($form_name != self::GLOBAL_ID ? $form_name : $cname, $field); $field_name = $this->id[0] == self::$prefix && $customfields[substr($this->id,1)] ? $this->id : self::form_name($form_name != self::GLOBAL_ID ? $form_name : $cname, $field);
$valid =& self::get_array($validated, $field_name, true); $valid =& self::get_array($validated, $field_name, true);
if (is_array($valid)) $valid = implode(',', $valid); if (is_array($valid)) $valid = implode(',', $valid);

View File

@ -290,6 +290,12 @@ var et2_customfields_list = et2_valueWidget.extend([et2_IDetachedDOM, et2_IInput
var val = contentMgr.getEntry(this.id); var val = contentMgr.getEntry(this.id);
_attrs["value"] = {}; _attrs["value"] = {};
if (val !== null) if (val !== null)
{
if(this.id.indexOf(this.prefix) === 0 && data.fields[this.id.replace(this.prefix,'')] === true)
{
_attrs['value'][this.id] = val;
}
else
{ {
// Only set the values that match desired custom fields // Only set the values that match desired custom fields
for(var key in val) for(var key in val)
@ -298,6 +304,7 @@ var et2_customfields_list = et2_valueWidget.extend([et2_IDetachedDOM, et2_IInput
_attrs["value"][key] = val[key]; _attrs["value"][key] = val[key];
} }
} }
}
//_attrs["value"] = val; //_attrs["value"] = val;
} }
else else