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