fix payment method null pointer
This commit is contained in:
parent
db1d3d31b2
commit
e5b28250c2
|
@ -1,5 +1,6 @@
|
||||||
package org.hso.ecommerce.action.user;
|
package org.hso.ecommerce.action.user;
|
||||||
|
|
||||||
|
import org.hso.ecommerce.entities.booking.PaymentMethod;
|
||||||
import org.hso.ecommerce.entities.user.User;
|
import org.hso.ecommerce.entities.user.User;
|
||||||
import org.hso.ecommerce.repos.user.UserRepository;
|
import org.hso.ecommerce.repos.user.UserRepository;
|
||||||
|
|
||||||
|
@ -56,7 +57,7 @@ public class UpdateUserSettingsAction {
|
||||||
public UpdateResult updatePaymentInfo(String creditCardNumber) {
|
public UpdateResult updatePaymentInfo(String creditCardNumber) {
|
||||||
UpdateResult result = new UpdateResult(false);
|
UpdateResult result = new UpdateResult(false);
|
||||||
if (creditCardNumber.matches("[0-9]+")) {
|
if (creditCardNumber.matches("[0-9]+")) {
|
||||||
this.user.defaultPayment.creditCardNumber = creditCardNumber;
|
this.user.defaultPayment = PaymentMethod.fromCreditCardNumber(creditCardNumber);
|
||||||
this.repository.save(this.user);
|
this.repository.save(this.user);
|
||||||
result.updated = true;
|
result.updated = true;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package org.hso.ecommerce.controller;
|
package org.hso.ecommerce.controller;
|
||||||
|
|
||||||
import org.hso.ecommerce.action.user.UpdateUserSettingsAction;
|
import org.hso.ecommerce.action.user.UpdateUserSettingsAction;
|
||||||
|
import org.hso.ecommerce.entities.booking.PaymentMethod;
|
||||||
import org.hso.ecommerce.entities.shop.CustomerOrder;
|
import org.hso.ecommerce.entities.shop.CustomerOrder;
|
||||||
import org.hso.ecommerce.entities.user.User;
|
import org.hso.ecommerce.entities.user.User;
|
||||||
import org.hso.ecommerce.repos.shop.CustomerOrderRepository;
|
import org.hso.ecommerce.repos.shop.CustomerOrderRepository;
|
||||||
|
@ -38,6 +39,9 @@ public class UserController {
|
||||||
) {
|
) {
|
||||||
long userId = (long) session.getAttribute("userId");
|
long userId = (long) session.getAttribute("userId");
|
||||||
User user = userRepository.findById(userId).get();
|
User user = userRepository.findById(userId).get();
|
||||||
|
if(user.defaultPayment == null){
|
||||||
|
user.defaultPayment = PaymentMethod.fromCreditCardNumber("");
|
||||||
|
}
|
||||||
model.addAttribute("user", user);
|
model.addAttribute("user", user);
|
||||||
|
|
||||||
return "user/settings";
|
return "user/settings";
|
||||||
|
|
|
@ -122,7 +122,7 @@ public class ShopCheckoutController {
|
||||||
user,
|
user,
|
||||||
expectedPrice,
|
expectedPrice,
|
||||||
Address.fromString(address),
|
Address.fromString(address),
|
||||||
PaymentMethod.fromCreditCarNumber(cardnumber),
|
PaymentMethod.fromCreditCardNumber(cardnumber),
|
||||||
bookingEntryRepository.getByUser(user.id).orElse(BookingAccountEntry.newUser(user)),
|
bookingEntryRepository.getByUser(user.id).orElse(BookingAccountEntry.newUser(user)),
|
||||||
bookingEntryRepository.getByVat().orElse(BookingAccountEntry.newVat()),
|
bookingEntryRepository.getByVat().orElse(BookingAccountEntry.newVat()),
|
||||||
bookingEntryRepository.getByMain().orElse(BookingAccountEntry.newMain())
|
bookingEntryRepository.getByMain().orElse(BookingAccountEntry.newMain())
|
||||||
|
|
|
@ -7,7 +7,7 @@ public class PaymentMethod {
|
||||||
|
|
||||||
public String creditCardNumber;
|
public String creditCardNumber;
|
||||||
|
|
||||||
public static PaymentMethod fromCreditCarNumber(String cardnumber) {
|
public static PaymentMethod fromCreditCardNumber(String cardnumber) {
|
||||||
PaymentMethod m = new PaymentMethod();
|
PaymentMethod m = new PaymentMethod();
|
||||||
m.creditCardNumber = cardnumber;
|
m.creditCardNumber = cardnumber;
|
||||||
|
|
||||||
|
|
|
@ -97,7 +97,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="input-icon">
|
<div class="input-icon">
|
||||||
<input class="full-width" type="text" name="creditCardNumber" th:value="${user.defaultPayment.creditCardNumber}" required/>
|
<input class="full-width" type="text" name="creditCardNumber" th:value="${user.defaultPayment.creditCardNumber}"/>
|
||||||
<button> Kreditkartennummer ändern</button>
|
<button> Kreditkartennummer ändern</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Reference in New Issue