1
0

merging from master

This commit is contained in:
Michael Hoennig
2019-04-24 17:41:28 +02:00
106 changed files with 3365 additions and 1136 deletions

View File

@@ -2,17 +2,16 @@ package org.hostsharing.hsadminng.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.hostsharing.hsadminng.domain.enumeration.AssetAction;
import javax.persistence.*;
import javax.validation.constraints.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Objects;
import org.hostsharing.hsadminng.domain.enumeration.AssetAction;
/**
* A Asset.
*/
@@ -21,6 +20,8 @@ import org.hostsharing.hsadminng.domain.enumeration.AssetAction;
public class Asset implements Serializable {
private static final long serialVersionUID = 1L;
public static final String ENTITY_NAME = "asset";
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
@@ -48,8 +49,8 @@ public class Asset implements Serializable {
@Column(name = "remark", length = 160)
private String remark;
@NotNull
@ManyToOne(optional = false)
@NotNull
@JsonIgnoreProperties("assets")
private Membership membership;

View File

@@ -1,9 +1,13 @@
package org.hostsharing.hsadminng.domain;
import org.hostsharing.hsadminng.domain.enumeration.CustomerKind;
import org.hostsharing.hsadminng.domain.enumeration.VatRegion;
import javax.persistence.*;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
@@ -39,6 +43,35 @@ public class Customer implements Serializable {
@Column(name = "name", length = 80, nullable = false)
private String name;
@NotNull
@Enumerated(EnumType.STRING)
@Column(name = "kind", nullable = false)
private CustomerKind kind;
@Column(name = "birth_date")
private LocalDate birthDate;
@Size(max = 80)
@Column(name = "birth_place", length = 80)
private String birthPlace;
@Size(max = 80)
@Column(name = "registration_court", length = 80)
private String registrationCourt;
@Size(max = 80)
@Column(name = "registration_number", length = 80)
private String registrationNumber;
@NotNull
@Enumerated(EnumType.STRING)
@Column(name = "vat_region", nullable = false)
private VatRegion vatRegion;
@Size(max = 40)
@Column(name = "vat_number", length = 40)
private String vatNumber;
@Size(max = 80)
@Column(name = "contractual_salutation", length = 80)
private String contractualSalutation;
@@ -120,6 +153,97 @@ public class Customer implements Serializable {
this.name = name;
}
public CustomerKind getKind() {
return kind;
}
public Customer kind(CustomerKind kind) {
this.kind = kind;
return this;
}
public void setKind(CustomerKind kind) {
this.kind = kind;
}
public LocalDate getBirthDate() {
return birthDate;
}
public Customer birthDate(LocalDate birthDate) {
this.birthDate = birthDate;
return this;
}
public void setBirthDate(LocalDate birthDate) {
this.birthDate = birthDate;
}
public String getBirthPlace() {
return birthPlace;
}
public Customer birthPlace(String birthPlace) {
this.birthPlace = birthPlace;
return this;
}
public void setBirthPlace(String birthPlace) {
this.birthPlace = birthPlace;
}
public String getRegistrationCourt() {
return registrationCourt;
}
public Customer registrationCourt(String registrationCourt) {
this.registrationCourt = registrationCourt;
return this;
}
public void setRegistrationCourt(String registrationCourt) {
this.registrationCourt = registrationCourt;
}
public String getRegistrationNumber() {
return registrationNumber;
}
public Customer registrationNumber(String registrationNumber) {
this.registrationNumber = registrationNumber;
return this;
}
public void setRegistrationNumber(String registrationNumber) {
this.registrationNumber = registrationNumber;
}
public VatRegion getVatRegion() {
return vatRegion;
}
public Customer vatRegion(VatRegion vatRegion) {
this.vatRegion = vatRegion;
return this;
}
public void setVatRegion(VatRegion vatRegion) {
this.vatRegion = vatRegion;
}
public String getVatNumber() {
return vatNumber;
}
public Customer vatNumber(String vatNumber) {
this.vatNumber = vatNumber;
return this;
}
public void setVatNumber(String vatNumber) {
this.vatNumber = vatNumber;
}
public String getContractualSalutation() {
return contractualSalutation;
}
@@ -264,6 +388,13 @@ public class Customer implements Serializable {
", reference=" + getReference() +
", prefix='" + getPrefix() + "'" +
", name='" + getName() + "'" +
", kind='" + getKind() + "'" +
", birthDate='" + getBirthDate() + "'" +
", birthPlace='" + getBirthPlace() + "'" +
", registrationCourt='" + getRegistrationCourt() + "'" +
", registrationNumber='" + getRegistrationNumber() + "'" +
", vatRegion='" + getVatRegion() + "'" +
", vatNumber='" + getVatNumber() + "'" +
", contractualSalutation='" + getContractualSalutation() + "'" +
", contractualAddress='" + getContractualAddress() + "'" +
", billingSalutation='" + getBillingSalutation() + "'" +

View File

@@ -29,15 +29,18 @@ public class Membership implements Serializable {
private Long id;
@NotNull
@Column(name = "document_date", nullable = false)
private LocalDate documentDate;
@Column(name = "admission_document_date", nullable = false)
private LocalDate admissionDocumentDate;
@Column(name = "cancellation_document_date")
private LocalDate cancellationDocumentDate;
@NotNull
@Column(name = "member_from", nullable = false)
private LocalDate memberFrom;
@Column(name = "member_from_date", nullable = false)
private LocalDate memberFromDate;
@Column(name = "member_until")
private LocalDate memberUntil;
@Column(name = "member_until_date")
private LocalDate memberUntilDate;
@Size(max = 160)
@Column(name = "remark", length = 160)
@@ -69,43 +72,56 @@ public class Membership implements Serializable {
this.id = id;
}
public LocalDate getDocumentDate() {
return documentDate;
public LocalDate getAdmissionDocumentDate() {
return admissionDocumentDate;
}
public Membership documentDate(LocalDate documentDate) {
this.documentDate = documentDate;
public Membership admissionDocumentDate(LocalDate admissionDocumentDate) {
this.admissionDocumentDate = admissionDocumentDate;
return this;
}
public void setDocumentDate(LocalDate documentDate) {
this.documentDate = documentDate;
public void setAdmissionDocumentDate(LocalDate admissionDocumentDate) {
this.admissionDocumentDate = admissionDocumentDate;
}
public LocalDate getMemberFrom() {
return memberFrom;
public LocalDate getCancellationDocumentDate() {
return cancellationDocumentDate;
}
public Membership memberFrom(LocalDate memberFrom) {
this.memberFrom = memberFrom;
public Membership cancellationDocumentDate(LocalDate cancellationDocumentDate) {
this.cancellationDocumentDate = cancellationDocumentDate;
return this;
}
public void setMemberFrom(LocalDate memberFrom) {
this.memberFrom = memberFrom;
public void setCancellationDocumentDate(LocalDate cancellationDocumentDate) {
this.cancellationDocumentDate = cancellationDocumentDate;
}
public LocalDate getMemberUntil() {
return memberUntil;
public LocalDate getMemberFromDate() {
return memberFromDate;
}
public Membership memberUntil(LocalDate memberUntil) {
this.memberUntil = memberUntil;
public Membership memberFromDate(LocalDate memberFromDate) {
this.memberFromDate = memberFromDate;
return this;
}
public void setMemberUntil(LocalDate memberUntil) {
this.memberUntil = memberUntil;
public void setMemberFromDate(LocalDate memberFromDate) {
this.memberFromDate = memberFromDate;
}
public LocalDate getMemberUntilDate() {
return memberUntilDate;
}
public Membership memberUntilDate(LocalDate memberUntilDate) {
this.memberUntilDate = memberUntilDate;
return this;
}
public void setMemberUntilDate(LocalDate memberUntilDate) {
this.memberUntilDate = memberUntilDate;
}
public String getRemark() {
@@ -210,9 +226,10 @@ public class Membership implements Serializable {
public String toString() {
return "Membership{" +
"id=" + getId() +
", documentDate='" + getDocumentDate() + "'" +
", memberFrom='" + getMemberFrom() + "'" +
", memberUntil='" + getMemberUntil() + "'" +
", admissionDocumentDate='" + getAdmissionDocumentDate() + "'" +
", cancellationDocumentDate='" + getCancellationDocumentDate() + "'" +
", memberFromDate='" + getMemberFromDate() + "'" +
", memberUntilDate='" + getMemberUntilDate() + "'" +
", remark='" + getRemark() + "'" +
"}";
}

View File

@@ -4,8 +4,8 @@ package org.hostsharing.hsadminng.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import javax.persistence.*;
import javax.validation.constraints.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
@@ -38,21 +38,21 @@ public class SepaMandate implements Serializable {
private String bic;
@NotNull
@Column(name = "document_date", nullable = false)
private LocalDate documentDate;
@Column(name = "granting_document_date", nullable = false)
private LocalDate grantingDocumentDate;
@Column(name = "revokation_document_date")
private LocalDate revokationDocumentDate;
@NotNull
@Column(name = "valid_from", nullable = false)
private LocalDate validFrom;
@Column(name = "valid_from_date", nullable = false)
private LocalDate validFromDate;
@Column(name = "valid_until")
private LocalDate validUntil;
@Column(name = "valid_until_date")
private LocalDate validUntilDate;
@Column(name = "last_used")
private LocalDate lastUsed;
@Column(name = "cancellation_date")
private LocalDate cancellationDate;
@Column(name = "last_used_date")
private LocalDate lastUsedDate;
@Size(max = 160)
@Column(name = "remark", length = 160)
@@ -111,69 +111,69 @@ public class SepaMandate implements Serializable {
this.bic = bic;
}
public LocalDate getDocumentDate() {
return documentDate;
public LocalDate getGrantingDocumentDate() {
return grantingDocumentDate;
}
public SepaMandate documentDate(LocalDate documentDate) {
this.documentDate = documentDate;
public SepaMandate grantingDocumentDate(LocalDate grantingDocumentDate) {
this.grantingDocumentDate = grantingDocumentDate;
return this;
}
public void setDocumentDate(LocalDate documentDate) {
this.documentDate = documentDate;
public void setGrantingDocumentDate(LocalDate grantingDocumentDate) {
this.grantingDocumentDate = grantingDocumentDate;
}
public LocalDate getValidFrom() {
return validFrom;
public LocalDate getRevokationDocumentDate() {
return revokationDocumentDate;
}
public SepaMandate validFrom(LocalDate validFrom) {
this.validFrom = validFrom;
public SepaMandate revokationDocumentDate(LocalDate revokationDocumentDate) {
this.revokationDocumentDate = revokationDocumentDate;
return this;
}
public void setValidFrom(LocalDate validFrom) {
this.validFrom = validFrom;
public void setRevokationDocumentDate(LocalDate revokationDocumentDate) {
this.revokationDocumentDate = revokationDocumentDate;
}
public LocalDate getValidUntil() {
return validUntil;
public LocalDate getValidFromDate() {
return validFromDate;
}
public SepaMandate validUntil(LocalDate validUntil) {
this.validUntil = validUntil;
public SepaMandate validFromDate(LocalDate validFromDate) {
this.validFromDate = validFromDate;
return this;
}
public void setValidUntil(LocalDate validUntil) {
this.validUntil = validUntil;
public void setValidFromDate(LocalDate validFromDate) {
this.validFromDate = validFromDate;
}
public LocalDate getLastUsed() {
return lastUsed;
public LocalDate getValidUntilDate() {
return validUntilDate;
}
public SepaMandate lastUsed(LocalDate lastUsed) {
this.lastUsed = lastUsed;
public SepaMandate validUntilDate(LocalDate validUntilDate) {
this.validUntilDate = validUntilDate;
return this;
}
public void setLastUsed(LocalDate lastUsed) {
this.lastUsed = lastUsed;
public void setValidUntilDate(LocalDate validUntilDate) {
this.validUntilDate = validUntilDate;
}
public LocalDate getCancellationDate() {
return cancellationDate;
public LocalDate getLastUsedDate() {
return lastUsedDate;
}
public SepaMandate cancellationDate(LocalDate cancellationDate) {
this.cancellationDate = cancellationDate;
public SepaMandate lastUsedDate(LocalDate lastUsedDate) {
this.lastUsedDate = lastUsedDate;
return this;
}
public void setCancellationDate(LocalDate cancellationDate) {
this.cancellationDate = cancellationDate;
public void setLastUsedDate(LocalDate lastUsedDate) {
this.lastUsedDate = lastUsedDate;
}
public String getRemark() {
@@ -230,11 +230,11 @@ public class SepaMandate implements Serializable {
", reference='" + getReference() + "'" +
", iban='" + getIban() + "'" +
", bic='" + getBic() + "'" +
", documentDate='" + getDocumentDate() + "'" +
", validFrom='" + getValidFrom() + "'" +
", validUntil='" + getValidUntil() + "'" +
", lastUsed='" + getLastUsed() + "'" +
", cancellationDate='" + getCancellationDate() + "'" +
", grantingDocumentDate='" + getGrantingDocumentDate() + "'" +
", revokationDocumentDate='" + getRevokationDocumentDate() + "'" +
", validFromDate='" + getValidFromDate() + "'" +
", validUntilDate='" + getValidUntilDate() + "'" +
", lastUsedDate='" + getLastUsedDate() + "'" +
", remark='" + getRemark() + "'" +
"}";
}

View File

@@ -2,16 +2,15 @@ package org.hostsharing.hsadminng.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.hostsharing.hsadminng.domain.enumeration.ShareAction;
import javax.persistence.*;
import javax.validation.constraints.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import org.hostsharing.hsadminng.domain.enumeration.ShareAction;
/**
* A Share.
*/
@@ -49,8 +48,8 @@ public class Share implements Serializable {
@Column(name = "remark", length = 160)
private String remark;
@NotNull
@ManyToOne(optional = false)
@NotNull
@JsonIgnoreProperties("shares")
private Membership membership;

View File

@@ -0,0 +1,8 @@
package org.hostsharing.hsadminng.domain.enumeration;
/**
* The CustomerKind enumeration.
*/
public enum CustomerKind {
NATURAL, LEGAL
}

View File

@@ -0,0 +1,8 @@
package org.hostsharing.hsadminng.domain.enumeration;
/**
* The VatRegion enumeration.
*/
public enum VatRegion {
DOMESTIC, EU, OTHER
}

View File

@@ -16,6 +16,6 @@ import org.springframework.stereotype.Repository;
public interface MembershipRepository extends JpaRepository<Membership, Long>, JpaSpecificationExecutor<Membership> {
@Query("SELECT CASE WHEN COUNT(m)> 0 THEN TRUE ELSE FALSE END " +
" FROM Membership m WHERE m.customer.id=:customerId AND m.memberUntil IS NULL")
" FROM Membership m WHERE m.customer.id=:customerId AND m.memberUntilDate IS NULL")
boolean hasUncancelledMembershipForCustomer(@Param("customerId") final long customerId);
}

View File

@@ -6,7 +6,6 @@ import org.hostsharing.hsadminng.service.dto.AssetDTO;
import org.hostsharing.hsadminng.service.mapper.AssetMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@@ -26,10 +25,12 @@ public class AssetService {
private final AssetRepository assetRepository;
private final AssetMapper assetMapper;
private final AssetValidator assetValidator;
public AssetService(AssetRepository assetRepository, AssetMapper assetMapper) {
public AssetService(AssetRepository assetRepository, AssetMapper assetMapper, AssetValidator assetValidator ) {
this.assetRepository = assetRepository;
this.assetMapper = assetMapper;
this.assetValidator = assetValidator;
}
/**
@@ -40,6 +41,7 @@ public class AssetService {
*/
public AssetDTO save(AssetDTO assetDTO) {
log.debug("Request to save Asset : {}", assetDTO);
assetValidator.validate(assetDTO);
Asset asset = assetMapper.toEntity(assetDTO);
asset = assetRepository.save(asset);
return assetMapper.toDto(asset);

View File

@@ -0,0 +1,43 @@
package org.hostsharing.hsadminng.service;
import org.hostsharing.hsadminng.domain.Asset;
import org.hostsharing.hsadminng.domain.enumeration.AssetAction;
import org.hostsharing.hsadminng.service.dto.AssetDTO;
import org.hostsharing.hsadminng.web.rest.errors.BadRequestAlertException;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
@Service
public class AssetValidator {
public void validate(final AssetDTO assetDTO) {
if (assetDTO.getId() != null) {
throw new BadRequestAlertException("Asset transactions are immutable", Asset.ENTITY_NAME, "assetTransactionImmutable");
}
if (assetDTO.getDocumentDate().isAfter(assetDTO.getValueDate())) {
throw new BadRequestAlertException("Document date may not be after value date", Asset.ENTITY_NAME, "documentDateMayNotBeAfterValueDate");
}
if ((assetDTO.getAction() == AssetAction.PAYMENT) && (assetDTO.getAmount().compareTo(BigDecimal.valueOf(0)) <= 0)) {
throw new BadRequestAlertException("Asset payments require a positive amount", Asset.ENTITY_NAME, "assetPaymentsPositiveAmount");
}
if ((assetDTO.getAction() == AssetAction.ADOPTION) && (assetDTO.getAmount().compareTo(BigDecimal.valueOf(0)) <= 0)) {
throw new BadRequestAlertException("Asset adoptions require a positive amount", Asset.ENTITY_NAME, "assetAdoptionsPositiveAmount");
}
if ((assetDTO.getAction() == AssetAction.PAYBACK) && (assetDTO.getAmount().compareTo(BigDecimal.valueOf(0)) >= 0)) {
throw new BadRequestAlertException("Asset paybacks require a negative amount", Asset.ENTITY_NAME, "assetPaybacksNegativeAmount");
}
if ((assetDTO.getAction() == AssetAction.HANDOVER) && (assetDTO.getAmount().compareTo(BigDecimal.valueOf(0)) >= 0)) {
throw new BadRequestAlertException("Asset handovers require a negative amount", Asset.ENTITY_NAME, "assetHandoversNegativeAmount");
}
if ((assetDTO.getAction() == AssetAction.LOSS) && (assetDTO.getAmount().compareTo(BigDecimal.valueOf(0)) >= 0)) {
throw new BadRequestAlertException("Asset losses require a negative amount", Asset.ENTITY_NAME, "assetLossesNegativeAmount");
}
if ((assetDTO.getAction() == AssetAction.CLEARING) && (assetDTO.getAmount().compareTo(BigDecimal.valueOf(0)) >= 0)) {
throw new BadRequestAlertException("Asset clearings require a negative amount", Asset.ENTITY_NAME, "assetClearingsNegativeAmount");
}
}
}

View File

@@ -1,9 +1,14 @@
package org.hostsharing.hsadminng.service;
import java.util.List;
import javax.persistence.criteria.JoinType;
import io.github.jhipster.service.QueryService;
import org.hostsharing.hsadminng.domain.Customer;
import org.hostsharing.hsadminng.domain.Customer_;
import org.hostsharing.hsadminng.domain.Membership_;
import org.hostsharing.hsadminng.domain.SepaMandate_;
import org.hostsharing.hsadminng.repository.CustomerRepository;
import org.hostsharing.hsadminng.service.dto.CustomerCriteria;
import org.hostsharing.hsadminng.service.dto.CustomerDTO;
import org.hostsharing.hsadminng.service.mapper.CustomerMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;
@@ -12,14 +17,8 @@ import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import io.github.jhipster.service.QueryService;
import org.hostsharing.hsadminng.domain.Customer;
import org.hostsharing.hsadminng.domain.*; // for static metamodels
import org.hostsharing.hsadminng.repository.CustomerRepository;
import org.hostsharing.hsadminng.service.dto.CustomerCriteria;
import org.hostsharing.hsadminng.service.dto.CustomerDTO;
import org.hostsharing.hsadminng.service.mapper.CustomerMapper;
import javax.persistence.criteria.JoinType;
import java.util.List;
/**
* Service for executing complex queries for Customer entities in the database.
@@ -98,6 +97,27 @@ public class CustomerQueryService extends QueryService<Customer> {
if (criteria.getName() != null) {
specification = specification.and(buildStringSpecification(criteria.getName(), Customer_.name));
}
if (criteria.getKind() != null) {
specification = specification.and(buildSpecification(criteria.getKind(), Customer_.kind));
}
if (criteria.getBirthDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getBirthDate(), Customer_.birthDate));
}
if (criteria.getBirthPlace() != null) {
specification = specification.and(buildStringSpecification(criteria.getBirthPlace(), Customer_.birthPlace));
}
if (criteria.getRegistrationCourt() != null) {
specification = specification.and(buildStringSpecification(criteria.getRegistrationCourt(), Customer_.registrationCourt));
}
if (criteria.getRegistrationNumber() != null) {
specification = specification.and(buildStringSpecification(criteria.getRegistrationNumber(), Customer_.registrationNumber));
}
if (criteria.getVatRegion() != null) {
specification = specification.and(buildSpecification(criteria.getVatRegion(), Customer_.vatRegion));
}
if (criteria.getVatNumber() != null) {
specification = specification.and(buildStringSpecification(criteria.getVatNumber(), Customer_.vatNumber));
}
if (criteria.getContractualSalutation() != null) {
specification = specification.and(buildStringSpecification(criteria.getContractualSalutation(), Customer_.contractualSalutation));
}

View File

@@ -1,9 +1,11 @@
package org.hostsharing.hsadminng.service;
import java.util.List;
import javax.persistence.criteria.JoinType;
import io.github.jhipster.service.QueryService;
import org.hostsharing.hsadminng.domain.*;
import org.hostsharing.hsadminng.repository.MembershipRepository;
import org.hostsharing.hsadminng.service.dto.MembershipCriteria;
import org.hostsharing.hsadminng.service.dto.MembershipDTO;
import org.hostsharing.hsadminng.service.mapper.MembershipMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;
@@ -12,14 +14,8 @@ import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import io.github.jhipster.service.QueryService;
import org.hostsharing.hsadminng.domain.Membership;
import org.hostsharing.hsadminng.domain.*; // for static metamodels
import org.hostsharing.hsadminng.repository.MembershipRepository;
import org.hostsharing.hsadminng.service.dto.MembershipCriteria;
import org.hostsharing.hsadminng.service.dto.MembershipDTO;
import org.hostsharing.hsadminng.service.mapper.MembershipMapper;
import javax.persistence.criteria.JoinType;
import java.util.List;
/**
* Service for executing complex queries for Membership entities in the database.
@@ -89,14 +85,17 @@ public class MembershipQueryService extends QueryService<Membership> {
if (criteria.getId() != null) {
specification = specification.and(buildSpecification(criteria.getId(), Membership_.id));
}
if (criteria.getDocumentDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getDocumentDate(), Membership_.documentDate));
if (criteria.getAdmissionDocumentDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getAdmissionDocumentDate(), Membership_.admissionDocumentDate));
}
if (criteria.getMemberFrom() != null) {
specification = specification.and(buildRangeSpecification(criteria.getMemberFrom(), Membership_.memberFrom));
if (criteria.getCancellationDocumentDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getCancellationDocumentDate(), Membership_.cancellationDocumentDate));
}
if (criteria.getMemberUntil() != null) {
specification = specification.and(buildRangeSpecification(criteria.getMemberUntil(), Membership_.memberUntil));
if (criteria.getMemberFromDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getMemberFromDate(), Membership_.memberFromDate));
}
if (criteria.getMemberUntilDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getMemberUntilDate(), Membership_.memberUntilDate));
}
if (criteria.getRemark() != null) {
specification = specification.and(buildStringSpecification(criteria.getRemark(), Membership_.remark));

View File

@@ -14,7 +14,7 @@ public class MembershipValidator {
private MembershipRepository membershipRepository;
public void validate(final MembershipDTO membershipDTO) {
if (membershipDTO.getMemberUntil() != null && !membershipDTO.getMemberUntil().isAfter(membershipDTO.getMemberFrom())) {
if (membershipDTO.getMemberUntilDate() != null && !membershipDTO.getMemberUntilDate().isAfter(membershipDTO.getMemberFromDate())) {
throw new BadRequestAlertException("Invalid untilDate", Membership.ENTITY_NAME, "untilDateMustBeAfterSinceDate");
}

View File

@@ -1,9 +1,13 @@
package org.hostsharing.hsadminng.service;
import java.util.List;
import javax.persistence.criteria.JoinType;
import io.github.jhipster.service.QueryService;
import org.hostsharing.hsadminng.domain.Customer_;
import org.hostsharing.hsadminng.domain.SepaMandate;
import org.hostsharing.hsadminng.domain.SepaMandate_;
import org.hostsharing.hsadminng.repository.SepaMandateRepository;
import org.hostsharing.hsadminng.service.dto.SepaMandateCriteria;
import org.hostsharing.hsadminng.service.dto.SepaMandateDTO;
import org.hostsharing.hsadminng.service.mapper.SepaMandateMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;
@@ -12,14 +16,8 @@ import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import io.github.jhipster.service.QueryService;
import org.hostsharing.hsadminng.domain.SepaMandate;
import org.hostsharing.hsadminng.domain.*; // for static metamodels
import org.hostsharing.hsadminng.repository.SepaMandateRepository;
import org.hostsharing.hsadminng.service.dto.SepaMandateCriteria;
import org.hostsharing.hsadminng.service.dto.SepaMandateDTO;
import org.hostsharing.hsadminng.service.mapper.SepaMandateMapper;
import javax.persistence.criteria.JoinType;
import java.util.List;
/**
* Service for executing complex queries for SepaMandate entities in the database.
@@ -98,20 +96,20 @@ public class SepaMandateQueryService extends QueryService<SepaMandate> {
if (criteria.getBic() != null) {
specification = specification.and(buildStringSpecification(criteria.getBic(), SepaMandate_.bic));
}
if (criteria.getDocumentDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getDocumentDate(), SepaMandate_.documentDate));
if (criteria.getGrantingDocumentDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getGrantingDocumentDate(), SepaMandate_.grantingDocumentDate));
}
if (criteria.getValidFrom() != null) {
specification = specification.and(buildRangeSpecification(criteria.getValidFrom(), SepaMandate_.validFrom));
if (criteria.getRevokationDocumentDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getRevokationDocumentDate(), SepaMandate_.revokationDocumentDate));
}
if (criteria.getValidUntil() != null) {
specification = specification.and(buildRangeSpecification(criteria.getValidUntil(), SepaMandate_.validUntil));
if (criteria.getValidFromDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getValidFromDate(), SepaMandate_.validFromDate));
}
if (criteria.getLastUsed() != null) {
specification = specification.and(buildRangeSpecification(criteria.getLastUsed(), SepaMandate_.lastUsed));
if (criteria.getValidUntilDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getValidUntilDate(), SepaMandate_.validUntilDate));
}
if (criteria.getCancellationDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getCancellationDate(), SepaMandate_.cancellationDate));
if (criteria.getLastUsedDate() != null) {
specification = specification.and(buildRangeSpecification(criteria.getLastUsedDate(), SepaMandate_.lastUsedDate));
}
if (criteria.getRemark() != null) {
specification = specification.and(buildStringSpecification(criteria.getRemark(), SepaMandate_.remark));

View File

@@ -1,7 +1,6 @@
package org.hostsharing.hsadminng.service;
import org.hostsharing.hsadminng.domain.Share;
import org.hostsharing.hsadminng.domain.enumeration.ShareAction;
import org.hostsharing.hsadminng.repository.ShareRepository;
import org.hostsharing.hsadminng.service.dto.ShareDTO;
import org.hostsharing.hsadminng.service.mapper.ShareMapper;
@@ -28,9 +27,12 @@ public class ShareService {
private final ShareMapper shareMapper;
public ShareService(ShareRepository shareRepository, ShareMapper shareMapper) {
private final ShareValidator shareValidator;
public ShareService(ShareRepository shareRepository, ShareMapper shareMapper, ShareValidator shareValidator) {
this.shareRepository = shareRepository;
this.shareMapper = shareMapper;
this.shareValidator = shareValidator;
}
/**
@@ -42,16 +44,8 @@ public class ShareService {
public ShareDTO save(ShareDTO shareDTO) {
log.debug("Request to save Share : {}", shareDTO);
if (shareDTO.getId() != null) {
throw new BadRequestAlertException("Share transactions are immutable", Share.ENTITY_NAME, "shareTransactionImmutable");
}
shareValidator.validate(shareDTO);
if((shareDTO.getAction() == ShareAction.SUBSCRIPTION) && (shareDTO.getQuantity() <= 0)) {
throw new BadRequestAlertException("Share subscriptions require a positive quantity", Share.ENTITY_NAME, "shareSubscriptionPositivQuantity");
}
if((shareDTO.getAction() == ShareAction.CANCELLATION) && (shareDTO.getQuantity() >= 0)) {
throw new BadRequestAlertException("Share cancellations require a negative quantity", Share.ENTITY_NAME, "shareCancellationNegativeQuantity");
}
Share share = shareMapper.toEntity(shareDTO);
share = shareRepository.save(share);
return shareMapper.toDto(share);

View File

@@ -0,0 +1,30 @@
package org.hostsharing.hsadminng.service;
import org.hostsharing.hsadminng.domain.Share;
import org.hostsharing.hsadminng.domain.enumeration.ShareAction;
import org.hostsharing.hsadminng.service.dto.ShareDTO;
import org.hostsharing.hsadminng.web.rest.errors.BadRequestAlertException;
import org.springframework.stereotype.Service;
@Service
public class ShareValidator {
public void validate(final ShareDTO shareDTO) {
if (shareDTO.getId() != null) {
throw new BadRequestAlertException("Share transactions are immutable", Share.ENTITY_NAME, "shareTransactionImmutable");
}
if (shareDTO.getDocumentDate().isAfter(shareDTO.getValueDate())) {
throw new BadRequestAlertException("Document date may not be after value date", Share.ENTITY_NAME, "documentDateMayNotBeAfterValueDate");
}
if ((shareDTO.getAction() == ShareAction.SUBSCRIPTION) && (shareDTO.getQuantity() <= 0)) {
throw new BadRequestAlertException("Share subscriptions require a positive quantity", Share.ENTITY_NAME, "shareSubscriptionPositiveQuantity");
}
if ((shareDTO.getAction() == ShareAction.CANCELLATION) && (shareDTO.getQuantity() >= 0)) {
throw new BadRequestAlertException("Share cancellations require a negative quantity", Share.ENTITY_NAME, "shareCancellationNegativeQuantity");
}
}
}

View File

@@ -1,10 +1,13 @@
package org.hostsharing.hsadminng.service.dto;
import java.time.LocalDate;
import javax.validation.constraints.*;
import org.hostsharing.hsadminng.domain.enumeration.AssetAction;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Objects;
import org.hostsharing.hsadminng.domain.enumeration.AssetAction;
/**
* A DTO for the Asset entity.
@@ -31,7 +34,7 @@ public class AssetDTO implements Serializable {
private Long membershipId;
private String membershipDocumentDate;
private String membershipAdmissionDocumentDate;
public Long getId() {
return id;
@@ -89,12 +92,12 @@ public class AssetDTO implements Serializable {
this.membershipId = membershipId;
}
public String getMembershipDocumentDate() {
return membershipDocumentDate;
public String getMembershipAdmissionDocumentDate() {
return membershipAdmissionDocumentDate;
}
public void setMembershipDocumentDate(String membershipDocumentDate) {
this.membershipDocumentDate = membershipDocumentDate;
public void setMembershipAdmissionDocumentDate(String membershipAdmissionDocumentDate) {
this.membershipAdmissionDocumentDate = membershipAdmissionDocumentDate;
}
@Override
@@ -128,7 +131,7 @@ public class AssetDTO implements Serializable {
", amount=" + getAmount() +
", remark='" + getRemark() + "'" +
", membership=" + getMembershipId() +
", membership='" + getMembershipDocumentDate() + "'" +
", membership='" + getMembershipAdmissionDocumentDate() + "'" +
"}";
}
}

View File

@@ -1,14 +1,11 @@
package org.hostsharing.hsadminng.service.dto;
import io.github.jhipster.service.filter.*;
import org.hostsharing.hsadminng.domain.enumeration.CustomerKind;
import org.hostsharing.hsadminng.domain.enumeration.VatRegion;
import java.io.Serializable;
import java.util.Objects;
import io.github.jhipster.service.filter.BooleanFilter;
import io.github.jhipster.service.filter.DoubleFilter;
import io.github.jhipster.service.filter.Filter;
import io.github.jhipster.service.filter.FloatFilter;
import io.github.jhipster.service.filter.IntegerFilter;
import io.github.jhipster.service.filter.LongFilter;
import io.github.jhipster.service.filter.StringFilter;
/**
* Criteria class for the Customer entity. This class is used in CustomerResource to
@@ -19,6 +16,16 @@ import io.github.jhipster.service.filter.StringFilter;
* fix type specific filters.
*/
public class CustomerCriteria implements Serializable {
/**
* Class for filtering CustomerKind
*/
public static class CustomerKindFilter extends Filter<CustomerKind> {
}
/**
* Class for filtering VatRegion
*/
public static class VatRegionFilter extends Filter<VatRegion> {
}
private static final long serialVersionUID = 1L;
@@ -30,6 +37,20 @@ public class CustomerCriteria implements Serializable {
private StringFilter name;
private CustomerKindFilter kind;
private LocalDateFilter birthDate;
private StringFilter birthPlace;
private StringFilter registrationCourt;
private StringFilter registrationNumber;
private VatRegionFilter vatRegion;
private StringFilter vatNumber;
private StringFilter contractualSalutation;
private StringFilter contractualAddress;
@@ -76,6 +97,62 @@ public class CustomerCriteria implements Serializable {
this.name = name;
}
public CustomerKindFilter getKind() {
return kind;
}
public void setKind(CustomerKindFilter kind) {
this.kind = kind;
}
public LocalDateFilter getBirthDate() {
return birthDate;
}
public void setBirthDate(LocalDateFilter birthDate) {
this.birthDate = birthDate;
}
public StringFilter getBirthPlace() {
return birthPlace;
}
public void setBirthPlace(StringFilter birthPlace) {
this.birthPlace = birthPlace;
}
public StringFilter getRegistrationCourt() {
return registrationCourt;
}
public void setRegistrationCourt(StringFilter registrationCourt) {
this.registrationCourt = registrationCourt;
}
public StringFilter getRegistrationNumber() {
return registrationNumber;
}
public void setRegistrationNumber(StringFilter registrationNumber) {
this.registrationNumber = registrationNumber;
}
public VatRegionFilter getVatRegion() {
return vatRegion;
}
public void setVatRegion(VatRegionFilter vatRegion) {
this.vatRegion = vatRegion;
}
public StringFilter getVatNumber() {
return vatNumber;
}
public void setVatNumber(StringFilter vatNumber) {
this.vatNumber = vatNumber;
}
public StringFilter getContractualSalutation() {
return contractualSalutation;
}
@@ -147,6 +224,13 @@ public class CustomerCriteria implements Serializable {
Objects.equals(reference, that.reference) &&
Objects.equals(prefix, that.prefix) &&
Objects.equals(name, that.name) &&
Objects.equals(kind, that.kind) &&
Objects.equals(birthDate, that.birthDate) &&
Objects.equals(birthPlace, that.birthPlace) &&
Objects.equals(registrationCourt, that.registrationCourt) &&
Objects.equals(registrationNumber, that.registrationNumber) &&
Objects.equals(vatRegion, that.vatRegion) &&
Objects.equals(vatNumber, that.vatNumber) &&
Objects.equals(contractualSalutation, that.contractualSalutation) &&
Objects.equals(contractualAddress, that.contractualAddress) &&
Objects.equals(billingSalutation, that.billingSalutation) &&
@@ -163,6 +247,13 @@ public class CustomerCriteria implements Serializable {
reference,
prefix,
name,
kind,
birthDate,
birthPlace,
registrationCourt,
registrationNumber,
vatRegion,
vatNumber,
contractualSalutation,
contractualAddress,
billingSalutation,
@@ -180,6 +271,13 @@ public class CustomerCriteria implements Serializable {
(reference != null ? "reference=" + reference + ", " : "") +
(prefix != null ? "prefix=" + prefix + ", " : "") +
(name != null ? "name=" + name + ", " : "") +
(kind != null ? "kind=" + kind + ", " : "") +
(birthDate != null ? "birthDate=" + birthDate + ", " : "") +
(birthPlace != null ? "birthPlace=" + birthPlace + ", " : "") +
(registrationCourt != null ? "registrationCourt=" + registrationCourt + ", " : "") +
(registrationNumber != null ? "registrationNumber=" + registrationNumber + ", " : "") +
(vatRegion != null ? "vatRegion=" + vatRegion + ", " : "") +
(vatNumber != null ? "vatNumber=" + vatNumber + ", " : "") +
(contractualSalutation != null ? "contractualSalutation=" + contractualSalutation + ", " : "") +
(contractualAddress != null ? "contractualAddress=" + contractualAddress + ", " : "") +
(billingSalutation != null ? "billingSalutation=" + billingSalutation + ", " : "") +

View File

@@ -6,6 +6,8 @@ import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.hostsharing.hsadminng.domain.enumeration.CustomerKind;
import org.hostsharing.hsadminng.domain.enumeration.VatRegion;
import org.hostsharing.hsadminng.service.accessfilter.*;
import org.springframework.boot.jackson.JsonComponent;
import org.springframework.context.ApplicationContext;
@@ -13,6 +15,7 @@ import org.springframework.context.ApplicationContext;
import javax.validation.constraints.*;
import java.io.IOException;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
/**
@@ -41,6 +44,26 @@ public class CustomerDTO implements Serializable {
@AccessFor(init = Role.ADMIN, read = Role.ANY_CUSTOMER_USER)
private String name;
@NotNull
private CustomerKind kind;
private LocalDate birthDate;
@Size(max = 80)
private String birthPlace;
@Size(max = 80)
private String registrationCourt;
@Size(max = 80)
private String registrationNumber;
@NotNull
private VatRegion vatRegion;
@Size(max = 40)
private String vatNumber;
@Size(max = 80)
@AccessFor(init = Role.ADMIN, update = Role.CONTRACTUAL_CONTACT, read = Role.ANY_CUSTOMER_CONTACT)
private String contractualSalutation;
@@ -94,6 +117,62 @@ public class CustomerDTO implements Serializable {
this.name = name;
}
public CustomerKind getKind() {
return kind;
}
public void setKind(CustomerKind kind) {
this.kind = kind;
}
public LocalDate getBirthDate() {
return birthDate;
}
public void setBirthDate(LocalDate birthDate) {
this.birthDate = birthDate;
}
public String getBirthPlace() {
return birthPlace;
}
public void setBirthPlace(String birthPlace) {
this.birthPlace = birthPlace;
}
public String getRegistrationCourt() {
return registrationCourt;
}
public void setRegistrationCourt(String registrationCourt) {
this.registrationCourt = registrationCourt;
}
public String getRegistrationNumber() {
return registrationNumber;
}
public void setRegistrationNumber(String registrationNumber) {
this.registrationNumber = registrationNumber;
}
public VatRegion getVatRegion() {
return vatRegion;
}
public void setVatRegion(VatRegion vatRegion) {
this.vatRegion = vatRegion;
}
public String getVatNumber() {
return vatNumber;
}
public void setVatNumber(String vatNumber) {
this.vatNumber = vatNumber;
}
public String getContractualSalutation() {
return contractualSalutation;
}
@@ -162,6 +241,13 @@ public class CustomerDTO implements Serializable {
", reference=" + getReference() +
", prefix='" + getPrefix() + "'" +
", name='" + getName() + "'" +
", kind='" + getKind() + "'" +
", birthDate='" + getBirthDate() + "'" +
", birthPlace='" + getBirthPlace() + "'" +
", registrationCourt='" + getRegistrationCourt() + "'" +
", registrationNumber='" + getRegistrationNumber() + "'" +
", vatRegion='" + getVatRegion() + "'" +
", vatNumber='" + getVatNumber() + "'" +
", contractualSalutation='" + getContractualSalutation() + "'" +
", contractualAddress='" + getContractualAddress() + "'" +
", billingSalutation='" + getBillingSalutation() + "'" +

View File

@@ -1,15 +1,12 @@
package org.hostsharing.hsadminng.service.dto;
import io.github.jhipster.service.filter.Filter;
import io.github.jhipster.service.filter.LocalDateFilter;
import io.github.jhipster.service.filter.LongFilter;
import io.github.jhipster.service.filter.StringFilter;
import java.io.Serializable;
import java.util.Objects;
import io.github.jhipster.service.filter.BooleanFilter;
import io.github.jhipster.service.filter.DoubleFilter;
import io.github.jhipster.service.filter.Filter;
import io.github.jhipster.service.filter.FloatFilter;
import io.github.jhipster.service.filter.IntegerFilter;
import io.github.jhipster.service.filter.LongFilter;
import io.github.jhipster.service.filter.StringFilter;
import io.github.jhipster.service.filter.LocalDateFilter;
/**
* Criteria class for the Membership entity. This class is used in MembershipResource to
@@ -25,11 +22,13 @@ public class MembershipCriteria implements Serializable {
private LongFilter id;
private LocalDateFilter documentDate;
private LocalDateFilter admissionDocumentDate;
private LocalDateFilter memberFrom;
private LocalDateFilter cancellationDocumentDate;
private LocalDateFilter memberUntil;
private LocalDateFilter memberFromDate;
private LocalDateFilter memberUntilDate;
private StringFilter remark;
@@ -47,28 +46,36 @@ public class MembershipCriteria implements Serializable {
this.id = id;
}
public LocalDateFilter getDocumentDate() {
return documentDate;
public LocalDateFilter getAdmissionDocumentDate() {
return admissionDocumentDate;
}
public void setDocumentDate(LocalDateFilter documentDate) {
this.documentDate = documentDate;
public void setAdmissionDocumentDate(LocalDateFilter admissionDocumentDate) {
this.admissionDocumentDate = admissionDocumentDate;
}
public LocalDateFilter getMemberFrom() {
return memberFrom;
public LocalDateFilter getCancellationDocumentDate() {
return cancellationDocumentDate;
}
public void setMemberFrom(LocalDateFilter memberFrom) {
this.memberFrom = memberFrom;
public void setCancellationDocumentDate(LocalDateFilter cancellationDocumentDate) {
this.cancellationDocumentDate = cancellationDocumentDate;
}
public LocalDateFilter getMemberUntil() {
return memberUntil;
public LocalDateFilter getMemberFromDate() {
return memberFromDate;
}
public void setMemberUntil(LocalDateFilter memberUntil) {
this.memberUntil = memberUntil;
public void setMemberFromDate(LocalDateFilter memberFromDate) {
this.memberFromDate = memberFromDate;
}
public LocalDateFilter getMemberUntilDate() {
return memberUntilDate;
}
public void setMemberUntilDate(LocalDateFilter memberUntilDate) {
this.memberUntilDate = memberUntilDate;
}
public StringFilter getRemark() {
@@ -115,9 +122,10 @@ public class MembershipCriteria implements Serializable {
final MembershipCriteria that = (MembershipCriteria) o;
return
Objects.equals(id, that.id) &&
Objects.equals(documentDate, that.documentDate) &&
Objects.equals(memberFrom, that.memberFrom) &&
Objects.equals(memberUntil, that.memberUntil) &&
Objects.equals(admissionDocumentDate, that.admissionDocumentDate) &&
Objects.equals(cancellationDocumentDate, that.cancellationDocumentDate) &&
Objects.equals(memberFromDate, that.memberFromDate) &&
Objects.equals(memberUntilDate, that.memberUntilDate) &&
Objects.equals(remark, that.remark) &&
Objects.equals(shareId, that.shareId) &&
Objects.equals(assetId, that.assetId) &&
@@ -128,9 +136,10 @@ public class MembershipCriteria implements Serializable {
public int hashCode() {
return Objects.hash(
id,
documentDate,
memberFrom,
memberUntil,
admissionDocumentDate,
cancellationDocumentDate,
memberFromDate,
memberUntilDate,
remark,
shareId,
assetId,
@@ -142,9 +151,10 @@ public class MembershipCriteria implements Serializable {
public String toString() {
return "MembershipCriteria{" +
(id != null ? "id=" + id + ", " : "") +
(documentDate != null ? "documentDate=" + documentDate + ", " : "") +
(memberFrom != null ? "memberFrom=" + memberFrom + ", " : "") +
(memberUntil != null ? "memberUntil=" + memberUntil + ", " : "") +
(admissionDocumentDate != null ? "admissionDocumentDate=" + admissionDocumentDate + ", " : "") +
(cancellationDocumentDate != null ? "cancellationDocumentDate=" + cancellationDocumentDate + ", " : "") +
(memberFromDate != null ? "memberFromDate=" + memberFromDate + ", " : "") +
(memberUntilDate != null ? "memberUntilDate=" + memberUntilDate + ", " : "") +
(remark != null ? "remark=" + remark + ", " : "") +
(shareId != null ? "shareId=" + shareId + ", " : "") +
(assetId != null ? "assetId=" + assetId + ", " : "") +

View File

@@ -24,14 +24,17 @@ public class MembershipDTO implements Serializable {
@NotNull
@AccessFor(init = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT})
private LocalDate documentDate;
private LocalDate admissionDocumentDate;
@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 memberFrom;
private LocalDate memberFromDate;
@AccessFor(init = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT})
private LocalDate memberUntil;
private LocalDate memberUntilDate;
@Size(max = 160)
@AccessFor(init = Role.ADMIN, read = Role.SUPPORTER)
@@ -58,28 +61,36 @@ public class MembershipDTO implements Serializable {
this.id = id;
}
public LocalDate getDocumentDate() {
return documentDate;
public LocalDate getAdmissionDocumentDate() {
return admissionDocumentDate;
}
public void setDocumentDate(LocalDate documentDate) {
this.documentDate = documentDate;
public void setAdmissionDocumentDate(LocalDate admissionDocumentDate) {
this.admissionDocumentDate = admissionDocumentDate;
}
public LocalDate getMemberFrom() {
return memberFrom;
public LocalDate getCancellationDocumentDate() {
return cancellationDocumentDate;
}
public void setMemberFrom(LocalDate memberFrom) {
this.memberFrom = memberFrom;
public void setCancellationDocumentDate(LocalDate cancellationDocumentDate) {
this.cancellationDocumentDate = cancellationDocumentDate;
}
public LocalDate getMemberUntil() {
return memberUntil;
public LocalDate getMemberFromDate() {
return memberFromDate;
}
public void setMemberUntil(LocalDate memberUntil) {
this.memberUntil = memberUntil;
public void setMemberFromDate(LocalDate memberFromDate) {
this.memberFromDate = memberFromDate;
}
public LocalDate getMemberUntilDate() {
return memberUntilDate;
}
public void setMemberUntilDate(LocalDate memberUntilDate) {
this.memberUntilDate = memberUntilDate;
}
public String getRemark() {
@@ -131,9 +142,10 @@ public class MembershipDTO implements Serializable {
public String toString() {
return "MembershipDTO{" +
"id=" + getId() +
", documentDate='" + getDocumentDate() + "'" +
", memberFrom='" + getMemberFrom() + "'" +
", memberUntil='" + getMemberUntil() + "'" +
", admissionDocumentDate='" + getAdmissionDocumentDate() + "'" +
", cancellationDocumentDate='" + getCancellationDocumentDate() + "'" +
", memberFromDate='" + getMemberFromDate() + "'" +
", memberUntilDate='" + getMemberUntilDate() + "'" +
", remark='" + getRemark() + "'" +
", customer=" + getCustomerId() +
", customer='" + getCustomerPrefix() + "'" +

View File

@@ -1,15 +1,12 @@
package org.hostsharing.hsadminng.service.dto;
import io.github.jhipster.service.filter.Filter;
import io.github.jhipster.service.filter.LocalDateFilter;
import io.github.jhipster.service.filter.LongFilter;
import io.github.jhipster.service.filter.StringFilter;
import java.io.Serializable;
import java.util.Objects;
import io.github.jhipster.service.filter.BooleanFilter;
import io.github.jhipster.service.filter.DoubleFilter;
import io.github.jhipster.service.filter.Filter;
import io.github.jhipster.service.filter.FloatFilter;
import io.github.jhipster.service.filter.IntegerFilter;
import io.github.jhipster.service.filter.LongFilter;
import io.github.jhipster.service.filter.StringFilter;
import io.github.jhipster.service.filter.LocalDateFilter;
/**
* Criteria class for the SepaMandate entity. This class is used in SepaMandateResource to
@@ -31,15 +28,15 @@ public class SepaMandateCriteria implements Serializable {
private StringFilter bic;
private LocalDateFilter documentDate;
private LocalDateFilter grantingDocumentDate;
private LocalDateFilter validFrom;
private LocalDateFilter revokationDocumentDate;
private LocalDateFilter validUntil;
private LocalDateFilter validFromDate;
private LocalDateFilter lastUsed;
private LocalDateFilter validUntilDate;
private LocalDateFilter cancellationDate;
private LocalDateFilter lastUsedDate;
private StringFilter remark;
@@ -77,44 +74,44 @@ public class SepaMandateCriteria implements Serializable {
this.bic = bic;
}
public LocalDateFilter getDocumentDate() {
return documentDate;
public LocalDateFilter getGrantingDocumentDate() {
return grantingDocumentDate;
}
public void setDocumentDate(LocalDateFilter documentDate) {
this.documentDate = documentDate;
public void setGrantingDocumentDate(LocalDateFilter grantingDocumentDate) {
this.grantingDocumentDate = grantingDocumentDate;
}
public LocalDateFilter getValidFrom() {
return validFrom;
public LocalDateFilter getRevokationDocumentDate() {
return revokationDocumentDate;
}
public void setValidFrom(LocalDateFilter validFrom) {
this.validFrom = validFrom;
public void setRevokationDocumentDate(LocalDateFilter revokationDocumentDate) {
this.revokationDocumentDate = revokationDocumentDate;
}
public LocalDateFilter getValidUntil() {
return validUntil;
public LocalDateFilter getValidFromDate() {
return validFromDate;
}
public void setValidUntil(LocalDateFilter validUntil) {
this.validUntil = validUntil;
public void setValidFromDate(LocalDateFilter validFromDate) {
this.validFromDate = validFromDate;
}
public LocalDateFilter getLastUsed() {
return lastUsed;
public LocalDateFilter getValidUntilDate() {
return validUntilDate;
}
public void setLastUsed(LocalDateFilter lastUsed) {
this.lastUsed = lastUsed;
public void setValidUntilDate(LocalDateFilter validUntilDate) {
this.validUntilDate = validUntilDate;
}
public LocalDateFilter getCancellationDate() {
return cancellationDate;
public LocalDateFilter getLastUsedDate() {
return lastUsedDate;
}
public void setCancellationDate(LocalDateFilter cancellationDate) {
this.cancellationDate = cancellationDate;
public void setLastUsedDate(LocalDateFilter lastUsedDate) {
this.lastUsedDate = lastUsedDate;
}
public StringFilter getRemark() {
@@ -148,11 +145,11 @@ public class SepaMandateCriteria implements Serializable {
Objects.equals(reference, that.reference) &&
Objects.equals(iban, that.iban) &&
Objects.equals(bic, that.bic) &&
Objects.equals(documentDate, that.documentDate) &&
Objects.equals(validFrom, that.validFrom) &&
Objects.equals(validUntil, that.validUntil) &&
Objects.equals(lastUsed, that.lastUsed) &&
Objects.equals(cancellationDate, that.cancellationDate) &&
Objects.equals(grantingDocumentDate, that.grantingDocumentDate) &&
Objects.equals(revokationDocumentDate, that.revokationDocumentDate) &&
Objects.equals(validFromDate, that.validFromDate) &&
Objects.equals(validUntilDate, that.validUntilDate) &&
Objects.equals(lastUsedDate, that.lastUsedDate) &&
Objects.equals(remark, that.remark) &&
Objects.equals(customerId, that.customerId);
}
@@ -164,11 +161,11 @@ public class SepaMandateCriteria implements Serializable {
reference,
iban,
bic,
documentDate,
validFrom,
validUntil,
lastUsed,
cancellationDate,
grantingDocumentDate,
revokationDocumentDate,
validFromDate,
validUntilDate,
lastUsedDate,
remark,
customerId
);
@@ -181,11 +178,11 @@ public class SepaMandateCriteria implements Serializable {
(reference != null ? "reference=" + reference + ", " : "") +
(iban != null ? "iban=" + iban + ", " : "") +
(bic != null ? "bic=" + bic + ", " : "") +
(documentDate != null ? "documentDate=" + documentDate + ", " : "") +
(validFrom != null ? "validFrom=" + validFrom + ", " : "") +
(validUntil != null ? "validUntil=" + validUntil + ", " : "") +
(lastUsed != null ? "lastUsed=" + lastUsed + ", " : "") +
(cancellationDate != null ? "cancellationDate=" + cancellationDate + ", " : "") +
(grantingDocumentDate != null ? "grantingDocumentDate=" + grantingDocumentDate + ", " : "") +
(revokationDocumentDate != null ? "revokationDocumentDate=" + revokationDocumentDate + ", " : "") +
(validFromDate != null ? "validFromDate=" + validFromDate + ", " : "") +
(validUntilDate != null ? "validUntilDate=" + validUntilDate + ", " : "") +
(lastUsedDate != null ? "lastUsedDate=" + lastUsedDate + ", " : "") +
(remark != null ? "remark=" + remark + ", " : "") +
(customerId != null ? "customerId=" + customerId + ", " : "") +
"}";

View File

@@ -1,7 +1,9 @@
package org.hostsharing.hsadminng.service.dto;
import java.time.LocalDate;
import javax.validation.constraints.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
/**
@@ -22,16 +24,16 @@ public class SepaMandateDTO implements Serializable {
private String bic;
@NotNull
private LocalDate documentDate;
private LocalDate grantingDocumentDate;
private LocalDate revokationDocumentDate;
@NotNull
private LocalDate validFrom;
private LocalDate validFromDate;
private LocalDate validUntil;
private LocalDate validUntilDate;
private LocalDate lastUsed;
private LocalDate cancellationDate;
private LocalDate lastUsedDate;
@Size(max = 160)
private String remark;
@@ -73,44 +75,44 @@ public class SepaMandateDTO implements Serializable {
this.bic = bic;
}
public LocalDate getDocumentDate() {
return documentDate;
public LocalDate getGrantingDocumentDate() {
return grantingDocumentDate;
}
public void setDocumentDate(LocalDate documentDate) {
this.documentDate = documentDate;
public void setGrantingDocumentDate(LocalDate grantingDocumentDate) {
this.grantingDocumentDate = grantingDocumentDate;
}
public LocalDate getValidFrom() {
return validFrom;
public LocalDate getRevokationDocumentDate() {
return revokationDocumentDate;
}
public void setValidFrom(LocalDate validFrom) {
this.validFrom = validFrom;
public void setRevokationDocumentDate(LocalDate revokationDocumentDate) {
this.revokationDocumentDate = revokationDocumentDate;
}
public LocalDate getValidUntil() {
return validUntil;
public LocalDate getValidFromDate() {
return validFromDate;
}
public void setValidUntil(LocalDate validUntil) {
this.validUntil = validUntil;
public void setValidFromDate(LocalDate validFromDate) {
this.validFromDate = validFromDate;
}
public LocalDate getLastUsed() {
return lastUsed;
public LocalDate getValidUntilDate() {
return validUntilDate;
}
public void setLastUsed(LocalDate lastUsed) {
this.lastUsed = lastUsed;
public void setValidUntilDate(LocalDate validUntilDate) {
this.validUntilDate = validUntilDate;
}
public LocalDate getCancellationDate() {
return cancellationDate;
public LocalDate getLastUsedDate() {
return lastUsedDate;
}
public void setCancellationDate(LocalDate cancellationDate) {
this.cancellationDate = cancellationDate;
public void setLastUsedDate(LocalDate lastUsedDate) {
this.lastUsedDate = lastUsedDate;
}
public String getRemark() {
@@ -165,11 +167,11 @@ public class SepaMandateDTO implements Serializable {
", reference='" + getReference() + "'" +
", iban='" + getIban() + "'" +
", bic='" + getBic() + "'" +
", documentDate='" + getDocumentDate() + "'" +
", validFrom='" + getValidFrom() + "'" +
", validUntil='" + getValidUntil() + "'" +
", lastUsed='" + getLastUsed() + "'" +
", cancellationDate='" + getCancellationDate() + "'" +
", grantingDocumentDate='" + getGrantingDocumentDate() + "'" +
", revokationDocumentDate='" + getRevokationDocumentDate() + "'" +
", validFromDate='" + getValidFromDate() + "'" +
", validUntilDate='" + getValidUntilDate() + "'" +
", lastUsedDate='" + getLastUsedDate() + "'" +
", remark='" + getRemark() + "'" +
", customer=" + getCustomerId() +
", customer='" + getCustomerPrefix() + "'" +

View File

@@ -1,12 +1,5 @@
package org.hostsharing.hsadminng.service.dto;
import org.hostsharing.hsadminng.domain.enumeration.ShareAction;
import org.hostsharing.hsadminng.service.MembershipService;
import org.hostsharing.hsadminng.service.accessfilter.AccessFor;
import org.hostsharing.hsadminng.service.accessfilter.ParentId;
import org.hostsharing.hsadminng.service.accessfilter.Role;
import org.hostsharing.hsadminng.service.accessfilter.SelfId;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
@@ -24,10 +17,12 @@ public class ShareDTO implements Serializable {
@NotNull
@AccessFor(init = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT})
@AccessFor(init = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT})
private LocalDate documentDate;
@NotNull
@AccessFor(init = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT})
@AccessFor(init = Role.ADMIN, read = {Role.CONTRACTUAL_CONTACT, Role.FINANCIAL_CONTACT})
private LocalDate valueDate;
@NotNull
@@ -47,7 +42,7 @@ public class ShareDTO implements Serializable {
private Long membershipId;
@AccessFor(init = Role.ADMIN, read = Role.SUPPORTER)
private String membershipDocumentDate;
private String membershipAdmissionDocumentDate;
public Long getId() {
return id;
@@ -105,12 +100,12 @@ public class ShareDTO implements Serializable {
this.membershipId = membershipId;
}
public String getMembershipDocumentDate() {
return membershipDocumentDate;
public String getMembershipAdmissionDocumentDate() {
return membershipAdmissionDocumentDate;
}
public void setMembershipDocumentDate(String membershipDocumentDate) {
this.membershipDocumentDate = membershipDocumentDate;
public void setMembershipAdmissionDocumentDate(String membershipAdmissionDocumentDate) {
this.membershipAdmissionDocumentDate = membershipAdmissionDocumentDate;
}
@Override
@@ -144,7 +139,7 @@ public class ShareDTO implements Serializable {
", quantity=" + getQuantity() +
", remark='" + getRemark() + "'" +
", membership=" + getMembershipId() +
", membership='" + getMembershipDocumentDate() + "'" +
", membership='" + getMembershipAdmissionDocumentDate() + "'" +
"}";
}
}

View File

@@ -1,9 +1,9 @@
package org.hostsharing.hsadminng.service.mapper;
import org.hostsharing.hsadminng.domain.*;
import org.hostsharing.hsadminng.domain.Asset;
import org.hostsharing.hsadminng.service.dto.AssetDTO;
import org.mapstruct.*;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
/**
* Mapper for the entity Asset and its DTO AssetDTO.
@@ -12,7 +12,7 @@ import org.mapstruct.*;
public interface AssetMapper extends EntityMapper<AssetDTO, Asset> {
@Mapping(source = "membership.id", target = "membershipId")
@Mapping(source = "membership.documentDate", target = "membershipDocumentDate")
@Mapping(source = "membership.admissionDocumentDate", target = "membershipAdmissionDocumentDate")
AssetDTO toDto(Asset asset);
@Mapping(source = "membershipId", target = "membership")

View File

@@ -1,9 +1,9 @@
package org.hostsharing.hsadminng.service.mapper;
import org.hostsharing.hsadminng.domain.*;
import org.hostsharing.hsadminng.domain.Share;
import org.hostsharing.hsadminng.service.dto.ShareDTO;
import org.mapstruct.*;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
/**
* Mapper for the entity Share and its DTO ShareDTO.
@@ -12,7 +12,7 @@ import org.mapstruct.*;
public interface ShareMapper extends EntityMapper<ShareDTO, Share> {
@Mapping(source = "membership.id", target = "membershipId")
@Mapping(source = "membership.documentDate", target = "membershipDocumentDate")
@Mapping(source = "membership.admissionDocumentDate", target = "membershipAdmissionDocumentDate")
ShareDTO toDto(Share share);
@Mapping(source = "membershipId", target = "membership")

View File

@@ -1,25 +1,24 @@
package org.hostsharing.hsadminng.web.rest;
import io.github.jhipster.web.util.ResponseUtil;
import org.hostsharing.hsadminng.service.AssetQueryService;
import org.hostsharing.hsadminng.service.AssetService;
import org.hostsharing.hsadminng.service.dto.AssetCriteria;
import org.hostsharing.hsadminng.service.dto.AssetDTO;
import org.hostsharing.hsadminng.web.rest.errors.BadRequestAlertException;
import org.hostsharing.hsadminng.web.rest.util.HeaderUtil;
import org.hostsharing.hsadminng.web.rest.util.PaginationUtil;
import org.hostsharing.hsadminng.service.dto.AssetDTO;
import org.hostsharing.hsadminng.service.dto.AssetCriteria;
import org.hostsharing.hsadminng.service.AssetQueryService;
import io.github.jhipster.web.util.ResponseUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.List;
import java.util.Optional;
@@ -74,13 +73,8 @@ public class AssetResource {
@PutMapping("/assets")
public ResponseEntity<AssetDTO> updateAsset(@Valid @RequestBody AssetDTO assetDTO) throws URISyntaxException {
log.debug("REST request to update Asset : {}", assetDTO);
if (assetDTO.getId() == null) {
throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull");
}
AssetDTO result = assetService.save(assetDTO);
return ResponseEntity.ok()
.headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, assetDTO.getId().toString()))
.body(result);
// TODO mhoennig: Rather completely remove the endpoint?
throw new BadRequestAlertException("Assets are immutable", ENTITY_NAME, "assetTransactionImmutable");
}
/**
@@ -132,7 +126,7 @@ public class AssetResource {
@DeleteMapping("/assets/{id}")
public ResponseEntity<Void> deleteAsset(@PathVariable Long id) {
log.debug("REST request to delete Asset : {}", id);
assetService.delete(id);
return ResponseEntity.ok().headers(HeaderUtil.createEntityDeletionAlert(ENTITY_NAME, id.toString())).build();
// TODO mhoennig: Rather completely remove the endpoint?
throw new BadRequestAlertException("Asset are immutable", ENTITY_NAME, "assetTransactionImmutable");
}
}

View File

@@ -3,10 +3,28 @@ dto all with mapstruct
service all with serviceClass
paginate all with infinite-scroll
enum CustomerKind {
NATURAL,
LEGAL
}
enum VatRegion {
DOMESTIC,
EU,
OTHER
}
entity Customer {
reference Integer required unique min(10000) max(99999),
prefix String required maxlength(3) unique pattern(/[a-z][a-z0-9]+/),
name String required maxlength(80),
kind CustomerKind required,
birthDate LocalDate,
birthPlace String maxlength(80),
registrationCourt String maxlength(80),
registrationNumber String maxlength(80),
vatRegion VatRegion required,
vatNumber String maxlength(40),
contractualSalutation String maxlength(80),
contractualAddress String required maxlength(400),
billingSalutation String maxlength(80),
@@ -15,9 +33,10 @@ entity Customer {
}
entity Membership {
documentDate LocalDate required,
memberFrom LocalDate required,
memberUntil LocalDate,
admissionDocumentDate LocalDate required,
cancellationDocumentDate LocalDate,
memberFromDate LocalDate required,
memberUntilDate LocalDate,
remark String maxlength(160)
}
@@ -55,17 +74,17 @@ entity SepaMandate {
reference String maxlength(40) unique required,
iban String maxlength(34),
bic String maxlength(11),
documentDate LocalDate required,
validFrom LocalDate required,
validUntil LocalDate,
lastUsed LocalDate,
cancellationDate LocalDate,
grantingDocumentDate LocalDate required,
revokationDocumentDate LocalDate,
validFromDate LocalDate required,
validUntilDate LocalDate,
lastUsedDate LocalDate,
remark String maxlength(160)
}
relationship OneToMany {
Customer{membership} to Membership{customer(prefix) required},
Customer{sepamandate} to SepaMandate{customer(prefix) required},
Membership{share} to Share{membership(documentDate) required},
Membership{asset} to Asset{membership(documentDate) required}
Membership{share} to Share{membership(admissionDocumentDate) required},
Membership{asset} to Asset{membership(admissionDocumentDate) required}
}

View File

@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<property name="now" value="now()" dbms="h2"/>
<property name="now" value="current_timestamp" dbms="postgresql"/>
<property name="floatType" value="float4" dbms="postgresql, h2"/>
<property name="floatType" value="float" dbms="mysql, oracle, mssql"/>
<!--
Added the entity Customer.
-->
<changeSet id="20190424123255-1" author="jhipster">
<createTable tableName="customer">
<column name="id" type="bigint" autoIncrement="${autoIncrement}">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="reference" type="integer">
<constraints nullable="false" unique="true" uniqueConstraintName="ux_customer_reference" />
</column>
<column name="prefix" type="varchar(3)">
<constraints nullable="false" unique="true" uniqueConstraintName="ux_customer_prefix" />
</column>
<column name="name" type="varchar(80)">
<constraints nullable="false" />
</column>
<column name="kind" type="varchar(255)">
<constraints nullable="false" />
</column>
<column name="birth_date" type="date">
<constraints nullable="true" />
</column>
<column name="birth_place" type="varchar(80)">
<constraints nullable="true" />
</column>
<column name="registration_court" type="varchar(80)">
<constraints nullable="true" />
</column>
<column name="registration_number" type="varchar(80)">
<constraints nullable="true" />
</column>
<column name="vat_region" type="varchar(255)">
<constraints nullable="false" />
</column>
<column name="vat_number" type="varchar(40)">
<constraints nullable="true" />
</column>
<column name="contractual_salutation" type="varchar(80)">
<constraints nullable="true" />
</column>
<column name="contractual_address" type="varchar(400)">
<constraints nullable="false" />
</column>
<column name="billing_salutation" type="varchar(80)">
<constraints nullable="true" />
</column>
<column name="billing_address" type="varchar(400)">
<constraints nullable="true" />
</column>
<column name="remark" type="varchar(160)">
<constraints nullable="true" />
</column>
<!-- jhipster-needle-liquibase-add-column - JHipster will add columns here, do not remove-->
</createTable>
</changeSet>
<!-- jhipster-needle-liquibase-add-changeset - JHipster will add changesets here, do not remove-->
</databaseChangeLog>

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<property name="now" value="now()" dbms="h2"/>
<property name="now" value="current_timestamp" dbms="postgresql"/>
<property name="floatType" value="float4" dbms="postgresql, h2"/>
<property name="floatType" value="float" dbms="mysql, oracle, mssql"/>
<!--
Added the entity Membership.
-->
<changeSet id="20190424123256-1" author="jhipster">
<createTable tableName="membership">
<column name="id" type="bigint" autoIncrement="${autoIncrement}">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="admission_document_date" type="date">
<constraints nullable="false" />
</column>
<column name="cancellation_document_date" type="date">
<constraints nullable="true" />
</column>
<column name="member_from_date" type="date">
<constraints nullable="false" />
</column>
<column name="member_until_date" type="date">
<constraints nullable="true" />
</column>
<column name="remark" type="varchar(160)">
<constraints nullable="true" />
</column>
<column name="customer_id" type="bigint">
<constraints nullable="false" />
</column>
<!-- jhipster-needle-liquibase-add-column - JHipster will add columns here, do not remove-->
</createTable>
</changeSet>
<!-- jhipster-needle-liquibase-add-changeset - JHipster will add changesets here, do not remove-->
</databaseChangeLog>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<!--
Added the constraints for entity Membership.
-->
<changeSet id="20190424123256-2" author="jhipster">
<addForeignKeyConstraint baseColumnNames="customer_id"
baseTableName="membership"
constraintName="fk_membership_customer_id"
referencedColumnNames="id"
referencedTableName="customer"/>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<property name="now" value="now()" dbms="h2"/>
<property name="now" value="current_timestamp" dbms="postgresql"/>
<property name="floatType" value="float4" dbms="postgresql, h2"/>
<property name="floatType" value="float" dbms="mysql, oracle, mssql"/>
<!--
Added the entity Share.
-->
<changeSet id="20190424123257-1" author="jhipster">
<createTable tableName="share">
<column name="id" type="bigint" autoIncrement="${autoIncrement}">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="document_date" type="date">
<constraints nullable="false" />
</column>
<column name="value_date" type="date">
<constraints nullable="false" />
</column>
<column name="action" type="varchar(255)">
<constraints nullable="false" />
</column>
<column name="quantity" type="integer">
<constraints nullable="false" />
</column>
<column name="remark" type="varchar(160)">
<constraints nullable="true" />
</column>
<column name="membership_id" type="bigint">
<constraints nullable="false" />
</column>
<!-- jhipster-needle-liquibase-add-column - JHipster will add columns here, do not remove-->
</createTable>
</changeSet>
<!-- jhipster-needle-liquibase-add-changeset - JHipster will add changesets here, do not remove-->
</databaseChangeLog>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<!--
Added the constraints for entity Share.
-->
<changeSet id="20190424123257-2" author="jhipster">
<addForeignKeyConstraint baseColumnNames="membership_id"
baseTableName="share"
constraintName="fk_share_membership_id"
referencedColumnNames="id"
referencedTableName="membership"/>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<property name="now" value="now()" dbms="h2"/>
<property name="now" value="current_timestamp" dbms="postgresql"/>
<property name="floatType" value="float4" dbms="postgresql, h2"/>
<property name="floatType" value="float" dbms="mysql, oracle, mssql"/>
<!--
Added the entity Asset.
-->
<changeSet id="20190424123258-1" author="jhipster">
<createTable tableName="asset">
<column name="id" type="bigint" autoIncrement="${autoIncrement}">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="document_date" type="date">
<constraints nullable="false" />
</column>
<column name="value_date" type="date">
<constraints nullable="false" />
</column>
<column name="action" type="varchar(255)">
<constraints nullable="false" />
</column>
<column name="amount" type="decimal(10,2)">
<constraints nullable="false" />
</column>
<column name="remark" type="varchar(160)">
<constraints nullable="true" />
</column>
<column name="membership_id" type="bigint">
<constraints nullable="false" />
</column>
<!-- jhipster-needle-liquibase-add-column - JHipster will add columns here, do not remove-->
</createTable>
</changeSet>
<!-- jhipster-needle-liquibase-add-changeset - JHipster will add changesets here, do not remove-->
</databaseChangeLog>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<!--
Added the constraints for entity Asset.
-->
<changeSet id="20190424123258-2" author="jhipster">
<addForeignKeyConstraint baseColumnNames="membership_id"
baseTableName="asset"
constraintName="fk_asset_membership_id"
referencedColumnNames="id"
referencedTableName="membership"/>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<property name="now" value="now()" dbms="h2"/>
<property name="now" value="current_timestamp" dbms="postgresql"/>
<property name="floatType" value="float4" dbms="postgresql, h2"/>
<property name="floatType" value="float" dbms="mysql, oracle, mssql"/>
<!--
Added the entity SepaMandate.
-->
<changeSet id="20190424123259-1" author="jhipster">
<createTable tableName="sepa_mandate">
<column name="id" type="bigint" autoIncrement="${autoIncrement}">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="reference" type="varchar(40)">
<constraints nullable="false" unique="true" uniqueConstraintName="ux_sepa_mandate_reference" />
</column>
<column name="iban" type="varchar(34)">
<constraints nullable="true" />
</column>
<column name="bic" type="varchar(11)">
<constraints nullable="true" />
</column>
<column name="granting_document_date" type="date">
<constraints nullable="false" />
</column>
<column name="revokation_document_date" type="date">
<constraints nullable="true" />
</column>
<column name="valid_from_date" type="date">
<constraints nullable="false" />
</column>
<column name="valid_until_date" type="date">
<constraints nullable="true" />
</column>
<column name="last_used_date" type="date">
<constraints nullable="true" />
</column>
<column name="remark" type="varchar(160)">
<constraints nullable="true" />
</column>
<column name="customer_id" type="bigint">
<constraints nullable="false" />
</column>
<!-- jhipster-needle-liquibase-add-column - JHipster will add columns here, do not remove-->
</createTable>
</changeSet>
<!-- jhipster-needle-liquibase-add-changeset - JHipster will add changesets here, do not remove-->
</databaseChangeLog>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<!--
Added the constraints for entity SepaMandate.
-->
<changeSet id="20190424123259-2" author="jhipster">
<addForeignKeyConstraint baseColumnNames="customer_id"
baseTableName="sepa_mandate"
constraintName="fk_sepa_mandate_customer_id"
referencedColumnNames="id"
referencedTableName="customer"/>
</changeSet>
</databaseChangeLog>

View File

@@ -5,15 +5,15 @@
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<include file="config/liquibase/changelog/00000000000000_initial_schema.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190418143050_added_entity_Customer.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190418143051_added_entity_Membership.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190418143052_added_entity_Share.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190418143053_added_entity_Asset.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190418143054_added_entity_SepaMandate.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190424123255_added_entity_Customer.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190424123256_added_entity_Membership.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190424123257_added_entity_Share.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190424123258_added_entity_Asset.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190424123259_added_entity_SepaMandate.xml" relativeToChangelogFile="false"/>
<!-- jhipster-needle-liquibase-add-changelog - JHipster will add liquibase changelogs here -->
<include file="config/liquibase/changelog/20190418143051_added_entity_constraints_Membership.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190418143052_added_entity_constraints_Share.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190418143053_added_entity_constraints_Asset.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190418143054_added_entity_constraints_SepaMandate.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190424123256_added_entity_constraints_Membership.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190424123257_added_entity_constraints_Share.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190424123258_added_entity_constraints_Asset.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20190424123259_added_entity_constraints_SepaMandate.xml" relativeToChangelogFile="false"/>
<!-- jhipster-needle-liquibase-add-constraints-changelog - JHipster will add liquibase constraints changelogs here -->
</databaseChangeLog>

View File

@@ -28,7 +28,7 @@
<dt><span jhiTranslate="hsadminNgApp.asset.membership">Membership</span></dt>
<dd>
<div *ngIf="asset.membershipId">
<a [routerLink]="['/membership', asset.membershipId, 'view']">{{asset.membershipDocumentDate}}</a>
<a [routerLink]="['/membership', asset.membershipId, 'view']">{{asset.membershipAdmissionDocumentDate}}</a>
</div>
</dd>
</dl>

View File

@@ -89,7 +89,7 @@
<label class="form-control-label" jhiTranslate="hsadminNgApp.asset.membership" for="field_membership">Membership</label>
<select class="form-control" id="field_membership" name="membership" [(ngModel)]="asset.membershipId" required>
<option *ngIf="!editForm.value.membership" [ngValue]="null" selected></option>
<option [ngValue]="membershipOption.id" *ngFor="let membershipOption of memberships; trackBy: trackMembershipById">{{membershipOption.documentDate}}</option>
<option [ngValue]="membershipOption.id" *ngFor="let membershipOption of memberships; trackBy: trackMembershipById">{{membershipOption.admissionDocumentDate}}</option>
</select>
</div>
<div [hidden]="!(editForm.controls.membership?.dirty && editForm.controls.membership?.invalid)">

View File

@@ -20,7 +20,7 @@
<th jhiSortBy="action"><span jhiTranslate="hsadminNgApp.asset.action">Action</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="amount"><span jhiTranslate="hsadminNgApp.asset.amount">Amount</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="remark"><span jhiTranslate="hsadminNgApp.asset.remark">Remark</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="membershipDocumentDate"><span jhiTranslate="hsadminNgApp.asset.membership">Membership</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="membershipAdmissionDocumentDate"><span jhiTranslate="hsadminNgApp.asset.membership">Membership</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th></th>
</tr>
</thead>
@@ -34,7 +34,7 @@
<td>{{asset.remark}}</td>
<td>
<div *ngIf="asset.membershipId">
<a [routerLink]="['../membership', asset.membershipId , 'view' ]" >{{asset.membershipDocumentDate}}</a>
<a [routerLink]="['../membership', asset.membershipId , 'view' ]" >{{asset.membershipAdmissionDocumentDate}}</a>
</div>
</td>
<td class="text-right">

View File

@@ -17,6 +17,34 @@
<dd>
<span>{{customer.name}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.customer.kind">Kind</span></dt>
<dd>
<span jhiTranslate="{{'hsadminNgApp.CustomerKind.' + customer.kind}}">{{customer.kind}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.customer.birthDate">Birth Date</span></dt>
<dd>
<span>{{customer.birthDate}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.customer.birthPlace">Birth Place</span></dt>
<dd>
<span>{{customer.birthPlace}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.customer.registrationCourt">Registration Court</span></dt>
<dd>
<span>{{customer.registrationCourt}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.customer.registrationNumber">Registration Number</span></dt>
<dd>
<span>{{customer.registrationNumber}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.customer.vatRegion">Vat Region</span></dt>
<dd>
<span jhiTranslate="{{'hsadminNgApp.VatRegion.' + customer.vatRegion}}">{{customer.vatRegion}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.customer.vatNumber">Vat Number</span></dt>
<dd>
<span>{{customer.vatNumber}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.customer.contractualSalutation">Contractual Salutation</span></dt>
<dd>
<span>{{customer.contractualSalutation}}</span>

View File

@@ -66,6 +66,87 @@
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.customer.kind" for="field_kind">Kind</label>
<select class="form-control" name="kind" [(ngModel)]="customer.kind" id="field_kind" required>
<option value="NATURAL">{{'hsadminNgApp.CustomerKind.NATURAL' | translate}}</option>
<option value="LEGAL">{{'hsadminNgApp.CustomerKind.LEGAL' | translate}}</option>
</select>
<div [hidden]="!(editForm.controls.kind?.dirty && editForm.controls.kind?.invalid)">
<small class="form-text text-danger"
[hidden]="!editForm.controls.kind?.errors?.required" jhiTranslate="entity.validation.required">
This field is required.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.customer.birthDate" for="field_birthDate">Birth Date</label>
<div class="input-group">
<input id="field_birthDate" type="text" class="form-control" name="birthDate" ngbDatepicker #birthDateDp="ngbDatepicker" [(ngModel)]="customer.birthDate"
/>
<span class="input-group-append">
<button type="button" class="btn btn-secondary" (click)="birthDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
</span>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.customer.birthPlace" for="field_birthPlace">Birth Place</label>
<input type="text" class="form-control" name="birthPlace" id="field_birthPlace"
[(ngModel)]="customer.birthPlace" maxlength="80"/>
<div [hidden]="!(editForm.controls.birthPlace?.dirty && editForm.controls.birthPlace?.invalid)">
<small class="form-text text-danger"
[hidden]="!editForm.controls.birthPlace?.errors?.maxlength" jhiTranslate="entity.validation.maxlength" [translateValues]="{ max: 80 }">
This field cannot be longer than 80 characters.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.customer.registrationCourt" for="field_registrationCourt">Registration Court</label>
<input type="text" class="form-control" name="registrationCourt" id="field_registrationCourt"
[(ngModel)]="customer.registrationCourt" maxlength="80"/>
<div [hidden]="!(editForm.controls.registrationCourt?.dirty && editForm.controls.registrationCourt?.invalid)">
<small class="form-text text-danger"
[hidden]="!editForm.controls.registrationCourt?.errors?.maxlength" jhiTranslate="entity.validation.maxlength" [translateValues]="{ max: 80 }">
This field cannot be longer than 80 characters.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.customer.registrationNumber" for="field_registrationNumber">Registration Number</label>
<input type="text" class="form-control" name="registrationNumber" id="field_registrationNumber"
[(ngModel)]="customer.registrationNumber" maxlength="80"/>
<div [hidden]="!(editForm.controls.registrationNumber?.dirty && editForm.controls.registrationNumber?.invalid)">
<small class="form-text text-danger"
[hidden]="!editForm.controls.registrationNumber?.errors?.maxlength" jhiTranslate="entity.validation.maxlength" [translateValues]="{ max: 80 }">
This field cannot be longer than 80 characters.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.customer.vatRegion" for="field_vatRegion">Vat Region</label>
<select class="form-control" name="vatRegion" [(ngModel)]="customer.vatRegion" id="field_vatRegion" required>
<option value="DOMESTIC">{{'hsadminNgApp.VatRegion.DOMESTIC' | translate}}</option>
<option value="EU">{{'hsadminNgApp.VatRegion.EU' | translate}}</option>
<option value="OTHER">{{'hsadminNgApp.VatRegion.OTHER' | translate}}</option>
</select>
<div [hidden]="!(editForm.controls.vatRegion?.dirty && editForm.controls.vatRegion?.invalid)">
<small class="form-text text-danger"
[hidden]="!editForm.controls.vatRegion?.errors?.required" jhiTranslate="entity.validation.required">
This field is required.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.customer.vatNumber" for="field_vatNumber">Vat Number</label>
<input type="text" class="form-control" name="vatNumber" id="field_vatNumber"
[(ngModel)]="customer.vatNumber" maxlength="40"/>
<div [hidden]="!(editForm.controls.vatNumber?.dirty && editForm.controls.vatNumber?.invalid)">
<small class="form-text text-danger"
[hidden]="!editForm.controls.vatNumber?.errors?.maxlength" jhiTranslate="entity.validation.maxlength" [translateValues]="{ max: 40 }">
This field cannot be longer than 40 characters.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.customer.contractualSalutation" for="field_contractualSalutation">Contractual Salutation</label>
<input type="text" class="form-control" name="contractualSalutation" id="field_contractualSalutation"

View File

@@ -1,8 +1,7 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { HttpResponse, HttpErrorResponse } from '@angular/common/http';
import { HttpErrorResponse, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs';
import { filter, map } from 'rxjs/operators';
import { ICustomer } from 'app/shared/model/customer.model';
import { CustomerService } from './customer.service';
@@ -13,6 +12,7 @@ import { CustomerService } from './customer.service';
export class CustomerUpdateComponent implements OnInit {
customer: ICustomer;
isSaving: boolean;
birthDateDp: any;
constructor(protected customerService: CustomerService, protected activatedRoute: ActivatedRoute) {}

View File

@@ -18,6 +18,13 @@
<th jhiSortBy="reference"><span jhiTranslate="hsadminNgApp.customer.reference">Reference</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="prefix"><span jhiTranslate="hsadminNgApp.customer.prefix">Prefix</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="name"><span jhiTranslate="hsadminNgApp.customer.name">Name</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="kind"><span jhiTranslate="hsadminNgApp.customer.kind">Kind</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="birthDate"><span jhiTranslate="hsadminNgApp.customer.birthDate">Birth Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="birthPlace"><span jhiTranslate="hsadminNgApp.customer.birthPlace">Birth Place</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="registrationCourt"><span jhiTranslate="hsadminNgApp.customer.registrationCourt">Registration Court</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="registrationNumber"><span jhiTranslate="hsadminNgApp.customer.registrationNumber">Registration Number</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="vatRegion"><span jhiTranslate="hsadminNgApp.customer.vatRegion">Vat Region</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="vatNumber"><span jhiTranslate="hsadminNgApp.customer.vatNumber">Vat Number</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="contractualSalutation"><span jhiTranslate="hsadminNgApp.customer.contractualSalutation">Contractual Salutation</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="contractualAddress"><span jhiTranslate="hsadminNgApp.customer.contractualAddress">Contractual Address</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="billingSalutation"><span jhiTranslate="hsadminNgApp.customer.billingSalutation">Billing Salutation</span> <fa-icon [icon]="'sort'"></fa-icon></th>
@@ -32,6 +39,13 @@
<td>{{customer.reference}}</td>
<td>{{customer.prefix}}</td>
<td>{{customer.name}}</td>
<td jhiTranslate="{{'hsadminNgApp.CustomerKind.' + customer.kind}}">{{customer.kind}}</td>
<td>{{customer.birthDate | date:'mediumDate'}}</td>
<td>{{customer.birthPlace}}</td>
<td>{{customer.registrationCourt}}</td>
<td>{{customer.registrationNumber}}</td>
<td jhiTranslate="{{'hsadminNgApp.VatRegion.' + customer.vatRegion}}">{{customer.vatRegion}}</td>
<td>{{customer.vatNumber}}</td>
<td>{{customer.contractualSalutation}}</td>
<td>{{customer.contractualAddress}}</td>
<td>{{customer.billingSalutation}}</td>

View File

@@ -1,8 +1,7 @@
import { Component, OnInit, OnDestroy } from '@angular/core';
import { Component, OnDestroy, OnInit } from '@angular/core';
import { HttpErrorResponse, HttpHeaders, HttpResponse } from '@angular/common/http';
import { Subscription, Subject } from 'rxjs';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
import { JhiEventManager, JhiParseLinks, JhiAlertService } from 'ng-jhipster';
import { Subscription } from 'rxjs';
import { JhiAlertService, JhiEventManager, JhiParseLinks } from 'ng-jhipster';
import { ICustomer } from 'app/shared/model/customer.model';
import { AccountService } from 'app/core';
@@ -24,9 +23,6 @@ export class CustomerComponent implements OnInit, OnDestroy {
predicate: any;
reverse: any;
totalItems: number;
filterValue: any;
filterValueChanged = new Subject<string>();
subscription: Subscription;
constructor(
protected customerService: CustomerService,
@@ -43,25 +39,11 @@ export class CustomerComponent implements OnInit, OnDestroy {
};
this.predicate = 'id';
this.reverse = true;
this.resetFilter();
}
resetFilter() {
this.filterValue = {
number: null,
prefix: null
};
this.loadAll();
}
loadAll() {
const criteria = {
...(this.filterValue.number && { 'number.equals': this.filterValue.number }),
...(this.filterValue.prefix && { 'prefix.contains': this.filterValue.prefix })
};
this.customerService
.query({
...criteria,
page: this.page,
size: this.itemsPerPage,
sort: this.sort()
@@ -72,10 +54,6 @@ export class CustomerComponent implements OnInit, OnDestroy {
);
}
filter($event) {
this.filterValueChanged.next($event.target.value);
}
reset() {
this.page = 0;
this.customers = [];
@@ -93,15 +71,6 @@ export class CustomerComponent implements OnInit, OnDestroy {
this.currentAccount = account;
});
this.registerChangeInCustomers();
this.subscription = this.filterValueChanged
.pipe(
debounceTime(500),
distinctUntilChanged((previous: any, current: any) => previous === current)
)
.subscribe(() => {
this.loadAll();
});
}
ngOnDestroy() {
@@ -127,8 +96,6 @@ export class CustomerComponent implements OnInit, OnDestroy {
protected paginateCustomers(data: ICustomer[], headers: HttpHeaders) {
this.links = this.parseLinks.parse(headers.get('link'));
this.totalItems = parseInt(headers.get('X-Total-Count'), 10);
this.page = 0;
this.customers = [];
for (let i = 0; i < data.length; i++) {
this.customers.push(data[i]);
}

View File

@@ -1,6 +1,9 @@
import { Injectable } from '@angular/core';
import { HttpClient, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs';
import * as moment from 'moment';
import { DATE_FORMAT } from 'app/shared/constants/input.constants';
import { map } from 'rxjs/operators';
import { SERVER_API_URL } from 'app/app.constants';
import { createRequestOption } from 'app/shared';
@@ -16,23 +19,56 @@ export class CustomerService {
constructor(protected http: HttpClient) {}
create(customer: ICustomer): Observable<EntityResponseType> {
return this.http.post<ICustomer>(this.resourceUrl, customer, { observe: 'response' });
const copy = this.convertDateFromClient(customer);
return this.http
.post<ICustomer>(this.resourceUrl, copy, { observe: 'response' })
.pipe(map((res: EntityResponseType) => this.convertDateFromServer(res)));
}
update(customer: ICustomer): Observable<EntityResponseType> {
return this.http.put<ICustomer>(this.resourceUrl, customer, { observe: 'response' });
const copy = this.convertDateFromClient(customer);
return this.http
.put<ICustomer>(this.resourceUrl, copy, { observe: 'response' })
.pipe(map((res: EntityResponseType) => this.convertDateFromServer(res)));
}
find(id: number): Observable<EntityResponseType> {
return this.http.get<ICustomer>(`${this.resourceUrl}/${id}`, { observe: 'response' });
return this.http
.get<ICustomer>(`${this.resourceUrl}/${id}`, { observe: 'response' })
.pipe(map((res: EntityResponseType) => this.convertDateFromServer(res)));
}
query(req?: any): Observable<EntityArrayResponseType> {
const options = createRequestOption(req);
return this.http.get<ICustomer[]>(this.resourceUrl, { params: options, observe: 'response' });
return this.http
.get<ICustomer[]>(this.resourceUrl, { params: options, observe: 'response' })
.pipe(map((res: EntityArrayResponseType) => this.convertDateArrayFromServer(res)));
}
delete(id: number): Observable<HttpResponse<any>> {
return this.http.delete<any>(`${this.resourceUrl}/${id}`, { observe: 'response' });
}
protected convertDateFromClient(customer: ICustomer): ICustomer {
const copy: ICustomer = Object.assign({}, customer, {
birthDate: customer.birthDate != null && customer.birthDate.isValid() ? customer.birthDate.format(DATE_FORMAT) : null
});
return copy;
}
protected convertDateFromServer(res: EntityResponseType): EntityResponseType {
if (res.body) {
res.body.birthDate = res.body.birthDate != null ? moment(res.body.birthDate) : null;
}
return res;
}
protected convertDateArrayFromServer(res: EntityArrayResponseType): EntityArrayResponseType {
if (res.body) {
res.body.forEach((customer: ICustomer) => {
customer.birthDate = customer.birthDate != null ? moment(customer.birthDate) : null;
});
}
return res;
}
}

View File

@@ -5,17 +5,21 @@
<hr>
<jhi-alert-error></jhi-alert-error>
<dl class="row-md jh-entity-details">
<dt><span jhiTranslate="hsadminNgApp.membership.documentDate">Document Date</span></dt>
<dt><span jhiTranslate="hsadminNgApp.membership.admissionDocumentDate">Admission Document Date</span></dt>
<dd>
<span>{{membership.documentDate}}</span>
<span>{{membership.admissionDocumentDate}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.membership.memberFrom">Member From</span></dt>
<dt><span jhiTranslate="hsadminNgApp.membership.cancellationDocumentDate">Cancellation Document Date</span></dt>
<dd>
<span>{{membership.memberFrom}}</span>
<span>{{membership.cancellationDocumentDate}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.membership.memberUntil">Member Until</span></dt>
<dt><span jhiTranslate="hsadminNgApp.membership.memberFromDate">Member From Date</span></dt>
<dd>
<span>{{membership.memberUntil}}</span>
<span>{{membership.memberFromDate}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.membership.memberUntilDate">Member Until Date</span></dt>
<dd>
<span>{{membership.memberUntilDate}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.membership.remark">Remark</span></dt>
<dd>

View File

@@ -10,44 +10,54 @@
[(ngModel)]="membership.id" readonly />
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.membership.documentDate" for="field_documentDate">Document Date</label>
<label class="form-control-label" jhiTranslate="hsadminNgApp.membership.admissionDocumentDate" for="field_admissionDocumentDate">Admission Document Date</label>
<div class="input-group">
<input id="field_documentDate" type="text" class="form-control" name="documentDate" ngbDatepicker #documentDateDp="ngbDatepicker" [(ngModel)]="membership.documentDate"
<input id="field_admissionDocumentDate" type="text" class="form-control" name="admissionDocumentDate" ngbDatepicker #admissionDocumentDateDp="ngbDatepicker" [(ngModel)]="membership.admissionDocumentDate"
required/>
<span class="input-group-append">
<button type="button" class="btn btn-secondary" (click)="documentDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
<button type="button" class="btn btn-secondary" (click)="admissionDocumentDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
</span>
</div>
<div [hidden]="!(editForm.controls.documentDate?.dirty && editForm.controls.documentDate?.invalid)">
<div [hidden]="!(editForm.controls.admissionDocumentDate?.dirty && editForm.controls.admissionDocumentDate?.invalid)">
<small class="form-text text-danger"
[hidden]="!editForm.controls.documentDate?.errors?.required" jhiTranslate="entity.validation.required">
[hidden]="!editForm.controls.admissionDocumentDate?.errors?.required" jhiTranslate="entity.validation.required">
This field is required.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.membership.memberFrom" for="field_memberFrom">Member From</label>
<label class="form-control-label" jhiTranslate="hsadminNgApp.membership.cancellationDocumentDate" for="field_cancellationDocumentDate">Cancellation Document Date</label>
<div class="input-group">
<input id="field_memberFrom" type="text" class="form-control" name="memberFrom" ngbDatepicker #memberFromDp="ngbDatepicker" [(ngModel)]="membership.memberFrom"
required/>
<span class="input-group-append">
<button type="button" class="btn btn-secondary" (click)="memberFromDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
</span>
</div>
<div [hidden]="!(editForm.controls.memberFrom?.dirty && editForm.controls.memberFrom?.invalid)">
<small class="form-text text-danger"
[hidden]="!editForm.controls.memberFrom?.errors?.required" jhiTranslate="entity.validation.required">
This field is required.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.membership.memberUntil" for="field_memberUntil">Member Until</label>
<div class="input-group">
<input id="field_memberUntil" type="text" class="form-control" name="memberUntil" ngbDatepicker #memberUntilDp="ngbDatepicker" [(ngModel)]="membership.memberUntil"
<input id="field_cancellationDocumentDate" type="text" class="form-control" name="cancellationDocumentDate" ngbDatepicker #cancellationDocumentDateDp="ngbDatepicker" [(ngModel)]="membership.cancellationDocumentDate"
/>
<span class="input-group-append">
<button type="button" class="btn btn-secondary" (click)="memberUntilDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
<button type="button" class="btn btn-secondary" (click)="cancellationDocumentDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
</span>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.membership.memberFromDate" for="field_memberFromDate">Member From Date</label>
<div class="input-group">
<input id="field_memberFromDate" type="text" class="form-control" name="memberFromDate" ngbDatepicker #memberFromDateDp="ngbDatepicker" [(ngModel)]="membership.memberFromDate"
required/>
<span class="input-group-append">
<button type="button" class="btn btn-secondary" (click)="memberFromDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
</span>
</div>
<div [hidden]="!(editForm.controls.memberFromDate?.dirty && editForm.controls.memberFromDate?.invalid)">
<small class="form-text text-danger"
[hidden]="!editForm.controls.memberFromDate?.errors?.required" jhiTranslate="entity.validation.required">
This field is required.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.membership.memberUntilDate" for="field_memberUntilDate">Member Until Date</label>
<div class="input-group">
<input id="field_memberUntilDate" type="text" class="form-control" name="memberUntilDate" ngbDatepicker #memberUntilDateDp="ngbDatepicker" [(ngModel)]="membership.memberUntilDate"
/>
<span class="input-group-append">
<button type="button" class="btn btn-secondary" (click)="memberUntilDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
</span>
</div>
</div>

View File

@@ -1,9 +1,8 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { HttpResponse, HttpErrorResponse } from '@angular/common/http';
import { HttpErrorResponse, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs';
import { filter, map } from 'rxjs/operators';
import * as moment from 'moment';
import { JhiAlertService } from 'ng-jhipster';
import { IMembership } from 'app/shared/model/membership.model';
import { MembershipService } from './membership.service';
@@ -19,9 +18,10 @@ export class MembershipUpdateComponent implements OnInit {
isSaving: boolean;
customers: ICustomer[];
documentDateDp: any;
memberFromDp: any;
memberUntilDp: any;
admissionDocumentDateDp: any;
cancellationDocumentDateDp: any;
memberFromDateDp: any;
memberUntilDateDp: any;
constructor(
protected jhiAlertService: JhiAlertService,

View File

@@ -15,9 +15,10 @@
<thead>
<tr jhiSort [(predicate)]="predicate" [(ascending)]="reverse" [callback]="reset.bind(this)">
<th jhiSortBy="id"><span jhiTranslate="global.field.id">ID</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="documentDate"><span jhiTranslate="hsadminNgApp.membership.documentDate">Document Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="memberFrom"><span jhiTranslate="hsadminNgApp.membership.memberFrom">Member From</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="memberUntil"><span jhiTranslate="hsadminNgApp.membership.memberUntil">Member Until</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="admissionDocumentDate"><span jhiTranslate="hsadminNgApp.membership.admissionDocumentDate">Admission Document Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="cancellationDocumentDate"><span jhiTranslate="hsadminNgApp.membership.cancellationDocumentDate">Cancellation Document Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="memberFromDate"><span jhiTranslate="hsadminNgApp.membership.memberFromDate">Member From Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="memberUntilDate"><span jhiTranslate="hsadminNgApp.membership.memberUntilDate">Member Until Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="remark"><span jhiTranslate="hsadminNgApp.membership.remark">Remark</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="customerPrefix"><span jhiTranslate="hsadminNgApp.membership.customer">Customer</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th></th>
@@ -26,9 +27,10 @@
<tbody infinite-scroll (scrolled)="loadPage(page + 1)" [infiniteScrollDisabled]="page >= links['last']" [infiniteScrollDistance]="0">
<tr *ngFor="let membership of memberships ;trackBy: trackId">
<td><a [routerLink]="['/membership', membership.id, 'view' ]">{{membership.id}}</a></td>
<td>{{membership.documentDate | date:'mediumDate'}}</td>
<td>{{membership.memberFrom | date:'mediumDate'}}</td>
<td>{{membership.memberUntil | date:'mediumDate'}}</td>
<td>{{membership.admissionDocumentDate | date:'mediumDate'}}</td>
<td>{{membership.cancellationDocumentDate | date:'mediumDate'}}</td>
<td>{{membership.memberFromDate | date:'mediumDate'}}</td>
<td>{{membership.memberUntilDate | date:'mediumDate'}}</td>
<td>{{membership.remark}}</td>
<td>
<div *ngIf="membership.customerId">

View File

@@ -51,20 +51,33 @@ export class MembershipService {
protected convertDateFromClient(membership: IMembership): IMembership {
const copy: IMembership = Object.assign({}, membership, {
documentDate:
membership.documentDate != null && membership.documentDate.isValid() ? membership.documentDate.format(DATE_FORMAT) : null,
memberFrom: membership.memberFrom != null && membership.memberFrom.isValid() ? membership.memberFrom.format(DATE_FORMAT) : null,
memberUntil:
membership.memberUntil != null && membership.memberUntil.isValid() ? membership.memberUntil.format(DATE_FORMAT) : null
admissionDocumentDate:
membership.admissionDocumentDate != null && membership.admissionDocumentDate.isValid()
? membership.admissionDocumentDate.format(DATE_FORMAT)
: null,
cancellationDocumentDate:
membership.cancellationDocumentDate != null && membership.cancellationDocumentDate.isValid()
? membership.cancellationDocumentDate.format(DATE_FORMAT)
: null,
memberFromDate:
membership.memberFromDate != null && membership.memberFromDate.isValid()
? membership.memberFromDate.format(DATE_FORMAT)
: null,
memberUntilDate:
membership.memberUntilDate != null && membership.memberUntilDate.isValid()
? membership.memberUntilDate.format(DATE_FORMAT)
: null
});
return copy;
}
protected convertDateFromServer(res: EntityResponseType): EntityResponseType {
if (res.body) {
res.body.documentDate = res.body.documentDate != null ? moment(res.body.documentDate) : null;
res.body.memberFrom = res.body.memberFrom != null ? moment(res.body.memberFrom) : null;
res.body.memberUntil = res.body.memberUntil != null ? moment(res.body.memberUntil) : null;
res.body.admissionDocumentDate = res.body.admissionDocumentDate != null ? moment(res.body.admissionDocumentDate) : null;
res.body.cancellationDocumentDate =
res.body.cancellationDocumentDate != null ? moment(res.body.cancellationDocumentDate) : null;
res.body.memberFromDate = res.body.memberFromDate != null ? moment(res.body.memberFromDate) : null;
res.body.memberUntilDate = res.body.memberUntilDate != null ? moment(res.body.memberUntilDate) : null;
}
return res;
}
@@ -72,9 +85,12 @@ export class MembershipService {
protected convertDateArrayFromServer(res: EntityArrayResponseType): EntityArrayResponseType {
if (res.body) {
res.body.forEach((membership: IMembership) => {
membership.documentDate = membership.documentDate != null ? moment(membership.documentDate) : null;
membership.memberFrom = membership.memberFrom != null ? moment(membership.memberFrom) : null;
membership.memberUntil = membership.memberUntil != null ? moment(membership.memberUntil) : null;
membership.admissionDocumentDate =
membership.admissionDocumentDate != null ? moment(membership.admissionDocumentDate) : null;
membership.cancellationDocumentDate =
membership.cancellationDocumentDate != null ? moment(membership.cancellationDocumentDate) : null;
membership.memberFromDate = membership.memberFromDate != null ? moment(membership.memberFromDate) : null;
membership.memberUntilDate = membership.memberUntilDate != null ? moment(membership.memberUntilDate) : null;
});
}
return res;

View File

@@ -17,25 +17,25 @@
<dd>
<span>{{sepaMandate.bic}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.sepaMandate.documentDate">Document Date</span></dt>
<dt><span jhiTranslate="hsadminNgApp.sepaMandate.grantingDocumentDate">Granting Document Date</span></dt>
<dd>
<span>{{sepaMandate.documentDate}}</span>
<span>{{sepaMandate.grantingDocumentDate}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.sepaMandate.validFrom">Valid From</span></dt>
<dt><span jhiTranslate="hsadminNgApp.sepaMandate.revokationDocumentDate">Revokation Document Date</span></dt>
<dd>
<span>{{sepaMandate.validFrom}}</span>
<span>{{sepaMandate.revokationDocumentDate}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.sepaMandate.validUntil">Valid Until</span></dt>
<dt><span jhiTranslate="hsadminNgApp.sepaMandate.validFromDate">Valid From Date</span></dt>
<dd>
<span>{{sepaMandate.validUntil}}</span>
<span>{{sepaMandate.validFromDate}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.sepaMandate.lastUsed">Last Used</span></dt>
<dt><span jhiTranslate="hsadminNgApp.sepaMandate.validUntilDate">Valid Until Date</span></dt>
<dd>
<span>{{sepaMandate.lastUsed}}</span>
<span>{{sepaMandate.validUntilDate}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.sepaMandate.cancellationDate">Cancellation Date</span></dt>
<dt><span jhiTranslate="hsadminNgApp.sepaMandate.lastUsedDate">Last Used Date</span></dt>
<dd>
<span>{{sepaMandate.cancellationDate}}</span>
<span>{{sepaMandate.lastUsedDate}}</span>
</dd>
<dt><span jhiTranslate="hsadminNgApp.sepaMandate.remark">Remark</span></dt>
<dd>

View File

@@ -47,64 +47,64 @@
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.sepaMandate.documentDate" for="field_documentDate">Document Date</label>
<label class="form-control-label" jhiTranslate="hsadminNgApp.sepaMandate.grantingDocumentDate" for="field_grantingDocumentDate">Granting Document Date</label>
<div class="input-group">
<input id="field_documentDate" type="text" class="form-control" name="documentDate" ngbDatepicker #documentDateDp="ngbDatepicker" [(ngModel)]="sepaMandate.documentDate"
<input id="field_grantingDocumentDate" type="text" class="form-control" name="grantingDocumentDate" ngbDatepicker #grantingDocumentDateDp="ngbDatepicker" [(ngModel)]="sepaMandate.grantingDocumentDate"
required/>
<span class="input-group-append">
<button type="button" class="btn btn-secondary" (click)="documentDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
<button type="button" class="btn btn-secondary" (click)="grantingDocumentDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
</span>
</div>
<div [hidden]="!(editForm.controls.documentDate?.dirty && editForm.controls.documentDate?.invalid)">
<div [hidden]="!(editForm.controls.grantingDocumentDate?.dirty && editForm.controls.grantingDocumentDate?.invalid)">
<small class="form-text text-danger"
[hidden]="!editForm.controls.documentDate?.errors?.required" jhiTranslate="entity.validation.required">
[hidden]="!editForm.controls.grantingDocumentDate?.errors?.required" jhiTranslate="entity.validation.required">
This field is required.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.sepaMandate.validFrom" for="field_validFrom">Valid From</label>
<label class="form-control-label" jhiTranslate="hsadminNgApp.sepaMandate.revokationDocumentDate" for="field_revokationDocumentDate">Revokation Document Date</label>
<div class="input-group">
<input id="field_validFrom" type="text" class="form-control" name="validFrom" ngbDatepicker #validFromDp="ngbDatepicker" [(ngModel)]="sepaMandate.validFrom"
required/>
<input id="field_revokationDocumentDate" type="text" class="form-control" name="revokationDocumentDate" ngbDatepicker #revokationDocumentDateDp="ngbDatepicker" [(ngModel)]="sepaMandate.revokationDocumentDate"
/>
<span class="input-group-append">
<button type="button" class="btn btn-secondary" (click)="validFromDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
<button type="button" class="btn btn-secondary" (click)="revokationDocumentDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
</span>
</div>
<div [hidden]="!(editForm.controls.validFrom?.dirty && editForm.controls.validFrom?.invalid)">
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.sepaMandate.validFromDate" for="field_validFromDate">Valid From Date</label>
<div class="input-group">
<input id="field_validFromDate" type="text" class="form-control" name="validFromDate" ngbDatepicker #validFromDateDp="ngbDatepicker" [(ngModel)]="sepaMandate.validFromDate"
required/>
<span class="input-group-append">
<button type="button" class="btn btn-secondary" (click)="validFromDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
</span>
</div>
<div [hidden]="!(editForm.controls.validFromDate?.dirty && editForm.controls.validFromDate?.invalid)">
<small class="form-text text-danger"
[hidden]="!editForm.controls.validFrom?.errors?.required" jhiTranslate="entity.validation.required">
[hidden]="!editForm.controls.validFromDate?.errors?.required" jhiTranslate="entity.validation.required">
This field is required.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.sepaMandate.validUntil" for="field_validUntil">Valid Until</label>
<label class="form-control-label" jhiTranslate="hsadminNgApp.sepaMandate.validUntilDate" for="field_validUntilDate">Valid Until Date</label>
<div class="input-group">
<input id="field_validUntil" type="text" class="form-control" name="validUntil" ngbDatepicker #validUntilDp="ngbDatepicker" [(ngModel)]="sepaMandate.validUntil"
<input id="field_validUntilDate" type="text" class="form-control" name="validUntilDate" ngbDatepicker #validUntilDateDp="ngbDatepicker" [(ngModel)]="sepaMandate.validUntilDate"
/>
<span class="input-group-append">
<button type="button" class="btn btn-secondary" (click)="validUntilDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
<button type="button" class="btn btn-secondary" (click)="validUntilDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
</span>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.sepaMandate.lastUsed" for="field_lastUsed">Last Used</label>
<label class="form-control-label" jhiTranslate="hsadminNgApp.sepaMandate.lastUsedDate" for="field_lastUsedDate">Last Used Date</label>
<div class="input-group">
<input id="field_lastUsed" type="text" class="form-control" name="lastUsed" ngbDatepicker #lastUsedDp="ngbDatepicker" [(ngModel)]="sepaMandate.lastUsed"
<input id="field_lastUsedDate" type="text" class="form-control" name="lastUsedDate" ngbDatepicker #lastUsedDateDp="ngbDatepicker" [(ngModel)]="sepaMandate.lastUsedDate"
/>
<span class="input-group-append">
<button type="button" class="btn btn-secondary" (click)="lastUsedDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
</span>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="hsadminNgApp.sepaMandate.cancellationDate" for="field_cancellationDate">Cancellation Date</label>
<div class="input-group">
<input id="field_cancellationDate" type="text" class="form-control" name="cancellationDate" ngbDatepicker #cancellationDateDp="ngbDatepicker" [(ngModel)]="sepaMandate.cancellationDate"
/>
<span class="input-group-append">
<button type="button" class="btn btn-secondary" (click)="cancellationDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
<button type="button" class="btn btn-secondary" (click)="lastUsedDateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button>
</span>
</div>
</div>

View File

@@ -1,9 +1,8 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { HttpResponse, HttpErrorResponse } from '@angular/common/http';
import { HttpErrorResponse, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs';
import { filter, map } from 'rxjs/operators';
import * as moment from 'moment';
import { JhiAlertService } from 'ng-jhipster';
import { ISepaMandate } from 'app/shared/model/sepa-mandate.model';
import { SepaMandateService } from './sepa-mandate.service';
@@ -19,11 +18,11 @@ export class SepaMandateUpdateComponent implements OnInit {
isSaving: boolean;
customers: ICustomer[];
documentDateDp: any;
validFromDp: any;
validUntilDp: any;
lastUsedDp: any;
cancellationDateDp: any;
grantingDocumentDateDp: any;
revokationDocumentDateDp: any;
validFromDateDp: any;
validUntilDateDp: any;
lastUsedDateDp: any;
constructor(
protected jhiAlertService: JhiAlertService,

View File

@@ -18,11 +18,11 @@
<th jhiSortBy="reference"><span jhiTranslate="hsadminNgApp.sepaMandate.reference">Reference</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="iban"><span jhiTranslate="hsadminNgApp.sepaMandate.iban">Iban</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="bic"><span jhiTranslate="hsadminNgApp.sepaMandate.bic">Bic</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="documentDate"><span jhiTranslate="hsadminNgApp.sepaMandate.documentDate">Document Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="validFrom"><span jhiTranslate="hsadminNgApp.sepaMandate.validFrom">Valid From</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="validUntil"><span jhiTranslate="hsadminNgApp.sepaMandate.validUntil">Valid Until</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="lastUsed"><span jhiTranslate="hsadminNgApp.sepaMandate.lastUsed">Last Used</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="cancellationDate"><span jhiTranslate="hsadminNgApp.sepaMandate.cancellationDate">Cancellation Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="grantingDocumentDate"><span jhiTranslate="hsadminNgApp.sepaMandate.grantingDocumentDate">Granting Document Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="revokationDocumentDate"><span jhiTranslate="hsadminNgApp.sepaMandate.revokationDocumentDate">Revokation Document Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="validFromDate"><span jhiTranslate="hsadminNgApp.sepaMandate.validFromDate">Valid From Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="validUntilDate"><span jhiTranslate="hsadminNgApp.sepaMandate.validUntilDate">Valid Until Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="lastUsedDate"><span jhiTranslate="hsadminNgApp.sepaMandate.lastUsedDate">Last Used Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="remark"><span jhiTranslate="hsadminNgApp.sepaMandate.remark">Remark</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="customerPrefix"><span jhiTranslate="hsadminNgApp.sepaMandate.customer">Customer</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th></th>
@@ -34,11 +34,11 @@
<td>{{sepaMandate.reference}}</td>
<td>{{sepaMandate.iban}}</td>
<td>{{sepaMandate.bic}}</td>
<td>{{sepaMandate.documentDate | date:'mediumDate'}}</td>
<td>{{sepaMandate.validFrom | date:'mediumDate'}}</td>
<td>{{sepaMandate.validUntil | date:'mediumDate'}}</td>
<td>{{sepaMandate.lastUsed | date:'mediumDate'}}</td>
<td>{{sepaMandate.cancellationDate | date:'mediumDate'}}</td>
<td>{{sepaMandate.grantingDocumentDate | date:'mediumDate'}}</td>
<td>{{sepaMandate.revokationDocumentDate | date:'mediumDate'}}</td>
<td>{{sepaMandate.validFromDate | date:'mediumDate'}}</td>
<td>{{sepaMandate.validUntilDate | date:'mediumDate'}}</td>
<td>{{sepaMandate.lastUsedDate | date:'mediumDate'}}</td>
<td>{{sepaMandate.remark}}</td>
<td>
<div *ngIf="sepaMandate.customerId">

View File

@@ -51,29 +51,35 @@ export class SepaMandateService {
protected convertDateFromClient(sepaMandate: ISepaMandate): ISepaMandate {
const copy: ISepaMandate = Object.assign({}, sepaMandate, {
documentDate:
sepaMandate.documentDate != null && sepaMandate.documentDate.isValid()
? sepaMandate.documentDate.format(DATE_FORMAT)
grantingDocumentDate:
sepaMandate.grantingDocumentDate != null && sepaMandate.grantingDocumentDate.isValid()
? sepaMandate.grantingDocumentDate.format(DATE_FORMAT)
: null,
validFrom: sepaMandate.validFrom != null && sepaMandate.validFrom.isValid() ? sepaMandate.validFrom.format(DATE_FORMAT) : null,
validUntil:
sepaMandate.validUntil != null && sepaMandate.validUntil.isValid() ? sepaMandate.validUntil.format(DATE_FORMAT) : null,
lastUsed: sepaMandate.lastUsed != null && sepaMandate.lastUsed.isValid() ? sepaMandate.lastUsed.format(DATE_FORMAT) : null,
cancellationDate:
sepaMandate.cancellationDate != null && sepaMandate.cancellationDate.isValid()
? sepaMandate.cancellationDate.format(DATE_FORMAT)
: null
revokationDocumentDate:
sepaMandate.revokationDocumentDate != null && sepaMandate.revokationDocumentDate.isValid()
? sepaMandate.revokationDocumentDate.format(DATE_FORMAT)
: null,
validFromDate:
sepaMandate.validFromDate != null && sepaMandate.validFromDate.isValid()
? sepaMandate.validFromDate.format(DATE_FORMAT)
: null,
validUntilDate:
sepaMandate.validUntilDate != null && sepaMandate.validUntilDate.isValid()
? sepaMandate.validUntilDate.format(DATE_FORMAT)
: null,
lastUsedDate:
sepaMandate.lastUsedDate != null && sepaMandate.lastUsedDate.isValid() ? sepaMandate.lastUsedDate.format(DATE_FORMAT) : null
});
return copy;
}
protected convertDateFromServer(res: EntityResponseType): EntityResponseType {
if (res.body) {
res.body.documentDate = res.body.documentDate != null ? moment(res.body.documentDate) : null;
res.body.validFrom = res.body.validFrom != null ? moment(res.body.validFrom) : null;
res.body.validUntil = res.body.validUntil != null ? moment(res.body.validUntil) : null;
res.body.lastUsed = res.body.lastUsed != null ? moment(res.body.lastUsed) : null;
res.body.cancellationDate = res.body.cancellationDate != null ? moment(res.body.cancellationDate) : null;
res.body.grantingDocumentDate = res.body.grantingDocumentDate != null ? moment(res.body.grantingDocumentDate) : null;
res.body.revokationDocumentDate = res.body.revokationDocumentDate != null ? moment(res.body.revokationDocumentDate) : null;
res.body.validFromDate = res.body.validFromDate != null ? moment(res.body.validFromDate) : null;
res.body.validUntilDate = res.body.validUntilDate != null ? moment(res.body.validUntilDate) : null;
res.body.lastUsedDate = res.body.lastUsedDate != null ? moment(res.body.lastUsedDate) : null;
}
return res;
}
@@ -81,11 +87,13 @@ export class SepaMandateService {
protected convertDateArrayFromServer(res: EntityArrayResponseType): EntityArrayResponseType {
if (res.body) {
res.body.forEach((sepaMandate: ISepaMandate) => {
sepaMandate.documentDate = sepaMandate.documentDate != null ? moment(sepaMandate.documentDate) : null;
sepaMandate.validFrom = sepaMandate.validFrom != null ? moment(sepaMandate.validFrom) : null;
sepaMandate.validUntil = sepaMandate.validUntil != null ? moment(sepaMandate.validUntil) : null;
sepaMandate.lastUsed = sepaMandate.lastUsed != null ? moment(sepaMandate.lastUsed) : null;
sepaMandate.cancellationDate = sepaMandate.cancellationDate != null ? moment(sepaMandate.cancellationDate) : null;
sepaMandate.grantingDocumentDate =
sepaMandate.grantingDocumentDate != null ? moment(sepaMandate.grantingDocumentDate) : null;
sepaMandate.revokationDocumentDate =
sepaMandate.revokationDocumentDate != null ? moment(sepaMandate.revokationDocumentDate) : null;
sepaMandate.validFromDate = sepaMandate.validFromDate != null ? moment(sepaMandate.validFromDate) : null;
sepaMandate.validUntilDate = sepaMandate.validUntilDate != null ? moment(sepaMandate.validUntilDate) : null;
sepaMandate.lastUsedDate = sepaMandate.lastUsedDate != null ? moment(sepaMandate.lastUsedDate) : null;
});
}
return res;

View File

@@ -28,7 +28,7 @@
<dt><span jhiTranslate="hsadminNgApp.share.membership">Membership</span></dt>
<dd>
<div *ngIf="share.membershipId">
<a [routerLink]="['/membership', share.membershipId, 'view']">{{share.membershipDocumentDate}}</a>
<a [routerLink]="['/membership', share.membershipId, 'view']">{{share.membershipAdmissionDocumentDate}}</a>
</div>
</dd>
</dl>

View File

@@ -85,7 +85,7 @@
<label class="form-control-label" jhiTranslate="hsadminNgApp.share.membership" for="field_membership">Membership</label>
<select class="form-control" id="field_membership" name="membership" [(ngModel)]="share.membershipId" required>
<option *ngIf="!editForm.value.membership" [ngValue]="null" selected></option>
<option [ngValue]="membershipOption.id" *ngFor="let membershipOption of memberships; trackBy: trackMembershipById">{{membershipOption.documentDate}}</option>
<option [ngValue]="membershipOption.id" *ngFor="let membershipOption of memberships; trackBy: trackMembershipById">{{membershipOption.admissionDocumentDate}}</option>
</select>
</div>
<div [hidden]="!(editForm.controls.membership?.dirty && editForm.controls.membership?.invalid)">

View File

@@ -20,7 +20,7 @@
<th jhiSortBy="action"><span jhiTranslate="hsadminNgApp.share.action">Action</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="quantity"><span jhiTranslate="hsadminNgApp.share.quantity">Quantity</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="remark"><span jhiTranslate="hsadminNgApp.share.remark">Remark</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="membershipDocumentDate"><span jhiTranslate="hsadminNgApp.share.membership">Membership</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th jhiSortBy="membershipAdmissionDocumentDate"><span jhiTranslate="hsadminNgApp.share.membership">Membership</span> <fa-icon [icon]="'sort'"></fa-icon></th>
<th></th>
</tr>
</thead>
@@ -34,7 +34,7 @@
<td>{{share.remark}}</td>
<td>
<div *ngIf="share.membershipId">
<a [routerLink]="['../membership', share.membershipId , 'view' ]" >{{share.membershipDocumentDate}}</a>
<a [routerLink]="['../membership', share.membershipId , 'view' ]" >{{share.membershipAdmissionDocumentDate}}</a>
</div>
</td>
<td class="text-right">

View File

@@ -16,7 +16,7 @@ export interface IAsset {
action?: AssetAction;
amount?: number;
remark?: string;
membershipDocumentDate?: string;
membershipAdmissionDocumentDate?: string;
membershipId?: number;
}
@@ -28,7 +28,7 @@ export class Asset implements IAsset {
public action?: AssetAction,
public amount?: number,
public remark?: string,
public membershipDocumentDate?: string,
public membershipAdmissionDocumentDate?: string,
public membershipId?: number
) {}
}

View File

@@ -1,11 +1,30 @@
import { Moment } from 'moment';
import { IMembership } from 'app/shared/model/membership.model';
import { ISepaMandate } from 'app/shared/model/sepa-mandate.model';
export const enum CustomerKind {
NATURAL = 'NATURAL',
LEGAL = 'LEGAL'
}
export const enum VatRegion {
DOMESTIC = 'DOMESTIC',
EU = 'EU',
OTHER = 'OTHER'
}
export interface ICustomer {
id?: number;
reference?: number;
prefix?: string;
name?: string;
kind?: CustomerKind;
birthDate?: Moment;
birthPlace?: string;
registrationCourt?: string;
registrationNumber?: string;
vatRegion?: VatRegion;
vatNumber?: string;
contractualSalutation?: string;
contractualAddress?: string;
billingSalutation?: string;
@@ -21,6 +40,13 @@ export class Customer implements ICustomer {
public reference?: number,
public prefix?: string,
public name?: string,
public kind?: CustomerKind,
public birthDate?: Moment,
public birthPlace?: string,
public registrationCourt?: string,
public registrationNumber?: string,
public vatRegion?: VatRegion,
public vatNumber?: string,
public contractualSalutation?: string,
public contractualAddress?: string,
public billingSalutation?: string,

View File

@@ -4,9 +4,10 @@ import { IAsset } from 'app/shared/model/asset.model';
export interface IMembership {
id?: number;
documentDate?: Moment;
memberFrom?: Moment;
memberUntil?: Moment;
admissionDocumentDate?: Moment;
cancellationDocumentDate?: Moment;
memberFromDate?: Moment;
memberUntilDate?: Moment;
remark?: string;
shares?: IShare[];
assets?: IAsset[];
@@ -17,9 +18,10 @@ export interface IMembership {
export class Membership implements IMembership {
constructor(
public id?: number,
public documentDate?: Moment,
public memberFrom?: Moment,
public memberUntil?: Moment,
public admissionDocumentDate?: Moment,
public cancellationDocumentDate?: Moment,
public memberFromDate?: Moment,
public memberUntilDate?: Moment,
public remark?: string,
public shares?: IShare[],
public assets?: IAsset[],

View File

@@ -5,11 +5,11 @@ export interface ISepaMandate {
reference?: string;
iban?: string;
bic?: string;
documentDate?: Moment;
validFrom?: Moment;
validUntil?: Moment;
lastUsed?: Moment;
cancellationDate?: Moment;
grantingDocumentDate?: Moment;
revokationDocumentDate?: Moment;
validFromDate?: Moment;
validUntilDate?: Moment;
lastUsedDate?: Moment;
remark?: string;
customerPrefix?: string;
customerId?: number;
@@ -21,11 +21,11 @@ export class SepaMandate implements ISepaMandate {
public reference?: string,
public iban?: string,
public bic?: string,
public documentDate?: Moment,
public validFrom?: Moment,
public validUntil?: Moment,
public lastUsed?: Moment,
public cancellationDate?: Moment,
public grantingDocumentDate?: Moment,
public revokationDocumentDate?: Moment,
public validFromDate?: Moment,
public validUntilDate?: Moment,
public lastUsedDate?: Moment,
public remark?: string,
public customerPrefix?: string,
public customerId?: number

View File

@@ -12,7 +12,7 @@ export interface IShare {
action?: ShareAction;
quantity?: number;
remark?: string;
membershipDocumentDate?: string;
membershipAdmissionDocumentDate?: string;
membershipId?: number;
}
@@ -24,7 +24,7 @@ export class Share implements IShare {
public action?: ShareAction,
public quantity?: number,
public remark?: string,
public membershipDocumentDate?: string,
public membershipAdmissionDocumentDate?: string,
public membershipId?: number
) {}
}

View File

@@ -2,25 +2,25 @@
"hsadminNgApp": {
"asset": {
"home": {
"title": "Assets",
"createLabel": "Asset erstellen",
"createOrEditLabel": "Asset erstellen oder bearbeiten"
"title": "Geschäftsguthaben-Transaktionen",
"createLabel": "Geschäftsguthaben-Transaktion erfassen",
"createOrEditLabel": "Geschäftsguthaben-Transaktion erfassen oder bearbeiten"
},
"created": "Asset erstellt mit ID {{ param }}",
"updated": "Asset aktualisiert mit ID {{ param }}",
"deleted": "Asset gelöscht mit ID {{ param }}",
"created": "Geschäftsguthaben-Transaktion erfasst mit ID {{ param }}",
"updated": "Geschäftsguthaben-Transaktion aktualisiert mit ID {{ param }}",
"deleted": "Geschäftsguthaben-Transaktion gelöscht mit ID {{ param }}",
"delete": {
"question": "Soll Asset {{ id }} wirklich dauerhaft gelöscht werden?"
"question": "Soll die Geschäftsguthaben-Transaktion {{ id }} wirklich dauerhaft gelöscht werden?"
},
"detail": {
"title": "Asset"
"title": "Geschäftsguthaben-Transaktion"
},
"documentDate": "Document Date",
"valueDate": "Value Date",
"action": "Action",
"amount": "Amount",
"remark": "Remark",
"membership": "Membership"
"documentDate": "Belegdatum",
"valueDate": "Buchungsdatum",
"action": "Transaktion",
"amount": "Betrag",
"remark": "Bemerkung",
"membership": "zugehörige Mitgliedschaft"
}
}
}

View File

@@ -2,12 +2,12 @@
"hsadminNgApp": {
"AssetAction": {
"null": "",
"PAYMENT": "PAYMENT",
"HANDOVER": "HANDOVER",
"ADOPTION": "ADOPTION",
"LOSS": "LOSS",
"CLEARING": "CLEARING",
"PAYBACK": "PAYBACK"
"PAYMENT": "Einzahlung",
"HANDOVER": "Übertragung",
"ADOPTION": "Übernahme",
"LOSS": "Verlust",
"CLEARING": "Verrechnung",
"PAYBACK": "Auszahlung"
}
}
}

View File

@@ -1,12 +1,20 @@
{
"error": {
"shareSubscriptionPositivQuantity": "Zeichnungen von Geschäftsanteilen erfordern eine positive Stückzahl",
"shareSubscriptionPositiveQuantity": "Zeichnungen von Geschäftsanteilen erfordern eine positive Stückzahl",
"shareCancellationNegativeQuantity": "Kündigungen von Geschäftsanteilen erfordern eine negative Stückzahl",
"shareTransactionImmutable": "Transaktionen mit Geschäftsanteilen sind unveränderlich",
"membershipNotDeletable": "Mitgliedschaft kann nicht gelöscht werden, setze stattdessen das 'untilDate'",
"untilDateMustBeAfterSinceDate": "Mitgliedshafts-Austrittsdatum muss nach dem Beitrittsdatum liegen",
"anotherUncancelledMembershipExists": "Nur eine einzige ungekündigte Mitgliedschaft pro Kunde ist zulässig",
"initializationProhibited": "Initialisierung des Feldes unzulässig",
"updateProhibited": "Aktualisierung des Feldes unzulässig"
"updateProhibited": "Aktualisierung des Feldes unzulässig",
"documentDateMayNotBeAfterValueDate": "Belegdatum darf nicht vor dem Buchungsdatum liegen",
"assetTransactionImmutable": "Transaktionen mit Geschäftsguthaben sind unveränderlich",
"assetPaymentsPositiveAmount": "Einzahlungen von Geschäftsguthaben erfordern einen positiven Betrag",
"assetAdoptionsPositiveAmount": "Übernahmen von Geschäftsguthaben erfordern einen positiven Betrag",
"assetPaybacksNegativeAmount": "Auszahlungen von Geschäftsguthaben erfordern einen negativen Betrag",
"assetHandoversNegativeAmount": "Übertragungen von Geschäftsguthaben erfordern einen negativen Betrag",
"assetLossesNegativeAmount": "Verluste von Geschäftsguthaben erfordern einen negativen Betrag",
"assetClearingsNegativeAmount": "Verrechnungen von Geschäftsguthaben erfordern einen negativen Betrag"
}
}

View File

@@ -18,6 +18,13 @@
"reference": "Reference",
"prefix": "Prefix",
"name": "Name",
"kind": "Kind",
"birthDate": "Birth Date",
"birthPlace": "Birth Place",
"registrationCourt": "Registration Court",
"registrationNumber": "Registration Number",
"vatRegion": "Vat Region",
"vatNumber": "Vat Number",
"contractualSalutation": "Contractual Salutation",
"contractualAddress": "Contractual Address",
"billingSalutation": "Billing Salutation",

View File

@@ -0,0 +1,9 @@
{
"hsadminNgApp": {
"CustomerKind": {
"null": "",
"NATURAL": "NATURAL",
"LEGAL": "LEGAL"
}
}
}

View File

@@ -15,9 +15,10 @@
"detail": {
"title": "Membership"
},
"documentDate": "Document Date",
"memberFrom": "Member From",
"memberUntil": "Member Until",
"admissionDocumentDate": "Admission Document Date",
"cancellationDocumentDate": "Cancellation Document Date",
"memberFromDate": "Member From Date",
"memberUntilDate": "Member Until Date",
"remark": "Remark",
"share": "Share",
"asset": "Asset",

View File

@@ -18,11 +18,11 @@
"reference": "Reference",
"iban": "Iban",
"bic": "Bic",
"documentDate": "Document Date",
"validFrom": "Valid From",
"validUntil": "Valid Until",
"lastUsed": "Last Used",
"cancellationDate": "Cancellation Date",
"grantingDocumentDate": "Granting Document Date",
"revokationDocumentDate": "Revokation Document Date",
"validFromDate": "Valid From Date",
"validUntilDate": "Valid Until Date",
"lastUsedDate": "Last Used Date",
"remark": "Remark",
"customer": "Customer"
}

View File

@@ -2,25 +2,25 @@
"hsadminNgApp": {
"share": {
"home": {
"title": "Shares",
"createLabel": "Share erstellen",
"createOrEditLabel": "Share erstellen oder bearbeiten"
"title": "Geschäftsanteil-Transaktionen",
"createLabel": "Geschäftsanteil-Transaktion erfassen",
"createOrEditLabel": "Geschäftsanteil-Transaktion erfassen oder bearbeiten"
},
"created": "Share erstellt mit ID {{ param }}",
"updated": "Share aktualisiert mit ID {{ param }}",
"deleted": "Share gelöscht mit ID {{ param }}",
"created": "Geschäftsanteil-Transaktion erfasst mit ID {{ param }}",
"updated": "Geschäftsanteil-Transaktion aktualisiert mit ID {{ param }}",
"deleted": "Geschäftsanteil-Transaktion gelöscht mit ID {{ param }}",
"delete": {
"question": "Soll Share {{ id }} wirklich dauerhaft gelöscht werden?"
"question": "Soll die Geschäftsanteil-Transaktion {{ id }} wirklich dauerhaft gelöscht werden?"
},
"detail": {
"title": "Share"
"title": "Geschäftsanteil-Transaktion"
},
"documentDate": "Document Date",
"valueDate": "Value Date",
"action": "Action",
"quantity": "Quantity",
"remark": "Remark",
"membership": "Membership"
"documentDate": "Belegdatum",
"valueDate": "Buchungsdatum",
"action": "Aktion",
"quantity": "Anzahl",
"remark": "Bemerkung",
"membership": "zugehörige Mitgliedschaft"
}
}
}

View File

@@ -2,8 +2,8 @@
"hsadminNgApp": {
"ShareAction": {
"null": "",
"SUBSCRIPTION": "SUBSCRIPTION",
"CANCELLATION": "CANCELLATION"
"SUBSCRIPTION": "Zeichnung",
"CANCELLATION": "Kündigung"
}
}
}

View File

@@ -0,0 +1,10 @@
{
"hsadminNgApp": {
"VatRegion": {
"null": "",
"DOMESTIC": "DOMESTIC",
"EU": "EU",
"OTHER": "OTHER"
}
}
}

View File

@@ -2,25 +2,25 @@
"hsadminNgApp": {
"asset": {
"home": {
"title": "Assets",
"createLabel": "Create a new Asset",
"createOrEditLabel": "Create or edit a Asset"
"title": "Asset Transactions",
"createLabel": "Register a new asset transaction",
"createOrEditLabel": "Register or edit an asset transaction"
},
"created": "A new Asset is created with identifier {{ param }}",
"updated": "A Asset is updated with identifier {{ param }}",
"deleted": "A Asset is deleted with identifier {{ param }}",
"created": "A new asset transaction is registered with identifier {{ param }}",
"updated": "An asset transaction is updated with identifier {{ param }}",
"deleted": "An asset transaction is deleted with identifier {{ param }}",
"delete": {
"question": "Are you sure you want to delete Asset {{ id }}?"
"question": "Are you sure you want to delete asset transaction {{ id }}?"
},
"detail": {
"title": "Asset"
"title": "Asset transaction"
},
"documentDate": "Document Date",
"valueDate": "Value Date",
"documentDate": "Document date",
"valueDate": "Value date",
"action": "Action",
"amount": "Amount",
"remark": "Remark",
"membership": "Membership"
"membership": "Related membership"
}
}
}

View File

@@ -2,12 +2,12 @@
"hsadminNgApp": {
"AssetAction": {
"null": "",
"PAYMENT": "PAYMENT",
"HANDOVER": "HANDOVER",
"ADOPTION": "ADOPTION",
"LOSS": "LOSS",
"CLEARING": "CLEARING",
"PAYBACK": "PAYBACK"
"PAYMENT": "Payment",
"HANDOVER": "Handover",
"ADOPTION": "Adoption",
"LOSS": "Loss",
"CLEARING": "Clearing",
"PAYBACK": "Payback"
}
}
}

View File

@@ -1,12 +1,20 @@
{
"error": {
"shareSubscriptionPositivQuantity": "Share subscriptions require a positive quantity",
"shareSubscriptionPositiveQuantity": "Share subscriptions require a positive quantity",
"shareCancellationNegativeQuantity": "Share cancellations require a negative quantity",
"shareTransactionImmutable": "Share transactions are immutable",
"membershipNotDeletable": "Membership cannot be deleted, instead set 'untilDate'",
"untilDateMustBeAfterSinceDate": "Membership until date must be after since date",
"anotherUncancelledMembershipExists": "Only a single uncancelled membership allowed per customer",
"initializationProhibited": "Initialization of the field prohibited",
"updateProhibited": "Update of the field prohibited"
"updateProhibited": "Update of the field prohibited",
"documentDateMayNotBeAfterValueDate": "Document date may not be after value date",
"assetTransactionImmutable": "Asset transactions are immutable",
"assetPaymentsPositiveAmount": "Asset payments require a positive amount",
"assetAdoptionsPositiveAmount": "Asset adoptions require a positive amount",
"assetPaybacksNegativeAmount": "Asset paybacks require a negative amount",
"assetHandoversNegativeAmount": "Asset handovers require a negative amount",
"assetLossesNegativeAmount": "Asset losses require a negative amount",
"assetClearingsNegativeAmount": "Asset clearings require a negative amount"
}
}

View File

@@ -18,6 +18,13 @@
"reference": "Reference",
"prefix": "Prefix",
"name": "Name",
"kind": "Kind",
"birthDate": "Birth Date",
"birthPlace": "Birth Place",
"registrationCourt": "Registration Court",
"registrationNumber": "Registration Number",
"vatRegion": "Vat Region",
"vatNumber": "Vat Number",
"contractualSalutation": "Contractual Salutation",
"contractualAddress": "Contractual Address",
"billingSalutation": "Billing Salutation",

View File

@@ -0,0 +1,9 @@
{
"hsadminNgApp": {
"CustomerKind": {
"null": "",
"NATURAL": "NATURAL",
"LEGAL": "LEGAL"
}
}
}

View File

@@ -15,9 +15,10 @@
"detail": {
"title": "Membership"
},
"documentDate": "Document Date",
"memberFrom": "Member From",
"memberUntil": "Member Until",
"admissionDocumentDate": "Admission Document Date",
"cancellationDocumentDate": "Cancellation Document Date",
"memberFromDate": "Member From Date",
"memberUntilDate": "Member Until Date",
"remark": "Remark",
"share": "Share",
"asset": "Asset",

View File

@@ -18,11 +18,11 @@
"reference": "Reference",
"iban": "Iban",
"bic": "Bic",
"documentDate": "Document Date",
"validFrom": "Valid From",
"validUntil": "Valid Until",
"lastUsed": "Last Used",
"cancellationDate": "Cancellation Date",
"grantingDocumentDate": "Granting Document Date",
"revokationDocumentDate": "Revokation Document Date",
"validFromDate": "Valid From Date",
"validUntilDate": "Valid Until Date",
"lastUsedDate": "Last Used Date",
"remark": "Remark",
"customer": "Customer"
}

View File

@@ -2,25 +2,25 @@
"hsadminNgApp": {
"share": {
"home": {
"title": "Shares",
"createLabel": "Create a new Share",
"createOrEditLabel": "Create or edit a Share"
"title": "Share Transactions",
"createLabel": "Register a new share transaction",
"createOrEditLabel": "Register or edit a share transaction"
},
"created": "A new Share is created with identifier {{ param }}",
"updated": "A Share is updated with identifier {{ param }}",
"deleted": "A Share is deleted with identifier {{ param }}",
"created": "A new share transactions is registered with identifier {{ param }}",
"updated": "A share transaction is updated with identifier {{ param }}",
"deleted": "A share transcation is deleted with identifier {{ param }}",
"delete": {
"question": "Are you sure you want to delete Share {{ id }}?"
"question": "Are you sure you want to delete share transaction {{ id }}?"
},
"detail": {
"title": "Share"
"title": "Share transaction"
},
"documentDate": "Document Date",
"valueDate": "Value Date",
"documentDate": "Document date",
"valueDate": "Value date",
"action": "Action",
"quantity": "Quantity",
"remark": "Remark",
"membership": "Membership"
"membership": "Related membership"
}
}
}

View File

@@ -2,8 +2,8 @@
"hsadminNgApp": {
"ShareAction": {
"null": "",
"SUBSCRIPTION": "SUBSCRIPTION",
"CANCELLATION": "CANCELLATION"
"SUBSCRIPTION": "Subscription",
"CANCELLATION": "Cancellation"
}
}
}

View File

@@ -0,0 +1,10 @@
{
"hsadminNgApp": {
"VatRegion": {
"null": "",
"DOMESTIC": "DOMESTIC",
"EU": "EU",
"OTHER": "OTHER"
}
}
}