Permalink
Browse files

Correctly restore field options

  • Loading branch information...
kravets-levko authored and akariv committed Dec 6, 2016
1 parent a3b33b3 commit ea2dbe13e4c71207839ab472e992f225076d638f
Showing with 13 additions and 3 deletions.
  1. +13 −3 app/services/package.js
View
@@ -175,8 +175,15 @@ function convertResource(resource, dataPackage, dataPackageUrl) {
field.slug = originalField.slug;
field.type = originalField.osType;
var allowedOptionFields = _.map(
new OSTypes().getDataTypeExtraOptions(field.type),
function(option) {
return option.name;
}
);
// Populate additional properties
field.options = {};
field.options = _.pick(originalField, allowedOptionFields);
var measure = _.find(dataPackage.model.measures, function(item) {
return item.source == field.name;
@@ -194,18 +201,21 @@ function convertResource(resource, dataPackage, dataPackageUrl) {
.value());
}
var allowedFields = ['format', 'decimalChar', 'groupChar'];
_.each(dataPackage.model.dimensions, function(dimension) {
var attr = _.find(dimension.attributes, function(item) {
return item.source == field.name;
});
if (attr) {
_.extend(field.options, _.pick(attr, allowedFields));
_.extend(field.options, _.pick(attr, allowedOptionFields));
// Field can belong only to one dimension, so once we found it -
// break the loop
return false;
}
});
if (_.isString(field.options.format)) {
field.options.format = field.options.format.replace(/^fmt:/g, '');
}
}
});
return result;

0 comments on commit ea2dbe1

Please sign in to comment.