diff --git a/src/main/java/org/hostsharing/hsadminng/service/AssetService.java b/src/main/java/org/hostsharing/hsadminng/service/AssetService.java index d568aea6..a375241c 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/AssetService.java +++ b/src/main/java/org/hostsharing/hsadminng/service/AssetService.java @@ -4,7 +4,6 @@ import org.hostsharing.hsadminng.domain.Asset; import org.hostsharing.hsadminng.repository.AssetRepository; import org.hostsharing.hsadminng.service.dto.AssetDTO; import org.hostsharing.hsadminng.service.mapper.AssetMapper; -import org.hostsharing.hsadminng.web.rest.errors.BadRequestAlertException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.domain.Page; @@ -24,12 +23,11 @@ public class AssetService { private final Logger log = LoggerFactory.getLogger(AssetService.class); - private final EntityManager em; - private final AssetRepository assetRepository; private final AssetMapper assetMapper; private final AssetValidator assetValidator; + private final EntityManager em; public AssetService(final EntityManager em, final AssetRepository assetRepository, final AssetMapper assetMapper, final AssetValidator assetValidator) { this.em = em; @@ -88,7 +86,6 @@ public class AssetService { */ public void delete(Long id) { log.debug("Request to delete Asset : {}", id); - - throw new BadRequestAlertException("Asset transactions are immutable", Asset.ENTITY_NAME, "assetTransactionImmutable"); + assetRepository.deleteById(id); } } diff --git a/src/main/java/org/hostsharing/hsadminng/service/MembershipService.java b/src/main/java/org/hostsharing/hsadminng/service/MembershipService.java index 82e365d2..473f5d7e 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/MembershipService.java +++ b/src/main/java/org/hostsharing/hsadminng/service/MembershipService.java @@ -12,7 +12,6 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.persistence.EntityManager; import java.util.Optional; /** @@ -24,19 +23,15 @@ public class MembershipService implements IdToDtoResolver { private final Logger log = LoggerFactory.getLogger(MembershipService.class); - private final EntityManager em; - private final MembershipValidator membershipValidator; private final MembershipRepository membershipRepository; private final MembershipMapper membershipMapper; - public MembershipService(final EntityManager em, - final MembershipValidator membershipValidator, + public MembershipService(final MembershipValidator membershipValidator, final MembershipRepository membershipRepository, final MembershipMapper membershipMapper) { - this.em = em; this.membershipValidator = membershipValidator; this.membershipRepository = membershipRepository; this.membershipMapper = membershipMapper; @@ -55,8 +50,6 @@ public class MembershipService implements IdToDtoResolver { Membership membership = membershipMapper.toEntity(membershipDTO); membership = membershipRepository.save(membership); - em.flush(); - em.refresh(membership); return membershipMapper.toDto(membership); } diff --git a/src/main/java/org/hostsharing/hsadminng/service/ShareService.java b/src/main/java/org/hostsharing/hsadminng/service/ShareService.java index 4fbc8bec..c9ff868b 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/ShareService.java +++ b/src/main/java/org/hostsharing/hsadminng/service/ShareService.java @@ -12,7 +12,6 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.persistence.EntityManager; import java.util.Optional; /** @@ -24,16 +23,13 @@ public class ShareService implements IdToDtoResolver { private final Logger log = LoggerFactory.getLogger(ShareService.class); - private final EntityManager em; - private final ShareRepository shareRepository; private final ShareMapper shareMapper; private final ShareValidator shareValidator; - public ShareService(final EntityManager em, final ShareRepository shareRepository, final ShareMapper shareMapper, final ShareValidator shareValidator) { - this.em = em; + public ShareService(ShareRepository shareRepository, ShareMapper shareMapper, ShareValidator shareValidator) { this.shareRepository = shareRepository; this.shareMapper = shareMapper; this.shareValidator = shareValidator; @@ -52,8 +48,6 @@ public class ShareService implements IdToDtoResolver { Share share = shareMapper.toEntity(shareDTO); share = shareRepository.save(share); - em.flush(); - em.refresh(share); return shareMapper.toDto(share); } diff --git a/src/main/java/org/hostsharing/hsadminng/service/dto/AssetDTO.java b/src/main/java/org/hostsharing/hsadminng/service/dto/AssetDTO.java index 3d64d4e2..d78c34b3 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/dto/AssetDTO.java +++ b/src/main/java/org/hostsharing/hsadminng/service/dto/AssetDTO.java @@ -47,7 +47,7 @@ public class AssetDTO implements Serializable, AccessMappings { private Long membershipId; @AccessFor(init=Role.ANYBODY, update=Role.ANYBODY, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT}) - private String membershipDisplayLabel; + private String membershipDisplayReference; public Long getId() { return id; @@ -105,12 +105,12 @@ public class AssetDTO implements Serializable, AccessMappings { this.membershipId = membershipId; } - public String getMembershipDisplayLabel() { - return membershipDisplayLabel; + public String getMembershipDisplayReference() { + return membershipDisplayReference; } - public void setMembershipDisplayLabel(String membershipDisplayLabel) { - this.membershipDisplayLabel = membershipDisplayLabel; + public void setMembershipDisplayReference(String membershipDisplayReference) { + this.membershipDisplayReference = membershipDisplayReference; } @Override @@ -144,7 +144,7 @@ public class AssetDTO implements Serializable, AccessMappings { ", amount=" + getAmount() + ", remark='" + getRemark() + "'" + ", membership=" + getMembershipId() + - ", membership='" + getMembershipDisplayLabel() + "'" + + ", membership='" + getMembershipDisplayReference() + "'" + "}"; } diff --git a/src/main/java/org/hostsharing/hsadminng/service/dto/CustomerDTO.java b/src/main/java/org/hostsharing/hsadminng/service/dto/CustomerDTO.java index 85908ac9..c1b42b75 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/dto/CustomerDTO.java +++ b/src/main/java/org/hostsharing/hsadminng/service/dto/CustomerDTO.java @@ -85,9 +85,6 @@ public class CustomerDTO extends FluentBuilder implements AccessMap @AccessFor(init = Role.ADMIN, update = Role.SUPPORTER, read = Role.SUPPORTER) private String remark; - @AccessFor(init=Role.ANYBODY, update=Role.ANYBODY, read = Role.ANY_CUSTOMER_USER) - private String displayLabel; - public Long getId() { return id; } @@ -216,14 +213,6 @@ public class CustomerDTO extends FluentBuilder implements AccessMap this.remark = remark; } - public String getDisplayLabel() { - return displayLabel; - } - - public void setDisplayLabel(final String displayLabel) { - this.displayLabel = displayLabel; - } - @Override public boolean equals(Object o) { if (this == o) { diff --git a/src/main/java/org/hostsharing/hsadminng/service/dto/MembershipDTO.java b/src/main/java/org/hostsharing/hsadminng/service/dto/MembershipDTO.java index f96a964d..a705ba7c 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/dto/MembershipDTO.java +++ b/src/main/java/org/hostsharing/hsadminng/service/dto/MembershipDTO.java @@ -25,18 +25,18 @@ public class MembershipDTO extends FluentBuilder implements Seria @AccessFor(init = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT}) private LocalDate admissionDocumentDate; - @AccessFor(init = Role.ADMIN, update = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT}) + @AccessFor(init = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT}) private LocalDate cancellationDocumentDate; @NotNull @AccessFor(init = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT}) private LocalDate memberFromDate; - @AccessFor(init = Role.ADMIN, update = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT}) + @AccessFor(init = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT}) private LocalDate memberUntilDate; @Size(max = 160) - @AccessFor(init = Role.ADMIN,update = Role.ADMIN, read = Role.SUPPORTER) + @AccessFor(init = Role.ADMIN, read = Role.SUPPORTER) private String remark; @ParentId(resolver = CustomerService.class) @@ -46,11 +46,8 @@ public class MembershipDTO extends FluentBuilder implements Seria @AccessFor(init = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT}) private String customerPrefix; - @AccessFor(init = Role.ANYBODY, update = Role.ANYBODY, read = Role.FINANCIAL_CONTACT) - private String displayLabel; - - @AccessFor(init = Role.ANYBODY, update = Role.ANYBODY, read = Role.FINANCIAL_CONTACT) - private String customerDisplayLabel; + @AccessFor(read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT}) + private String membershipDisplayReference; public Long getId() { return id; @@ -116,20 +113,12 @@ public class MembershipDTO extends FluentBuilder implements Seria this.customerPrefix = customerPrefix; } - public String getDisplayLabel() { - return displayLabel; + private String getMembershipDisplayReference() { + return membershipDisplayReference; } - public void setDisplayLabel(final String displayLabel) { - this.displayLabel = displayLabel; - } - - public String getCustomerDisplayLabel() { - return customerDisplayLabel; - } - - public void setCustomerDisplayLabel(final String customerDisplayLabel) { - this.customerDisplayLabel = customerDisplayLabel; + public void setMembershipDisplayReference(final String membershipDisplayReference) { + this.membershipDisplayReference = membershipDisplayReference; } @Override diff --git a/src/main/java/org/hostsharing/hsadminng/service/dto/ShareDTO.java b/src/main/java/org/hostsharing/hsadminng/service/dto/ShareDTO.java index 8bd1daa4..cb61e088 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/dto/ShareDTO.java +++ b/src/main/java/org/hostsharing/hsadminng/service/dto/ShareDTO.java @@ -48,7 +48,7 @@ public class ShareDTO implements Serializable { private Long membershipId; @AccessFor(read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT}) - private String membershipDisplayLabel; + private String membershipDisplayReference; public Long getId() { return id; @@ -106,12 +106,12 @@ public class ShareDTO implements Serializable { this.membershipId = membershipId; } - public String getMembershipDisplayLabel() { - return membershipDisplayLabel; + public String getMembershipDisplayReference() { + return membershipDisplayReference; } - public void setMembershipDisplayLabel(String membershipDisplayLabel) { - this.membershipDisplayLabel = membershipDisplayLabel; + public void setMembershipDisplayReference(String membershipDisplayReference) { + this.membershipDisplayReference = membershipDisplayReference; } @Override @@ -145,7 +145,7 @@ public class ShareDTO implements Serializable { ", quantity=" + getQuantity() + ", remark='" + getRemark() + "'" + ", membership=" + getMembershipId() + - ", membership='" + getMembershipDisplayLabel() + "'" + + ", membership='" + getMembershipDisplayReference() + "'" + "}"; } } diff --git a/src/main/java/org/hostsharing/hsadminng/service/mapper/AssetMapper.java b/src/main/java/org/hostsharing/hsadminng/service/mapper/AssetMapper.java index 293d87e8..e4e4a530 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/mapper/AssetMapper.java +++ b/src/main/java/org/hostsharing/hsadminng/service/mapper/AssetMapper.java @@ -1,12 +1,16 @@ package org.hostsharing.hsadminng.service.mapper; import org.hostsharing.hsadminng.domain.Asset; +import org.hostsharing.hsadminng.domain.Customer; +import org.hostsharing.hsadminng.domain.Membership; import org.hostsharing.hsadminng.service.dto.AssetDTO; import org.mapstruct.AfterMapping; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.MappingTarget; +import java.util.Objects; + /** * Mapper for the entity Asset and its DTO AssetDTO. */ @@ -14,12 +18,19 @@ import org.mapstruct.MappingTarget; public interface AssetMapper extends EntityMapper { @Mapping(source = "membership.id", target = "membershipId") - @Mapping(target = "membershipDisplayLabel", ignore = true) + @Mapping(target = "membershipDisplayReference", ignore = true) AssetDTO toDto(Asset asset); @AfterMapping - default void setMembershipDisplayLabel(final @MappingTarget AssetDTO dto, final Asset entity) { - dto.setMembershipDisplayLabel(MembershipMapper.displayLabel(entity.getMembership())); + default void setMembershipDisplayReference(final @MappingTarget AssetDTO dto, final Asset entity) { + // TODO: rather use method extracted from MembershipMaper.setMembershipDisplayReference() to avoid duplicate code + final Membership membership = entity.getMembership(); + final Customer customer = membership.getCustomer(); + dto.setMembershipDisplayReference(customer.getReference() + + ":" + customer.getPrefix() + + " [" + customer.getName() + "] " + + membership.getAdmissionDocumentDate().toString() + " - " + + Objects.toString(membership.getCancellationDocumentDate(), "")); } @Mapping(source = "membershipId", target = "membership") diff --git a/src/main/java/org/hostsharing/hsadminng/service/mapper/CustomerMapper.java b/src/main/java/org/hostsharing/hsadminng/service/mapper/CustomerMapper.java index ced8f394..6c9c204a 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/mapper/CustomerMapper.java +++ b/src/main/java/org/hostsharing/hsadminng/service/mapper/CustomerMapper.java @@ -1,11 +1,9 @@ package org.hostsharing.hsadminng.service.mapper; -import org.hostsharing.hsadminng.domain.Customer; +import org.hostsharing.hsadminng.domain.*; import org.hostsharing.hsadminng.service.dto.CustomerDTO; -import org.mapstruct.AfterMapping; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.MappingTarget; + +import org.mapstruct.*; /** * Mapper for the entity Customer and its DTO CustomerDTO. @@ -13,18 +11,6 @@ import org.mapstruct.MappingTarget; @Mapper(componentModel = "spring", uses = {}) public interface CustomerMapper extends EntityMapper { - static String displayLabel(Customer customer) { - return customer.getName() - + " [" + customer.getReference() + ":" + customer.getPrefix() +"]"; - } - - @Mapping(target = "displayLabel", ignore = true) - CustomerDTO toDto(Customer customer); - - @AfterMapping - default void setDisplayLabel(final @MappingTarget CustomerDTO dto, final Customer entity) { - dto.setDisplayLabel(displayLabel(entity)); - } @Mapping(target = "memberships", ignore = true) @Mapping(target = "sepamandates", ignore = true) diff --git a/src/main/java/org/hostsharing/hsadminng/service/mapper/MembershipMapper.java b/src/main/java/org/hostsharing/hsadminng/service/mapper/MembershipMapper.java index ef2e5a47..ed779cbe 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/mapper/MembershipMapper.java +++ b/src/main/java/org/hostsharing/hsadminng/service/mapper/MembershipMapper.java @@ -16,25 +16,21 @@ import java.util.Objects; @Mapper(componentModel = "spring", uses = {CustomerMapper.class}) public interface MembershipMapper extends EntityMapper { - static String displayLabel(final Membership entity) { - final Customer customer = entity.getCustomer(); - return CustomerMapper.displayLabel(customer) + " " - + Objects.toString(entity.getAdmissionDocumentDate(), "") + " - " - + Objects.toString(entity.getCancellationDocumentDate(), "..."); - } - @Mapping(source = "customer.id", target = "customerId") @Mapping(source = "customer.prefix", target = "customerPrefix") - @Mapping(target = "displayLabel", ignore = true) - @Mapping(target = "customerDisplayLabel", ignore = true) + @Mapping(target = "membershipDisplayReference", ignore = true) MembershipDTO toDto(Membership membership); // TODO BLOG HOWTO: multi-field display reference for selection lists // also change the filed in the option list in *-update.html @AfterMapping - default void setMembershipDisplayLabel(final @MappingTarget MembershipDTO dto, final Membership entity) { - dto.setDisplayLabel(displayLabel(entity)); - dto.setCustomerDisplayLabel(CustomerMapper.displayLabel(entity.getCustomer())); + default void setMembershipDisplayReference(final @MappingTarget MembershipDTO dto, final Membership entity) { + final Customer customer = entity.getCustomer(); + dto.setMembershipDisplayReference(customer.getReference() + + ":" + customer.getPrefix() + + " [" + customer.getName() + "] " + + entity.getAdmissionDocumentDate().toString() + " - " + + Objects.toString(entity.getCancellationDocumentDate(), "")); } @Mapping(target = "shares", ignore = true) diff --git a/src/main/java/org/hostsharing/hsadminng/service/mapper/ShareMapper.java b/src/main/java/org/hostsharing/hsadminng/service/mapper/ShareMapper.java index 80ddc52b..775ca7be 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/mapper/ShareMapper.java +++ b/src/main/java/org/hostsharing/hsadminng/service/mapper/ShareMapper.java @@ -2,10 +2,8 @@ package org.hostsharing.hsadminng.service.mapper; import org.hostsharing.hsadminng.domain.Share; import org.hostsharing.hsadminng.service.dto.ShareDTO; -import org.mapstruct.AfterMapping; import org.mapstruct.Mapper; import org.mapstruct.Mapping; -import org.mapstruct.MappingTarget; /** * Mapper for the entity Share and its DTO ShareDTO. @@ -14,14 +12,9 @@ import org.mapstruct.MappingTarget; public interface ShareMapper extends EntityMapper { @Mapping(source = "membership.id", target = "membershipId") - @Mapping(target = "membershipDisplayLabel", ignore = true) + @Mapping(source = "membership.admissionDocumentDate", target = "membershipDisplayReference") ShareDTO toDto(Share share); - @AfterMapping - default void setMembershipDisplayLabel(final @MappingTarget ShareDTO dto, final Share entity) { - dto.setMembershipDisplayLabel(MembershipMapper.displayLabel(entity.getMembership())); - } - @Mapping(source = "membershipId", target = "membership") Share toEntity(ShareDTO shareDTO); diff --git a/src/main/webapp/app/entities/asset/asset-detail.component.html b/src/main/webapp/app/entities/asset/asset-detail.component.html index d092b737..d31955d3 100644 --- a/src/main/webapp/app/entities/asset/asset-detail.component.html +++ b/src/main/webapp/app/entities/asset/asset-detail.component.html @@ -1,7 +1,7 @@
-

Asset: #{{asset.id}} - {{asset.membershipDisplayLabel}}

+

Asset {{asset.id}}


@@ -28,7 +28,7 @@
Membership
diff --git a/src/main/webapp/app/entities/asset/asset-update.component.html b/src/main/webapp/app/entities/asset/asset-update.component.html index 951db0b4..c11e140a 100644 --- a/src/main/webapp/app/entities/asset/asset-update.component.html +++ b/src/main/webapp/app/entities/asset/asset-update.component.html @@ -89,7 +89,7 @@
diff --git a/src/main/webapp/app/entities/asset/asset.component.html b/src/main/webapp/app/entities/asset/asset.component.html index 8472107d..29ac04a6 100644 --- a/src/main/webapp/app/entities/asset/asset.component.html +++ b/src/main/webapp/app/entities/asset/asset.component.html @@ -19,7 +19,8 @@ Value Date Action Amount - Membership + Remark + Membership @@ -30,9 +31,10 @@ {{asset.valueDate | date:'mediumDate'}} {{asset.action}} {{asset.amount}} + {{asset.remark}} diff --git a/src/main/webapp/app/entities/customer/customer-detail.component.html b/src/main/webapp/app/entities/customer/customer-detail.component.html index 3a74ce9e..93c22ade 100644 --- a/src/main/webapp/app/entities/customer/customer-detail.component.html +++ b/src/main/webapp/app/entities/customer/customer-detail.component.html @@ -1,7 +1,7 @@
-

Customer: {{customer.displayLabel}}

+

Customer {{customer.id}}


diff --git a/src/main/webapp/app/entities/customer/customer.component.html b/src/main/webapp/app/entities/customer/customer.component.html index c655cc04..afb4fb12 100644 --- a/src/main/webapp/app/entities/customer/customer.component.html +++ b/src/main/webapp/app/entities/customer/customer.component.html @@ -18,7 +18,18 @@ Reference Prefix Name - Kind + Kind + Birth Date + Birth Place + Registration Court + Registration Number + Vat Region + Vat Number + Contractual Salutation + Contractual Address + Billing Salutation + Billing Address + Remark @@ -29,6 +40,17 @@ {{customer.prefix}} {{customer.name}} {{customer.kind}} + {{customer.birthDate | date:'mediumDate'}} + {{customer.birthPlace}} + {{customer.registrationCourt}} + {{customer.registrationNumber}} + {{customer.vatRegion}} + {{customer.vatNumber}} + {{customer.contractualSalutation}} + {{customer.contractualAddress}} + {{customer.billingSalutation}} + {{customer.billingAddress}} + {{customer.remark}}