diff --git a/app/components/events/view/publish-bar.ts b/app/components/events/view/publish-bar.ts index 2c6cd47c983..20bb8ebae9a 100644 --- a/app/components/events/view/publish-bar.ts +++ b/app/components/events/view/publish-bar.ts @@ -9,7 +9,8 @@ interface Event extends DS.Model { // eslint-disable-line ember-suave/no-direct- identifier: string | null, state: string, name: string | null, - tickets: any[] + tickets: any[], + isStripeConnectionValid: boolean } interface EventsViewPublishBarArgs { @@ -58,6 +59,12 @@ export default class EventsViewPublishBar extends Component { - preSaveActions.call(this); - this.set('data.event.state', 'draft'); - this.sendAction('save'); + const valid = preSaveActions.call(this); + if (valid) { + this.set('data.event.state', 'draft'); + this.sendAction('save'); + } }); }, saveForm() { this.onValid(() => { - preSaveActions.call(this); - this.sendAction('save', this.data); + const valid = preSaveActions.call(this); + if (valid) { + this.sendAction('save', this.data); + } }); }, move(direction) { @@ -284,4 +288,10 @@ function preSaveActions() { this.set('data.event.locationName', null); } } + + if (!this.data.event.isStripeConnectionValid) { + this.notify.error('You need to connect to your Stripe account, if you choose Stripe as a payment gateway.'); + } + + return this.data.event.isStripeConnectionValid; } diff --git a/app/models/event.js b/app/models/event.js index 9a26f8eb2d1..68eaaec1bbd 100644 --- a/app/models/event.js +++ b/app/models/event.js @@ -181,6 +181,10 @@ export default class Event extends ModelBase.extend(CustomPrimaryKeyMixin, { sessionsByState: computed('sessions', function() { return groupBy(this.sessions.toArray(), 'data.state'); + }), + + isStripeConnectionValid: computed('canPayByStripe', 'stripeAuthorization.stripeAuthCode', 'stripeAuthorization.stripePublishableKey', function() { + return this.canPayByStripe && this.stripeAuthorization?.stripeAuthCode && this.stripeAuthorization?.stripePublishableKey; }) }) {} diff --git a/app/templates/components/forms/wizard/basic-details-step.hbs b/app/templates/components/forms/wizard/basic-details-step.hbs index 184045d455e..72e73e2120a 100644 --- a/app/templates/components/forms/wizard/basic-details-step.hbs +++ b/app/templates/components/forms/wizard/basic-details-step.hbs @@ -434,7 +434,7 @@ @checked={{this.data.event.canPayByStripe}} />