Skip to content

Commit 82260cb

Browse files
uds5501abhinavk96
authored andcommitted
fix: Refactor buyer name fields in order-form (#3028)
* refactor buyer name fields in order form * use oneWay and readOnly properties
1 parent 48f19b8 commit 82260cb

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

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

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import Component from '@ember/component';
22
import { computed } from '@ember/object';
3+
import { readOnly, oneWay } from '@ember/object/computed';
34
import { run } from '@ember/runloop';
45
import { inject as service } from '@ember/service';
56
import FormMixin from 'open-event-frontend/mixins/form';
@@ -14,18 +15,12 @@ import {
1415
export default Component.extend(FormMixin, {
1516
router: service(),
1617

17-
buyer: computed('data.user', function() {
18-
return this.get('data.user');
19-
}),
20-
21-
buyerHasFirstName: computed(function() {
22-
return this.get('data.user.firstName');
23-
}),
24-
25-
buyerHasLastName: computed(function() {
26-
return this.get('data.user.lastName');
27-
}),
28-
holders: computed('data.attendees', function() {
18+
buyerFirstName : oneWay('buyerHasFirstName'),
19+
buyerLastName : oneWay('buyerHasLastName'),
20+
buyer : readOnly('data.user'),
21+
buyerHasFirstName : readOnly('data.user.firstName'),
22+
buyerHasLastName : readOnly('data.user.lastName'),
23+
holders : computed('data.attendees', function() {
2924
this.get('data.attendees').forEach(attendee => {
3025
attendee.set('firstname', '');
3126
attendee.set('lastname', '');
@@ -474,13 +469,16 @@ export default Component.extend(FormMixin, {
474469
actions: {
475470
submit(data) {
476471
this.onValid(() => {
472+
let currentUser = this.get('data.user');
473+
currentUser.set('firstName', this.buyerFirstName);
474+
currentUser.set('lastName', this.buyerLastName);
477475
this.sendAction('save', data);
478476
});
479477
},
480478
modifyHolder(holder) {
481479
if (this.sameAsBuyer) {
482-
holder.set('firstname', this.buyer.content.firstName);
483-
holder.set('lastname', this.buyer.content.lastName);
480+
holder.set('firstname', this.buyerFirstName);
481+
holder.set('lastname', this.buyerLastName);
484482
holder.set('email', this.buyer.content.email);
485483
} else {
486484
holder.set('firstname', '');

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
</h4>
2323
<div class="field {{if buyerHasFirstName 'disabled'}}">
2424
<label class="required" for="firstname">{{t 'First Name'}}</label>
25-
{{input type='text' name='first_name' value=buyer.firstName}}
25+
{{input type='text' name='first_name' value=buyerFirstName}}
2626
</div>
2727
<div class="field {{if buyerHasLastName 'disabled'}}">
2828
<label class="required" for="lastname">{{t 'Last Name'}}</label>
29-
{{input type='text' name='last_name' value=buyer.lastName}}
29+
{{input type='text' name='last_name' value=buyerLastName}}
3030
</div>
3131
<div class="field disabled">
3232
<label class="required" for="email">{{t 'Email'}}</label>

0 commit comments

Comments
 (0)