@@ -67,6 +67,7 @@ require(["prototype"], function(){
6767 upsXml.prototype = {
6868 initialize: function()
6969 {
70+ this.carriersUpsActiveId = 'carriers_ups_active';
7071 this.carriersUpsTypeId = 'carriers_ups_type';
7172 if (!$(this.carriersUpsTypeId)) {
7273 return;
@@ -94,6 +95,7 @@ require(["prototype"], function(){
9495
9596 this.setFormValues();
9697 Event.observe($(this.carriersUpsTypeId), 'change', this.setFormValues.bind(this));
98+ Event.observe($(this.carriersUpsActiveId), 'change', this.setFormValues.bind(this));
9799 },
98100 updateAllowedMethods: function(originShipmentTitle)
99101 {
@@ -148,7 +150,8 @@ require(["prototype"], function(){
148150 $(this.checkingUpsXmlId[a]).removeClassName('required-entry');
149151 }
150152 for (a = 0; a < this.checkingUpsId.length; a++) {
151- $(this.checkingUpsXmlId[a]).addClassName('required-entry');
153+ $(this.checkingUpsId[a]).addClassName('required-entry');
154+ this.changeFieldsDisabledState(this.checkingUpsId, a);
152155 }
153156 Event.stopObserving($('carriers_ups_origin_shipment'), 'change', this.changeOriginShipment.bind(this));
154157 showRowArrayElements(this.onlyUpsElements);
@@ -157,9 +160,10 @@ require(["prototype"], function(){
157160 } else {
158161 for (a = 0; a < this.checkingUpsXmlId.length; a++) {
159162 $(this.checkingUpsXmlId[a]).addClassName('required-entry');
163+ this.changeFieldsDisabledState(this.checkingUpsXmlId, a);
160164 }
161165 for (a = 0; a < this.checkingUpsId.length; a++) {
162- $(this.checkingUpsXmlId [a]).removeClassName('required-entry');
166+ $(this.checkingUpsId [a]).removeClassName('required-entry');
163167 }
164168 Event.observe($('carriers_ups_origin_shipment'), 'change', this.changeOriginShipment.bind(this));
165169 showRowArrayElements(this.onlyUpsXmlElements);
@@ -171,6 +175,16 @@ require(["prototype"], function(){
171175 {
172176 this.originShipmentTitle = key ? key : $F('carriers_ups_origin_shipment');
173177 this.updateAllowedMethods(this.originShipmentTitle);
178+ },
179+ changeFieldsDisabledState: function (fields, key) {
180+ $(fields[key]).disabled = $F(this.carriersUpsActiveId) !== '1'
181+ || $(fields[key] + '_inherit') !== null
182+ && $F(fields[key] + '_inherit') === '1';
183+
184+ if ($(fields[key]).next() !== undefined) {
185+ $(fields[key]).removeClassName('mage-error').next().remove();
186+ $(fields[key]).removeAttribute('style');
187+ }
174188 }
175189 };
176190 xml = new upsXml();
0 commit comments