1
0

Revert "better display labels and less columns in tables (deliberately not yet in SepaMandate*)"

This reverts commit d81b71cd3a.
This commit is contained in:
Michael Hoennig
2019-04-27 06:36:11 +02:00
parent f301364d84
commit 7e3d3ec5de
31 changed files with 118 additions and 320 deletions

View File

@ -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);
}
}

View File

@ -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<MembershipDTO> {
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<MembershipDTO> {
Membership membership = membershipMapper.toEntity(membershipDTO);
membership = membershipRepository.save(membership);
em.flush();
em.refresh(membership);
return membershipMapper.toDto(membership);
}

View File

@ -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<ShareDTO> {
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<ShareDTO> {
Share share = shareMapper.toEntity(shareDTO);
share = shareRepository.save(share);
em.flush();
em.refresh(share);
return shareMapper.toDto(share);
}

View File

@ -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() + "'" +
"}";
}

View File

@ -85,9 +85,6 @@ public class CustomerDTO extends FluentBuilder<CustomerDTO> 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<CustomerDTO> 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) {

View File

@ -25,18 +25,18 @@ public class MembershipDTO extends FluentBuilder<MembershipDTO> 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<MembershipDTO> 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<MembershipDTO> 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

View File

@ -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() + "'" +
"}";
}
}

View File

@ -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<AssetDTO, Asset> {
@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")

View File

@ -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<CustomerDTO, Customer> {
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)

View File

@ -16,25 +16,21 @@ import java.util.Objects;
@Mapper(componentModel = "spring", uses = {CustomerMapper.class})
public interface MembershipMapper extends EntityMapper<MembershipDTO, Membership> {
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)

View File

@ -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<ShareDTO, Share> {
@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);