Support new discounts import

This commit is contained in:
Colin McLeod
2016-02-24 12:13:17 -08:00
parent 3491d62b99
commit f25152f378

View File

@@ -99,7 +99,8 @@ export default class ModalImport extends TranslatedComponent {
builds: props.builds, builds: props.builds,
canEdit: !props.builds, canEdit: !props.builds,
comparisons: null, comparisons: null,
discounts: null, shipDiscount: null,
moduleDiscount: null,
errorMsg: null, errorMsg: null,
importString: null, importString: null,
importValid: false, importValid: false,
@@ -142,9 +143,19 @@ export default class ModalImport extends TranslatedComponent {
} }
this.setState({ comparisons: importData.comparisons }); this.setState({ comparisons: importData.comparisons });
} }
// Check for old/deprecated discounts
if (importData.discounts instanceof Array && importData.discounts.length == 2) { if (importData.discounts instanceof Array && importData.discounts.length == 2) {
this.setState({ discounts: importData.discounts }); this.setState({ shipDiscount: importData.discounts[0], moduleDiscount: importData.discounts[1] });
} }
// Check for ship discount
if (!isNaN(importData.shipDiscount)) {
this.setState({ shipDiscount: importData.shipDiscount * 1 });
}
// Check for module discount
if (!isNaN(importData.moduleDiscount)) {
this.setState({ shipDiscount: importData.moduleDiscount * 1 });
}
if (typeof importData.insurance == 'string') { if (typeof importData.insurance == 'string') {
let insurance = importData.insurance.toLowerCase(); let insurance = importData.insurance.toLowerCase();
@@ -281,7 +292,8 @@ export default class ModalImport extends TranslatedComponent {
this.setState({ this.setState({
builds: null, builds: null,
comparisons: null, comparisons: null,
discounts: null, shipDiscount: null,
moduleDiscount: null,
errorMsg: null, errorMsg: null,
importValid: false, importValid: false,
insurance: null, insurance: null,
@@ -364,8 +376,9 @@ export default class ModalImport extends TranslatedComponent {
* Import parsed, processed data and save * Import parsed, processed data and save
*/ */
_import() { _import() {
if (this.state.builds) { let state = this.state;
let builds = this.state.builds; if (state.builds) {
let builds = state.builds;
for (let shipId in builds) { for (let shipId in builds) {
for (let buildName in builds[shipId]) { for (let buildName in builds[shipId]) {
let build = builds[shipId][buildName]; let build = builds[shipId][buildName];
@@ -377,8 +390,8 @@ export default class ModalImport extends TranslatedComponent {
} }
} }
if (this.state.comparisons) { if (state.comparisons) {
let comparisons = this.state.comparisons; let comparisons = state.comparisons;
for (let comp in comparisons) { for (let comp in comparisons) {
let comparison = comparisons[comp]; let comparison = comparisons[comp];
let useName = comparison.useName.trim(); let useName = comparison.useName.trim();
@@ -388,13 +401,15 @@ export default class ModalImport extends TranslatedComponent {
} }
} }
if (this.state.discounts && this.state.discounts.length == 2) { if (state.shipDiscount !== undefined) {
Persist.setShipDiscount(this.state.discounts[0]); Persist.setShipDiscount(state.shipDiscount);
Persist.setModuleDiscount(this.state.discounts[1]); }
if (state.moduleDiscount !== undefined) {
Persist.setModuleDiscount(state.moduleDiscount);
} }
if (this.state.insurance) { if (state.insurance) {
Persist.setInsurance(this.state.insurance); Persist.setInsurance(state.insurance);
} }
this.context.hideModal(); this.context.hideModal();