From eca853547d075482b1dc45edfea325b2602fbfb9 Mon Sep 17 00:00:00 2001 From: iamareebjamal Date: Mon, 28 Sep 2020 08:45:08 +0530 Subject: [PATCH 1/2] fix: Add global ticket fees settings --- .../forms/admin/settings/ticket-fees-form.js | 24 ++++++++- app/controllers/admin/settings/ticket-fees.js | 2 +- .../forms/admin/settings/ticket-fees-form.hbs | 51 ++++++++++++++++++- 3 files changed, 72 insertions(+), 5 deletions(-) diff --git a/app/components/forms/admin/settings/ticket-fees-form.js b/app/components/forms/admin/settings/ticket-fees-form.js index 7c77afff426..f5a82e1fde6 100644 --- a/app/components/forms/admin/settings/ticket-fees-form.js +++ b/app/components/forms/admin/settings/ticket-fees-form.js @@ -17,11 +17,31 @@ export default class TicketFeesForm extends Component { return orderBy(paymentCurrencies, 'name'); } + @computed('model.[]') + get ticketFees() { + return this.model.filter(fees => fees.country !== 'global'); + } + + getGlobalFee(model) { + return this.model.filter(fees => fees.country === 'global')[0]; + } + + @computed('model') + get globalFees() { + const globalFee = this.getGlobalFee(this.model); + if (globalFee) {return globalFee} + const globalFeeItem = this.store.createRecord('ticket-fee', { + country: 'global' + }); + this.model.toArray().addObject(globalFeeItem); + return globalFeeItem; + } + @action addNewTicket() { const settings = this.model; const incorrect_settings = settings.filter(function(setting) { - return (!setting.get('currency') || !setting.get('country')); + return (!setting.get('country')); }); if (incorrect_settings.length > 0) { this.notify.error(this.l10n.t('Existing items need to be completed before new items can be added.'), { @@ -29,7 +49,7 @@ export default class TicketFeesForm extends Component { }); this.set('isLoading', false); } else { - this.model.toArray().addObject(this.store.createRecord('ticket-fee', { + this.model.addObject(this.store.createRecord('ticket-fee', { maximumFee : 0.0, serviceFee : 0.0 })); diff --git a/app/controllers/admin/settings/ticket-fees.js b/app/controllers/admin/settings/ticket-fees.js index 07ba3f5cd6e..5e70a785563 100644 --- a/app/controllers/admin/settings/ticket-fees.js +++ b/app/controllers/admin/settings/ticket-fees.js @@ -7,7 +7,7 @@ export default class extends Controller { this.set('isLoading', true); const settings = this.model; const incorrect_settings = settings.filter(function(setting) { - return (!setting.currency || !setting.country); + return (!setting.country); }); if (incorrect_settings.length > 0) { this.notify.error(this.l10n.t('Please fill the required fields.'), diff --git a/app/templates/components/forms/admin/settings/ticket-fees-form.hbs b/app/templates/components/forms/admin/settings/ticket-fees-form.hbs index 8e55d9202a1..726c05c97c5 100644 --- a/app/templates/components/forms/admin/settings/ticket-fees-form.hbs +++ b/app/templates/components/forms/admin/settings/ticket-fees-form.hbs @@ -1,8 +1,55 @@

- {{t 'Add Fee Settings for the event'}} + {{t 'Add Fee Settings for the event invoices'}}

- {{#each this.model as |ticketFee|}} + {{#if this.globalFees}} +

+ {{t 'Global Settings'}} +

+ +
+
+ +
+ +
+ % +
+
+
+ +
+ +
+ +
+
+
+ {{/if}} + + {{#if this.ticketFees}} +

+ {{t 'Country-Wise Settings'}} +

+ {{/if}} + + {{#each this.ticketFees as |ticketFee|}}
From 96e86555f85b042ac9d9e3feab36a580241275e8 Mon Sep 17 00:00:00 2001 From: iamareebjamal Date: Mon, 28 Sep 2020 08:46:37 +0530 Subject: [PATCH 2/2] wip --- app/components/forms/admin/settings/ticket-fees-form.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/components/forms/admin/settings/ticket-fees-form.js b/app/components/forms/admin/settings/ticket-fees-form.js index f5a82e1fde6..2d7d5132647 100644 --- a/app/components/forms/admin/settings/ticket-fees-form.js +++ b/app/components/forms/admin/settings/ticket-fees-form.js @@ -22,13 +22,13 @@ export default class TicketFeesForm extends Component { return this.model.filter(fees => fees.country !== 'global'); } - getGlobalFee(model) { + getGlobalFee() { return this.model.filter(fees => fees.country === 'global')[0]; } @computed('model') get globalFees() { - const globalFee = this.getGlobalFee(this.model); + const globalFee = this.getGlobalFee(); if (globalFee) {return globalFee} const globalFeeItem = this.store.createRecord('ticket-fee', { country: 'global'