Skip to content

Commit ef11e28

Browse files
Rebekka Rossbergnorbusan
authored andcommitted
fix #8886: attach sameAsBuyer option to every ticket holder
1 parent 23b5319 commit ef11e28

File tree

3 files changed

+13
-17
lines changed

3 files changed

+13
-17
lines changed

app/components/forms/orders/order-form.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ export default Component.extend(FormMixin, {
2929
buyerHasFirstName : readOnly('data.user.firstName'),
3030
buyerHasLastName : readOnly('data.user.lastName'),
3131
holders : computed('data.attendees', 'buyer', function() {
32-
this.data.attendees.forEach((attendee, index) => {
33-
if (index === 0 && this.buyerFirstName && this.buyerLastName) {
32+
this.data.attendees.forEach(attendee => {
33+
if (this.buyerFirstName && this.buyerLastName) {
3434
attendee.set('firstname', this.buyerFirstName);
3535
attendee.set('lastname', this.buyerLastName);
3636
attendee.set('email', this.buyer.get('email'));
@@ -49,9 +49,6 @@ export default Component.extend(FormMixin, {
4949
}
5050
return true;
5151
}),
52-
sameAsBuyer: computed('data', function() {
53-
return (this.buyerHasFirstName && this.buyerHasLastName);
54-
}),
5552

5653
isBillingInfoNeeded: computed('event', 'data.isBillingEnabled', function() {
5754
return this.event.isBillingInfoMandatory || this.data.isBillingEnabled;
@@ -687,8 +684,9 @@ export default Component.extend(FormMixin, {
687684
this.sendAction('save', data);
688685
});
689686
},
690-
modifyHolder(holder) {
691-
if (this.sameAsBuyer) {
687+
triggerSameAsBuyerOption(holder) {
688+
holder.set('sameAsBuyer', !holder.sameAsBuyer);
689+
if (holder.sameAsBuyer) {
692690
holder.set('firstname', this.buyerFirstName);
693691
holder.set('lastname', this.buyerLastName);
694692
holder.set('email', this.buyer.content.email);

app/models/attendee.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export default ModelBase.extend({
77
/**
88
* Attributes
99
*/
10+
sameAsBuyer : attr('boolean', { defaultValue: true }),
1011
city : attr('string'),
1112
firstname : attr('string'),
1213
lastname : attr('string'),

app/templates/components/forms/orders/order-form.hbs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,6 @@
5656
{{/if}}
5757
</h4>
5858
{{#each this.holders as |holder index|}}
59-
{{#if (eq index 0)}}
60-
<div class="field">
61-
<UiCheckbox
62-
@label={{t "Ticket holder is the same person as ticket buyer"}}
63-
@checked={{this.sameAsBuyer}}
64-
@onChange={{pipe-action (action (mut this.sameAsBuyer)) (action "modifyHolder" holder)}} />
65-
</div>
66-
{{/if}}
6759
<div class="inline field">
6860
<i class="user icon"></i>
6961
<label>
@@ -75,6 +67,12 @@
7567
{{inc index}}{{t ' -for- '}}{{holder.ticket.name}}
7668
</label>
7769
</div>
70+
<div class="field">
71+
<UiCheckbox
72+
@label={{t "Ticket holder is the same person as ticket buyer"}}
73+
@checked={{holder.sameAsBuyer}}
74+
@onChange={{action "triggerSameAsBuyerOption" holder}} />
75+
</div>
7876
{{#each this.allFields.attendee as |field index|}}
7977
{{#if field.isIncluded }}
8078
{{#if (or field.isFixed (and this.event.isTicketFormEnabled (or (eq holder.ticket.formID null) (eq holder.ticket.formID field.formID))))}}
@@ -101,7 +99,7 @@
10199
@value={{mut (get holder field.identifierPath)}}
102100
@name={{if field.isRequired (concat field.fieldIdentifier "_required_" index) (concat field.fieldIdentifier "_" index)}} />
103101
{{else}}
104-
{{#if (and this.sameAsBuyer (eq index 0) (or (eq field.fieldIdentifier 'firstname') (eq field.fieldIdentifier 'lastname') (eq field.fieldIdentifier 'email')))}}
102+
{{#if (and holder.sameAsBuyer (or (eq field.fieldIdentifier 'firstname') (eq field.fieldIdentifier 'lastname') (eq field.fieldIdentifier 'email')))}}
105103
<Input
106104
@type={{field.type}}
107105
@value={{mut (get holder field.identifierPath)}}
@@ -114,7 +112,6 @@
114112
@name={{if field.isRequired (concat field.fieldIdentifier "_required_" index) (concat field.fieldIdentifier "_" index)}}
115113
@min={{if field.min field.min null}} @max={{if field.max field.max null}}/>
116114
{{else}}
117-
118115
<Input
119116
@type={{field.type}}
120117
@value={{mut (get holder field.identifierPath)}}

0 commit comments

Comments
 (0)