Catrope has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/172317

Change subject: Followup a054a75: don't reintroduce removed template parameters
......................................................................

Followup a054a75: don't reintroduce removed template parameters

Deep-extending originalData is asking for trouble, because there's
no way to delete anything that way.

Change-Id: I44d3e582e04942efceae3e0bdbbaa147095b5146
---
M modules/ve-mw/dm/models/ve.dm.MWTemplateModel.js
1 file changed, 13 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/17/172317/1

diff --git a/modules/ve-mw/dm/models/ve.dm.MWTemplateModel.js 
b/modules/ve-mw/dm/models/ve.dm.MWTemplateModel.js
index f146104..11d6441 100644
--- a/modules/ve-mw/dm/models/ve.dm.MWTemplateModel.js
+++ b/modules/ve-mw/dm/models/ve.dm.MWTemplateModel.js
@@ -325,7 +325,9 @@
  * @inheritdoc
  */
 ve.dm.MWTemplateModel.prototype.serialize = function () {
-       var name,
+       var name, origName,
+               origData = this.originalData || {},
+               origParams = origData.params || {},
                template = { target: this.getTarget(), params: {} },
                params = this.getParameters();
 
@@ -333,10 +335,18 @@
                if ( name === '' ) {
                        continue;
                }
-               template.params[params[name].getOriginalName()] = { wt: 
params[name].getValue() };
+               origName = params[name].getOriginalName();
+               template.params[origName] = ve.extendObject(
+                       {},
+                       origParams[origName],
+                       { wt: params[name].getValue() }
+               );
+
        }
 
-       template = ve.extendObject( true, {}, this.originalData || {}, template 
);
+       // Performs a non-deep extend, so this won't reintroduce
+       // deleted parameters (bug 73134)
+       template = ve.extendObject( {}, origData, template );
        return { template: template };
 };
 

-- 
To view, visit https://gerrit.wikimedia.org/r/172317
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I44d3e582e04942efceae3e0bdbbaa147095b5146
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Catrope <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to