Browse Source

UI-1429: Use index starting from 1 instead of 0 to configure feature keys

4.3
Joris Tirado 11 years ago
parent
commit
55ac0c3208
2 changed files with 26 additions and 10 deletions
  1. +4
    -0
      submodules/devices/devices.css
  2. +22
    -10
      submodules/devices/devices.js

+ 4
- 0
submodules/devices/devices.css View File

@ -220,6 +220,10 @@
}
/* Adding / Edition Devices Popups */
.overflow-visible .ui-dialog-content {
overflow: visible;
}
.edit-device {
width: 700px;
}


+ 22
- 10
submodules/devices/devices.js View File

@ -164,7 +164,7 @@ define(function(require){
dataDevice.provision.feature_keys = {};
}
for (var i = 0, len = template.feature_keys.iterate - 1; i < len; i++) {
for (var i = 1, len = template.feature_keys.iterate; i < len; i++) {
if (!dataDevice.provision.feature_keys.hasOwnProperty(i)) {
dataDevice.provision.feature_keys[i] = { type: 'none' };
}
@ -284,7 +284,7 @@ define(function(require){
});
$.each(templateDevice.find('.feature-key-index'), function(idx, val) {
$(val).text(parseInt($(val).text(), 10) + 2);
$(val).text(parseInt($(val).text(), 10) + 1);
});
}
@ -493,7 +493,8 @@ define(function(require){
var popup = monster.ui.dialog(templateDevice, {
position: ['center', 20],
title: popupTitle
title: popupTitle,
dialogClass: 'overflow-visible'
});
},
@ -546,6 +547,20 @@ define(function(require){
});
}
/**
* form2object sends feature_keys back as an array even if the first key is 1
* feature_key needs to be coerced into an object to match the datatype in originalData
*/
if (formData.hasOwnProperty('provision') && formData.provision.hasOwnProperty('feature_keys')) {
var featureKeys = {};
formData.provision.feature_keys.forEach(function(val, idx) {
featureKeys[idx + 1] = val;
});
formData.provision.feature_keys = featureKeys;
}
var mergedData = $.extend(true, {}, originalData, formData);
/* The extend doesn't override an array if the new array is empty, so we need to run these snippet after the merge */
@ -577,14 +592,11 @@ define(function(require){
delete mergedData.media.fax.option;
}
// Remove feature keys that are not defined
if (mergedData.hasOwnProperty('provision') && mergedData.provision.hasOwnProperty('feature_keys')) {
var tmp = mergedData.provision.feature_keys;
mergedData.provision.feature_keys = {};
for (var i = 0, len = tmp.length; i < len; i++) {
if (tmp[i].type !== 'none') {
mergedData.provision.feature_keys[i] = tmp[i];
for (var key in mergedData.provision.feature_keys) {
if (mergedData.provision.feature_keys[key].type === 'none') {
delete mergedData.provision.feature_keys[key];
}
}


Loading…
Cancel
Save