import of initial customer.jdl including related entities
This commit is contained in:
		
							
								
								
									
										156
									
								
								src/main/java/org/hostsharing/hsadminng/domain/Asset.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										156
									
								
								src/main/java/org/hostsharing/hsadminng/domain/Asset.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,156 @@ | ||||
| package org.hostsharing.hsadminng.domain; | ||||
|  | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||||
|  | ||||
| import javax.persistence.*; | ||||
| import javax.validation.constraints.*; | ||||
|  | ||||
| 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. | ||||
|  */ | ||||
| @Entity | ||||
| @Table(name = "asset") | ||||
| public class Asset implements Serializable { | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|      | ||||
|     @Id | ||||
|     @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") | ||||
|     @SequenceGenerator(name = "sequenceGenerator") | ||||
|     private Long id; | ||||
|  | ||||
|     @NotNull | ||||
|     @Column(name = "jhi_date", nullable = false) | ||||
|     private LocalDate date; | ||||
|  | ||||
|     @NotNull | ||||
|     @Enumerated(EnumType.STRING) | ||||
|     @Column(name = "action", nullable = false) | ||||
|     private AssetAction action; | ||||
|  | ||||
|     @NotNull | ||||
|     @Column(name = "amount", precision = 10, scale = 2, nullable = false) | ||||
|     private BigDecimal amount; | ||||
|  | ||||
|     @Size(max = 160) | ||||
|     @Column(name = "jhi_comment", length = 160) | ||||
|     private String comment; | ||||
|  | ||||
|     @ManyToOne | ||||
|     @JsonIgnoreProperties("assets") | ||||
|     private Membership member; | ||||
|  | ||||
|     // jhipster-needle-entity-add-field - JHipster will add fields here, do not remove | ||||
|     public Long getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(Long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public LocalDate getDate() { | ||||
|         return date; | ||||
|     } | ||||
|  | ||||
|     public Asset date(LocalDate date) { | ||||
|         this.date = date; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setDate(LocalDate date) { | ||||
|         this.date = date; | ||||
|     } | ||||
|  | ||||
|     public AssetAction getAction() { | ||||
|         return action; | ||||
|     } | ||||
|  | ||||
|     public Asset action(AssetAction action) { | ||||
|         this.action = action; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setAction(AssetAction action) { | ||||
|         this.action = action; | ||||
|     } | ||||
|  | ||||
|     public BigDecimal getAmount() { | ||||
|         return amount; | ||||
|     } | ||||
|  | ||||
|     public Asset amount(BigDecimal amount) { | ||||
|         this.amount = amount; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setAmount(BigDecimal amount) { | ||||
|         this.amount = amount; | ||||
|     } | ||||
|  | ||||
|     public String getComment() { | ||||
|         return comment; | ||||
|     } | ||||
|  | ||||
|     public Asset comment(String comment) { | ||||
|         this.comment = comment; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setComment(String comment) { | ||||
|         this.comment = comment; | ||||
|     } | ||||
|  | ||||
|     public Membership getMember() { | ||||
|         return member; | ||||
|     } | ||||
|  | ||||
|     public Asset member(Membership membership) { | ||||
|         this.member = membership; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setMember(Membership membership) { | ||||
|         this.member = membership; | ||||
|     } | ||||
|     // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here, do not remove | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|         Asset asset = (Asset) o; | ||||
|         if (asset.getId() == null || getId() == null) { | ||||
|             return false; | ||||
|         } | ||||
|         return Objects.equals(getId(), asset.getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hashCode(getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "Asset{" + | ||||
|             "id=" + getId() + | ||||
|             ", date='" + getDate() + "'" + | ||||
|             ", action='" + getAction() + "'" + | ||||
|             ", amount=" + getAmount() + | ||||
|             ", comment='" + getComment() + "'" + | ||||
|             "}"; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										148
									
								
								src/main/java/org/hostsharing/hsadminng/domain/Contact.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										148
									
								
								src/main/java/org/hostsharing/hsadminng/domain/Contact.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,148 @@ | ||||
| package org.hostsharing.hsadminng.domain; | ||||
|  | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonIgnore; | ||||
|  | ||||
| import javax.persistence.*; | ||||
| import javax.validation.constraints.*; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.util.HashSet; | ||||
| import java.util.Set; | ||||
| import java.util.Objects; | ||||
|  | ||||
| /** | ||||
|  * A Contact. | ||||
|  */ | ||||
| @Entity | ||||
| @Table(name = "contact") | ||||
| public class Contact implements Serializable { | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|      | ||||
|     @Id | ||||
|     @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") | ||||
|     @SequenceGenerator(name = "sequenceGenerator") | ||||
|     private Long id; | ||||
|  | ||||
|     @NotNull | ||||
|     @Size(max = 80) | ||||
|     @Column(name = "first_name", length = 80, nullable = false) | ||||
|     private String firstName; | ||||
|  | ||||
|     @NotNull | ||||
|     @Size(max = 80) | ||||
|     @Column(name = "last_name", length = 80, nullable = false) | ||||
|     private String lastName; | ||||
|  | ||||
|     @NotNull | ||||
|     @Size(max = 80) | ||||
|     @Column(name = "email", length = 80, nullable = false) | ||||
|     private String email; | ||||
|  | ||||
|     @OneToMany(mappedBy = "contact") | ||||
|     private Set<CustomerContact> roles = new HashSet<>(); | ||||
|     // jhipster-needle-entity-add-field - JHipster will add fields here, do not remove | ||||
|     public Long getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(Long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public String getFirstName() { | ||||
|         return firstName; | ||||
|     } | ||||
|  | ||||
|     public Contact firstName(String firstName) { | ||||
|         this.firstName = firstName; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setFirstName(String firstName) { | ||||
|         this.firstName = firstName; | ||||
|     } | ||||
|  | ||||
|     public String getLastName() { | ||||
|         return lastName; | ||||
|     } | ||||
|  | ||||
|     public Contact lastName(String lastName) { | ||||
|         this.lastName = lastName; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setLastName(String lastName) { | ||||
|         this.lastName = lastName; | ||||
|     } | ||||
|  | ||||
|     public String getEmail() { | ||||
|         return email; | ||||
|     } | ||||
|  | ||||
|     public Contact email(String email) { | ||||
|         this.email = email; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setEmail(String email) { | ||||
|         this.email = email; | ||||
|     } | ||||
|  | ||||
|     public Set<CustomerContact> getRoles() { | ||||
|         return roles; | ||||
|     } | ||||
|  | ||||
|     public Contact roles(Set<CustomerContact> customerContacts) { | ||||
|         this.roles = customerContacts; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public Contact addRole(CustomerContact customerContact) { | ||||
|         this.roles.add(customerContact); | ||||
|         customerContact.setContact(this); | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public Contact removeRole(CustomerContact customerContact) { | ||||
|         this.roles.remove(customerContact); | ||||
|         customerContact.setContact(null); | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setRoles(Set<CustomerContact> customerContacts) { | ||||
|         this.roles = customerContacts; | ||||
|     } | ||||
|     // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here, do not remove | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|         Contact contact = (Contact) o; | ||||
|         if (contact.getId() == null || getId() == null) { | ||||
|             return false; | ||||
|         } | ||||
|         return Objects.equals(getId(), contact.getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hashCode(getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "Contact{" + | ||||
|             "id=" + getId() + | ||||
|             ", firstName='" + getFirstName() + "'" + | ||||
|             ", lastName='" + getLastName() + "'" + | ||||
|             ", email='" + getEmail() + "'" + | ||||
|             "}"; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										157
									
								
								src/main/java/org/hostsharing/hsadminng/domain/Customer.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								src/main/java/org/hostsharing/hsadminng/domain/Customer.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,157 @@ | ||||
| package org.hostsharing.hsadminng.domain; | ||||
|  | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonIgnore; | ||||
|  | ||||
| import javax.persistence.*; | ||||
| import javax.validation.constraints.*; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.util.HashSet; | ||||
| import java.util.Set; | ||||
| import java.util.Objects; | ||||
|  | ||||
| /** | ||||
|  * A Customer. | ||||
|  */ | ||||
| @Entity | ||||
| @Table(name = "customer") | ||||
| public class Customer implements Serializable { | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|      | ||||
|     @Id | ||||
|     @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") | ||||
|     @SequenceGenerator(name = "sequenceGenerator") | ||||
|     private Long id; | ||||
|  | ||||
|     @NotNull | ||||
|     @Min(value = 10000) | ||||
|     @Max(value = 99999) | ||||
|     @Column(name = "jhi_number", nullable = false, unique = true) | ||||
|     private Integer number; | ||||
|  | ||||
|     @NotNull | ||||
|     @Pattern(regexp = "[a-z][a-z0-9]+") | ||||
|     @Column(name = "prefix", nullable = false, unique = true) | ||||
|     private String prefix; | ||||
|  | ||||
|     @OneToMany(mappedBy = "customer") | ||||
|     private Set<Membership> memberships = new HashSet<>(); | ||||
|     @OneToMany(mappedBy = "customer") | ||||
|     private Set<CustomerContact> roles = new HashSet<>(); | ||||
|     // jhipster-needle-entity-add-field - JHipster will add fields here, do not remove | ||||
|     public Long getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(Long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public Integer getNumber() { | ||||
|         return number; | ||||
|     } | ||||
|  | ||||
|     public Customer number(Integer number) { | ||||
|         this.number = number; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setNumber(Integer number) { | ||||
|         this.number = number; | ||||
|     } | ||||
|  | ||||
|     public String getPrefix() { | ||||
|         return prefix; | ||||
|     } | ||||
|  | ||||
|     public Customer prefix(String prefix) { | ||||
|         this.prefix = prefix; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setPrefix(String prefix) { | ||||
|         this.prefix = prefix; | ||||
|     } | ||||
|  | ||||
|     public Set<Membership> getMemberships() { | ||||
|         return memberships; | ||||
|     } | ||||
|  | ||||
|     public Customer memberships(Set<Membership> memberships) { | ||||
|         this.memberships = memberships; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public Customer addMembership(Membership membership) { | ||||
|         this.memberships.add(membership); | ||||
|         membership.setCustomer(this); | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public Customer removeMembership(Membership membership) { | ||||
|         this.memberships.remove(membership); | ||||
|         membership.setCustomer(null); | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setMemberships(Set<Membership> memberships) { | ||||
|         this.memberships = memberships; | ||||
|     } | ||||
|  | ||||
|     public Set<CustomerContact> getRoles() { | ||||
|         return roles; | ||||
|     } | ||||
|  | ||||
|     public Customer roles(Set<CustomerContact> customerContacts) { | ||||
|         this.roles = customerContacts; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public Customer addRole(CustomerContact customerContact) { | ||||
|         this.roles.add(customerContact); | ||||
|         customerContact.setCustomer(this); | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public Customer removeRole(CustomerContact customerContact) { | ||||
|         this.roles.remove(customerContact); | ||||
|         customerContact.setCustomer(null); | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setRoles(Set<CustomerContact> customerContacts) { | ||||
|         this.roles = customerContacts; | ||||
|     } | ||||
|     // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here, do not remove | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|         Customer customer = (Customer) o; | ||||
|         if (customer.getId() == null || getId() == null) { | ||||
|             return false; | ||||
|         } | ||||
|         return Objects.equals(getId(), customer.getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hashCode(getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "Customer{" + | ||||
|             "id=" + getId() + | ||||
|             ", number=" + getNumber() + | ||||
|             ", prefix='" + getPrefix() + "'" + | ||||
|             "}"; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,119 @@ | ||||
| package org.hostsharing.hsadminng.domain; | ||||
|  | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||||
|  | ||||
| import javax.persistence.*; | ||||
| import javax.validation.constraints.*; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.util.Objects; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.enumeration.CustomerContactRole; | ||||
|  | ||||
| /** | ||||
|  * A CustomerContact. | ||||
|  */ | ||||
| @Entity | ||||
| @Table(name = "customer_contact") | ||||
| public class CustomerContact implements Serializable { | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|      | ||||
|     @Id | ||||
|     @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") | ||||
|     @SequenceGenerator(name = "sequenceGenerator") | ||||
|     private Long id; | ||||
|  | ||||
|     @NotNull | ||||
|     @Enumerated(EnumType.STRING) | ||||
|     @Column(name = "jhi_role", nullable = false) | ||||
|     private CustomerContactRole role; | ||||
|  | ||||
|     @ManyToOne(optional = false) | ||||
|     @NotNull | ||||
|     @JsonIgnoreProperties("roles") | ||||
|     private Contact contact; | ||||
|  | ||||
|     @ManyToOne(optional = false) | ||||
|     @NotNull | ||||
|     @JsonIgnoreProperties("roles") | ||||
|     private Customer customer; | ||||
|  | ||||
|     // jhipster-needle-entity-add-field - JHipster will add fields here, do not remove | ||||
|     public Long getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(Long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public CustomerContactRole getRole() { | ||||
|         return role; | ||||
|     } | ||||
|  | ||||
|     public CustomerContact role(CustomerContactRole role) { | ||||
|         this.role = role; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setRole(CustomerContactRole role) { | ||||
|         this.role = role; | ||||
|     } | ||||
|  | ||||
|     public Contact getContact() { | ||||
|         return contact; | ||||
|     } | ||||
|  | ||||
|     public CustomerContact contact(Contact contact) { | ||||
|         this.contact = contact; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setContact(Contact contact) { | ||||
|         this.contact = contact; | ||||
|     } | ||||
|  | ||||
|     public Customer getCustomer() { | ||||
|         return customer; | ||||
|     } | ||||
|  | ||||
|     public CustomerContact customer(Customer customer) { | ||||
|         this.customer = customer; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setCustomer(Customer customer) { | ||||
|         this.customer = customer; | ||||
|     } | ||||
|     // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here, do not remove | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|         CustomerContact customerContact = (CustomerContact) o; | ||||
|         if (customerContact.getId() == null || getId() == null) { | ||||
|             return false; | ||||
|         } | ||||
|         return Objects.equals(getId(), customerContact.getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hashCode(getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "CustomerContact{" + | ||||
|             "id=" + getId() + | ||||
|             ", role='" + getRole() + "'" + | ||||
|             "}"; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										172
									
								
								src/main/java/org/hostsharing/hsadminng/domain/Membership.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										172
									
								
								src/main/java/org/hostsharing/hsadminng/domain/Membership.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,172 @@ | ||||
| package org.hostsharing.hsadminng.domain; | ||||
|  | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonIgnore; | ||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||||
|  | ||||
| import javax.persistence.*; | ||||
| import javax.validation.constraints.*; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.time.LocalDate; | ||||
| import java.util.HashSet; | ||||
| import java.util.Set; | ||||
| import java.util.Objects; | ||||
|  | ||||
| /** | ||||
|  * A Membership. | ||||
|  */ | ||||
| @Entity | ||||
| @Table(name = "membership") | ||||
| public class Membership implements Serializable { | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|      | ||||
|     @Id | ||||
|     @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") | ||||
|     @SequenceGenerator(name = "sequenceGenerator") | ||||
|     private Long id; | ||||
|  | ||||
|     @NotNull | ||||
|     @Column(name = "since_date", nullable = false) | ||||
|     private LocalDate sinceDate; | ||||
|  | ||||
|     @Column(name = "until_date") | ||||
|     private LocalDate untilDate; | ||||
|  | ||||
|     @OneToMany(mappedBy = "member") | ||||
|     private Set<Share> shares = new HashSet<>(); | ||||
|     @OneToMany(mappedBy = "member") | ||||
|     private Set<Asset> assets = new HashSet<>(); | ||||
|     @ManyToOne | ||||
|     @JsonIgnoreProperties("memberships") | ||||
|     private Customer customer; | ||||
|  | ||||
|     // jhipster-needle-entity-add-field - JHipster will add fields here, do not remove | ||||
|     public Long getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(Long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public LocalDate getSinceDate() { | ||||
|         return sinceDate; | ||||
|     } | ||||
|  | ||||
|     public Membership sinceDate(LocalDate sinceDate) { | ||||
|         this.sinceDate = sinceDate; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setSinceDate(LocalDate sinceDate) { | ||||
|         this.sinceDate = sinceDate; | ||||
|     } | ||||
|  | ||||
|     public LocalDate getUntilDate() { | ||||
|         return untilDate; | ||||
|     } | ||||
|  | ||||
|     public Membership untilDate(LocalDate untilDate) { | ||||
|         this.untilDate = untilDate; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setUntilDate(LocalDate untilDate) { | ||||
|         this.untilDate = untilDate; | ||||
|     } | ||||
|  | ||||
|     public Set<Share> getShares() { | ||||
|         return shares; | ||||
|     } | ||||
|  | ||||
|     public Membership shares(Set<Share> shares) { | ||||
|         this.shares = shares; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public Membership addShare(Share share) { | ||||
|         this.shares.add(share); | ||||
|         share.setMember(this); | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public Membership removeShare(Share share) { | ||||
|         this.shares.remove(share); | ||||
|         share.setMember(null); | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setShares(Set<Share> shares) { | ||||
|         this.shares = shares; | ||||
|     } | ||||
|  | ||||
|     public Set<Asset> getAssets() { | ||||
|         return assets; | ||||
|     } | ||||
|  | ||||
|     public Membership assets(Set<Asset> assets) { | ||||
|         this.assets = assets; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public Membership addAsset(Asset asset) { | ||||
|         this.assets.add(asset); | ||||
|         asset.setMember(this); | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public Membership removeAsset(Asset asset) { | ||||
|         this.assets.remove(asset); | ||||
|         asset.setMember(null); | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setAssets(Set<Asset> assets) { | ||||
|         this.assets = assets; | ||||
|     } | ||||
|  | ||||
|     public Customer getCustomer() { | ||||
|         return customer; | ||||
|     } | ||||
|  | ||||
|     public Membership customer(Customer customer) { | ||||
|         this.customer = customer; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setCustomer(Customer customer) { | ||||
|         this.customer = customer; | ||||
|     } | ||||
|     // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here, do not remove | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|         Membership membership = (Membership) o; | ||||
|         if (membership.getId() == null || getId() == null) { | ||||
|             return false; | ||||
|         } | ||||
|         return Objects.equals(getId(), membership.getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hashCode(getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "Membership{" + | ||||
|             "id=" + getId() + | ||||
|             ", sinceDate='" + getSinceDate() + "'" + | ||||
|             ", untilDate='" + getUntilDate() + "'" + | ||||
|             "}"; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										155
									
								
								src/main/java/org/hostsharing/hsadminng/domain/Share.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										155
									
								
								src/main/java/org/hostsharing/hsadminng/domain/Share.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,155 @@ | ||||
| package org.hostsharing.hsadminng.domain; | ||||
|  | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||||
|  | ||||
| import javax.persistence.*; | ||||
| import javax.validation.constraints.*; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.time.LocalDate; | ||||
| import java.util.Objects; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.enumeration.ShareAction; | ||||
|  | ||||
| /** | ||||
|  * A Share. | ||||
|  */ | ||||
| @Entity | ||||
| @Table(name = "share") | ||||
| public class Share implements Serializable { | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|      | ||||
|     @Id | ||||
|     @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") | ||||
|     @SequenceGenerator(name = "sequenceGenerator") | ||||
|     private Long id; | ||||
|  | ||||
|     @NotNull | ||||
|     @Column(name = "jhi_date", nullable = false) | ||||
|     private LocalDate date; | ||||
|  | ||||
|     @NotNull | ||||
|     @Enumerated(EnumType.STRING) | ||||
|     @Column(name = "action", nullable = false) | ||||
|     private ShareAction action; | ||||
|  | ||||
|     @NotNull | ||||
|     @Column(name = "quantity", nullable = false) | ||||
|     private Integer quantity; | ||||
|  | ||||
|     @Size(max = 160) | ||||
|     @Column(name = "jhi_comment", length = 160) | ||||
|     private String comment; | ||||
|  | ||||
|     @ManyToOne | ||||
|     @JsonIgnoreProperties("shares") | ||||
|     private Membership member; | ||||
|  | ||||
|     // jhipster-needle-entity-add-field - JHipster will add fields here, do not remove | ||||
|     public Long getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(Long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public LocalDate getDate() { | ||||
|         return date; | ||||
|     } | ||||
|  | ||||
|     public Share date(LocalDate date) { | ||||
|         this.date = date; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setDate(LocalDate date) { | ||||
|         this.date = date; | ||||
|     } | ||||
|  | ||||
|     public ShareAction getAction() { | ||||
|         return action; | ||||
|     } | ||||
|  | ||||
|     public Share action(ShareAction action) { | ||||
|         this.action = action; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setAction(ShareAction action) { | ||||
|         this.action = action; | ||||
|     } | ||||
|  | ||||
|     public Integer getQuantity() { | ||||
|         return quantity; | ||||
|     } | ||||
|  | ||||
|     public Share quantity(Integer quantity) { | ||||
|         this.quantity = quantity; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setQuantity(Integer quantity) { | ||||
|         this.quantity = quantity; | ||||
|     } | ||||
|  | ||||
|     public String getComment() { | ||||
|         return comment; | ||||
|     } | ||||
|  | ||||
|     public Share comment(String comment) { | ||||
|         this.comment = comment; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setComment(String comment) { | ||||
|         this.comment = comment; | ||||
|     } | ||||
|  | ||||
|     public Membership getMember() { | ||||
|         return member; | ||||
|     } | ||||
|  | ||||
|     public Share member(Membership membership) { | ||||
|         this.member = membership; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public void setMember(Membership membership) { | ||||
|         this.member = membership; | ||||
|     } | ||||
|     // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here, do not remove | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|         Share share = (Share) o; | ||||
|         if (share.getId() == null || getId() == null) { | ||||
|             return false; | ||||
|         } | ||||
|         return Objects.equals(getId(), share.getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hashCode(getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "Share{" + | ||||
|             "id=" + getId() + | ||||
|             ", date='" + getDate() + "'" + | ||||
|             ", action='" + getAction() + "'" + | ||||
|             ", quantity=" + getQuantity() + | ||||
|             ", comment='" + getComment() + "'" + | ||||
|             "}"; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,8 @@ | ||||
| package org.hostsharing.hsadminng.domain.enumeration; | ||||
|  | ||||
| /** | ||||
|  * The AssetAction enumeration. | ||||
|  */ | ||||
| public enum AssetAction { | ||||
|     PAYMENT, HANDOVER, ADOPTION, LOSS, CLEARING, PAYBACK | ||||
| } | ||||
| @@ -0,0 +1,8 @@ | ||||
| package org.hostsharing.hsadminng.domain.enumeration; | ||||
|  | ||||
| /** | ||||
|  * The CustomerContactRole enumeration. | ||||
|  */ | ||||
| public enum CustomerContactRole { | ||||
|     CONTRACTUAL, TECHNICAL, FINANCIAL | ||||
| } | ||||
| @@ -0,0 +1,8 @@ | ||||
| package org.hostsharing.hsadminng.domain.enumeration; | ||||
|  | ||||
| /** | ||||
|  * The ShareAction enumeration. | ||||
|  */ | ||||
| public enum ShareAction { | ||||
|     SUBSCRIPTION, CANCELLATION | ||||
| } | ||||
| @@ -0,0 +1,15 @@ | ||||
| package org.hostsharing.hsadminng.repository; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.Asset; | ||||
| import org.springframework.data.jpa.repository.*; | ||||
| import org.springframework.stereotype.Repository; | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Spring Data  repository for the Asset entity. | ||||
|  */ | ||||
| @SuppressWarnings("unused") | ||||
| @Repository | ||||
| public interface AssetRepository extends JpaRepository<Asset, Long>, JpaSpecificationExecutor<Asset> { | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,15 @@ | ||||
| package org.hostsharing.hsadminng.repository; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.Contact; | ||||
| import org.springframework.data.jpa.repository.*; | ||||
| import org.springframework.stereotype.Repository; | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Spring Data  repository for the Contact entity. | ||||
|  */ | ||||
| @SuppressWarnings("unused") | ||||
| @Repository | ||||
| public interface ContactRepository extends JpaRepository<Contact, Long>, JpaSpecificationExecutor<Contact> { | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,15 @@ | ||||
| package org.hostsharing.hsadminng.repository; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.CustomerContact; | ||||
| import org.springframework.data.jpa.repository.*; | ||||
| import org.springframework.stereotype.Repository; | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Spring Data  repository for the CustomerContact entity. | ||||
|  */ | ||||
| @SuppressWarnings("unused") | ||||
| @Repository | ||||
| public interface CustomerContactRepository extends JpaRepository<CustomerContact, Long>, JpaSpecificationExecutor<CustomerContact> { | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,15 @@ | ||||
| package org.hostsharing.hsadminng.repository; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.Customer; | ||||
| import org.springframework.data.jpa.repository.*; | ||||
| import org.springframework.stereotype.Repository; | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Spring Data  repository for the Customer entity. | ||||
|  */ | ||||
| @SuppressWarnings("unused") | ||||
| @Repository | ||||
| public interface CustomerRepository extends JpaRepository<Customer, Long>, JpaSpecificationExecutor<Customer> { | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,15 @@ | ||||
| package org.hostsharing.hsadminng.repository; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.Membership; | ||||
| import org.springframework.data.jpa.repository.*; | ||||
| import org.springframework.stereotype.Repository; | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Spring Data  repository for the Membership entity. | ||||
|  */ | ||||
| @SuppressWarnings("unused") | ||||
| @Repository | ||||
| public interface MembershipRepository extends JpaRepository<Membership, Long>, JpaSpecificationExecutor<Membership> { | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,15 @@ | ||||
| package org.hostsharing.hsadminng.repository; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.Share; | ||||
| import org.springframework.data.jpa.repository.*; | ||||
| import org.springframework.stereotype.Repository; | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Spring Data  repository for the Share entity. | ||||
|  */ | ||||
| @SuppressWarnings("unused") | ||||
| @Repository | ||||
| public interface ShareRepository extends JpaRepository<Share, Long>, JpaSpecificationExecutor<Share> { | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,111 @@ | ||||
| package org.hostsharing.hsadminng.service; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import javax.persistence.criteria.JoinType; | ||||
|  | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| 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.Asset; | ||||
| import org.hostsharing.hsadminng.domain.*; // for static metamodels | ||||
| import org.hostsharing.hsadminng.repository.AssetRepository; | ||||
| import org.hostsharing.hsadminng.service.dto.AssetCriteria; | ||||
| import org.hostsharing.hsadminng.service.dto.AssetDTO; | ||||
| import org.hostsharing.hsadminng.service.mapper.AssetMapper; | ||||
|  | ||||
| /** | ||||
|  * Service for executing complex queries for Asset entities in the database. | ||||
|  * The main input is a {@link AssetCriteria} which gets converted to {@link Specification}, | ||||
|  * in a way that all the filters must apply. | ||||
|  * It returns a {@link List} of {@link AssetDTO} or a {@link Page} of {@link AssetDTO} which fulfills the criteria. | ||||
|  */ | ||||
| @Service | ||||
| @Transactional(readOnly = true) | ||||
| public class AssetQueryService extends QueryService<Asset> { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(AssetQueryService.class); | ||||
|  | ||||
|     private final AssetRepository assetRepository; | ||||
|  | ||||
|     private final AssetMapper assetMapper; | ||||
|  | ||||
|     public AssetQueryService(AssetRepository assetRepository, AssetMapper assetMapper) { | ||||
|         this.assetRepository = assetRepository; | ||||
|         this.assetMapper = assetMapper; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return a {@link List} of {@link AssetDTO} which matches the criteria from the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @return the matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public List<AssetDTO> findByCriteria(AssetCriteria criteria) { | ||||
|         log.debug("find by criteria : {}", criteria); | ||||
|         final Specification<Asset> specification = createSpecification(criteria); | ||||
|         return assetMapper.toDto(assetRepository.findAll(specification)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return a {@link Page} of {@link AssetDTO} which matches the criteria from the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @param page The page, which should be returned. | ||||
|      * @return the matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Page<AssetDTO> findByCriteria(AssetCriteria criteria, Pageable page) { | ||||
|         log.debug("find by criteria : {}, page: {}", criteria, page); | ||||
|         final Specification<Asset> specification = createSpecification(criteria); | ||||
|         return assetRepository.findAll(specification, page) | ||||
|             .map(assetMapper::toDto); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return the number of matching entities in the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @return the number of matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public long countByCriteria(AssetCriteria criteria) { | ||||
|         log.debug("count by criteria : {}", criteria); | ||||
|         final Specification<Asset> specification = createSpecification(criteria); | ||||
|         return assetRepository.count(specification); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Function to convert AssetCriteria to a {@link Specification} | ||||
|      */ | ||||
|     private Specification<Asset> createSpecification(AssetCriteria criteria) { | ||||
|         Specification<Asset> specification = Specification.where(null); | ||||
|         if (criteria != null) { | ||||
|             if (criteria.getId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getId(), Asset_.id)); | ||||
|             } | ||||
|             if (criteria.getDate() != null) { | ||||
|                 specification = specification.and(buildRangeSpecification(criteria.getDate(), Asset_.date)); | ||||
|             } | ||||
|             if (criteria.getAction() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getAction(), Asset_.action)); | ||||
|             } | ||||
|             if (criteria.getAmount() != null) { | ||||
|                 specification = specification.and(buildRangeSpecification(criteria.getAmount(), Asset_.amount)); | ||||
|             } | ||||
|             if (criteria.getComment() != null) { | ||||
|                 specification = specification.and(buildStringSpecification(criteria.getComment(), Asset_.comment)); | ||||
|             } | ||||
|             if (criteria.getMemberId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getMemberId(), | ||||
|                     root -> root.join(Asset_.member, JoinType.LEFT).get(Membership_.id))); | ||||
|             } | ||||
|         } | ||||
|         return specification; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,84 @@ | ||||
| package org.hostsharing.hsadminng.service; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.Asset; | ||||
| import org.hostsharing.hsadminng.repository.AssetRepository; | ||||
| import org.hostsharing.hsadminng.service.dto.AssetDTO; | ||||
| import org.hostsharing.hsadminng.service.mapper.AssetMapper; | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
|  | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.stereotype.Service; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
|  | ||||
| import java.util.Optional; | ||||
|  | ||||
| /** | ||||
|  * Service Implementation for managing Asset. | ||||
|  */ | ||||
| @Service | ||||
| @Transactional | ||||
| public class AssetService { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(AssetService.class); | ||||
|  | ||||
|     private final AssetRepository assetRepository; | ||||
|  | ||||
|     private final AssetMapper assetMapper; | ||||
|  | ||||
|     public AssetService(AssetRepository assetRepository, AssetMapper assetMapper) { | ||||
|         this.assetRepository = assetRepository; | ||||
|         this.assetMapper = assetMapper; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Save a asset. | ||||
|      * | ||||
|      * @param assetDTO the entity to save | ||||
|      * @return the persisted entity | ||||
|      */ | ||||
|     public AssetDTO save(AssetDTO assetDTO) { | ||||
|         log.debug("Request to save Asset : {}", assetDTO); | ||||
|         Asset asset = assetMapper.toEntity(assetDTO); | ||||
|         asset = assetRepository.save(asset); | ||||
|         return assetMapper.toDto(asset); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get all the assets. | ||||
|      * | ||||
|      * @param pageable the pagination information | ||||
|      * @return the list of entities | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Page<AssetDTO> findAll(Pageable pageable) { | ||||
|         log.debug("Request to get all Assets"); | ||||
|         return assetRepository.findAll(pageable) | ||||
|             .map(assetMapper::toDto); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * Get one asset by id. | ||||
|      * | ||||
|      * @param id the id of the entity | ||||
|      * @return the entity | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Optional<AssetDTO> findOne(Long id) { | ||||
|         log.debug("Request to get Asset : {}", id); | ||||
|         return assetRepository.findById(id) | ||||
|             .map(assetMapper::toDto); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Delete the asset by id. | ||||
|      * | ||||
|      * @param id the id of the entity | ||||
|      */ | ||||
|     public void delete(Long id) { | ||||
|         log.debug("Request to delete Asset : {}", id); | ||||
|         assetRepository.deleteById(id); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,108 @@ | ||||
| package org.hostsharing.hsadminng.service; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import javax.persistence.criteria.JoinType; | ||||
|  | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| 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.Contact; | ||||
| import org.hostsharing.hsadminng.domain.*; // for static metamodels | ||||
| import org.hostsharing.hsadminng.repository.ContactRepository; | ||||
| import org.hostsharing.hsadminng.service.dto.ContactCriteria; | ||||
| import org.hostsharing.hsadminng.service.dto.ContactDTO; | ||||
| import org.hostsharing.hsadminng.service.mapper.ContactMapper; | ||||
|  | ||||
| /** | ||||
|  * Service for executing complex queries for Contact entities in the database. | ||||
|  * The main input is a {@link ContactCriteria} which gets converted to {@link Specification}, | ||||
|  * in a way that all the filters must apply. | ||||
|  * It returns a {@link List} of {@link ContactDTO} or a {@link Page} of {@link ContactDTO} which fulfills the criteria. | ||||
|  */ | ||||
| @Service | ||||
| @Transactional(readOnly = true) | ||||
| public class ContactQueryService extends QueryService<Contact> { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(ContactQueryService.class); | ||||
|  | ||||
|     private final ContactRepository contactRepository; | ||||
|  | ||||
|     private final ContactMapper contactMapper; | ||||
|  | ||||
|     public ContactQueryService(ContactRepository contactRepository, ContactMapper contactMapper) { | ||||
|         this.contactRepository = contactRepository; | ||||
|         this.contactMapper = contactMapper; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return a {@link List} of {@link ContactDTO} which matches the criteria from the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @return the matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public List<ContactDTO> findByCriteria(ContactCriteria criteria) { | ||||
|         log.debug("find by criteria : {}", criteria); | ||||
|         final Specification<Contact> specification = createSpecification(criteria); | ||||
|         return contactMapper.toDto(contactRepository.findAll(specification)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return a {@link Page} of {@link ContactDTO} which matches the criteria from the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @param page The page, which should be returned. | ||||
|      * @return the matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Page<ContactDTO> findByCriteria(ContactCriteria criteria, Pageable page) { | ||||
|         log.debug("find by criteria : {}, page: {}", criteria, page); | ||||
|         final Specification<Contact> specification = createSpecification(criteria); | ||||
|         return contactRepository.findAll(specification, page) | ||||
|             .map(contactMapper::toDto); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return the number of matching entities in the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @return the number of matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public long countByCriteria(ContactCriteria criteria) { | ||||
|         log.debug("count by criteria : {}", criteria); | ||||
|         final Specification<Contact> specification = createSpecification(criteria); | ||||
|         return contactRepository.count(specification); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Function to convert ContactCriteria to a {@link Specification} | ||||
|      */ | ||||
|     private Specification<Contact> createSpecification(ContactCriteria criteria) { | ||||
|         Specification<Contact> specification = Specification.where(null); | ||||
|         if (criteria != null) { | ||||
|             if (criteria.getId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getId(), Contact_.id)); | ||||
|             } | ||||
|             if (criteria.getFirstName() != null) { | ||||
|                 specification = specification.and(buildStringSpecification(criteria.getFirstName(), Contact_.firstName)); | ||||
|             } | ||||
|             if (criteria.getLastName() != null) { | ||||
|                 specification = specification.and(buildStringSpecification(criteria.getLastName(), Contact_.lastName)); | ||||
|             } | ||||
|             if (criteria.getEmail() != null) { | ||||
|                 specification = specification.and(buildStringSpecification(criteria.getEmail(), Contact_.email)); | ||||
|             } | ||||
|             if (criteria.getRoleId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getRoleId(), | ||||
|                     root -> root.join(Contact_.roles, JoinType.LEFT).get(CustomerContact_.id))); | ||||
|             } | ||||
|         } | ||||
|         return specification; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,84 @@ | ||||
| package org.hostsharing.hsadminng.service; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.Contact; | ||||
| import org.hostsharing.hsadminng.repository.ContactRepository; | ||||
| import org.hostsharing.hsadminng.service.dto.ContactDTO; | ||||
| import org.hostsharing.hsadminng.service.mapper.ContactMapper; | ||||
| 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; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
|  | ||||
| import java.util.Optional; | ||||
|  | ||||
| /** | ||||
|  * Service Implementation for managing Contact. | ||||
|  */ | ||||
| @Service | ||||
| @Transactional | ||||
| public class ContactService { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(ContactService.class); | ||||
|  | ||||
|     private final ContactRepository contactRepository; | ||||
|  | ||||
|     private final ContactMapper contactMapper; | ||||
|  | ||||
|     public ContactService(ContactRepository contactRepository, ContactMapper contactMapper) { | ||||
|         this.contactRepository = contactRepository; | ||||
|         this.contactMapper = contactMapper; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Save a contact. | ||||
|      * | ||||
|      * @param contactDTO the entity to save | ||||
|      * @return the persisted entity | ||||
|      */ | ||||
|     public ContactDTO save(ContactDTO contactDTO) { | ||||
|         log.debug("Request to save Contact : {}", contactDTO); | ||||
|         Contact contact = contactMapper.toEntity(contactDTO); | ||||
|         contact = contactRepository.save(contact); | ||||
|         return contactMapper.toDto(contact); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get all the contacts. | ||||
|      * | ||||
|      * @param pageable the pagination information | ||||
|      * @return the list of entities | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Page<ContactDTO> findAll(Pageable pageable) { | ||||
|         log.debug("Request to get all Contacts"); | ||||
|         return contactRepository.findAll(pageable) | ||||
|             .map(contactMapper::toDto); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * Get one contact by id. | ||||
|      * | ||||
|      * @param id the id of the entity | ||||
|      * @return the entity | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Optional<ContactDTO> findOne(Long id) { | ||||
|         log.debug("Request to get Contact : {}", id); | ||||
|         return contactRepository.findById(id) | ||||
|             .map(contactMapper::toDto); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Delete the contact by id. | ||||
|      * | ||||
|      * @param id the id of the entity | ||||
|      */ | ||||
|     public void delete(Long id) { | ||||
|         log.debug("Request to delete Contact : {}", id); | ||||
|         contactRepository.deleteById(id); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,106 @@ | ||||
| package org.hostsharing.hsadminng.service; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import javax.persistence.criteria.JoinType; | ||||
|  | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| 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.CustomerContact; | ||||
| import org.hostsharing.hsadminng.domain.*; // for static metamodels | ||||
| import org.hostsharing.hsadminng.repository.CustomerContactRepository; | ||||
| import org.hostsharing.hsadminng.service.dto.CustomerContactCriteria; | ||||
| import org.hostsharing.hsadminng.service.dto.CustomerContactDTO; | ||||
| import org.hostsharing.hsadminng.service.mapper.CustomerContactMapper; | ||||
|  | ||||
| /** | ||||
|  * Service for executing complex queries for CustomerContact entities in the database. | ||||
|  * The main input is a {@link CustomerContactCriteria} which gets converted to {@link Specification}, | ||||
|  * in a way that all the filters must apply. | ||||
|  * It returns a {@link List} of {@link CustomerContactDTO} or a {@link Page} of {@link CustomerContactDTO} which fulfills the criteria. | ||||
|  */ | ||||
| @Service | ||||
| @Transactional(readOnly = true) | ||||
| public class CustomerContactQueryService extends QueryService<CustomerContact> { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(CustomerContactQueryService.class); | ||||
|  | ||||
|     private final CustomerContactRepository customerContactRepository; | ||||
|  | ||||
|     private final CustomerContactMapper customerContactMapper; | ||||
|  | ||||
|     public CustomerContactQueryService(CustomerContactRepository customerContactRepository, CustomerContactMapper customerContactMapper) { | ||||
|         this.customerContactRepository = customerContactRepository; | ||||
|         this.customerContactMapper = customerContactMapper; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return a {@link List} of {@link CustomerContactDTO} which matches the criteria from the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @return the matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public List<CustomerContactDTO> findByCriteria(CustomerContactCriteria criteria) { | ||||
|         log.debug("find by criteria : {}", criteria); | ||||
|         final Specification<CustomerContact> specification = createSpecification(criteria); | ||||
|         return customerContactMapper.toDto(customerContactRepository.findAll(specification)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return a {@link Page} of {@link CustomerContactDTO} which matches the criteria from the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @param page The page, which should be returned. | ||||
|      * @return the matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Page<CustomerContactDTO> findByCriteria(CustomerContactCriteria criteria, Pageable page) { | ||||
|         log.debug("find by criteria : {}, page: {}", criteria, page); | ||||
|         final Specification<CustomerContact> specification = createSpecification(criteria); | ||||
|         return customerContactRepository.findAll(specification, page) | ||||
|             .map(customerContactMapper::toDto); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return the number of matching entities in the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @return the number of matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public long countByCriteria(CustomerContactCriteria criteria) { | ||||
|         log.debug("count by criteria : {}", criteria); | ||||
|         final Specification<CustomerContact> specification = createSpecification(criteria); | ||||
|         return customerContactRepository.count(specification); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Function to convert CustomerContactCriteria to a {@link Specification} | ||||
|      */ | ||||
|     private Specification<CustomerContact> createSpecification(CustomerContactCriteria criteria) { | ||||
|         Specification<CustomerContact> specification = Specification.where(null); | ||||
|         if (criteria != null) { | ||||
|             if (criteria.getId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getId(), CustomerContact_.id)); | ||||
|             } | ||||
|             if (criteria.getRole() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getRole(), CustomerContact_.role)); | ||||
|             } | ||||
|             if (criteria.getContactId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getContactId(), | ||||
|                     root -> root.join(CustomerContact_.contact, JoinType.LEFT).get(Contact_.id))); | ||||
|             } | ||||
|             if (criteria.getCustomerId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getCustomerId(), | ||||
|                     root -> root.join(CustomerContact_.customer, JoinType.LEFT).get(Customer_.id))); | ||||
|             } | ||||
|         } | ||||
|         return specification; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,84 @@ | ||||
| package org.hostsharing.hsadminng.service; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.CustomerContact; | ||||
| import org.hostsharing.hsadminng.repository.CustomerContactRepository; | ||||
| import org.hostsharing.hsadminng.service.dto.CustomerContactDTO; | ||||
| import org.hostsharing.hsadminng.service.mapper.CustomerContactMapper; | ||||
| 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; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
|  | ||||
| import java.util.Optional; | ||||
|  | ||||
| /** | ||||
|  * Service Implementation for managing CustomerContact. | ||||
|  */ | ||||
| @Service | ||||
| @Transactional | ||||
| public class CustomerContactService { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(CustomerContactService.class); | ||||
|  | ||||
|     private final CustomerContactRepository customerContactRepository; | ||||
|  | ||||
|     private final CustomerContactMapper customerContactMapper; | ||||
|  | ||||
|     public CustomerContactService(CustomerContactRepository customerContactRepository, CustomerContactMapper customerContactMapper) { | ||||
|         this.customerContactRepository = customerContactRepository; | ||||
|         this.customerContactMapper = customerContactMapper; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Save a customerContact. | ||||
|      * | ||||
|      * @param customerContactDTO the entity to save | ||||
|      * @return the persisted entity | ||||
|      */ | ||||
|     public CustomerContactDTO save(CustomerContactDTO customerContactDTO) { | ||||
|         log.debug("Request to save CustomerContact : {}", customerContactDTO); | ||||
|         CustomerContact customerContact = customerContactMapper.toEntity(customerContactDTO); | ||||
|         customerContact = customerContactRepository.save(customerContact); | ||||
|         return customerContactMapper.toDto(customerContact); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get all the customerContacts. | ||||
|      * | ||||
|      * @param pageable the pagination information | ||||
|      * @return the list of entities | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Page<CustomerContactDTO> findAll(Pageable pageable) { | ||||
|         log.debug("Request to get all CustomerContacts"); | ||||
|         return customerContactRepository.findAll(pageable) | ||||
|             .map(customerContactMapper::toDto); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * Get one customerContact by id. | ||||
|      * | ||||
|      * @param id the id of the entity | ||||
|      * @return the entity | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Optional<CustomerContactDTO> findOne(Long id) { | ||||
|         log.debug("Request to get CustomerContact : {}", id); | ||||
|         return customerContactRepository.findById(id) | ||||
|             .map(customerContactMapper::toDto); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Delete the customerContact by id. | ||||
|      * | ||||
|      * @param id the id of the entity | ||||
|      */ | ||||
|     public void delete(Long id) { | ||||
|         log.debug("Request to delete CustomerContact : {}", id); | ||||
|         customerContactRepository.deleteById(id); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,109 @@ | ||||
| package org.hostsharing.hsadminng.service; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import javax.persistence.criteria.JoinType; | ||||
|  | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| 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; | ||||
|  | ||||
| /** | ||||
|  * Service for executing complex queries for Customer entities in the database. | ||||
|  * The main input is a {@link CustomerCriteria} which gets converted to {@link Specification}, | ||||
|  * in a way that all the filters must apply. | ||||
|  * It returns a {@link List} of {@link CustomerDTO} or a {@link Page} of {@link CustomerDTO} which fulfills the criteria. | ||||
|  */ | ||||
| @Service | ||||
| @Transactional(readOnly = true) | ||||
| public class CustomerQueryService extends QueryService<Customer> { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(CustomerQueryService.class); | ||||
|  | ||||
|     private final CustomerRepository customerRepository; | ||||
|  | ||||
|     private final CustomerMapper customerMapper; | ||||
|  | ||||
|     public CustomerQueryService(CustomerRepository customerRepository, CustomerMapper customerMapper) { | ||||
|         this.customerRepository = customerRepository; | ||||
|         this.customerMapper = customerMapper; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return a {@link List} of {@link CustomerDTO} which matches the criteria from the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @return the matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public List<CustomerDTO> findByCriteria(CustomerCriteria criteria) { | ||||
|         log.debug("find by criteria : {}", criteria); | ||||
|         final Specification<Customer> specification = createSpecification(criteria); | ||||
|         return customerMapper.toDto(customerRepository.findAll(specification)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return a {@link Page} of {@link CustomerDTO} which matches the criteria from the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @param page The page, which should be returned. | ||||
|      * @return the matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Page<CustomerDTO> findByCriteria(CustomerCriteria criteria, Pageable page) { | ||||
|         log.debug("find by criteria : {}, page: {}", criteria, page); | ||||
|         final Specification<Customer> specification = createSpecification(criteria); | ||||
|         return customerRepository.findAll(specification, page) | ||||
|             .map(customerMapper::toDto); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return the number of matching entities in the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @return the number of matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public long countByCriteria(CustomerCriteria criteria) { | ||||
|         log.debug("count by criteria : {}", criteria); | ||||
|         final Specification<Customer> specification = createSpecification(criteria); | ||||
|         return customerRepository.count(specification); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Function to convert CustomerCriteria to a {@link Specification} | ||||
|      */ | ||||
|     private Specification<Customer> createSpecification(CustomerCriteria criteria) { | ||||
|         Specification<Customer> specification = Specification.where(null); | ||||
|         if (criteria != null) { | ||||
|             if (criteria.getId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getId(), Customer_.id)); | ||||
|             } | ||||
|             if (criteria.getNumber() != null) { | ||||
|                 specification = specification.and(buildRangeSpecification(criteria.getNumber(), Customer_.number)); | ||||
|             } | ||||
|             if (criteria.getPrefix() != null) { | ||||
|                 specification = specification.and(buildStringSpecification(criteria.getPrefix(), Customer_.prefix)); | ||||
|             } | ||||
|             if (criteria.getMembershipId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getMembershipId(), | ||||
|                     root -> root.join(Customer_.memberships, JoinType.LEFT).get(Membership_.id))); | ||||
|             } | ||||
|             if (criteria.getRoleId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getRoleId(), | ||||
|                     root -> root.join(Customer_.roles, JoinType.LEFT).get(CustomerContact_.id))); | ||||
|             } | ||||
|         } | ||||
|         return specification; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,84 @@ | ||||
| package org.hostsharing.hsadminng.service; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.Customer; | ||||
| import org.hostsharing.hsadminng.repository.CustomerRepository; | ||||
| 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; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.stereotype.Service; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
|  | ||||
| import java.util.Optional; | ||||
|  | ||||
| /** | ||||
|  * Service Implementation for managing Customer. | ||||
|  */ | ||||
| @Service | ||||
| @Transactional | ||||
| public class CustomerService { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(CustomerService.class); | ||||
|  | ||||
|     private final CustomerRepository customerRepository; | ||||
|  | ||||
|     private final CustomerMapper customerMapper; | ||||
|  | ||||
|     public CustomerService(CustomerRepository customerRepository, CustomerMapper customerMapper) { | ||||
|         this.customerRepository = customerRepository; | ||||
|         this.customerMapper = customerMapper; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Save a customer. | ||||
|      * | ||||
|      * @param customerDTO the entity to save | ||||
|      * @return the persisted entity | ||||
|      */ | ||||
|     public CustomerDTO save(CustomerDTO customerDTO) { | ||||
|         log.debug("Request to save Customer : {}", customerDTO); | ||||
|         Customer customer = customerMapper.toEntity(customerDTO); | ||||
|         customer = customerRepository.save(customer); | ||||
|         return customerMapper.toDto(customer); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get all the customers. | ||||
|      * | ||||
|      * @param pageable the pagination information | ||||
|      * @return the list of entities | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Page<CustomerDTO> findAll(Pageable pageable) { | ||||
|         log.debug("Request to get all Customers"); | ||||
|         return customerRepository.findAll(pageable) | ||||
|             .map(customerMapper::toDto); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * Get one customer by id. | ||||
|      * | ||||
|      * @param id the id of the entity | ||||
|      * @return the entity | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Optional<CustomerDTO> findOne(Long id) { | ||||
|         log.debug("Request to get Customer : {}", id); | ||||
|         return customerRepository.findById(id) | ||||
|             .map(customerMapper::toDto); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Delete the customer by id. | ||||
|      * | ||||
|      * @param id the id of the entity | ||||
|      */ | ||||
|     public void delete(Long id) { | ||||
|         log.debug("Request to delete Customer : {}", id); | ||||
|         customerRepository.deleteById(id); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,113 @@ | ||||
| package org.hostsharing.hsadminng.service; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import javax.persistence.criteria.JoinType; | ||||
|  | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| 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; | ||||
|  | ||||
| /** | ||||
|  * Service for executing complex queries for Membership entities in the database. | ||||
|  * The main input is a {@link MembershipCriteria} which gets converted to {@link Specification}, | ||||
|  * in a way that all the filters must apply. | ||||
|  * It returns a {@link List} of {@link MembershipDTO} or a {@link Page} of {@link MembershipDTO} which fulfills the criteria. | ||||
|  */ | ||||
| @Service | ||||
| @Transactional(readOnly = true) | ||||
| public class MembershipQueryService extends QueryService<Membership> { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(MembershipQueryService.class); | ||||
|  | ||||
|     private final MembershipRepository membershipRepository; | ||||
|  | ||||
|     private final MembershipMapper membershipMapper; | ||||
|  | ||||
|     public MembershipQueryService(MembershipRepository membershipRepository, MembershipMapper membershipMapper) { | ||||
|         this.membershipRepository = membershipRepository; | ||||
|         this.membershipMapper = membershipMapper; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return a {@link List} of {@link MembershipDTO} which matches the criteria from the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @return the matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public List<MembershipDTO> findByCriteria(MembershipCriteria criteria) { | ||||
|         log.debug("find by criteria : {}", criteria); | ||||
|         final Specification<Membership> specification = createSpecification(criteria); | ||||
|         return membershipMapper.toDto(membershipRepository.findAll(specification)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return a {@link Page} of {@link MembershipDTO} which matches the criteria from the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @param page The page, which should be returned. | ||||
|      * @return the matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Page<MembershipDTO> findByCriteria(MembershipCriteria criteria, Pageable page) { | ||||
|         log.debug("find by criteria : {}, page: {}", criteria, page); | ||||
|         final Specification<Membership> specification = createSpecification(criteria); | ||||
|         return membershipRepository.findAll(specification, page) | ||||
|             .map(membershipMapper::toDto); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return the number of matching entities in the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @return the number of matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public long countByCriteria(MembershipCriteria criteria) { | ||||
|         log.debug("count by criteria : {}", criteria); | ||||
|         final Specification<Membership> specification = createSpecification(criteria); | ||||
|         return membershipRepository.count(specification); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Function to convert MembershipCriteria to a {@link Specification} | ||||
|      */ | ||||
|     private Specification<Membership> createSpecification(MembershipCriteria criteria) { | ||||
|         Specification<Membership> specification = Specification.where(null); | ||||
|         if (criteria != null) { | ||||
|             if (criteria.getId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getId(), Membership_.id)); | ||||
|             } | ||||
|             if (criteria.getSinceDate() != null) { | ||||
|                 specification = specification.and(buildRangeSpecification(criteria.getSinceDate(), Membership_.sinceDate)); | ||||
|             } | ||||
|             if (criteria.getUntilDate() != null) { | ||||
|                 specification = specification.and(buildRangeSpecification(criteria.getUntilDate(), Membership_.untilDate)); | ||||
|             } | ||||
|             if (criteria.getShareId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getShareId(), | ||||
|                     root -> root.join(Membership_.shares, JoinType.LEFT).get(Share_.id))); | ||||
|             } | ||||
|             if (criteria.getAssetId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getAssetId(), | ||||
|                     root -> root.join(Membership_.assets, JoinType.LEFT).get(Asset_.id))); | ||||
|             } | ||||
|             if (criteria.getCustomerId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getCustomerId(), | ||||
|                     root -> root.join(Membership_.customer, JoinType.LEFT).get(Customer_.id))); | ||||
|             } | ||||
|         } | ||||
|         return specification; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,84 @@ | ||||
| package org.hostsharing.hsadminng.service; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.Membership; | ||||
| import org.hostsharing.hsadminng.repository.MembershipRepository; | ||||
| 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; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.stereotype.Service; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
|  | ||||
| import java.util.Optional; | ||||
|  | ||||
| /** | ||||
|  * Service Implementation for managing Membership. | ||||
|  */ | ||||
| @Service | ||||
| @Transactional | ||||
| public class MembershipService { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(MembershipService.class); | ||||
|  | ||||
|     private final MembershipRepository membershipRepository; | ||||
|  | ||||
|     private final MembershipMapper membershipMapper; | ||||
|  | ||||
|     public MembershipService(MembershipRepository membershipRepository, MembershipMapper membershipMapper) { | ||||
|         this.membershipRepository = membershipRepository; | ||||
|         this.membershipMapper = membershipMapper; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Save a membership. | ||||
|      * | ||||
|      * @param membershipDTO the entity to save | ||||
|      * @return the persisted entity | ||||
|      */ | ||||
|     public MembershipDTO save(MembershipDTO membershipDTO) { | ||||
|         log.debug("Request to save Membership : {}", membershipDTO); | ||||
|         Membership membership = membershipMapper.toEntity(membershipDTO); | ||||
|         membership = membershipRepository.save(membership); | ||||
|         return membershipMapper.toDto(membership); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get all the memberships. | ||||
|      * | ||||
|      * @param pageable the pagination information | ||||
|      * @return the list of entities | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Page<MembershipDTO> findAll(Pageable pageable) { | ||||
|         log.debug("Request to get all Memberships"); | ||||
|         return membershipRepository.findAll(pageable) | ||||
|             .map(membershipMapper::toDto); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * Get one membership by id. | ||||
|      * | ||||
|      * @param id the id of the entity | ||||
|      * @return the entity | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Optional<MembershipDTO> findOne(Long id) { | ||||
|         log.debug("Request to get Membership : {}", id); | ||||
|         return membershipRepository.findById(id) | ||||
|             .map(membershipMapper::toDto); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Delete the membership by id. | ||||
|      * | ||||
|      * @param id the id of the entity | ||||
|      */ | ||||
|     public void delete(Long id) { | ||||
|         log.debug("Request to delete Membership : {}", id); | ||||
|         membershipRepository.deleteById(id); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,111 @@ | ||||
| package org.hostsharing.hsadminng.service; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import javax.persistence.criteria.JoinType; | ||||
|  | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| 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.Share; | ||||
| import org.hostsharing.hsadminng.domain.*; // for static metamodels | ||||
| import org.hostsharing.hsadminng.repository.ShareRepository; | ||||
| import org.hostsharing.hsadminng.service.dto.ShareCriteria; | ||||
| import org.hostsharing.hsadminng.service.dto.ShareDTO; | ||||
| import org.hostsharing.hsadminng.service.mapper.ShareMapper; | ||||
|  | ||||
| /** | ||||
|  * Service for executing complex queries for Share entities in the database. | ||||
|  * The main input is a {@link ShareCriteria} which gets converted to {@link Specification}, | ||||
|  * in a way that all the filters must apply. | ||||
|  * It returns a {@link List} of {@link ShareDTO} or a {@link Page} of {@link ShareDTO} which fulfills the criteria. | ||||
|  */ | ||||
| @Service | ||||
| @Transactional(readOnly = true) | ||||
| public class ShareQueryService extends QueryService<Share> { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(ShareQueryService.class); | ||||
|  | ||||
|     private final ShareRepository shareRepository; | ||||
|  | ||||
|     private final ShareMapper shareMapper; | ||||
|  | ||||
|     public ShareQueryService(ShareRepository shareRepository, ShareMapper shareMapper) { | ||||
|         this.shareRepository = shareRepository; | ||||
|         this.shareMapper = shareMapper; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return a {@link List} of {@link ShareDTO} which matches the criteria from the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @return the matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public List<ShareDTO> findByCriteria(ShareCriteria criteria) { | ||||
|         log.debug("find by criteria : {}", criteria); | ||||
|         final Specification<Share> specification = createSpecification(criteria); | ||||
|         return shareMapper.toDto(shareRepository.findAll(specification)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return a {@link Page} of {@link ShareDTO} which matches the criteria from the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @param page The page, which should be returned. | ||||
|      * @return the matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Page<ShareDTO> findByCriteria(ShareCriteria criteria, Pageable page) { | ||||
|         log.debug("find by criteria : {}, page: {}", criteria, page); | ||||
|         final Specification<Share> specification = createSpecification(criteria); | ||||
|         return shareRepository.findAll(specification, page) | ||||
|             .map(shareMapper::toDto); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return the number of matching entities in the database | ||||
|      * @param criteria The object which holds all the filters, which the entities should match. | ||||
|      * @return the number of matching entities. | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public long countByCriteria(ShareCriteria criteria) { | ||||
|         log.debug("count by criteria : {}", criteria); | ||||
|         final Specification<Share> specification = createSpecification(criteria); | ||||
|         return shareRepository.count(specification); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Function to convert ShareCriteria to a {@link Specification} | ||||
|      */ | ||||
|     private Specification<Share> createSpecification(ShareCriteria criteria) { | ||||
|         Specification<Share> specification = Specification.where(null); | ||||
|         if (criteria != null) { | ||||
|             if (criteria.getId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getId(), Share_.id)); | ||||
|             } | ||||
|             if (criteria.getDate() != null) { | ||||
|                 specification = specification.and(buildRangeSpecification(criteria.getDate(), Share_.date)); | ||||
|             } | ||||
|             if (criteria.getAction() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getAction(), Share_.action)); | ||||
|             } | ||||
|             if (criteria.getQuantity() != null) { | ||||
|                 specification = specification.and(buildRangeSpecification(criteria.getQuantity(), Share_.quantity)); | ||||
|             } | ||||
|             if (criteria.getComment() != null) { | ||||
|                 specification = specification.and(buildStringSpecification(criteria.getComment(), Share_.comment)); | ||||
|             } | ||||
|             if (criteria.getMemberId() != null) { | ||||
|                 specification = specification.and(buildSpecification(criteria.getMemberId(), | ||||
|                     root -> root.join(Share_.member, JoinType.LEFT).get(Membership_.id))); | ||||
|             } | ||||
|         } | ||||
|         return specification; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,84 @@ | ||||
| package org.hostsharing.hsadminng.service; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.Share; | ||||
| import org.hostsharing.hsadminng.repository.ShareRepository; | ||||
| import org.hostsharing.hsadminng.service.dto.ShareDTO; | ||||
| import org.hostsharing.hsadminng.service.mapper.ShareMapper; | ||||
| 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; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
|  | ||||
| import java.util.Optional; | ||||
|  | ||||
| /** | ||||
|  * Service Implementation for managing Share. | ||||
|  */ | ||||
| @Service | ||||
| @Transactional | ||||
| public class ShareService { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(ShareService.class); | ||||
|  | ||||
|     private final ShareRepository shareRepository; | ||||
|  | ||||
|     private final ShareMapper shareMapper; | ||||
|  | ||||
|     public ShareService(ShareRepository shareRepository, ShareMapper shareMapper) { | ||||
|         this.shareRepository = shareRepository; | ||||
|         this.shareMapper = shareMapper; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Save a share. | ||||
|      * | ||||
|      * @param shareDTO the entity to save | ||||
|      * @return the persisted entity | ||||
|      */ | ||||
|     public ShareDTO save(ShareDTO shareDTO) { | ||||
|         log.debug("Request to save Share : {}", shareDTO); | ||||
|         Share share = shareMapper.toEntity(shareDTO); | ||||
|         share = shareRepository.save(share); | ||||
|         return shareMapper.toDto(share); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get all the shares. | ||||
|      * | ||||
|      * @param pageable the pagination information | ||||
|      * @return the list of entities | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Page<ShareDTO> findAll(Pageable pageable) { | ||||
|         log.debug("Request to get all Shares"); | ||||
|         return shareRepository.findAll(pageable) | ||||
|             .map(shareMapper::toDto); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * Get one share by id. | ||||
|      * | ||||
|      * @param id the id of the entity | ||||
|      * @return the entity | ||||
|      */ | ||||
|     @Transactional(readOnly = true) | ||||
|     public Optional<ShareDTO> findOne(Long id) { | ||||
|         log.debug("Request to get Share : {}", id); | ||||
|         return shareRepository.findById(id) | ||||
|             .map(shareMapper::toDto); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Delete the share by id. | ||||
|      * | ||||
|      * @param id the id of the entity | ||||
|      */ | ||||
|     public void delete(Long id) { | ||||
|         log.debug("Request to delete Share : {}", id); | ||||
|         shareRepository.deleteById(id); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,136 @@ | ||||
| package org.hostsharing.hsadminng.service.dto; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.util.Objects; | ||||
| import org.hostsharing.hsadminng.domain.enumeration.AssetAction; | ||||
| 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.BigDecimalFilter; | ||||
| import io.github.jhipster.service.filter.LocalDateFilter; | ||||
|  | ||||
| /** | ||||
|  * Criteria class for the Asset entity. This class is used in AssetResource to | ||||
|  * receive all the possible filtering options from the Http GET request parameters. | ||||
|  * For example the following could be a valid requests: | ||||
|  * <code> /assets?id.greaterThan=5&attr1.contains=something&attr2.specified=false</code> | ||||
|  * As Spring is unable to properly convert the types, unless specific {@link Filter} class are used, we need to use | ||||
|  * fix type specific filters. | ||||
|  */ | ||||
| public class AssetCriteria implements Serializable { | ||||
|     /** | ||||
|      * Class for filtering AssetAction | ||||
|      */ | ||||
|     public static class AssetActionFilter extends Filter<AssetAction> { | ||||
|     } | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|  | ||||
|     private LongFilter id; | ||||
|  | ||||
|     private LocalDateFilter date; | ||||
|  | ||||
|     private AssetActionFilter action; | ||||
|  | ||||
|     private BigDecimalFilter amount; | ||||
|  | ||||
|     private StringFilter comment; | ||||
|  | ||||
|     private LongFilter memberId; | ||||
|  | ||||
|     public LongFilter getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(LongFilter id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public LocalDateFilter getDate() { | ||||
|         return date; | ||||
|     } | ||||
|  | ||||
|     public void setDate(LocalDateFilter date) { | ||||
|         this.date = date; | ||||
|     } | ||||
|  | ||||
|     public AssetActionFilter getAction() { | ||||
|         return action; | ||||
|     } | ||||
|  | ||||
|     public void setAction(AssetActionFilter action) { | ||||
|         this.action = action; | ||||
|     } | ||||
|  | ||||
|     public BigDecimalFilter getAmount() { | ||||
|         return amount; | ||||
|     } | ||||
|  | ||||
|     public void setAmount(BigDecimalFilter amount) { | ||||
|         this.amount = amount; | ||||
|     } | ||||
|  | ||||
|     public StringFilter getComment() { | ||||
|         return comment; | ||||
|     } | ||||
|  | ||||
|     public void setComment(StringFilter comment) { | ||||
|         this.comment = comment; | ||||
|     } | ||||
|  | ||||
|     public LongFilter getMemberId() { | ||||
|         return memberId; | ||||
|     } | ||||
|  | ||||
|     public void setMemberId(LongFilter memberId) { | ||||
|         this.memberId = memberId; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|         final AssetCriteria that = (AssetCriteria) o; | ||||
|         return | ||||
|             Objects.equals(id, that.id) && | ||||
|             Objects.equals(date, that.date) && | ||||
|             Objects.equals(action, that.action) && | ||||
|             Objects.equals(amount, that.amount) && | ||||
|             Objects.equals(comment, that.comment) && | ||||
|             Objects.equals(memberId, that.memberId); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hash( | ||||
|         id, | ||||
|         date, | ||||
|         action, | ||||
|         amount, | ||||
|         comment, | ||||
|         memberId | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "AssetCriteria{" + | ||||
|                 (id != null ? "id=" + id + ", " : "") + | ||||
|                 (date != null ? "date=" + date + ", " : "") + | ||||
|                 (action != null ? "action=" + action + ", " : "") + | ||||
|                 (amount != null ? "amount=" + amount + ", " : "") + | ||||
|                 (comment != null ? "comment=" + comment + ", " : "") + | ||||
|                 (memberId != null ? "memberId=" + memberId + ", " : "") + | ||||
|             "}"; | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,111 @@ | ||||
| package org.hostsharing.hsadminng.service.dto; | ||||
| import java.time.LocalDate; | ||||
| import javax.validation.constraints.*; | ||||
| import java.io.Serializable; | ||||
| import java.math.BigDecimal; | ||||
| import java.util.Objects; | ||||
| import org.hostsharing.hsadminng.domain.enumeration.AssetAction; | ||||
|  | ||||
| /** | ||||
|  * A DTO for the Asset entity. | ||||
|  */ | ||||
| public class AssetDTO implements Serializable { | ||||
|  | ||||
|     private Long id; | ||||
|  | ||||
|     @NotNull | ||||
|     private LocalDate date; | ||||
|  | ||||
|     @NotNull | ||||
|     private AssetAction action; | ||||
|  | ||||
|     @NotNull | ||||
|     private BigDecimal amount; | ||||
|  | ||||
|     @Size(max = 160) | ||||
|     private String comment; | ||||
|  | ||||
|  | ||||
|     private Long memberId; | ||||
|  | ||||
|     public Long getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(Long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public LocalDate getDate() { | ||||
|         return date; | ||||
|     } | ||||
|  | ||||
|     public void setDate(LocalDate date) { | ||||
|         this.date = date; | ||||
|     } | ||||
|  | ||||
|     public AssetAction getAction() { | ||||
|         return action; | ||||
|     } | ||||
|  | ||||
|     public void setAction(AssetAction action) { | ||||
|         this.action = action; | ||||
|     } | ||||
|  | ||||
|     public BigDecimal getAmount() { | ||||
|         return amount; | ||||
|     } | ||||
|  | ||||
|     public void setAmount(BigDecimal amount) { | ||||
|         this.amount = amount; | ||||
|     } | ||||
|  | ||||
|     public String getComment() { | ||||
|         return comment; | ||||
|     } | ||||
|  | ||||
|     public void setComment(String comment) { | ||||
|         this.comment = comment; | ||||
|     } | ||||
|  | ||||
|     public Long getMemberId() { | ||||
|         return memberId; | ||||
|     } | ||||
|  | ||||
|     public void setMemberId(Long membershipId) { | ||||
|         this.memberId = membershipId; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|  | ||||
|         AssetDTO assetDTO = (AssetDTO) o; | ||||
|         if (assetDTO.getId() == null || getId() == null) { | ||||
|             return false; | ||||
|         } | ||||
|         return Objects.equals(getId(), assetDTO.getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hashCode(getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "AssetDTO{" + | ||||
|             "id=" + getId() + | ||||
|             ", date='" + getDate() + "'" + | ||||
|             ", action='" + getAction() + "'" + | ||||
|             ", amount=" + getAmount() + | ||||
|             ", comment='" + getComment() + "'" + | ||||
|             ", member=" + getMemberId() + | ||||
|             "}"; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,115 @@ | ||||
| package org.hostsharing.hsadminng.service.dto; | ||||
|  | ||||
| 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 Contact entity. This class is used in ContactResource to | ||||
|  * receive all the possible filtering options from the Http GET request parameters. | ||||
|  * For example the following could be a valid requests: | ||||
|  * <code> /contacts?id.greaterThan=5&attr1.contains=something&attr2.specified=false</code> | ||||
|  * As Spring is unable to properly convert the types, unless specific {@link Filter} class are used, we need to use | ||||
|  * fix type specific filters. | ||||
|  */ | ||||
| public class ContactCriteria implements Serializable { | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|  | ||||
|     private LongFilter id; | ||||
|  | ||||
|     private StringFilter firstName; | ||||
|  | ||||
|     private StringFilter lastName; | ||||
|  | ||||
|     private StringFilter email; | ||||
|  | ||||
|     private LongFilter roleId; | ||||
|  | ||||
|     public LongFilter getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(LongFilter id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public StringFilter getFirstName() { | ||||
|         return firstName; | ||||
|     } | ||||
|  | ||||
|     public void setFirstName(StringFilter firstName) { | ||||
|         this.firstName = firstName; | ||||
|     } | ||||
|  | ||||
|     public StringFilter getLastName() { | ||||
|         return lastName; | ||||
|     } | ||||
|  | ||||
|     public void setLastName(StringFilter lastName) { | ||||
|         this.lastName = lastName; | ||||
|     } | ||||
|  | ||||
|     public StringFilter getEmail() { | ||||
|         return email; | ||||
|     } | ||||
|  | ||||
|     public void setEmail(StringFilter email) { | ||||
|         this.email = email; | ||||
|     } | ||||
|  | ||||
|     public LongFilter getRoleId() { | ||||
|         return roleId; | ||||
|     } | ||||
|  | ||||
|     public void setRoleId(LongFilter roleId) { | ||||
|         this.roleId = roleId; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|         final ContactCriteria that = (ContactCriteria) o; | ||||
|         return | ||||
|             Objects.equals(id, that.id) && | ||||
|             Objects.equals(firstName, that.firstName) && | ||||
|             Objects.equals(lastName, that.lastName) && | ||||
|             Objects.equals(email, that.email) && | ||||
|             Objects.equals(roleId, that.roleId); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hash( | ||||
|         id, | ||||
|         firstName, | ||||
|         lastName, | ||||
|         email, | ||||
|         roleId | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "ContactCriteria{" + | ||||
|                 (id != null ? "id=" + id + ", " : "") + | ||||
|                 (firstName != null ? "firstName=" + firstName + ", " : "") + | ||||
|                 (lastName != null ? "lastName=" + lastName + ", " : "") + | ||||
|                 (email != null ? "email=" + email + ", " : "") + | ||||
|                 (roleId != null ? "roleId=" + roleId + ", " : "") + | ||||
|             "}"; | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,88 @@ | ||||
| package org.hostsharing.hsadminng.service.dto; | ||||
| import javax.validation.constraints.*; | ||||
| import java.io.Serializable; | ||||
| import java.util.Objects; | ||||
|  | ||||
| /** | ||||
|  * A DTO for the Contact entity. | ||||
|  */ | ||||
| public class ContactDTO implements Serializable { | ||||
|  | ||||
|     private Long id; | ||||
|  | ||||
|     @NotNull | ||||
|     @Size(max = 80) | ||||
|     private String firstName; | ||||
|  | ||||
|     @NotNull | ||||
|     @Size(max = 80) | ||||
|     private String lastName; | ||||
|  | ||||
|     @NotNull | ||||
|     @Size(max = 80) | ||||
|     private String email; | ||||
|  | ||||
|  | ||||
|     public Long getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(Long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public String getFirstName() { | ||||
|         return firstName; | ||||
|     } | ||||
|  | ||||
|     public void setFirstName(String firstName) { | ||||
|         this.firstName = firstName; | ||||
|     } | ||||
|  | ||||
|     public String getLastName() { | ||||
|         return lastName; | ||||
|     } | ||||
|  | ||||
|     public void setLastName(String lastName) { | ||||
|         this.lastName = lastName; | ||||
|     } | ||||
|  | ||||
|     public String getEmail() { | ||||
|         return email; | ||||
|     } | ||||
|  | ||||
|     public void setEmail(String email) { | ||||
|         this.email = email; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|  | ||||
|         ContactDTO contactDTO = (ContactDTO) o; | ||||
|         if (contactDTO.getId() == null || getId() == null) { | ||||
|             return false; | ||||
|         } | ||||
|         return Objects.equals(getId(), contactDTO.getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hashCode(getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "ContactDTO{" + | ||||
|             "id=" + getId() + | ||||
|             ", firstName='" + getFirstName() + "'" + | ||||
|             ", lastName='" + getLastName() + "'" + | ||||
|             ", email='" + getEmail() + "'" + | ||||
|             "}"; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,108 @@ | ||||
| package org.hostsharing.hsadminng.service.dto; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.util.Objects; | ||||
| import org.hostsharing.hsadminng.domain.enumeration.CustomerContactRole; | ||||
| 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 CustomerContact entity. This class is used in CustomerContactResource to | ||||
|  * receive all the possible filtering options from the Http GET request parameters. | ||||
|  * For example the following could be a valid requests: | ||||
|  * <code> /customer-contacts?id.greaterThan=5&attr1.contains=something&attr2.specified=false</code> | ||||
|  * As Spring is unable to properly convert the types, unless specific {@link Filter} class are used, we need to use | ||||
|  * fix type specific filters. | ||||
|  */ | ||||
| public class CustomerContactCriteria implements Serializable { | ||||
|     /** | ||||
|      * Class for filtering CustomerContactRole | ||||
|      */ | ||||
|     public static class CustomerContactRoleFilter extends Filter<CustomerContactRole> { | ||||
|     } | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|  | ||||
|     private LongFilter id; | ||||
|  | ||||
|     private CustomerContactRoleFilter role; | ||||
|  | ||||
|     private LongFilter contactId; | ||||
|  | ||||
|     private LongFilter customerId; | ||||
|  | ||||
|     public LongFilter getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(LongFilter id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public CustomerContactRoleFilter getRole() { | ||||
|         return role; | ||||
|     } | ||||
|  | ||||
|     public void setRole(CustomerContactRoleFilter role) { | ||||
|         this.role = role; | ||||
|     } | ||||
|  | ||||
|     public LongFilter getContactId() { | ||||
|         return contactId; | ||||
|     } | ||||
|  | ||||
|     public void setContactId(LongFilter contactId) { | ||||
|         this.contactId = contactId; | ||||
|     } | ||||
|  | ||||
|     public LongFilter getCustomerId() { | ||||
|         return customerId; | ||||
|     } | ||||
|  | ||||
|     public void setCustomerId(LongFilter customerId) { | ||||
|         this.customerId = customerId; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|         final CustomerContactCriteria that = (CustomerContactCriteria) o; | ||||
|         return | ||||
|             Objects.equals(id, that.id) && | ||||
|             Objects.equals(role, that.role) && | ||||
|             Objects.equals(contactId, that.contactId) && | ||||
|             Objects.equals(customerId, that.customerId); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hash( | ||||
|         id, | ||||
|         role, | ||||
|         contactId, | ||||
|         customerId | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "CustomerContactCriteria{" + | ||||
|                 (id != null ? "id=" + id + ", " : "") + | ||||
|                 (role != null ? "role=" + role + ", " : "") + | ||||
|                 (contactId != null ? "contactId=" + contactId + ", " : "") + | ||||
|                 (customerId != null ? "customerId=" + customerId + ", " : "") + | ||||
|             "}"; | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,106 @@ | ||||
| package org.hostsharing.hsadminng.service.dto; | ||||
| import javax.validation.constraints.*; | ||||
| import java.io.Serializable; | ||||
| import java.util.Objects; | ||||
| import org.hostsharing.hsadminng.domain.enumeration.CustomerContactRole; | ||||
|  | ||||
| /** | ||||
|  * A DTO for the CustomerContact entity. | ||||
|  */ | ||||
| public class CustomerContactDTO implements Serializable { | ||||
|  | ||||
|     private Long id; | ||||
|  | ||||
|     @NotNull | ||||
|     private CustomerContactRole role; | ||||
|  | ||||
|  | ||||
|     private Long contactId; | ||||
|  | ||||
|     private String contactEmail; | ||||
|  | ||||
|     private Long customerId; | ||||
|  | ||||
|     private String customerPrefix; | ||||
|  | ||||
|     public Long getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(Long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public CustomerContactRole getRole() { | ||||
|         return role; | ||||
|     } | ||||
|  | ||||
|     public void setRole(CustomerContactRole role) { | ||||
|         this.role = role; | ||||
|     } | ||||
|  | ||||
|     public Long getContactId() { | ||||
|         return contactId; | ||||
|     } | ||||
|  | ||||
|     public void setContactId(Long contactId) { | ||||
|         this.contactId = contactId; | ||||
|     } | ||||
|  | ||||
|     public String getContactEmail() { | ||||
|         return contactEmail; | ||||
|     } | ||||
|  | ||||
|     public void setContactEmail(String contactEmail) { | ||||
|         this.contactEmail = contactEmail; | ||||
|     } | ||||
|  | ||||
|     public Long getCustomerId() { | ||||
|         return customerId; | ||||
|     } | ||||
|  | ||||
|     public void setCustomerId(Long customerId) { | ||||
|         this.customerId = customerId; | ||||
|     } | ||||
|  | ||||
|     public String getCustomerPrefix() { | ||||
|         return customerPrefix; | ||||
|     } | ||||
|  | ||||
|     public void setCustomerPrefix(String customerPrefix) { | ||||
|         this.customerPrefix = customerPrefix; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|  | ||||
|         CustomerContactDTO customerContactDTO = (CustomerContactDTO) o; | ||||
|         if (customerContactDTO.getId() == null || getId() == null) { | ||||
|             return false; | ||||
|         } | ||||
|         return Objects.equals(getId(), customerContactDTO.getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hashCode(getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "CustomerContactDTO{" + | ||||
|             "id=" + getId() + | ||||
|             ", role='" + getRole() + "'" + | ||||
|             ", contact=" + getContactId() + | ||||
|             ", contact='" + getContactEmail() + "'" + | ||||
|             ", customer=" + getCustomerId() + | ||||
|             ", customer='" + getCustomerPrefix() + "'" + | ||||
|             "}"; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,115 @@ | ||||
| package org.hostsharing.hsadminng.service.dto; | ||||
|  | ||||
| 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 | ||||
|  * receive all the possible filtering options from the Http GET request parameters. | ||||
|  * For example the following could be a valid requests: | ||||
|  * <code> /customers?id.greaterThan=5&attr1.contains=something&attr2.specified=false</code> | ||||
|  * As Spring is unable to properly convert the types, unless specific {@link Filter} class are used, we need to use | ||||
|  * fix type specific filters. | ||||
|  */ | ||||
| public class CustomerCriteria implements Serializable { | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|  | ||||
|     private LongFilter id; | ||||
|  | ||||
|     private IntegerFilter number; | ||||
|  | ||||
|     private StringFilter prefix; | ||||
|  | ||||
|     private LongFilter membershipId; | ||||
|  | ||||
|     private LongFilter roleId; | ||||
|  | ||||
|     public LongFilter getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(LongFilter id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public IntegerFilter getNumber() { | ||||
|         return number; | ||||
|     } | ||||
|  | ||||
|     public void setNumber(IntegerFilter number) { | ||||
|         this.number = number; | ||||
|     } | ||||
|  | ||||
|     public StringFilter getPrefix() { | ||||
|         return prefix; | ||||
|     } | ||||
|  | ||||
|     public void setPrefix(StringFilter prefix) { | ||||
|         this.prefix = prefix; | ||||
|     } | ||||
|  | ||||
|     public LongFilter getMembershipId() { | ||||
|         return membershipId; | ||||
|     } | ||||
|  | ||||
|     public void setMembershipId(LongFilter membershipId) { | ||||
|         this.membershipId = membershipId; | ||||
|     } | ||||
|  | ||||
|     public LongFilter getRoleId() { | ||||
|         return roleId; | ||||
|     } | ||||
|  | ||||
|     public void setRoleId(LongFilter roleId) { | ||||
|         this.roleId = roleId; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|         final CustomerCriteria that = (CustomerCriteria) o; | ||||
|         return | ||||
|             Objects.equals(id, that.id) && | ||||
|             Objects.equals(number, that.number) && | ||||
|             Objects.equals(prefix, that.prefix) && | ||||
|             Objects.equals(membershipId, that.membershipId) && | ||||
|             Objects.equals(roleId, that.roleId); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hash( | ||||
|         id, | ||||
|         number, | ||||
|         prefix, | ||||
|         membershipId, | ||||
|         roleId | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "CustomerCriteria{" + | ||||
|                 (id != null ? "id=" + id + ", " : "") + | ||||
|                 (number != null ? "number=" + number + ", " : "") + | ||||
|                 (prefix != null ? "prefix=" + prefix + ", " : "") + | ||||
|                 (membershipId != null ? "membershipId=" + membershipId + ", " : "") + | ||||
|                 (roleId != null ? "roleId=" + roleId + ", " : "") + | ||||
|             "}"; | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,76 @@ | ||||
| package org.hostsharing.hsadminng.service.dto; | ||||
| import javax.validation.constraints.*; | ||||
| import java.io.Serializable; | ||||
| import java.util.Objects; | ||||
|  | ||||
| /** | ||||
|  * A DTO for the Customer entity. | ||||
|  */ | ||||
| public class CustomerDTO implements Serializable { | ||||
|  | ||||
|     private Long id; | ||||
|  | ||||
|     @NotNull | ||||
|     @Min(value = 10000) | ||||
|     @Max(value = 99999) | ||||
|     private Integer number; | ||||
|  | ||||
|     @NotNull | ||||
|     @Pattern(regexp = "[a-z][a-z0-9]+") | ||||
|     private String prefix; | ||||
|  | ||||
|  | ||||
|     public Long getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(Long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public Integer getNumber() { | ||||
|         return number; | ||||
|     } | ||||
|  | ||||
|     public void setNumber(Integer number) { | ||||
|         this.number = number; | ||||
|     } | ||||
|  | ||||
|     public String getPrefix() { | ||||
|         return prefix; | ||||
|     } | ||||
|  | ||||
|     public void setPrefix(String prefix) { | ||||
|         this.prefix = prefix; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|  | ||||
|         CustomerDTO customerDTO = (CustomerDTO) o; | ||||
|         if (customerDTO.getId() == null || getId() == null) { | ||||
|             return false; | ||||
|         } | ||||
|         return Objects.equals(getId(), customerDTO.getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hashCode(getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "CustomerDTO{" + | ||||
|             "id=" + getId() + | ||||
|             ", number=" + getNumber() + | ||||
|             ", prefix='" + getPrefix() + "'" + | ||||
|             "}"; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,129 @@ | ||||
| package org.hostsharing.hsadminng.service.dto; | ||||
|  | ||||
| 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 | ||||
|  * receive all the possible filtering options from the Http GET request parameters. | ||||
|  * For example the following could be a valid requests: | ||||
|  * <code> /memberships?id.greaterThan=5&attr1.contains=something&attr2.specified=false</code> | ||||
|  * As Spring is unable to properly convert the types, unless specific {@link Filter} class are used, we need to use | ||||
|  * fix type specific filters. | ||||
|  */ | ||||
| public class MembershipCriteria implements Serializable { | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|  | ||||
|     private LongFilter id; | ||||
|  | ||||
|     private LocalDateFilter sinceDate; | ||||
|  | ||||
|     private LocalDateFilter untilDate; | ||||
|  | ||||
|     private LongFilter shareId; | ||||
|  | ||||
|     private LongFilter assetId; | ||||
|  | ||||
|     private LongFilter customerId; | ||||
|  | ||||
|     public LongFilter getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(LongFilter id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public LocalDateFilter getSinceDate() { | ||||
|         return sinceDate; | ||||
|     } | ||||
|  | ||||
|     public void setSinceDate(LocalDateFilter sinceDate) { | ||||
|         this.sinceDate = sinceDate; | ||||
|     } | ||||
|  | ||||
|     public LocalDateFilter getUntilDate() { | ||||
|         return untilDate; | ||||
|     } | ||||
|  | ||||
|     public void setUntilDate(LocalDateFilter untilDate) { | ||||
|         this.untilDate = untilDate; | ||||
|     } | ||||
|  | ||||
|     public LongFilter getShareId() { | ||||
|         return shareId; | ||||
|     } | ||||
|  | ||||
|     public void setShareId(LongFilter shareId) { | ||||
|         this.shareId = shareId; | ||||
|     } | ||||
|  | ||||
|     public LongFilter getAssetId() { | ||||
|         return assetId; | ||||
|     } | ||||
|  | ||||
|     public void setAssetId(LongFilter assetId) { | ||||
|         this.assetId = assetId; | ||||
|     } | ||||
|  | ||||
|     public LongFilter getCustomerId() { | ||||
|         return customerId; | ||||
|     } | ||||
|  | ||||
|     public void setCustomerId(LongFilter customerId) { | ||||
|         this.customerId = customerId; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|         final MembershipCriteria that = (MembershipCriteria) o; | ||||
|         return | ||||
|             Objects.equals(id, that.id) && | ||||
|             Objects.equals(sinceDate, that.sinceDate) && | ||||
|             Objects.equals(untilDate, that.untilDate) && | ||||
|             Objects.equals(shareId, that.shareId) && | ||||
|             Objects.equals(assetId, that.assetId) && | ||||
|             Objects.equals(customerId, that.customerId); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hash( | ||||
|         id, | ||||
|         sinceDate, | ||||
|         untilDate, | ||||
|         shareId, | ||||
|         assetId, | ||||
|         customerId | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "MembershipCriteria{" + | ||||
|                 (id != null ? "id=" + id + ", " : "") + | ||||
|                 (sinceDate != null ? "sinceDate=" + sinceDate + ", " : "") + | ||||
|                 (untilDate != null ? "untilDate=" + untilDate + ", " : "") + | ||||
|                 (shareId != null ? "shareId=" + shareId + ", " : "") + | ||||
|                 (assetId != null ? "assetId=" + assetId + ", " : "") + | ||||
|                 (customerId != null ? "customerId=" + customerId + ", " : "") + | ||||
|             "}"; | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,95 @@ | ||||
| package org.hostsharing.hsadminng.service.dto; | ||||
| import java.time.LocalDate; | ||||
| import javax.validation.constraints.*; | ||||
| import java.io.Serializable; | ||||
| import java.util.Objects; | ||||
|  | ||||
| /** | ||||
|  * A DTO for the Membership entity. | ||||
|  */ | ||||
| public class MembershipDTO implements Serializable { | ||||
|  | ||||
|     private Long id; | ||||
|  | ||||
|     @NotNull | ||||
|     private LocalDate sinceDate; | ||||
|  | ||||
|     private LocalDate untilDate; | ||||
|  | ||||
|  | ||||
|     private Long customerId; | ||||
|  | ||||
|     private String customerPrefix; | ||||
|  | ||||
|     public Long getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(Long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public LocalDate getSinceDate() { | ||||
|         return sinceDate; | ||||
|     } | ||||
|  | ||||
|     public void setSinceDate(LocalDate sinceDate) { | ||||
|         this.sinceDate = sinceDate; | ||||
|     } | ||||
|  | ||||
|     public LocalDate getUntilDate() { | ||||
|         return untilDate; | ||||
|     } | ||||
|  | ||||
|     public void setUntilDate(LocalDate untilDate) { | ||||
|         this.untilDate = untilDate; | ||||
|     } | ||||
|  | ||||
|     public Long getCustomerId() { | ||||
|         return customerId; | ||||
|     } | ||||
|  | ||||
|     public void setCustomerId(Long customerId) { | ||||
|         this.customerId = customerId; | ||||
|     } | ||||
|  | ||||
|     public String getCustomerPrefix() { | ||||
|         return customerPrefix; | ||||
|     } | ||||
|  | ||||
|     public void setCustomerPrefix(String customerPrefix) { | ||||
|         this.customerPrefix = customerPrefix; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|  | ||||
|         MembershipDTO membershipDTO = (MembershipDTO) o; | ||||
|         if (membershipDTO.getId() == null || getId() == null) { | ||||
|             return false; | ||||
|         } | ||||
|         return Objects.equals(getId(), membershipDTO.getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hashCode(getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "MembershipDTO{" + | ||||
|             "id=" + getId() + | ||||
|             ", sinceDate='" + getSinceDate() + "'" + | ||||
|             ", untilDate='" + getUntilDate() + "'" + | ||||
|             ", customer=" + getCustomerId() + | ||||
|             ", customer='" + getCustomerPrefix() + "'" + | ||||
|             "}"; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,135 @@ | ||||
| package org.hostsharing.hsadminng.service.dto; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.util.Objects; | ||||
| import org.hostsharing.hsadminng.domain.enumeration.ShareAction; | ||||
| 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 Share entity. This class is used in ShareResource to | ||||
|  * receive all the possible filtering options from the Http GET request parameters. | ||||
|  * For example the following could be a valid requests: | ||||
|  * <code> /shares?id.greaterThan=5&attr1.contains=something&attr2.specified=false</code> | ||||
|  * As Spring is unable to properly convert the types, unless specific {@link Filter} class are used, we need to use | ||||
|  * fix type specific filters. | ||||
|  */ | ||||
| public class ShareCriteria implements Serializable { | ||||
|     /** | ||||
|      * Class for filtering ShareAction | ||||
|      */ | ||||
|     public static class ShareActionFilter extends Filter<ShareAction> { | ||||
|     } | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|  | ||||
|     private LongFilter id; | ||||
|  | ||||
|     private LocalDateFilter date; | ||||
|  | ||||
|     private ShareActionFilter action; | ||||
|  | ||||
|     private IntegerFilter quantity; | ||||
|  | ||||
|     private StringFilter comment; | ||||
|  | ||||
|     private LongFilter memberId; | ||||
|  | ||||
|     public LongFilter getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(LongFilter id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public LocalDateFilter getDate() { | ||||
|         return date; | ||||
|     } | ||||
|  | ||||
|     public void setDate(LocalDateFilter date) { | ||||
|         this.date = date; | ||||
|     } | ||||
|  | ||||
|     public ShareActionFilter getAction() { | ||||
|         return action; | ||||
|     } | ||||
|  | ||||
|     public void setAction(ShareActionFilter action) { | ||||
|         this.action = action; | ||||
|     } | ||||
|  | ||||
|     public IntegerFilter getQuantity() { | ||||
|         return quantity; | ||||
|     } | ||||
|  | ||||
|     public void setQuantity(IntegerFilter quantity) { | ||||
|         this.quantity = quantity; | ||||
|     } | ||||
|  | ||||
|     public StringFilter getComment() { | ||||
|         return comment; | ||||
|     } | ||||
|  | ||||
|     public void setComment(StringFilter comment) { | ||||
|         this.comment = comment; | ||||
|     } | ||||
|  | ||||
|     public LongFilter getMemberId() { | ||||
|         return memberId; | ||||
|     } | ||||
|  | ||||
|     public void setMemberId(LongFilter memberId) { | ||||
|         this.memberId = memberId; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|         final ShareCriteria that = (ShareCriteria) o; | ||||
|         return | ||||
|             Objects.equals(id, that.id) && | ||||
|             Objects.equals(date, that.date) && | ||||
|             Objects.equals(action, that.action) && | ||||
|             Objects.equals(quantity, that.quantity) && | ||||
|             Objects.equals(comment, that.comment) && | ||||
|             Objects.equals(memberId, that.memberId); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hash( | ||||
|         id, | ||||
|         date, | ||||
|         action, | ||||
|         quantity, | ||||
|         comment, | ||||
|         memberId | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "ShareCriteria{" + | ||||
|                 (id != null ? "id=" + id + ", " : "") + | ||||
|                 (date != null ? "date=" + date + ", " : "") + | ||||
|                 (action != null ? "action=" + action + ", " : "") + | ||||
|                 (quantity != null ? "quantity=" + quantity + ", " : "") + | ||||
|                 (comment != null ? "comment=" + comment + ", " : "") + | ||||
|                 (memberId != null ? "memberId=" + memberId + ", " : "") + | ||||
|             "}"; | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,110 @@ | ||||
| package org.hostsharing.hsadminng.service.dto; | ||||
| import java.time.LocalDate; | ||||
| import javax.validation.constraints.*; | ||||
| import java.io.Serializable; | ||||
| import java.util.Objects; | ||||
| import org.hostsharing.hsadminng.domain.enumeration.ShareAction; | ||||
|  | ||||
| /** | ||||
|  * A DTO for the Share entity. | ||||
|  */ | ||||
| public class ShareDTO implements Serializable { | ||||
|  | ||||
|     private Long id; | ||||
|  | ||||
|     @NotNull | ||||
|     private LocalDate date; | ||||
|  | ||||
|     @NotNull | ||||
|     private ShareAction action; | ||||
|  | ||||
|     @NotNull | ||||
|     private Integer quantity; | ||||
|  | ||||
|     @Size(max = 160) | ||||
|     private String comment; | ||||
|  | ||||
|  | ||||
|     private Long memberId; | ||||
|  | ||||
|     public Long getId() { | ||||
|         return id; | ||||
|     } | ||||
|  | ||||
|     public void setId(Long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
|  | ||||
|     public LocalDate getDate() { | ||||
|         return date; | ||||
|     } | ||||
|  | ||||
|     public void setDate(LocalDate date) { | ||||
|         this.date = date; | ||||
|     } | ||||
|  | ||||
|     public ShareAction getAction() { | ||||
|         return action; | ||||
|     } | ||||
|  | ||||
|     public void setAction(ShareAction action) { | ||||
|         this.action = action; | ||||
|     } | ||||
|  | ||||
|     public Integer getQuantity() { | ||||
|         return quantity; | ||||
|     } | ||||
|  | ||||
|     public void setQuantity(Integer quantity) { | ||||
|         this.quantity = quantity; | ||||
|     } | ||||
|  | ||||
|     public String getComment() { | ||||
|         return comment; | ||||
|     } | ||||
|  | ||||
|     public void setComment(String comment) { | ||||
|         this.comment = comment; | ||||
|     } | ||||
|  | ||||
|     public Long getMemberId() { | ||||
|         return memberId; | ||||
|     } | ||||
|  | ||||
|     public void setMemberId(Long membershipId) { | ||||
|         this.memberId = membershipId; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) { | ||||
|         if (this == o) { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) { | ||||
|             return false; | ||||
|         } | ||||
|  | ||||
|         ShareDTO shareDTO = (ShareDTO) o; | ||||
|         if (shareDTO.getId() == null || getId() == null) { | ||||
|             return false; | ||||
|         } | ||||
|         return Objects.equals(getId(), shareDTO.getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hashCode(getId()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "ShareDTO{" + | ||||
|             "id=" + getId() + | ||||
|             ", date='" + getDate() + "'" + | ||||
|             ", action='" + getAction() + "'" + | ||||
|             ", quantity=" + getQuantity() + | ||||
|             ", comment='" + getComment() + "'" + | ||||
|             ", member=" + getMemberId() + | ||||
|             "}"; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,28 @@ | ||||
| package org.hostsharing.hsadminng.service.mapper; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.*; | ||||
| import org.hostsharing.hsadminng.service.dto.AssetDTO; | ||||
|  | ||||
| import org.mapstruct.*; | ||||
|  | ||||
| /** | ||||
|  * Mapper for the entity Asset and its DTO AssetDTO. | ||||
|  */ | ||||
| @Mapper(componentModel = "spring", uses = {MembershipMapper.class}) | ||||
| public interface AssetMapper extends EntityMapper<AssetDTO, Asset> { | ||||
|  | ||||
|     @Mapping(source = "member.id", target = "memberId") | ||||
|     AssetDTO toDto(Asset asset); | ||||
|  | ||||
|     @Mapping(source = "memberId", target = "member") | ||||
|     Asset toEntity(AssetDTO assetDTO); | ||||
|  | ||||
|     default Asset fromId(Long id) { | ||||
|         if (id == null) { | ||||
|             return null; | ||||
|         } | ||||
|         Asset asset = new Asset(); | ||||
|         asset.setId(id); | ||||
|         return asset; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,26 @@ | ||||
| package org.hostsharing.hsadminng.service.mapper; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.*; | ||||
| import org.hostsharing.hsadminng.service.dto.ContactDTO; | ||||
|  | ||||
| import org.mapstruct.*; | ||||
|  | ||||
| /** | ||||
|  * Mapper for the entity Contact and its DTO ContactDTO. | ||||
|  */ | ||||
| @Mapper(componentModel = "spring", uses = {}) | ||||
| public interface ContactMapper extends EntityMapper<ContactDTO, Contact> { | ||||
|  | ||||
|  | ||||
|     @Mapping(target = "roles", ignore = true) | ||||
|     Contact toEntity(ContactDTO contactDTO); | ||||
|  | ||||
|     default Contact fromId(Long id) { | ||||
|         if (id == null) { | ||||
|             return null; | ||||
|         } | ||||
|         Contact contact = new Contact(); | ||||
|         contact.setId(id); | ||||
|         return contact; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,32 @@ | ||||
| package org.hostsharing.hsadminng.service.mapper; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.*; | ||||
| import org.hostsharing.hsadminng.service.dto.CustomerContactDTO; | ||||
|  | ||||
| import org.mapstruct.*; | ||||
|  | ||||
| /** | ||||
|  * Mapper for the entity CustomerContact and its DTO CustomerContactDTO. | ||||
|  */ | ||||
| @Mapper(componentModel = "spring", uses = {ContactMapper.class, CustomerMapper.class}) | ||||
| public interface CustomerContactMapper extends EntityMapper<CustomerContactDTO, CustomerContact> { | ||||
|  | ||||
|     @Mapping(source = "contact.id", target = "contactId") | ||||
|     @Mapping(source = "contact.email", target = "contactEmail") | ||||
|     @Mapping(source = "customer.id", target = "customerId") | ||||
|     @Mapping(source = "customer.prefix", target = "customerPrefix") | ||||
|     CustomerContactDTO toDto(CustomerContact customerContact); | ||||
|  | ||||
|     @Mapping(source = "contactId", target = "contact") | ||||
|     @Mapping(source = "customerId", target = "customer") | ||||
|     CustomerContact toEntity(CustomerContactDTO customerContactDTO); | ||||
|  | ||||
|     default CustomerContact fromId(Long id) { | ||||
|         if (id == null) { | ||||
|             return null; | ||||
|         } | ||||
|         CustomerContact customerContact = new CustomerContact(); | ||||
|         customerContact.setId(id); | ||||
|         return customerContact; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,27 @@ | ||||
| package org.hostsharing.hsadminng.service.mapper; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.*; | ||||
| import org.hostsharing.hsadminng.service.dto.CustomerDTO; | ||||
|  | ||||
| import org.mapstruct.*; | ||||
|  | ||||
| /** | ||||
|  * Mapper for the entity Customer and its DTO CustomerDTO. | ||||
|  */ | ||||
| @Mapper(componentModel = "spring", uses = {}) | ||||
| public interface CustomerMapper extends EntityMapper<CustomerDTO, Customer> { | ||||
|  | ||||
|  | ||||
|     @Mapping(target = "memberships", ignore = true) | ||||
|     @Mapping(target = "roles", ignore = true) | ||||
|     Customer toEntity(CustomerDTO customerDTO); | ||||
|  | ||||
|     default Customer fromId(Long id) { | ||||
|         if (id == null) { | ||||
|             return null; | ||||
|         } | ||||
|         Customer customer = new Customer(); | ||||
|         customer.setId(id); | ||||
|         return customer; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,21 @@ | ||||
| package org.hostsharing.hsadminng.service.mapper; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * Contract for a generic dto to entity mapper. | ||||
|  * | ||||
|  * @param <D> - DTO type parameter. | ||||
|  * @param <E> - Entity type parameter. | ||||
|  */ | ||||
|  | ||||
| public interface EntityMapper <D, E> { | ||||
|  | ||||
|     E toEntity(D dto); | ||||
|  | ||||
|     D toDto(E entity); | ||||
|  | ||||
|     List <E> toEntity(List<D> dtoList); | ||||
|  | ||||
|     List <D> toDto(List<E> entityList); | ||||
| } | ||||
| @@ -0,0 +1,31 @@ | ||||
| package org.hostsharing.hsadminng.service.mapper; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.*; | ||||
| import org.hostsharing.hsadminng.service.dto.MembershipDTO; | ||||
|  | ||||
| import org.mapstruct.*; | ||||
|  | ||||
| /** | ||||
|  * Mapper for the entity Membership and its DTO MembershipDTO. | ||||
|  */ | ||||
| @Mapper(componentModel = "spring", uses = {CustomerMapper.class}) | ||||
| public interface MembershipMapper extends EntityMapper<MembershipDTO, Membership> { | ||||
|  | ||||
|     @Mapping(source = "customer.id", target = "customerId") | ||||
|     @Mapping(source = "customer.prefix", target = "customerPrefix") | ||||
|     MembershipDTO toDto(Membership membership); | ||||
|  | ||||
|     @Mapping(target = "shares", ignore = true) | ||||
|     @Mapping(target = "assets", ignore = true) | ||||
|     @Mapping(source = "customerId", target = "customer") | ||||
|     Membership toEntity(MembershipDTO membershipDTO); | ||||
|  | ||||
|     default Membership fromId(Long id) { | ||||
|         if (id == null) { | ||||
|             return null; | ||||
|         } | ||||
|         Membership membership = new Membership(); | ||||
|         membership.setId(id); | ||||
|         return membership; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,28 @@ | ||||
| package org.hostsharing.hsadminng.service.mapper; | ||||
|  | ||||
| import org.hostsharing.hsadminng.domain.*; | ||||
| import org.hostsharing.hsadminng.service.dto.ShareDTO; | ||||
|  | ||||
| import org.mapstruct.*; | ||||
|  | ||||
| /** | ||||
|  * Mapper for the entity Share and its DTO ShareDTO. | ||||
|  */ | ||||
| @Mapper(componentModel = "spring", uses = {MembershipMapper.class}) | ||||
| public interface ShareMapper extends EntityMapper<ShareDTO, Share> { | ||||
|  | ||||
|     @Mapping(source = "member.id", target = "memberId") | ||||
|     ShareDTO toDto(Share share); | ||||
|  | ||||
|     @Mapping(source = "memberId", target = "member") | ||||
|     Share toEntity(ShareDTO shareDTO); | ||||
|  | ||||
|     default Share fromId(Long id) { | ||||
|         if (id == null) { | ||||
|             return null; | ||||
|         } | ||||
|         Share share = new Share(); | ||||
|         share.setId(id); | ||||
|         return share; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,138 @@ | ||||
| package org.hostsharing.hsadminng.web.rest; | ||||
| import org.hostsharing.hsadminng.service.AssetService; | ||||
| 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; | ||||
|  | ||||
| /** | ||||
|  * REST controller for managing Asset. | ||||
|  */ | ||||
| @RestController | ||||
| @RequestMapping("/api") | ||||
| public class AssetResource { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(AssetResource.class); | ||||
|  | ||||
|     private static final String ENTITY_NAME = "asset"; | ||||
|  | ||||
|     private final AssetService assetService; | ||||
|  | ||||
|     private final AssetQueryService assetQueryService; | ||||
|  | ||||
|     public AssetResource(AssetService assetService, AssetQueryService assetQueryService) { | ||||
|         this.assetService = assetService; | ||||
|         this.assetQueryService = assetQueryService; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * POST  /assets : Create a new asset. | ||||
|      * | ||||
|      * @param assetDTO the assetDTO to create | ||||
|      * @return the ResponseEntity with status 201 (Created) and with body the new assetDTO, or with status 400 (Bad Request) if the asset has already an ID | ||||
|      * @throws URISyntaxException if the Location URI syntax is incorrect | ||||
|      */ | ||||
|     @PostMapping("/assets") | ||||
|     public ResponseEntity<AssetDTO> createAsset(@Valid @RequestBody AssetDTO assetDTO) throws URISyntaxException { | ||||
|         log.debug("REST request to save Asset : {}", assetDTO); | ||||
|         if (assetDTO.getId() != null) { | ||||
|             throw new BadRequestAlertException("A new asset cannot already have an ID", ENTITY_NAME, "idexists"); | ||||
|         } | ||||
|         AssetDTO result = assetService.save(assetDTO); | ||||
|         return ResponseEntity.created(new URI("/api/assets/" + result.getId())) | ||||
|             .headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getId().toString())) | ||||
|             .body(result); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * PUT  /assets : Updates an existing asset. | ||||
|      * | ||||
|      * @param assetDTO the assetDTO to update | ||||
|      * @return the ResponseEntity with status 200 (OK) and with body the updated assetDTO, | ||||
|      * or with status 400 (Bad Request) if the assetDTO is not valid, | ||||
|      * or with status 500 (Internal Server Error) if the assetDTO couldn't be updated | ||||
|      * @throws URISyntaxException if the Location URI syntax is incorrect | ||||
|      */ | ||||
|     @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); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * GET  /assets : get all the assets. | ||||
|      * | ||||
|      * @param pageable the pagination information | ||||
|      * @param criteria the criterias which the requested entities should match | ||||
|      * @return the ResponseEntity with status 200 (OK) and the list of assets in body | ||||
|      */ | ||||
|     @GetMapping("/assets") | ||||
|     public ResponseEntity<List<AssetDTO>> getAllAssets(AssetCriteria criteria, Pageable pageable) { | ||||
|         log.debug("REST request to get Assets by criteria: {}", criteria); | ||||
|         Page<AssetDTO> page = assetQueryService.findByCriteria(criteria, pageable); | ||||
|         HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/assets"); | ||||
|         return ResponseEntity.ok().headers(headers).body(page.getContent()); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|     * GET  /assets/count : count all the assets. | ||||
|     * | ||||
|     * @param criteria the criterias which the requested entities should match | ||||
|     * @return the ResponseEntity with status 200 (OK) and the count in body | ||||
|     */ | ||||
|     @GetMapping("/assets/count") | ||||
|     public ResponseEntity<Long> countAssets(AssetCriteria criteria) { | ||||
|         log.debug("REST request to count Assets by criteria: {}", criteria); | ||||
|         return ResponseEntity.ok().body(assetQueryService.countByCriteria(criteria)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * GET  /assets/:id : get the "id" asset. | ||||
|      * | ||||
|      * @param id the id of the assetDTO to retrieve | ||||
|      * @return the ResponseEntity with status 200 (OK) and with body the assetDTO, or with status 404 (Not Found) | ||||
|      */ | ||||
|     @GetMapping("/assets/{id}") | ||||
|     public ResponseEntity<AssetDTO> getAsset(@PathVariable Long id) { | ||||
|         log.debug("REST request to get Asset : {}", id); | ||||
|         Optional<AssetDTO> assetDTO = assetService.findOne(id); | ||||
|         return ResponseUtil.wrapOrNotFound(assetDTO); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * DELETE  /assets/:id : delete the "id" asset. | ||||
|      * | ||||
|      * @param id the id of the assetDTO to delete | ||||
|      * @return the ResponseEntity with status 200 (OK) | ||||
|      */ | ||||
|     @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(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,138 @@ | ||||
| package org.hostsharing.hsadminng.web.rest; | ||||
| import org.hostsharing.hsadminng.service.ContactService; | ||||
| 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.ContactDTO; | ||||
| import org.hostsharing.hsadminng.service.dto.ContactCriteria; | ||||
| import org.hostsharing.hsadminng.service.ContactQueryService; | ||||
| 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; | ||||
|  | ||||
| /** | ||||
|  * REST controller for managing Contact. | ||||
|  */ | ||||
| @RestController | ||||
| @RequestMapping("/api") | ||||
| public class ContactResource { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(ContactResource.class); | ||||
|  | ||||
|     private static final String ENTITY_NAME = "contact"; | ||||
|  | ||||
|     private final ContactService contactService; | ||||
|  | ||||
|     private final ContactQueryService contactQueryService; | ||||
|  | ||||
|     public ContactResource(ContactService contactService, ContactQueryService contactQueryService) { | ||||
|         this.contactService = contactService; | ||||
|         this.contactQueryService = contactQueryService; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * POST  /contacts : Create a new contact. | ||||
|      * | ||||
|      * @param contactDTO the contactDTO to create | ||||
|      * @return the ResponseEntity with status 201 (Created) and with body the new contactDTO, or with status 400 (Bad Request) if the contact has already an ID | ||||
|      * @throws URISyntaxException if the Location URI syntax is incorrect | ||||
|      */ | ||||
|     @PostMapping("/contacts") | ||||
|     public ResponseEntity<ContactDTO> createContact(@Valid @RequestBody ContactDTO contactDTO) throws URISyntaxException { | ||||
|         log.debug("REST request to save Contact : {}", contactDTO); | ||||
|         if (contactDTO.getId() != null) { | ||||
|             throw new BadRequestAlertException("A new contact cannot already have an ID", ENTITY_NAME, "idexists"); | ||||
|         } | ||||
|         ContactDTO result = contactService.save(contactDTO); | ||||
|         return ResponseEntity.created(new URI("/api/contacts/" + result.getId())) | ||||
|             .headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getId().toString())) | ||||
|             .body(result); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * PUT  /contacts : Updates an existing contact. | ||||
|      * | ||||
|      * @param contactDTO the contactDTO to update | ||||
|      * @return the ResponseEntity with status 200 (OK) and with body the updated contactDTO, | ||||
|      * or with status 400 (Bad Request) if the contactDTO is not valid, | ||||
|      * or with status 500 (Internal Server Error) if the contactDTO couldn't be updated | ||||
|      * @throws URISyntaxException if the Location URI syntax is incorrect | ||||
|      */ | ||||
|     @PutMapping("/contacts") | ||||
|     public ResponseEntity<ContactDTO> updateContact(@Valid @RequestBody ContactDTO contactDTO) throws URISyntaxException { | ||||
|         log.debug("REST request to update Contact : {}", contactDTO); | ||||
|         if (contactDTO.getId() == null) { | ||||
|             throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); | ||||
|         } | ||||
|         ContactDTO result = contactService.save(contactDTO); | ||||
|         return ResponseEntity.ok() | ||||
|             .headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, contactDTO.getId().toString())) | ||||
|             .body(result); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * GET  /contacts : get all the contacts. | ||||
|      * | ||||
|      * @param pageable the pagination information | ||||
|      * @param criteria the criterias which the requested entities should match | ||||
|      * @return the ResponseEntity with status 200 (OK) and the list of contacts in body | ||||
|      */ | ||||
|     @GetMapping("/contacts") | ||||
|     public ResponseEntity<List<ContactDTO>> getAllContacts(ContactCriteria criteria, Pageable pageable) { | ||||
|         log.debug("REST request to get Contacts by criteria: {}", criteria); | ||||
|         Page<ContactDTO> page = contactQueryService.findByCriteria(criteria, pageable); | ||||
|         HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/contacts"); | ||||
|         return ResponseEntity.ok().headers(headers).body(page.getContent()); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|     * GET  /contacts/count : count all the contacts. | ||||
|     * | ||||
|     * @param criteria the criterias which the requested entities should match | ||||
|     * @return the ResponseEntity with status 200 (OK) and the count in body | ||||
|     */ | ||||
|     @GetMapping("/contacts/count") | ||||
|     public ResponseEntity<Long> countContacts(ContactCriteria criteria) { | ||||
|         log.debug("REST request to count Contacts by criteria: {}", criteria); | ||||
|         return ResponseEntity.ok().body(contactQueryService.countByCriteria(criteria)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * GET  /contacts/:id : get the "id" contact. | ||||
|      * | ||||
|      * @param id the id of the contactDTO to retrieve | ||||
|      * @return the ResponseEntity with status 200 (OK) and with body the contactDTO, or with status 404 (Not Found) | ||||
|      */ | ||||
|     @GetMapping("/contacts/{id}") | ||||
|     public ResponseEntity<ContactDTO> getContact(@PathVariable Long id) { | ||||
|         log.debug("REST request to get Contact : {}", id); | ||||
|         Optional<ContactDTO> contactDTO = contactService.findOne(id); | ||||
|         return ResponseUtil.wrapOrNotFound(contactDTO); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * DELETE  /contacts/:id : delete the "id" contact. | ||||
|      * | ||||
|      * @param id the id of the contactDTO to delete | ||||
|      * @return the ResponseEntity with status 200 (OK) | ||||
|      */ | ||||
|     @DeleteMapping("/contacts/{id}") | ||||
|     public ResponseEntity<Void> deleteContact(@PathVariable Long id) { | ||||
|         log.debug("REST request to delete Contact : {}", id); | ||||
|         contactService.delete(id); | ||||
|         return ResponseEntity.ok().headers(HeaderUtil.createEntityDeletionAlert(ENTITY_NAME, id.toString())).build(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,138 @@ | ||||
| package org.hostsharing.hsadminng.web.rest; | ||||
| import org.hostsharing.hsadminng.service.CustomerContactService; | ||||
| 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.CustomerContactDTO; | ||||
| import org.hostsharing.hsadminng.service.dto.CustomerContactCriteria; | ||||
| import org.hostsharing.hsadminng.service.CustomerContactQueryService; | ||||
| 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; | ||||
|  | ||||
| /** | ||||
|  * REST controller for managing CustomerContact. | ||||
|  */ | ||||
| @RestController | ||||
| @RequestMapping("/api") | ||||
| public class CustomerContactResource { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(CustomerContactResource.class); | ||||
|  | ||||
|     private static final String ENTITY_NAME = "customerContact"; | ||||
|  | ||||
|     private final CustomerContactService customerContactService; | ||||
|  | ||||
|     private final CustomerContactQueryService customerContactQueryService; | ||||
|  | ||||
|     public CustomerContactResource(CustomerContactService customerContactService, CustomerContactQueryService customerContactQueryService) { | ||||
|         this.customerContactService = customerContactService; | ||||
|         this.customerContactQueryService = customerContactQueryService; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * POST  /customer-contacts : Create a new customerContact. | ||||
|      * | ||||
|      * @param customerContactDTO the customerContactDTO to create | ||||
|      * @return the ResponseEntity with status 201 (Created) and with body the new customerContactDTO, or with status 400 (Bad Request) if the customerContact has already an ID | ||||
|      * @throws URISyntaxException if the Location URI syntax is incorrect | ||||
|      */ | ||||
|     @PostMapping("/customer-contacts") | ||||
|     public ResponseEntity<CustomerContactDTO> createCustomerContact(@Valid @RequestBody CustomerContactDTO customerContactDTO) throws URISyntaxException { | ||||
|         log.debug("REST request to save CustomerContact : {}", customerContactDTO); | ||||
|         if (customerContactDTO.getId() != null) { | ||||
|             throw new BadRequestAlertException("A new customerContact cannot already have an ID", ENTITY_NAME, "idexists"); | ||||
|         } | ||||
|         CustomerContactDTO result = customerContactService.save(customerContactDTO); | ||||
|         return ResponseEntity.created(new URI("/api/customer-contacts/" + result.getId())) | ||||
|             .headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getId().toString())) | ||||
|             .body(result); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * PUT  /customer-contacts : Updates an existing customerContact. | ||||
|      * | ||||
|      * @param customerContactDTO the customerContactDTO to update | ||||
|      * @return the ResponseEntity with status 200 (OK) and with body the updated customerContactDTO, | ||||
|      * or with status 400 (Bad Request) if the customerContactDTO is not valid, | ||||
|      * or with status 500 (Internal Server Error) if the customerContactDTO couldn't be updated | ||||
|      * @throws URISyntaxException if the Location URI syntax is incorrect | ||||
|      */ | ||||
|     @PutMapping("/customer-contacts") | ||||
|     public ResponseEntity<CustomerContactDTO> updateCustomerContact(@Valid @RequestBody CustomerContactDTO customerContactDTO) throws URISyntaxException { | ||||
|         log.debug("REST request to update CustomerContact : {}", customerContactDTO); | ||||
|         if (customerContactDTO.getId() == null) { | ||||
|             throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); | ||||
|         } | ||||
|         CustomerContactDTO result = customerContactService.save(customerContactDTO); | ||||
|         return ResponseEntity.ok() | ||||
|             .headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, customerContactDTO.getId().toString())) | ||||
|             .body(result); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * GET  /customer-contacts : get all the customerContacts. | ||||
|      * | ||||
|      * @param pageable the pagination information | ||||
|      * @param criteria the criterias which the requested entities should match | ||||
|      * @return the ResponseEntity with status 200 (OK) and the list of customerContacts in body | ||||
|      */ | ||||
|     @GetMapping("/customer-contacts") | ||||
|     public ResponseEntity<List<CustomerContactDTO>> getAllCustomerContacts(CustomerContactCriteria criteria, Pageable pageable) { | ||||
|         log.debug("REST request to get CustomerContacts by criteria: {}", criteria); | ||||
|         Page<CustomerContactDTO> page = customerContactQueryService.findByCriteria(criteria, pageable); | ||||
|         HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/customer-contacts"); | ||||
|         return ResponseEntity.ok().headers(headers).body(page.getContent()); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|     * GET  /customer-contacts/count : count all the customerContacts. | ||||
|     * | ||||
|     * @param criteria the criterias which the requested entities should match | ||||
|     * @return the ResponseEntity with status 200 (OK) and the count in body | ||||
|     */ | ||||
|     @GetMapping("/customer-contacts/count") | ||||
|     public ResponseEntity<Long> countCustomerContacts(CustomerContactCriteria criteria) { | ||||
|         log.debug("REST request to count CustomerContacts by criteria: {}", criteria); | ||||
|         return ResponseEntity.ok().body(customerContactQueryService.countByCriteria(criteria)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * GET  /customer-contacts/:id : get the "id" customerContact. | ||||
|      * | ||||
|      * @param id the id of the customerContactDTO to retrieve | ||||
|      * @return the ResponseEntity with status 200 (OK) and with body the customerContactDTO, or with status 404 (Not Found) | ||||
|      */ | ||||
|     @GetMapping("/customer-contacts/{id}") | ||||
|     public ResponseEntity<CustomerContactDTO> getCustomerContact(@PathVariable Long id) { | ||||
|         log.debug("REST request to get CustomerContact : {}", id); | ||||
|         Optional<CustomerContactDTO> customerContactDTO = customerContactService.findOne(id); | ||||
|         return ResponseUtil.wrapOrNotFound(customerContactDTO); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * DELETE  /customer-contacts/:id : delete the "id" customerContact. | ||||
|      * | ||||
|      * @param id the id of the customerContactDTO to delete | ||||
|      * @return the ResponseEntity with status 200 (OK) | ||||
|      */ | ||||
|     @DeleteMapping("/customer-contacts/{id}") | ||||
|     public ResponseEntity<Void> deleteCustomerContact(@PathVariable Long id) { | ||||
|         log.debug("REST request to delete CustomerContact : {}", id); | ||||
|         customerContactService.delete(id); | ||||
|         return ResponseEntity.ok().headers(HeaderUtil.createEntityDeletionAlert(ENTITY_NAME, id.toString())).build(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,138 @@ | ||||
| package org.hostsharing.hsadminng.web.rest; | ||||
| import org.hostsharing.hsadminng.service.CustomerService; | ||||
| 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.CustomerDTO; | ||||
| import org.hostsharing.hsadminng.service.dto.CustomerCriteria; | ||||
| import org.hostsharing.hsadminng.service.CustomerQueryService; | ||||
| 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; | ||||
|  | ||||
| /** | ||||
|  * REST controller for managing Customer. | ||||
|  */ | ||||
| @RestController | ||||
| @RequestMapping("/api") | ||||
| public class CustomerResource { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(CustomerResource.class); | ||||
|  | ||||
|     private static final String ENTITY_NAME = "customer"; | ||||
|  | ||||
|     private final CustomerService customerService; | ||||
|  | ||||
|     private final CustomerQueryService customerQueryService; | ||||
|  | ||||
|     public CustomerResource(CustomerService customerService, CustomerQueryService customerQueryService) { | ||||
|         this.customerService = customerService; | ||||
|         this.customerQueryService = customerQueryService; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * POST  /customers : Create a new customer. | ||||
|      * | ||||
|      * @param customerDTO the customerDTO to create | ||||
|      * @return the ResponseEntity with status 201 (Created) and with body the new customerDTO, or with status 400 (Bad Request) if the customer has already an ID | ||||
|      * @throws URISyntaxException if the Location URI syntax is incorrect | ||||
|      */ | ||||
|     @PostMapping("/customers") | ||||
|     public ResponseEntity<CustomerDTO> createCustomer(@Valid @RequestBody CustomerDTO customerDTO) throws URISyntaxException { | ||||
|         log.debug("REST request to save Customer : {}", customerDTO); | ||||
|         if (customerDTO.getId() != null) { | ||||
|             throw new BadRequestAlertException("A new customer cannot already have an ID", ENTITY_NAME, "idexists"); | ||||
|         } | ||||
|         CustomerDTO result = customerService.save(customerDTO); | ||||
|         return ResponseEntity.created(new URI("/api/customers/" + result.getId())) | ||||
|             .headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getId().toString())) | ||||
|             .body(result); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * PUT  /customers : Updates an existing customer. | ||||
|      * | ||||
|      * @param customerDTO the customerDTO to update | ||||
|      * @return the ResponseEntity with status 200 (OK) and with body the updated customerDTO, | ||||
|      * or with status 400 (Bad Request) if the customerDTO is not valid, | ||||
|      * or with status 500 (Internal Server Error) if the customerDTO couldn't be updated | ||||
|      * @throws URISyntaxException if the Location URI syntax is incorrect | ||||
|      */ | ||||
|     @PutMapping("/customers") | ||||
|     public ResponseEntity<CustomerDTO> updateCustomer(@Valid @RequestBody CustomerDTO customerDTO) throws URISyntaxException { | ||||
|         log.debug("REST request to update Customer : {}", customerDTO); | ||||
|         if (customerDTO.getId() == null) { | ||||
|             throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); | ||||
|         } | ||||
|         CustomerDTO result = customerService.save(customerDTO); | ||||
|         return ResponseEntity.ok() | ||||
|             .headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, customerDTO.getId().toString())) | ||||
|             .body(result); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * GET  /customers : get all the customers. | ||||
|      * | ||||
|      * @param pageable the pagination information | ||||
|      * @param criteria the criterias which the requested entities should match | ||||
|      * @return the ResponseEntity with status 200 (OK) and the list of customers in body | ||||
|      */ | ||||
|     @GetMapping("/customers") | ||||
|     public ResponseEntity<List<CustomerDTO>> getAllCustomers(CustomerCriteria criteria, Pageable pageable) { | ||||
|         log.debug("REST request to get Customers by criteria: {}", criteria); | ||||
|         Page<CustomerDTO> page = customerQueryService.findByCriteria(criteria, pageable); | ||||
|         HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/customers"); | ||||
|         return ResponseEntity.ok().headers(headers).body(page.getContent()); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|     * GET  /customers/count : count all the customers. | ||||
|     * | ||||
|     * @param criteria the criterias which the requested entities should match | ||||
|     * @return the ResponseEntity with status 200 (OK) and the count in body | ||||
|     */ | ||||
|     @GetMapping("/customers/count") | ||||
|     public ResponseEntity<Long> countCustomers(CustomerCriteria criteria) { | ||||
|         log.debug("REST request to count Customers by criteria: {}", criteria); | ||||
|         return ResponseEntity.ok().body(customerQueryService.countByCriteria(criteria)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * GET  /customers/:id : get the "id" customer. | ||||
|      * | ||||
|      * @param id the id of the customerDTO to retrieve | ||||
|      * @return the ResponseEntity with status 200 (OK) and with body the customerDTO, or with status 404 (Not Found) | ||||
|      */ | ||||
|     @GetMapping("/customers/{id}") | ||||
|     public ResponseEntity<CustomerDTO> getCustomer(@PathVariable Long id) { | ||||
|         log.debug("REST request to get Customer : {}", id); | ||||
|         Optional<CustomerDTO> customerDTO = customerService.findOne(id); | ||||
|         return ResponseUtil.wrapOrNotFound(customerDTO); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * DELETE  /customers/:id : delete the "id" customer. | ||||
|      * | ||||
|      * @param id the id of the customerDTO to delete | ||||
|      * @return the ResponseEntity with status 200 (OK) | ||||
|      */ | ||||
|     @DeleteMapping("/customers/{id}") | ||||
|     public ResponseEntity<Void> deleteCustomer(@PathVariable Long id) { | ||||
|         log.debug("REST request to delete Customer : {}", id); | ||||
|         customerService.delete(id); | ||||
|         return ResponseEntity.ok().headers(HeaderUtil.createEntityDeletionAlert(ENTITY_NAME, id.toString())).build(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,138 @@ | ||||
| package org.hostsharing.hsadminng.web.rest; | ||||
| import org.hostsharing.hsadminng.service.MembershipService; | ||||
| 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.MembershipDTO; | ||||
| import org.hostsharing.hsadminng.service.dto.MembershipCriteria; | ||||
| import org.hostsharing.hsadminng.service.MembershipQueryService; | ||||
| 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; | ||||
|  | ||||
| /** | ||||
|  * REST controller for managing Membership. | ||||
|  */ | ||||
| @RestController | ||||
| @RequestMapping("/api") | ||||
| public class MembershipResource { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(MembershipResource.class); | ||||
|  | ||||
|     private static final String ENTITY_NAME = "membership"; | ||||
|  | ||||
|     private final MembershipService membershipService; | ||||
|  | ||||
|     private final MembershipQueryService membershipQueryService; | ||||
|  | ||||
|     public MembershipResource(MembershipService membershipService, MembershipQueryService membershipQueryService) { | ||||
|         this.membershipService = membershipService; | ||||
|         this.membershipQueryService = membershipQueryService; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * POST  /memberships : Create a new membership. | ||||
|      * | ||||
|      * @param membershipDTO the membershipDTO to create | ||||
|      * @return the ResponseEntity with status 201 (Created) and with body the new membershipDTO, or with status 400 (Bad Request) if the membership has already an ID | ||||
|      * @throws URISyntaxException if the Location URI syntax is incorrect | ||||
|      */ | ||||
|     @PostMapping("/memberships") | ||||
|     public ResponseEntity<MembershipDTO> createMembership(@Valid @RequestBody MembershipDTO membershipDTO) throws URISyntaxException { | ||||
|         log.debug("REST request to save Membership : {}", membershipDTO); | ||||
|         if (membershipDTO.getId() != null) { | ||||
|             throw new BadRequestAlertException("A new membership cannot already have an ID", ENTITY_NAME, "idexists"); | ||||
|         } | ||||
|         MembershipDTO result = membershipService.save(membershipDTO); | ||||
|         return ResponseEntity.created(new URI("/api/memberships/" + result.getId())) | ||||
|             .headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getId().toString())) | ||||
|             .body(result); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * PUT  /memberships : Updates an existing membership. | ||||
|      * | ||||
|      * @param membershipDTO the membershipDTO to update | ||||
|      * @return the ResponseEntity with status 200 (OK) and with body the updated membershipDTO, | ||||
|      * or with status 400 (Bad Request) if the membershipDTO is not valid, | ||||
|      * or with status 500 (Internal Server Error) if the membershipDTO couldn't be updated | ||||
|      * @throws URISyntaxException if the Location URI syntax is incorrect | ||||
|      */ | ||||
|     @PutMapping("/memberships") | ||||
|     public ResponseEntity<MembershipDTO> updateMembership(@Valid @RequestBody MembershipDTO membershipDTO) throws URISyntaxException { | ||||
|         log.debug("REST request to update Membership : {}", membershipDTO); | ||||
|         if (membershipDTO.getId() == null) { | ||||
|             throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); | ||||
|         } | ||||
|         MembershipDTO result = membershipService.save(membershipDTO); | ||||
|         return ResponseEntity.ok() | ||||
|             .headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, membershipDTO.getId().toString())) | ||||
|             .body(result); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * GET  /memberships : get all the memberships. | ||||
|      * | ||||
|      * @param pageable the pagination information | ||||
|      * @param criteria the criterias which the requested entities should match | ||||
|      * @return the ResponseEntity with status 200 (OK) and the list of memberships in body | ||||
|      */ | ||||
|     @GetMapping("/memberships") | ||||
|     public ResponseEntity<List<MembershipDTO>> getAllMemberships(MembershipCriteria criteria, Pageable pageable) { | ||||
|         log.debug("REST request to get Memberships by criteria: {}", criteria); | ||||
|         Page<MembershipDTO> page = membershipQueryService.findByCriteria(criteria, pageable); | ||||
|         HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/memberships"); | ||||
|         return ResponseEntity.ok().headers(headers).body(page.getContent()); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|     * GET  /memberships/count : count all the memberships. | ||||
|     * | ||||
|     * @param criteria the criterias which the requested entities should match | ||||
|     * @return the ResponseEntity with status 200 (OK) and the count in body | ||||
|     */ | ||||
|     @GetMapping("/memberships/count") | ||||
|     public ResponseEntity<Long> countMemberships(MembershipCriteria criteria) { | ||||
|         log.debug("REST request to count Memberships by criteria: {}", criteria); | ||||
|         return ResponseEntity.ok().body(membershipQueryService.countByCriteria(criteria)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * GET  /memberships/:id : get the "id" membership. | ||||
|      * | ||||
|      * @param id the id of the membershipDTO to retrieve | ||||
|      * @return the ResponseEntity with status 200 (OK) and with body the membershipDTO, or with status 404 (Not Found) | ||||
|      */ | ||||
|     @GetMapping("/memberships/{id}") | ||||
|     public ResponseEntity<MembershipDTO> getMembership(@PathVariable Long id) { | ||||
|         log.debug("REST request to get Membership : {}", id); | ||||
|         Optional<MembershipDTO> membershipDTO = membershipService.findOne(id); | ||||
|         return ResponseUtil.wrapOrNotFound(membershipDTO); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * DELETE  /memberships/:id : delete the "id" membership. | ||||
|      * | ||||
|      * @param id the id of the membershipDTO to delete | ||||
|      * @return the ResponseEntity with status 200 (OK) | ||||
|      */ | ||||
|     @DeleteMapping("/memberships/{id}") | ||||
|     public ResponseEntity<Void> deleteMembership(@PathVariable Long id) { | ||||
|         log.debug("REST request to delete Membership : {}", id); | ||||
|         membershipService.delete(id); | ||||
|         return ResponseEntity.ok().headers(HeaderUtil.createEntityDeletionAlert(ENTITY_NAME, id.toString())).build(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,138 @@ | ||||
| package org.hostsharing.hsadminng.web.rest; | ||||
| import org.hostsharing.hsadminng.service.ShareService; | ||||
| 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.ShareDTO; | ||||
| import org.hostsharing.hsadminng.service.dto.ShareCriteria; | ||||
| import org.hostsharing.hsadminng.service.ShareQueryService; | ||||
| 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; | ||||
|  | ||||
| /** | ||||
|  * REST controller for managing Share. | ||||
|  */ | ||||
| @RestController | ||||
| @RequestMapping("/api") | ||||
| public class ShareResource { | ||||
|  | ||||
|     private final Logger log = LoggerFactory.getLogger(ShareResource.class); | ||||
|  | ||||
|     private static final String ENTITY_NAME = "share"; | ||||
|  | ||||
|     private final ShareService shareService; | ||||
|  | ||||
|     private final ShareQueryService shareQueryService; | ||||
|  | ||||
|     public ShareResource(ShareService shareService, ShareQueryService shareQueryService) { | ||||
|         this.shareService = shareService; | ||||
|         this.shareQueryService = shareQueryService; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * POST  /shares : Create a new share. | ||||
|      * | ||||
|      * @param shareDTO the shareDTO to create | ||||
|      * @return the ResponseEntity with status 201 (Created) and with body the new shareDTO, or with status 400 (Bad Request) if the share has already an ID | ||||
|      * @throws URISyntaxException if the Location URI syntax is incorrect | ||||
|      */ | ||||
|     @PostMapping("/shares") | ||||
|     public ResponseEntity<ShareDTO> createShare(@Valid @RequestBody ShareDTO shareDTO) throws URISyntaxException { | ||||
|         log.debug("REST request to save Share : {}", shareDTO); | ||||
|         if (shareDTO.getId() != null) { | ||||
|             throw new BadRequestAlertException("A new share cannot already have an ID", ENTITY_NAME, "idexists"); | ||||
|         } | ||||
|         ShareDTO result = shareService.save(shareDTO); | ||||
|         return ResponseEntity.created(new URI("/api/shares/" + result.getId())) | ||||
|             .headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getId().toString())) | ||||
|             .body(result); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * PUT  /shares : Updates an existing share. | ||||
|      * | ||||
|      * @param shareDTO the shareDTO to update | ||||
|      * @return the ResponseEntity with status 200 (OK) and with body the updated shareDTO, | ||||
|      * or with status 400 (Bad Request) if the shareDTO is not valid, | ||||
|      * or with status 500 (Internal Server Error) if the shareDTO couldn't be updated | ||||
|      * @throws URISyntaxException if the Location URI syntax is incorrect | ||||
|      */ | ||||
|     @PutMapping("/shares") | ||||
|     public ResponseEntity<ShareDTO> updateShare(@Valid @RequestBody ShareDTO shareDTO) throws URISyntaxException { | ||||
|         log.debug("REST request to update Share : {}", shareDTO); | ||||
|         if (shareDTO.getId() == null) { | ||||
|             throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); | ||||
|         } | ||||
|         ShareDTO result = shareService.save(shareDTO); | ||||
|         return ResponseEntity.ok() | ||||
|             .headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, shareDTO.getId().toString())) | ||||
|             .body(result); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * GET  /shares : get all the shares. | ||||
|      * | ||||
|      * @param pageable the pagination information | ||||
|      * @param criteria the criterias which the requested entities should match | ||||
|      * @return the ResponseEntity with status 200 (OK) and the list of shares in body | ||||
|      */ | ||||
|     @GetMapping("/shares") | ||||
|     public ResponseEntity<List<ShareDTO>> getAllShares(ShareCriteria criteria, Pageable pageable) { | ||||
|         log.debug("REST request to get Shares by criteria: {}", criteria); | ||||
|         Page<ShareDTO> page = shareQueryService.findByCriteria(criteria, pageable); | ||||
|         HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/shares"); | ||||
|         return ResponseEntity.ok().headers(headers).body(page.getContent()); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|     * GET  /shares/count : count all the shares. | ||||
|     * | ||||
|     * @param criteria the criterias which the requested entities should match | ||||
|     * @return the ResponseEntity with status 200 (OK) and the count in body | ||||
|     */ | ||||
|     @GetMapping("/shares/count") | ||||
|     public ResponseEntity<Long> countShares(ShareCriteria criteria) { | ||||
|         log.debug("REST request to count Shares by criteria: {}", criteria); | ||||
|         return ResponseEntity.ok().body(shareQueryService.countByCriteria(criteria)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * GET  /shares/:id : get the "id" share. | ||||
|      * | ||||
|      * @param id the id of the shareDTO to retrieve | ||||
|      * @return the ResponseEntity with status 200 (OK) and with body the shareDTO, or with status 404 (Not Found) | ||||
|      */ | ||||
|     @GetMapping("/shares/{id}") | ||||
|     public ResponseEntity<ShareDTO> getShare(@PathVariable Long id) { | ||||
|         log.debug("REST request to get Share : {}", id); | ||||
|         Optional<ShareDTO> shareDTO = shareService.findOne(id); | ||||
|         return ResponseUtil.wrapOrNotFound(shareDTO); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * DELETE  /shares/:id : delete the "id" share. | ||||
|      * | ||||
|      * @param id the id of the shareDTO to delete | ||||
|      * @return the ResponseEntity with status 200 (OK) | ||||
|      */ | ||||
|     @DeleteMapping("/shares/{id}") | ||||
|     public ResponseEntity<Void> deleteShare(@PathVariable Long id) { | ||||
|         log.debug("REST request to delete Share : {}", id); | ||||
|         shareService.delete(id); | ||||
|         return ResponseEntity.ok().headers(HeaderUtil.createEntityDeletionAlert(ENTITY_NAME, id.toString())).build(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,37 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <databaseChangeLog | ||||
|     xmlns="http://www.liquibase.org/xml/ns/dbchangelog" | ||||
|     xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" | ||||
|     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 | ||||
|                         http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.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="20190403083735-1" author="jhipster"> | ||||
|         <createTable tableName="customer"> | ||||
|             <column name="id" type="bigint" autoIncrement="${autoIncrement}"> | ||||
|                 <constraints primaryKey="true" nullable="false"/> | ||||
|             </column> | ||||
|             <column name="jhi_number" type="integer"> | ||||
|                 <constraints nullable="false" unique="true" uniqueConstraintName="ux_customer_jhi_number" /> | ||||
|             </column> | ||||
|  | ||||
|             <column name="prefix" type="varchar(255)"> | ||||
|                 <constraints nullable="false" unique="true" uniqueConstraintName="ux_customer_prefix" /> | ||||
|             </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> | ||||
| @@ -0,0 +1,41 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <databaseChangeLog | ||||
|     xmlns="http://www.liquibase.org/xml/ns/dbchangelog" | ||||
|     xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" | ||||
|     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 | ||||
|                         http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.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 Contact. | ||||
|     --> | ||||
|     <changeSet id="20190403083736-1" author="jhipster"> | ||||
|         <createTable tableName="contact"> | ||||
|             <column name="id" type="bigint" autoIncrement="${autoIncrement}"> | ||||
|                 <constraints primaryKey="true" nullable="false"/> | ||||
|             </column> | ||||
|             <column name="first_name" type="varchar(80)"> | ||||
|                 <constraints nullable="false" /> | ||||
|             </column> | ||||
|  | ||||
|             <column name="last_name" type="varchar(80)"> | ||||
|                 <constraints nullable="false" /> | ||||
|             </column> | ||||
|  | ||||
|             <column name="email" type="varchar(80)"> | ||||
|                 <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> | ||||
| @@ -0,0 +1,41 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <databaseChangeLog | ||||
|     xmlns="http://www.liquibase.org/xml/ns/dbchangelog" | ||||
|     xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" | ||||
|     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 | ||||
|                         http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.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 CustomerContact. | ||||
|     --> | ||||
|     <changeSet id="20190403083737-1" author="jhipster"> | ||||
|         <createTable tableName="customer_contact"> | ||||
|             <column name="id" type="bigint" autoIncrement="${autoIncrement}"> | ||||
|                 <constraints primaryKey="true" nullable="false"/> | ||||
|             </column> | ||||
|             <column name="jhi_role" type="varchar(255)"> | ||||
|                 <constraints nullable="false" /> | ||||
|             </column> | ||||
|  | ||||
|             <column name="contact_id" type="bigint"> | ||||
|                 <constraints nullable="false" /> | ||||
|             </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> | ||||
| @@ -0,0 +1,24 @@ | ||||
| <?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 CustomerContact. | ||||
|     --> | ||||
|     <changeSet id="20190403083737-2" author="jhipster"> | ||||
|          | ||||
|         <addForeignKeyConstraint baseColumnNames="contact_id" | ||||
|                                  baseTableName="customer_contact" | ||||
|                                  constraintName="fk_customer_contact_contact_id" | ||||
|                                  referencedColumnNames="id" | ||||
|                                  referencedTableName="contact"/> | ||||
|  | ||||
|         <addForeignKeyConstraint baseColumnNames="customer_id" | ||||
|                                  baseTableName="customer_contact" | ||||
|                                  constraintName="fk_customer_contact_customer_id" | ||||
|                                  referencedColumnNames="id" | ||||
|                                  referencedTableName="customer"/> | ||||
|  | ||||
|     </changeSet> | ||||
| </databaseChangeLog> | ||||
| @@ -0,0 +1,41 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <databaseChangeLog | ||||
|     xmlns="http://www.liquibase.org/xml/ns/dbchangelog" | ||||
|     xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" | ||||
|     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 | ||||
|                         http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.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="20190403083738-1" author="jhipster"> | ||||
|         <createTable tableName="membership"> | ||||
|             <column name="id" type="bigint" autoIncrement="${autoIncrement}"> | ||||
|                 <constraints primaryKey="true" nullable="false"/> | ||||
|             </column> | ||||
|             <column name="since_date" type="date"> | ||||
|                 <constraints nullable="false" /> | ||||
|             </column> | ||||
|  | ||||
|             <column name="until_date" type="date"> | ||||
|                 <constraints nullable="true" /> | ||||
|             </column> | ||||
|  | ||||
|             <column name="customer_id" type="bigint"> | ||||
|                 <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> | ||||
| @@ -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="20190403083738-2" author="jhipster"> | ||||
|          | ||||
|         <addForeignKeyConstraint baseColumnNames="customer_id" | ||||
|                                  baseTableName="membership" | ||||
|                                  constraintName="fk_membership_customer_id" | ||||
|                                  referencedColumnNames="id" | ||||
|                                  referencedTableName="customer"/> | ||||
|  | ||||
|     </changeSet> | ||||
| </databaseChangeLog> | ||||
| @@ -0,0 +1,49 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <databaseChangeLog | ||||
|     xmlns="http://www.liquibase.org/xml/ns/dbchangelog" | ||||
|     xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" | ||||
|     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 | ||||
|                         http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.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="20190403083739-1" author="jhipster"> | ||||
|         <createTable tableName="share"> | ||||
|             <column name="id" type="bigint" autoIncrement="${autoIncrement}"> | ||||
|                 <constraints primaryKey="true" nullable="false"/> | ||||
|             </column> | ||||
|             <column name="jhi_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="jhi_comment" type="varchar(160)"> | ||||
|                 <constraints nullable="true" /> | ||||
|             </column> | ||||
|  | ||||
|             <column name="member_id" type="bigint"> | ||||
|                 <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> | ||||
| @@ -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="20190403083739-2" author="jhipster"> | ||||
|          | ||||
|         <addForeignKeyConstraint baseColumnNames="member_id" | ||||
|                                  baseTableName="share" | ||||
|                                  constraintName="fk_share_member_id" | ||||
|                                  referencedColumnNames="id" | ||||
|                                  referencedTableName="membership"/> | ||||
|  | ||||
|     </changeSet> | ||||
| </databaseChangeLog> | ||||
| @@ -0,0 +1,49 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <databaseChangeLog | ||||
|     xmlns="http://www.liquibase.org/xml/ns/dbchangelog" | ||||
|     xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" | ||||
|     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 | ||||
|                         http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.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="20190403083740-1" author="jhipster"> | ||||
|         <createTable tableName="asset"> | ||||
|             <column name="id" type="bigint" autoIncrement="${autoIncrement}"> | ||||
|                 <constraints primaryKey="true" nullable="false"/> | ||||
|             </column> | ||||
|             <column name="jhi_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="jhi_comment" type="varchar(160)"> | ||||
|                 <constraints nullable="true" /> | ||||
|             </column> | ||||
|  | ||||
|             <column name="member_id" type="bigint"> | ||||
|                 <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> | ||||
| @@ -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="20190403083740-2" author="jhipster"> | ||||
|          | ||||
|         <addForeignKeyConstraint baseColumnNames="member_id" | ||||
|                                  baseTableName="asset" | ||||
|                                  constraintName="fk_asset_member_id" | ||||
|                                  referencedColumnNames="id" | ||||
|                                  referencedTableName="membership"/> | ||||
|  | ||||
|     </changeSet> | ||||
| </databaseChangeLog> | ||||
| @@ -5,6 +5,16 @@ | ||||
|     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/20190403083735_added_entity_Customer.xml" relativeToChangelogFile="false"/> | ||||
|     <include file="config/liquibase/changelog/20190403083736_added_entity_Contact.xml" relativeToChangelogFile="false"/> | ||||
|     <include file="config/liquibase/changelog/20190403083737_added_entity_CustomerContact.xml" relativeToChangelogFile="false"/> | ||||
|     <include file="config/liquibase/changelog/20190403083738_added_entity_Membership.xml" relativeToChangelogFile="false"/> | ||||
|     <include file="config/liquibase/changelog/20190403083739_added_entity_Share.xml" relativeToChangelogFile="false"/> | ||||
|     <include file="config/liquibase/changelog/20190403083740_added_entity_Asset.xml" relativeToChangelogFile="false"/> | ||||
|     <!-- jhipster-needle-liquibase-add-changelog - JHipster will add liquibase changelogs here --> | ||||
|     <include file="config/liquibase/changelog/20190403083737_added_entity_constraints_CustomerContact.xml" relativeToChangelogFile="false"/> | ||||
|     <include file="config/liquibase/changelog/20190403083738_added_entity_constraints_Membership.xml" relativeToChangelogFile="false"/> | ||||
|     <include file="config/liquibase/changelog/20190403083739_added_entity_constraints_Share.xml" relativeToChangelogFile="false"/> | ||||
|     <include file="config/liquibase/changelog/20190403083740_added_entity_constraints_Asset.xml" relativeToChangelogFile="false"/> | ||||
|     <!-- jhipster-needle-liquibase-add-constraints-changelog - JHipster will add liquibase constraints changelogs here --> | ||||
| </databaseChangeLog> | ||||
|   | ||||
| @@ -0,0 +1,19 @@ | ||||
| <form name="deleteForm" (ngSubmit)="confirmDelete(asset.id)"> | ||||
|     <div class="modal-header"> | ||||
|         <h4 class="modal-title" jhiTranslate="entity.delete.title">Confirm delete operation</h4> | ||||
|         <button type="button" class="close" data-dismiss="modal" aria-hidden="true" | ||||
|                 (click)="clear()">×</button> | ||||
|     </div> | ||||
|     <div class="modal-body"> | ||||
|         <jhi-alert-error></jhi-alert-error> | ||||
|         <p id="jhi-delete-asset-heading" jhiTranslate="hsadminNgApp.asset.delete.question" [translateValues]="{id: asset.id}">Are you sure you want to delete this Asset?</p> | ||||
|     </div> | ||||
|     <div class="modal-footer"> | ||||
|         <button type="button" class="btn btn-secondary" data-dismiss="modal" (click)="clear()"> | ||||
|             <fa-icon [icon]="'ban'"></fa-icon> <span jhiTranslate="entity.action.cancel">Cancel</span> | ||||
|         </button> | ||||
|         <button id="jhi-confirm-delete-asset" type="submit" class="btn btn-danger"> | ||||
|             <fa-icon [icon]="'times'"></fa-icon> <span jhiTranslate="entity.action.delete">Delete</span> | ||||
|         </button> | ||||
|     </div> | ||||
| </form> | ||||
| @@ -0,0 +1,65 @@ | ||||
| import { Component, OnInit, OnDestroy } from '@angular/core'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
|  | ||||
| import { NgbActiveModal, NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; | ||||
| import { JhiEventManager } from 'ng-jhipster'; | ||||
|  | ||||
| import { IAsset } from 'app/shared/model/asset.model'; | ||||
| import { AssetService } from './asset.service'; | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-asset-delete-dialog', | ||||
|     templateUrl: './asset-delete-dialog.component.html' | ||||
| }) | ||||
| export class AssetDeleteDialogComponent { | ||||
|     asset: IAsset; | ||||
|  | ||||
|     constructor(protected assetService: AssetService, public activeModal: NgbActiveModal, protected eventManager: JhiEventManager) {} | ||||
|  | ||||
|     clear() { | ||||
|         this.activeModal.dismiss('cancel'); | ||||
|     } | ||||
|  | ||||
|     confirmDelete(id: number) { | ||||
|         this.assetService.delete(id).subscribe(response => { | ||||
|             this.eventManager.broadcast({ | ||||
|                 name: 'assetListModification', | ||||
|                 content: 'Deleted an asset' | ||||
|             }); | ||||
|             this.activeModal.dismiss(true); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-asset-delete-popup', | ||||
|     template: '' | ||||
| }) | ||||
| export class AssetDeletePopupComponent implements OnInit, OnDestroy { | ||||
|     protected ngbModalRef: NgbModalRef; | ||||
|  | ||||
|     constructor(protected activatedRoute: ActivatedRoute, protected router: Router, protected modalService: NgbModal) {} | ||||
|  | ||||
|     ngOnInit() { | ||||
|         this.activatedRoute.data.subscribe(({ asset }) => { | ||||
|             setTimeout(() => { | ||||
|                 this.ngbModalRef = this.modalService.open(AssetDeleteDialogComponent as Component, { size: 'lg', backdrop: 'static' }); | ||||
|                 this.ngbModalRef.componentInstance.asset = asset; | ||||
|                 this.ngbModalRef.result.then( | ||||
|                     result => { | ||||
|                         this.router.navigate(['/asset', { outlets: { popup: null } }]); | ||||
|                         this.ngbModalRef = null; | ||||
|                     }, | ||||
|                     reason => { | ||||
|                         this.router.navigate(['/asset', { outlets: { popup: null } }]); | ||||
|                         this.ngbModalRef = null; | ||||
|                     } | ||||
|                 ); | ||||
|             }, 0); | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     ngOnDestroy() { | ||||
|         this.ngbModalRef = null; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,45 @@ | ||||
| <div class="row justify-content-center"> | ||||
|     <div class="col-8"> | ||||
|         <div *ngIf="asset"> | ||||
|             <h2><span jhiTranslate="hsadminNgApp.asset.detail.title">Asset</span> {{asset.id}}</h2> | ||||
|             <hr> | ||||
|             <jhi-alert-error></jhi-alert-error> | ||||
|             <dl class="row-md jh-entity-details"> | ||||
|                 <dt><span jhiTranslate="hsadminNgApp.asset.date">Date</span></dt> | ||||
|                 <dd> | ||||
|                     <span>{{asset.date}}</span> | ||||
|                 </dd> | ||||
|                 <dt><span jhiTranslate="hsadminNgApp.asset.action">Action</span></dt> | ||||
|                 <dd> | ||||
|                     <span jhiTranslate="{{'hsadminNgApp.AssetAction.' + asset.action}}">{{asset.action}}</span> | ||||
|                 </dd> | ||||
|                 <dt><span jhiTranslate="hsadminNgApp.asset.amount">Amount</span></dt> | ||||
|                 <dd> | ||||
|                     <span>{{asset.amount}}</span> | ||||
|                 </dd> | ||||
|                 <dt><span jhiTranslate="hsadminNgApp.asset.comment">Comment</span></dt> | ||||
|                 <dd> | ||||
|                     <span>{{asset.comment}}</span> | ||||
|                 </dd> | ||||
|                 <dt><span jhiTranslate="hsadminNgApp.asset.member">Member</span></dt> | ||||
|                 <dd> | ||||
|                     <div *ngIf="asset.memberId"> | ||||
|                         <a [routerLink]="['/membership', asset.memberId, 'view']">{{asset.memberId}}</a> | ||||
|                     </div> | ||||
|                 </dd> | ||||
|             </dl> | ||||
|  | ||||
|             <button type="submit" | ||||
|                     (click)="previousState()" | ||||
|                     class="btn btn-info"> | ||||
|                 <fa-icon [icon]="'arrow-left'"></fa-icon> <span jhiTranslate="entity.action.back"> Back</span> | ||||
|             </button> | ||||
|  | ||||
|             <button type="button" | ||||
|                     [routerLink]="['/asset', asset.id, 'edit']" | ||||
|                     class="btn btn-primary"> | ||||
|                 <fa-icon [icon]="'pencil-alt'"></fa-icon> <span jhiTranslate="entity.action.edit"> Edit</span> | ||||
|             </button> | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
							
								
								
									
										24
									
								
								src/main/webapp/app/entities/asset/asset-detail.component.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								src/main/webapp/app/entities/asset/asset-detail.component.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ActivatedRoute } from '@angular/router'; | ||||
|  | ||||
| import { IAsset } from 'app/shared/model/asset.model'; | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-asset-detail', | ||||
|     templateUrl: './asset-detail.component.html' | ||||
| }) | ||||
| export class AssetDetailComponent implements OnInit { | ||||
|     asset: IAsset; | ||||
|  | ||||
|     constructor(protected activatedRoute: ActivatedRoute) {} | ||||
|  | ||||
|     ngOnInit() { | ||||
|         this.activatedRoute.data.subscribe(({ asset }) => { | ||||
|             this.asset = asset; | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     previousState() { | ||||
|         window.history.back(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,90 @@ | ||||
| <div class="row justify-content-center"> | ||||
|     <div class="col-8"> | ||||
|         <form name="editForm" role="form" novalidate (ngSubmit)="save()" #editForm="ngForm"> | ||||
|             <h2 id="jhi-asset-heading" jhiTranslate="hsadminNgApp.asset.home.createOrEditLabel">Create or edit a Asset</h2> | ||||
|             <div> | ||||
|                 <jhi-alert-error></jhi-alert-error> | ||||
|                 <div class="form-group" [hidden]="!asset.id"> | ||||
|                     <label for="id" jhiTranslate="global.field.id">ID</label> | ||||
|                     <input type="text" class="form-control" id="id" name="id" | ||||
|                         [(ngModel)]="asset.id" readonly /> | ||||
|                 </div> | ||||
|                 <div class="form-group"> | ||||
|                     <label class="form-control-label" jhiTranslate="hsadminNgApp.asset.date" for="field_date">Date</label> | ||||
|                     <div class="input-group"> | ||||
|                         <input id="field_date" type="text" class="form-control" name="date" ngbDatepicker  #dateDp="ngbDatepicker" [(ngModel)]="asset.date" | ||||
|                         required/> | ||||
|                         <span class="input-group-append"> | ||||
|                             <button type="button" class="btn btn-secondary" (click)="dateDp.toggle()"><fa-icon [icon]="'calendar-alt'"></fa-icon></button> | ||||
|                         </span> | ||||
|                     </div> | ||||
|                     <div [hidden]="!(editForm.controls.date?.dirty && editForm.controls.date?.invalid)"> | ||||
|                         <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.date?.errors?.required" jhiTranslate="entity.validation.required"> | ||||
|                         This field is required. | ||||
|                         </small> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <div class="form-group"> | ||||
|                     <label class="form-control-label" jhiTranslate="hsadminNgApp.asset.action" for="field_action">Action</label> | ||||
|                     <select class="form-control" name="action" [(ngModel)]="asset.action" id="field_action"  required> | ||||
|                         <option value="PAYMENT">{{'hsadminNgApp.AssetAction.PAYMENT' | translate}}</option> | ||||
|                         <option value="HANDOVER">{{'hsadminNgApp.AssetAction.HANDOVER' | translate}}</option> | ||||
|                         <option value="ADOPTION">{{'hsadminNgApp.AssetAction.ADOPTION' | translate}}</option> | ||||
|                         <option value="LOSS">{{'hsadminNgApp.AssetAction.LOSS' | translate}}</option> | ||||
|                         <option value="CLEARING">{{'hsadminNgApp.AssetAction.CLEARING' | translate}}</option> | ||||
|                         <option value="PAYBACK">{{'hsadminNgApp.AssetAction.PAYBACK' | translate}}</option> | ||||
|                     </select> | ||||
|                     <div [hidden]="!(editForm.controls.action?.dirty && editForm.controls.action?.invalid)"> | ||||
|                         <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.action?.errors?.required" jhiTranslate="entity.validation.required"> | ||||
|                         This field is required. | ||||
|                         </small> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <div class="form-group"> | ||||
|                     <label class="form-control-label" jhiTranslate="hsadminNgApp.asset.amount" for="field_amount">Amount</label> | ||||
|                     <input type="number" class="form-control" name="amount" id="field_amount" | ||||
|                         [(ngModel)]="asset.amount" required/> | ||||
|                     <div [hidden]="!(editForm.controls.amount?.dirty && editForm.controls.amount?.invalid)"> | ||||
|                         <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.amount?.errors?.required" jhiTranslate="entity.validation.required"> | ||||
|                         This field is required. | ||||
|                         </small> | ||||
|                         <small class="form-text text-danger" | ||||
|                             [hidden]="!editForm.controls.amount?.errors?.number" jhiTranslate="entity.validation.number"> | ||||
|                             This field should be a number. | ||||
|                         </small> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <div class="form-group"> | ||||
|                     <label class="form-control-label" jhiTranslate="hsadminNgApp.asset.comment" for="field_comment">Comment</label> | ||||
|                     <input type="text" class="form-control" name="comment" id="field_comment" | ||||
|                         [(ngModel)]="asset.comment" maxlength="160"/> | ||||
|                     <div [hidden]="!(editForm.controls.comment?.dirty && editForm.controls.comment?.invalid)"> | ||||
|                         <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.comment?.errors?.maxlength" jhiTranslate="entity.validation.maxlength" [translateValues]="{ max: 160 }"> | ||||
|                         This field cannot be longer than 160 characters. | ||||
|                         </small> | ||||
|                     </div> | ||||
|                 </div> | ||||
|  | ||||
|                 <div class="form-group"> | ||||
|                     <label class="form-control-label" jhiTranslate="hsadminNgApp.asset.member" for="field_member">Member</label> | ||||
|                     <select class="form-control" id="field_member" name="member" [(ngModel)]="asset.memberId" > | ||||
|                         <option [ngValue]="null"></option> | ||||
|                         <option [ngValue]="membershipOption.id" *ngFor="let membershipOption of memberships; trackBy: trackMembershipById">{{membershipOption.id}}</option> | ||||
|                     </select> | ||||
|                 </div> | ||||
|             </div> | ||||
|             <div> | ||||
|                 <button type="button" id="cancel-save" class="btn btn-secondary"  (click)="previousState()"> | ||||
|                     <fa-icon [icon]="'ban'"></fa-icon> <span jhiTranslate="entity.action.cancel">Cancel</span> | ||||
|                 </button> | ||||
|                 <button type="submit" id="save-entity" [disabled]="editForm.form.invalid || isSaving" class="btn btn-primary"> | ||||
|                     <fa-icon [icon]="'save'"></fa-icon> <span jhiTranslate="entity.action.save">Save</span> | ||||
|                 </button> | ||||
|             </div> | ||||
|         </form> | ||||
|     </div> | ||||
| </div> | ||||
							
								
								
									
										78
									
								
								src/main/webapp/app/entities/asset/asset-update.component.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								src/main/webapp/app/entities/asset/asset-update.component.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,78 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ActivatedRoute } from '@angular/router'; | ||||
| import { HttpResponse, HttpErrorResponse } 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 { IAsset } from 'app/shared/model/asset.model'; | ||||
| import { AssetService } from './asset.service'; | ||||
| import { IMembership } from 'app/shared/model/membership.model'; | ||||
| import { MembershipService } from 'app/entities/membership'; | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-asset-update', | ||||
|     templateUrl: './asset-update.component.html' | ||||
| }) | ||||
| export class AssetUpdateComponent implements OnInit { | ||||
|     asset: IAsset; | ||||
|     isSaving: boolean; | ||||
|  | ||||
|     memberships: IMembership[]; | ||||
|     dateDp: any; | ||||
|  | ||||
|     constructor( | ||||
|         protected jhiAlertService: JhiAlertService, | ||||
|         protected assetService: AssetService, | ||||
|         protected membershipService: MembershipService, | ||||
|         protected activatedRoute: ActivatedRoute | ||||
|     ) {} | ||||
|  | ||||
|     ngOnInit() { | ||||
|         this.isSaving = false; | ||||
|         this.activatedRoute.data.subscribe(({ asset }) => { | ||||
|             this.asset = asset; | ||||
|         }); | ||||
|         this.membershipService | ||||
|             .query() | ||||
|             .pipe( | ||||
|                 filter((mayBeOk: HttpResponse<IMembership[]>) => mayBeOk.ok), | ||||
|                 map((response: HttpResponse<IMembership[]>) => response.body) | ||||
|             ) | ||||
|             .subscribe((res: IMembership[]) => (this.memberships = res), (res: HttpErrorResponse) => this.onError(res.message)); | ||||
|     } | ||||
|  | ||||
|     previousState() { | ||||
|         window.history.back(); | ||||
|     } | ||||
|  | ||||
|     save() { | ||||
|         this.isSaving = true; | ||||
|         if (this.asset.id !== undefined) { | ||||
|             this.subscribeToSaveResponse(this.assetService.update(this.asset)); | ||||
|         } else { | ||||
|             this.subscribeToSaveResponse(this.assetService.create(this.asset)); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     protected subscribeToSaveResponse(result: Observable<HttpResponse<IAsset>>) { | ||||
|         result.subscribe((res: HttpResponse<IAsset>) => this.onSaveSuccess(), (res: HttpErrorResponse) => this.onSaveError()); | ||||
|     } | ||||
|  | ||||
|     protected onSaveSuccess() { | ||||
|         this.isSaving = false; | ||||
|         this.previousState(); | ||||
|     } | ||||
|  | ||||
|     protected onSaveError() { | ||||
|         this.isSaving = false; | ||||
|     } | ||||
|  | ||||
|     protected onError(errorMessage: string) { | ||||
|         this.jhiAlertService.error(errorMessage, null, null); | ||||
|     } | ||||
|  | ||||
|     trackMembershipById(index: number, item: IMembership) { | ||||
|         return item.id; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										66
									
								
								src/main/webapp/app/entities/asset/asset.component.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								src/main/webapp/app/entities/asset/asset.component.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| <div> | ||||
|     <h2 id="page-heading"> | ||||
|         <span jhiTranslate="hsadminNgApp.asset.home.title">Assets</span> | ||||
|         <button id="jh-create-entity" class="btn btn-primary float-right jh-create-entity create-asset" [routerLink]="['/asset/new']"> | ||||
|             <fa-icon [icon]="'plus'"></fa-icon> | ||||
|             <span  jhiTranslate="hsadminNgApp.asset.home.createLabel"> | ||||
|             Create new Asset | ||||
|             </span> | ||||
|         </button> | ||||
|     </h2> | ||||
|     <jhi-alert></jhi-alert> | ||||
|     <br/> | ||||
|     <div class="table-responsive" *ngIf="assets"> | ||||
|         <table class="table table-striped"> | ||||
|             <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="date"><span jhiTranslate="hsadminNgApp.asset.date">Date</span> <fa-icon [icon]="'sort'"></fa-icon></th> | ||||
|             <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="comment"><span jhiTranslate="hsadminNgApp.asset.comment">Comment</span> <fa-icon [icon]="'sort'"></fa-icon></th> | ||||
|             <th jhiSortBy="memberId"><span jhiTranslate="hsadminNgApp.asset.member">Member</span> <fa-icon [icon]="'sort'"></fa-icon></th> | ||||
|             <th></th> | ||||
|             </tr> | ||||
|             </thead> | ||||
|             <tbody infinite-scroll (scrolled)="loadPage(page + 1)" [infiniteScrollDisabled]="page >= links['last']" [infiniteScrollDistance]="0"> | ||||
|             <tr *ngFor="let asset of assets ;trackBy: trackId"> | ||||
|                 <td><a [routerLink]="['/asset', asset.id, 'view' ]">{{asset.id}}</a></td> | ||||
|                 <td>{{asset.date | date:'mediumDate'}}</td> | ||||
|                 <td jhiTranslate="{{'hsadminNgApp.AssetAction.' + asset.action}}">{{asset.action}}</td> | ||||
|                 <td>{{asset.amount}}</td> | ||||
|                 <td>{{asset.comment}}</td> | ||||
|                 <td> | ||||
|                     <div *ngIf="asset.memberId"> | ||||
|                         <a [routerLink]="['../membership', asset.memberId , 'view' ]" >{{asset.memberId}}</a> | ||||
|                     </div> | ||||
|                 </td> | ||||
|                 <td class="text-right"> | ||||
|                     <div class="btn-group flex-btn-group-container"> | ||||
|                         <button type="submit" | ||||
|                                 [routerLink]="['/asset', asset.id, 'view' ]" | ||||
|                                 class="btn btn-info btn-sm"> | ||||
|                             <fa-icon [icon]="'eye'"></fa-icon> | ||||
|                             <span class="d-none d-md-inline" jhiTranslate="entity.action.view">View</span> | ||||
|                         </button> | ||||
|                         <button type="submit" | ||||
|                                 [routerLink]="['/asset', asset.id, 'edit']" | ||||
|                                 class="btn btn-primary btn-sm"> | ||||
|                             <fa-icon [icon]="'pencil-alt'"></fa-icon> | ||||
|                             <span class="d-none d-md-inline" jhiTranslate="entity.action.edit">Edit</span> | ||||
|                         </button> | ||||
|                         <button type="submit" | ||||
|                                 [routerLink]="['/', 'asset', { outlets: { popup: asset.id + '/delete'} }]" | ||||
|                                 replaceUrl="true" | ||||
|                                 queryParamsHandling="merge" | ||||
|                                 class="btn btn-danger btn-sm"> | ||||
|                             <fa-icon [icon]="'times'"></fa-icon> | ||||
|                             <span class="d-none d-md-inline" jhiTranslate="entity.action.delete">Delete</span> | ||||
|                         </button> | ||||
|                     </div> | ||||
|                 </td> | ||||
|             </tr> | ||||
|             </tbody> | ||||
|         </table> | ||||
|     </div> | ||||
| </div> | ||||
							
								
								
									
										108
									
								
								src/main/webapp/app/entities/asset/asset.component.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								src/main/webapp/app/entities/asset/asset.component.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,108 @@ | ||||
| import { Component, OnInit, OnDestroy } from '@angular/core'; | ||||
| import { HttpErrorResponse, HttpHeaders, HttpResponse } from '@angular/common/http'; | ||||
| import { Subscription } from 'rxjs'; | ||||
| import { filter, map } from 'rxjs/operators'; | ||||
| import { JhiEventManager, JhiParseLinks, JhiAlertService } from 'ng-jhipster'; | ||||
|  | ||||
| import { IAsset } from 'app/shared/model/asset.model'; | ||||
| import { AccountService } from 'app/core'; | ||||
|  | ||||
| import { ITEMS_PER_PAGE } from 'app/shared'; | ||||
| import { AssetService } from './asset.service'; | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-asset', | ||||
|     templateUrl: './asset.component.html' | ||||
| }) | ||||
| export class AssetComponent implements OnInit, OnDestroy { | ||||
|     assets: IAsset[]; | ||||
|     currentAccount: any; | ||||
|     eventSubscriber: Subscription; | ||||
|     itemsPerPage: number; | ||||
|     links: any; | ||||
|     page: any; | ||||
|     predicate: any; | ||||
|     reverse: any; | ||||
|     totalItems: number; | ||||
|  | ||||
|     constructor( | ||||
|         protected assetService: AssetService, | ||||
|         protected jhiAlertService: JhiAlertService, | ||||
|         protected eventManager: JhiEventManager, | ||||
|         protected parseLinks: JhiParseLinks, | ||||
|         protected accountService: AccountService | ||||
|     ) { | ||||
|         this.assets = []; | ||||
|         this.itemsPerPage = ITEMS_PER_PAGE; | ||||
|         this.page = 0; | ||||
|         this.links = { | ||||
|             last: 0 | ||||
|         }; | ||||
|         this.predicate = 'id'; | ||||
|         this.reverse = true; | ||||
|     } | ||||
|  | ||||
|     loadAll() { | ||||
|         this.assetService | ||||
|             .query({ | ||||
|                 page: this.page, | ||||
|                 size: this.itemsPerPage, | ||||
|                 sort: this.sort() | ||||
|             }) | ||||
|             .subscribe( | ||||
|                 (res: HttpResponse<IAsset[]>) => this.paginateAssets(res.body, res.headers), | ||||
|                 (res: HttpErrorResponse) => this.onError(res.message) | ||||
|             ); | ||||
|     } | ||||
|  | ||||
|     reset() { | ||||
|         this.page = 0; | ||||
|         this.assets = []; | ||||
|         this.loadAll(); | ||||
|     } | ||||
|  | ||||
|     loadPage(page) { | ||||
|         this.page = page; | ||||
|         this.loadAll(); | ||||
|     } | ||||
|  | ||||
|     ngOnInit() { | ||||
|         this.loadAll(); | ||||
|         this.accountService.identity().then(account => { | ||||
|             this.currentAccount = account; | ||||
|         }); | ||||
|         this.registerChangeInAssets(); | ||||
|     } | ||||
|  | ||||
|     ngOnDestroy() { | ||||
|         this.eventManager.destroy(this.eventSubscriber); | ||||
|     } | ||||
|  | ||||
|     trackId(index: number, item: IAsset) { | ||||
|         return item.id; | ||||
|     } | ||||
|  | ||||
|     registerChangeInAssets() { | ||||
|         this.eventSubscriber = this.eventManager.subscribe('assetListModification', response => this.reset()); | ||||
|     } | ||||
|  | ||||
|     sort() { | ||||
|         const result = [this.predicate + ',' + (this.reverse ? 'asc' : 'desc')]; | ||||
|         if (this.predicate !== 'id') { | ||||
|             result.push('id'); | ||||
|         } | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|     protected paginateAssets(data: IAsset[], headers: HttpHeaders) { | ||||
|         this.links = this.parseLinks.parse(headers.get('link')); | ||||
|         this.totalItems = parseInt(headers.get('X-Total-Count'), 10); | ||||
|         for (let i = 0; i < data.length; i++) { | ||||
|             this.assets.push(data[i]); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     protected onError(errorMessage: string) { | ||||
|         this.jhiAlertService.error(errorMessage, null, null); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										34
									
								
								src/main/webapp/app/entities/asset/asset.module.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								src/main/webapp/app/entities/asset/asset.module.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; | ||||
| import { RouterModule } from '@angular/router'; | ||||
| import { JhiLanguageService } from 'ng-jhipster'; | ||||
| import { JhiLanguageHelper } from 'app/core'; | ||||
|  | ||||
| import { HsadminNgSharedModule } from 'app/shared'; | ||||
| import { | ||||
|     AssetComponent, | ||||
|     AssetDetailComponent, | ||||
|     AssetUpdateComponent, | ||||
|     AssetDeletePopupComponent, | ||||
|     AssetDeleteDialogComponent, | ||||
|     assetRoute, | ||||
|     assetPopupRoute | ||||
| } from './'; | ||||
|  | ||||
| const ENTITY_STATES = [...assetRoute, ...assetPopupRoute]; | ||||
|  | ||||
| @NgModule({ | ||||
|     imports: [HsadminNgSharedModule, RouterModule.forChild(ENTITY_STATES)], | ||||
|     declarations: [AssetComponent, AssetDetailComponent, AssetUpdateComponent, AssetDeleteDialogComponent, AssetDeletePopupComponent], | ||||
|     entryComponents: [AssetComponent, AssetUpdateComponent, AssetDeleteDialogComponent, AssetDeletePopupComponent], | ||||
|     providers: [{ provide: JhiLanguageService, useClass: JhiLanguageService }], | ||||
|     schemas: [CUSTOM_ELEMENTS_SCHEMA] | ||||
| }) | ||||
| export class HsadminNgAssetModule { | ||||
|     constructor(private languageService: JhiLanguageService, private languageHelper: JhiLanguageHelper) { | ||||
|         this.languageHelper.language.subscribe((languageKey: string) => { | ||||
|             if (languageKey !== undefined) { | ||||
|                 this.languageService.changeLanguage(languageKey); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										93
									
								
								src/main/webapp/app/entities/asset/asset.route.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								src/main/webapp/app/entities/asset/asset.route.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,93 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { HttpResponse } from '@angular/common/http'; | ||||
| import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot, Routes } from '@angular/router'; | ||||
| import { UserRouteAccessService } from 'app/core'; | ||||
| import { Observable, of } from 'rxjs'; | ||||
| import { filter, map } from 'rxjs/operators'; | ||||
| import { Asset } from 'app/shared/model/asset.model'; | ||||
| import { AssetService } from './asset.service'; | ||||
| import { AssetComponent } from './asset.component'; | ||||
| import { AssetDetailComponent } from './asset-detail.component'; | ||||
| import { AssetUpdateComponent } from './asset-update.component'; | ||||
| import { AssetDeletePopupComponent } from './asset-delete-dialog.component'; | ||||
| import { IAsset } from 'app/shared/model/asset.model'; | ||||
|  | ||||
| @Injectable({ providedIn: 'root' }) | ||||
| export class AssetResolve implements Resolve<IAsset> { | ||||
|     constructor(private service: AssetService) {} | ||||
|  | ||||
|     resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<IAsset> { | ||||
|         const id = route.params['id'] ? route.params['id'] : null; | ||||
|         if (id) { | ||||
|             return this.service.find(id).pipe( | ||||
|                 filter((response: HttpResponse<Asset>) => response.ok), | ||||
|                 map((asset: HttpResponse<Asset>) => asset.body) | ||||
|             ); | ||||
|         } | ||||
|         return of(new Asset()); | ||||
|     } | ||||
| } | ||||
|  | ||||
| export const assetRoute: Routes = [ | ||||
|     { | ||||
|         path: '', | ||||
|         component: AssetComponent, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.asset.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService] | ||||
|     }, | ||||
|     { | ||||
|         path: ':id/view', | ||||
|         component: AssetDetailComponent, | ||||
|         resolve: { | ||||
|             asset: AssetResolve | ||||
|         }, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.asset.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService] | ||||
|     }, | ||||
|     { | ||||
|         path: 'new', | ||||
|         component: AssetUpdateComponent, | ||||
|         resolve: { | ||||
|             asset: AssetResolve | ||||
|         }, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.asset.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService] | ||||
|     }, | ||||
|     { | ||||
|         path: ':id/edit', | ||||
|         component: AssetUpdateComponent, | ||||
|         resolve: { | ||||
|             asset: AssetResolve | ||||
|         }, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.asset.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService] | ||||
|     } | ||||
| ]; | ||||
|  | ||||
| export const assetPopupRoute: Routes = [ | ||||
|     { | ||||
|         path: ':id/delete', | ||||
|         component: AssetDeletePopupComponent, | ||||
|         resolve: { | ||||
|             asset: AssetResolve | ||||
|         }, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.asset.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService], | ||||
|         outlet: 'popup' | ||||
|     } | ||||
| ]; | ||||
							
								
								
									
										74
									
								
								src/main/webapp/app/entities/asset/asset.service.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								src/main/webapp/app/entities/asset/asset.service.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| 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'; | ||||
| import { IAsset } from 'app/shared/model/asset.model'; | ||||
|  | ||||
| type EntityResponseType = HttpResponse<IAsset>; | ||||
| type EntityArrayResponseType = HttpResponse<IAsset[]>; | ||||
|  | ||||
| @Injectable({ providedIn: 'root' }) | ||||
| export class AssetService { | ||||
|     public resourceUrl = SERVER_API_URL + 'api/assets'; | ||||
|  | ||||
|     constructor(protected http: HttpClient) {} | ||||
|  | ||||
|     create(asset: IAsset): Observable<EntityResponseType> { | ||||
|         const copy = this.convertDateFromClient(asset); | ||||
|         return this.http | ||||
|             .post<IAsset>(this.resourceUrl, copy, { observe: 'response' }) | ||||
|             .pipe(map((res: EntityResponseType) => this.convertDateFromServer(res))); | ||||
|     } | ||||
|  | ||||
|     update(asset: IAsset): Observable<EntityResponseType> { | ||||
|         const copy = this.convertDateFromClient(asset); | ||||
|         return this.http | ||||
|             .put<IAsset>(this.resourceUrl, copy, { observe: 'response' }) | ||||
|             .pipe(map((res: EntityResponseType) => this.convertDateFromServer(res))); | ||||
|     } | ||||
|  | ||||
|     find(id: number): Observable<EntityResponseType> { | ||||
|         return this.http | ||||
|             .get<IAsset>(`${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<IAsset[]>(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(asset: IAsset): IAsset { | ||||
|         const copy: IAsset = Object.assign({}, asset, { | ||||
|             date: asset.date != null && asset.date.isValid() ? asset.date.format(DATE_FORMAT) : null | ||||
|         }); | ||||
|         return copy; | ||||
|     } | ||||
|  | ||||
|     protected convertDateFromServer(res: EntityResponseType): EntityResponseType { | ||||
|         if (res.body) { | ||||
|             res.body.date = res.body.date != null ? moment(res.body.date) : null; | ||||
|         } | ||||
|         return res; | ||||
|     } | ||||
|  | ||||
|     protected convertDateArrayFromServer(res: EntityArrayResponseType): EntityArrayResponseType { | ||||
|         if (res.body) { | ||||
|             res.body.forEach((asset: IAsset) => { | ||||
|                 asset.date = asset.date != null ? moment(asset.date) : null; | ||||
|             }); | ||||
|         } | ||||
|         return res; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										6
									
								
								src/main/webapp/app/entities/asset/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								src/main/webapp/app/entities/asset/index.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| export * from './asset.service'; | ||||
| export * from './asset-update.component'; | ||||
| export * from './asset-delete-dialog.component'; | ||||
| export * from './asset-detail.component'; | ||||
| export * from './asset.component'; | ||||
| export * from './asset.route'; | ||||
| @@ -0,0 +1,19 @@ | ||||
| <form name="deleteForm" (ngSubmit)="confirmDelete(contact.id)"> | ||||
|     <div class="modal-header"> | ||||
|         <h4 class="modal-title" jhiTranslate="entity.delete.title">Confirm delete operation</h4> | ||||
|         <button type="button" class="close" data-dismiss="modal" aria-hidden="true" | ||||
|                 (click)="clear()">×</button> | ||||
|     </div> | ||||
|     <div class="modal-body"> | ||||
|         <jhi-alert-error></jhi-alert-error> | ||||
|         <p id="jhi-delete-contact-heading" jhiTranslate="hsadminNgApp.contact.delete.question" [translateValues]="{id: contact.id}">Are you sure you want to delete this Contact?</p> | ||||
|     </div> | ||||
|     <div class="modal-footer"> | ||||
|         <button type="button" class="btn btn-secondary" data-dismiss="modal" (click)="clear()"> | ||||
|             <fa-icon [icon]="'ban'"></fa-icon> <span jhiTranslate="entity.action.cancel">Cancel</span> | ||||
|         </button> | ||||
|         <button id="jhi-confirm-delete-contact" type="submit" class="btn btn-danger"> | ||||
|             <fa-icon [icon]="'times'"></fa-icon> <span jhiTranslate="entity.action.delete">Delete</span> | ||||
|         </button> | ||||
|     </div> | ||||
| </form> | ||||
| @@ -0,0 +1,65 @@ | ||||
| import { Component, OnInit, OnDestroy } from '@angular/core'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
|  | ||||
| import { NgbActiveModal, NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; | ||||
| import { JhiEventManager } from 'ng-jhipster'; | ||||
|  | ||||
| import { IContact } from 'app/shared/model/contact.model'; | ||||
| import { ContactService } from './contact.service'; | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-contact-delete-dialog', | ||||
|     templateUrl: './contact-delete-dialog.component.html' | ||||
| }) | ||||
| export class ContactDeleteDialogComponent { | ||||
|     contact: IContact; | ||||
|  | ||||
|     constructor(protected contactService: ContactService, public activeModal: NgbActiveModal, protected eventManager: JhiEventManager) {} | ||||
|  | ||||
|     clear() { | ||||
|         this.activeModal.dismiss('cancel'); | ||||
|     } | ||||
|  | ||||
|     confirmDelete(id: number) { | ||||
|         this.contactService.delete(id).subscribe(response => { | ||||
|             this.eventManager.broadcast({ | ||||
|                 name: 'contactListModification', | ||||
|                 content: 'Deleted an contact' | ||||
|             }); | ||||
|             this.activeModal.dismiss(true); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-contact-delete-popup', | ||||
|     template: '' | ||||
| }) | ||||
| export class ContactDeletePopupComponent implements OnInit, OnDestroy { | ||||
|     protected ngbModalRef: NgbModalRef; | ||||
|  | ||||
|     constructor(protected activatedRoute: ActivatedRoute, protected router: Router, protected modalService: NgbModal) {} | ||||
|  | ||||
|     ngOnInit() { | ||||
|         this.activatedRoute.data.subscribe(({ contact }) => { | ||||
|             setTimeout(() => { | ||||
|                 this.ngbModalRef = this.modalService.open(ContactDeleteDialogComponent as Component, { size: 'lg', backdrop: 'static' }); | ||||
|                 this.ngbModalRef.componentInstance.contact = contact; | ||||
|                 this.ngbModalRef.result.then( | ||||
|                     result => { | ||||
|                         this.router.navigate(['/contact', { outlets: { popup: null } }]); | ||||
|                         this.ngbModalRef = null; | ||||
|                     }, | ||||
|                     reason => { | ||||
|                         this.router.navigate(['/contact', { outlets: { popup: null } }]); | ||||
|                         this.ngbModalRef = null; | ||||
|                     } | ||||
|                 ); | ||||
|             }, 0); | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     ngOnDestroy() { | ||||
|         this.ngbModalRef = null; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,35 @@ | ||||
| <div class="row justify-content-center"> | ||||
|     <div class="col-8"> | ||||
|         <div *ngIf="contact"> | ||||
|             <h2><span jhiTranslate="hsadminNgApp.contact.detail.title">Contact</span> {{contact.id}}</h2> | ||||
|             <hr> | ||||
|             <jhi-alert-error></jhi-alert-error> | ||||
|             <dl class="row-md jh-entity-details"> | ||||
|                 <dt><span jhiTranslate="hsadminNgApp.contact.firstName">First Name</span></dt> | ||||
|                 <dd> | ||||
|                     <span>{{contact.firstName}}</span> | ||||
|                 </dd> | ||||
|                 <dt><span jhiTranslate="hsadminNgApp.contact.lastName">Last Name</span></dt> | ||||
|                 <dd> | ||||
|                     <span>{{contact.lastName}}</span> | ||||
|                 </dd> | ||||
|                 <dt><span jhiTranslate="hsadminNgApp.contact.email">Email</span></dt> | ||||
|                 <dd> | ||||
|                     <span>{{contact.email}}</span> | ||||
|                 </dd> | ||||
|             </dl> | ||||
|  | ||||
|             <button type="submit" | ||||
|                     (click)="previousState()" | ||||
|                     class="btn btn-info"> | ||||
|                 <fa-icon [icon]="'arrow-left'"></fa-icon> <span jhiTranslate="entity.action.back"> Back</span> | ||||
|             </button> | ||||
|  | ||||
|             <button type="button" | ||||
|                     [routerLink]="['/contact', contact.id, 'edit']" | ||||
|                     class="btn btn-primary"> | ||||
|                 <fa-icon [icon]="'pencil-alt'"></fa-icon> <span jhiTranslate="entity.action.edit"> Edit</span> | ||||
|             </button> | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
| @@ -0,0 +1,24 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ActivatedRoute } from '@angular/router'; | ||||
|  | ||||
| import { IContact } from 'app/shared/model/contact.model'; | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-contact-detail', | ||||
|     templateUrl: './contact-detail.component.html' | ||||
| }) | ||||
| export class ContactDetailComponent implements OnInit { | ||||
|     contact: IContact; | ||||
|  | ||||
|     constructor(protected activatedRoute: ActivatedRoute) {} | ||||
|  | ||||
|     ngOnInit() { | ||||
|         this.activatedRoute.data.subscribe(({ contact }) => { | ||||
|             this.contact = contact; | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     previousState() { | ||||
|         window.history.back(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,69 @@ | ||||
| <div class="row justify-content-center"> | ||||
|     <div class="col-8"> | ||||
|         <form name="editForm" role="form" novalidate (ngSubmit)="save()" #editForm="ngForm"> | ||||
|             <h2 id="jhi-contact-heading" jhiTranslate="hsadminNgApp.contact.home.createOrEditLabel">Create or edit a Contact</h2> | ||||
|             <div> | ||||
|                 <jhi-alert-error></jhi-alert-error> | ||||
|                 <div class="form-group" [hidden]="!contact.id"> | ||||
|                     <label for="id" jhiTranslate="global.field.id">ID</label> | ||||
|                     <input type="text" class="form-control" id="id" name="id" | ||||
|                         [(ngModel)]="contact.id" readonly /> | ||||
|                 </div> | ||||
|                 <div class="form-group"> | ||||
|                     <label class="form-control-label" jhiTranslate="hsadminNgApp.contact.firstName" for="field_firstName">First Name</label> | ||||
|                     <input type="text" class="form-control" name="firstName" id="field_firstName" | ||||
|                         [(ngModel)]="contact.firstName" required maxlength="80"/> | ||||
|                     <div [hidden]="!(editForm.controls.firstName?.dirty && editForm.controls.firstName?.invalid)"> | ||||
|                         <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.firstName?.errors?.required" jhiTranslate="entity.validation.required"> | ||||
|                         This field is required. | ||||
|                         </small> | ||||
|                         <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.firstName?.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.contact.lastName" for="field_lastName">Last Name</label> | ||||
|                     <input type="text" class="form-control" name="lastName" id="field_lastName" | ||||
|                         [(ngModel)]="contact.lastName" required maxlength="80"/> | ||||
|                     <div [hidden]="!(editForm.controls.lastName?.dirty && editForm.controls.lastName?.invalid)"> | ||||
|                         <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.lastName?.errors?.required" jhiTranslate="entity.validation.required"> | ||||
|                         This field is required. | ||||
|                         </small> | ||||
|                         <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.lastName?.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.contact.email" for="field_email">Email</label> | ||||
|                     <input type="text" class="form-control" name="email" id="field_email" | ||||
|                         [(ngModel)]="contact.email" required maxlength="80"/> | ||||
|                     <div [hidden]="!(editForm.controls.email?.dirty && editForm.controls.email?.invalid)"> | ||||
|                         <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.email?.errors?.required" jhiTranslate="entity.validation.required"> | ||||
|                         This field is required. | ||||
|                         </small> | ||||
|                         <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.email?.errors?.maxlength" jhiTranslate="entity.validation.maxlength" [translateValues]="{ max: 80 }"> | ||||
|                         This field cannot be longer than 80 characters. | ||||
|                         </small> | ||||
|                     </div> | ||||
|                 </div> | ||||
|  | ||||
|             </div> | ||||
|             <div> | ||||
|                 <button type="button" id="cancel-save" class="btn btn-secondary"  (click)="previousState()"> | ||||
|                     <fa-icon [icon]="'ban'"></fa-icon> <span jhiTranslate="entity.action.cancel">Cancel</span> | ||||
|                 </button> | ||||
|                 <button type="submit" id="save-entity" [disabled]="editForm.form.invalid || isSaving" class="btn btn-primary"> | ||||
|                     <fa-icon [icon]="'save'"></fa-icon> <span jhiTranslate="entity.action.save">Save</span> | ||||
|                 </button> | ||||
|             </div> | ||||
|         </form> | ||||
|     </div> | ||||
| </div> | ||||
| @@ -0,0 +1,51 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ActivatedRoute } from '@angular/router'; | ||||
| import { HttpResponse, HttpErrorResponse } from '@angular/common/http'; | ||||
| import { Observable } from 'rxjs'; | ||||
| import { filter, map } from 'rxjs/operators'; | ||||
| import { IContact } from 'app/shared/model/contact.model'; | ||||
| import { ContactService } from './contact.service'; | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-contact-update', | ||||
|     templateUrl: './contact-update.component.html' | ||||
| }) | ||||
| export class ContactUpdateComponent implements OnInit { | ||||
|     contact: IContact; | ||||
|     isSaving: boolean; | ||||
|  | ||||
|     constructor(protected contactService: ContactService, protected activatedRoute: ActivatedRoute) {} | ||||
|  | ||||
|     ngOnInit() { | ||||
|         this.isSaving = false; | ||||
|         this.activatedRoute.data.subscribe(({ contact }) => { | ||||
|             this.contact = contact; | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     previousState() { | ||||
|         window.history.back(); | ||||
|     } | ||||
|  | ||||
|     save() { | ||||
|         this.isSaving = true; | ||||
|         if (this.contact.id !== undefined) { | ||||
|             this.subscribeToSaveResponse(this.contactService.update(this.contact)); | ||||
|         } else { | ||||
|             this.subscribeToSaveResponse(this.contactService.create(this.contact)); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     protected subscribeToSaveResponse(result: Observable<HttpResponse<IContact>>) { | ||||
|         result.subscribe((res: HttpResponse<IContact>) => this.onSaveSuccess(), (res: HttpErrorResponse) => this.onSaveError()); | ||||
|     } | ||||
|  | ||||
|     protected onSaveSuccess() { | ||||
|         this.isSaving = false; | ||||
|         this.previousState(); | ||||
|     } | ||||
|  | ||||
|     protected onSaveError() { | ||||
|         this.isSaving = false; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										58
									
								
								src/main/webapp/app/entities/contact/contact.component.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								src/main/webapp/app/entities/contact/contact.component.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| <div> | ||||
|     <h2 id="page-heading"> | ||||
|         <span jhiTranslate="hsadminNgApp.contact.home.title">Contacts</span> | ||||
|         <button id="jh-create-entity" class="btn btn-primary float-right jh-create-entity create-contact" [routerLink]="['/contact/new']"> | ||||
|             <fa-icon [icon]="'plus'"></fa-icon> | ||||
|             <span  jhiTranslate="hsadminNgApp.contact.home.createLabel"> | ||||
|             Create new Contact | ||||
|             </span> | ||||
|         </button> | ||||
|     </h2> | ||||
|     <jhi-alert></jhi-alert> | ||||
|     <br/> | ||||
|     <div class="table-responsive" *ngIf="contacts"> | ||||
|         <table class="table table-striped"> | ||||
|             <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="firstName"><span jhiTranslate="hsadminNgApp.contact.firstName">First Name</span> <fa-icon [icon]="'sort'"></fa-icon></th> | ||||
|             <th jhiSortBy="lastName"><span jhiTranslate="hsadminNgApp.contact.lastName">Last Name</span> <fa-icon [icon]="'sort'"></fa-icon></th> | ||||
|             <th jhiSortBy="email"><span jhiTranslate="hsadminNgApp.contact.email">Email</span> <fa-icon [icon]="'sort'"></fa-icon></th> | ||||
|             <th></th> | ||||
|             </tr> | ||||
|             </thead> | ||||
|             <tbody infinite-scroll (scrolled)="loadPage(page + 1)" [infiniteScrollDisabled]="page >= links['last']" [infiniteScrollDistance]="0"> | ||||
|             <tr *ngFor="let contact of contacts ;trackBy: trackId"> | ||||
|                 <td><a [routerLink]="['/contact', contact.id, 'view' ]">{{contact.id}}</a></td> | ||||
|                 <td>{{contact.firstName}}</td> | ||||
|                 <td>{{contact.lastName}}</td> | ||||
|                 <td>{{contact.email}}</td> | ||||
|                 <td class="text-right"> | ||||
|                     <div class="btn-group flex-btn-group-container"> | ||||
|                         <button type="submit" | ||||
|                                 [routerLink]="['/contact', contact.id, 'view' ]" | ||||
|                                 class="btn btn-info btn-sm"> | ||||
|                             <fa-icon [icon]="'eye'"></fa-icon> | ||||
|                             <span class="d-none d-md-inline" jhiTranslate="entity.action.view">View</span> | ||||
|                         </button> | ||||
|                         <button type="submit" | ||||
|                                 [routerLink]="['/contact', contact.id, 'edit']" | ||||
|                                 class="btn btn-primary btn-sm"> | ||||
|                             <fa-icon [icon]="'pencil-alt'"></fa-icon> | ||||
|                             <span class="d-none d-md-inline" jhiTranslate="entity.action.edit">Edit</span> | ||||
|                         </button> | ||||
|                         <button type="submit" | ||||
|                                 [routerLink]="['/', 'contact', { outlets: { popup: contact.id + '/delete'} }]" | ||||
|                                 replaceUrl="true" | ||||
|                                 queryParamsHandling="merge" | ||||
|                                 class="btn btn-danger btn-sm"> | ||||
|                             <fa-icon [icon]="'times'"></fa-icon> | ||||
|                             <span class="d-none d-md-inline" jhiTranslate="entity.action.delete">Delete</span> | ||||
|                         </button> | ||||
|                     </div> | ||||
|                 </td> | ||||
|             </tr> | ||||
|             </tbody> | ||||
|         </table> | ||||
|     </div> | ||||
| </div> | ||||
							
								
								
									
										108
									
								
								src/main/webapp/app/entities/contact/contact.component.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								src/main/webapp/app/entities/contact/contact.component.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,108 @@ | ||||
| import { Component, OnInit, OnDestroy } from '@angular/core'; | ||||
| import { HttpErrorResponse, HttpHeaders, HttpResponse } from '@angular/common/http'; | ||||
| import { Subscription } from 'rxjs'; | ||||
| import { filter, map } from 'rxjs/operators'; | ||||
| import { JhiEventManager, JhiParseLinks, JhiAlertService } from 'ng-jhipster'; | ||||
|  | ||||
| import { IContact } from 'app/shared/model/contact.model'; | ||||
| import { AccountService } from 'app/core'; | ||||
|  | ||||
| import { ITEMS_PER_PAGE } from 'app/shared'; | ||||
| import { ContactService } from './contact.service'; | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-contact', | ||||
|     templateUrl: './contact.component.html' | ||||
| }) | ||||
| export class ContactComponent implements OnInit, OnDestroy { | ||||
|     contacts: IContact[]; | ||||
|     currentAccount: any; | ||||
|     eventSubscriber: Subscription; | ||||
|     itemsPerPage: number; | ||||
|     links: any; | ||||
|     page: any; | ||||
|     predicate: any; | ||||
|     reverse: any; | ||||
|     totalItems: number; | ||||
|  | ||||
|     constructor( | ||||
|         protected contactService: ContactService, | ||||
|         protected jhiAlertService: JhiAlertService, | ||||
|         protected eventManager: JhiEventManager, | ||||
|         protected parseLinks: JhiParseLinks, | ||||
|         protected accountService: AccountService | ||||
|     ) { | ||||
|         this.contacts = []; | ||||
|         this.itemsPerPage = ITEMS_PER_PAGE; | ||||
|         this.page = 0; | ||||
|         this.links = { | ||||
|             last: 0 | ||||
|         }; | ||||
|         this.predicate = 'id'; | ||||
|         this.reverse = true; | ||||
|     } | ||||
|  | ||||
|     loadAll() { | ||||
|         this.contactService | ||||
|             .query({ | ||||
|                 page: this.page, | ||||
|                 size: this.itemsPerPage, | ||||
|                 sort: this.sort() | ||||
|             }) | ||||
|             .subscribe( | ||||
|                 (res: HttpResponse<IContact[]>) => this.paginateContacts(res.body, res.headers), | ||||
|                 (res: HttpErrorResponse) => this.onError(res.message) | ||||
|             ); | ||||
|     } | ||||
|  | ||||
|     reset() { | ||||
|         this.page = 0; | ||||
|         this.contacts = []; | ||||
|         this.loadAll(); | ||||
|     } | ||||
|  | ||||
|     loadPage(page) { | ||||
|         this.page = page; | ||||
|         this.loadAll(); | ||||
|     } | ||||
|  | ||||
|     ngOnInit() { | ||||
|         this.loadAll(); | ||||
|         this.accountService.identity().then(account => { | ||||
|             this.currentAccount = account; | ||||
|         }); | ||||
|         this.registerChangeInContacts(); | ||||
|     } | ||||
|  | ||||
|     ngOnDestroy() { | ||||
|         this.eventManager.destroy(this.eventSubscriber); | ||||
|     } | ||||
|  | ||||
|     trackId(index: number, item: IContact) { | ||||
|         return item.id; | ||||
|     } | ||||
|  | ||||
|     registerChangeInContacts() { | ||||
|         this.eventSubscriber = this.eventManager.subscribe('contactListModification', response => this.reset()); | ||||
|     } | ||||
|  | ||||
|     sort() { | ||||
|         const result = [this.predicate + ',' + (this.reverse ? 'asc' : 'desc')]; | ||||
|         if (this.predicate !== 'id') { | ||||
|             result.push('id'); | ||||
|         } | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|     protected paginateContacts(data: IContact[], headers: HttpHeaders) { | ||||
|         this.links = this.parseLinks.parse(headers.get('link')); | ||||
|         this.totalItems = parseInt(headers.get('X-Total-Count'), 10); | ||||
|         for (let i = 0; i < data.length; i++) { | ||||
|             this.contacts.push(data[i]); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     protected onError(errorMessage: string) { | ||||
|         this.jhiAlertService.error(errorMessage, null, null); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										40
									
								
								src/main/webapp/app/entities/contact/contact.module.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								src/main/webapp/app/entities/contact/contact.module.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; | ||||
| import { RouterModule } from '@angular/router'; | ||||
| import { JhiLanguageService } from 'ng-jhipster'; | ||||
| import { JhiLanguageHelper } from 'app/core'; | ||||
|  | ||||
| import { HsadminNgSharedModule } from 'app/shared'; | ||||
| import { | ||||
|     ContactComponent, | ||||
|     ContactDetailComponent, | ||||
|     ContactUpdateComponent, | ||||
|     ContactDeletePopupComponent, | ||||
|     ContactDeleteDialogComponent, | ||||
|     contactRoute, | ||||
|     contactPopupRoute | ||||
| } from './'; | ||||
|  | ||||
| const ENTITY_STATES = [...contactRoute, ...contactPopupRoute]; | ||||
|  | ||||
| @NgModule({ | ||||
|     imports: [HsadminNgSharedModule, RouterModule.forChild(ENTITY_STATES)], | ||||
|     declarations: [ | ||||
|         ContactComponent, | ||||
|         ContactDetailComponent, | ||||
|         ContactUpdateComponent, | ||||
|         ContactDeleteDialogComponent, | ||||
|         ContactDeletePopupComponent | ||||
|     ], | ||||
|     entryComponents: [ContactComponent, ContactUpdateComponent, ContactDeleteDialogComponent, ContactDeletePopupComponent], | ||||
|     providers: [{ provide: JhiLanguageService, useClass: JhiLanguageService }], | ||||
|     schemas: [CUSTOM_ELEMENTS_SCHEMA] | ||||
| }) | ||||
| export class HsadminNgContactModule { | ||||
|     constructor(private languageService: JhiLanguageService, private languageHelper: JhiLanguageHelper) { | ||||
|         this.languageHelper.language.subscribe((languageKey: string) => { | ||||
|             if (languageKey !== undefined) { | ||||
|                 this.languageService.changeLanguage(languageKey); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										93
									
								
								src/main/webapp/app/entities/contact/contact.route.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								src/main/webapp/app/entities/contact/contact.route.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,93 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { HttpResponse } from '@angular/common/http'; | ||||
| import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot, Routes } from '@angular/router'; | ||||
| import { UserRouteAccessService } from 'app/core'; | ||||
| import { Observable, of } from 'rxjs'; | ||||
| import { filter, map } from 'rxjs/operators'; | ||||
| import { Contact } from 'app/shared/model/contact.model'; | ||||
| import { ContactService } from './contact.service'; | ||||
| import { ContactComponent } from './contact.component'; | ||||
| import { ContactDetailComponent } from './contact-detail.component'; | ||||
| import { ContactUpdateComponent } from './contact-update.component'; | ||||
| import { ContactDeletePopupComponent } from './contact-delete-dialog.component'; | ||||
| import { IContact } from 'app/shared/model/contact.model'; | ||||
|  | ||||
| @Injectable({ providedIn: 'root' }) | ||||
| export class ContactResolve implements Resolve<IContact> { | ||||
|     constructor(private service: ContactService) {} | ||||
|  | ||||
|     resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<IContact> { | ||||
|         const id = route.params['id'] ? route.params['id'] : null; | ||||
|         if (id) { | ||||
|             return this.service.find(id).pipe( | ||||
|                 filter((response: HttpResponse<Contact>) => response.ok), | ||||
|                 map((contact: HttpResponse<Contact>) => contact.body) | ||||
|             ); | ||||
|         } | ||||
|         return of(new Contact()); | ||||
|     } | ||||
| } | ||||
|  | ||||
| export const contactRoute: Routes = [ | ||||
|     { | ||||
|         path: '', | ||||
|         component: ContactComponent, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.contact.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService] | ||||
|     }, | ||||
|     { | ||||
|         path: ':id/view', | ||||
|         component: ContactDetailComponent, | ||||
|         resolve: { | ||||
|             contact: ContactResolve | ||||
|         }, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.contact.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService] | ||||
|     }, | ||||
|     { | ||||
|         path: 'new', | ||||
|         component: ContactUpdateComponent, | ||||
|         resolve: { | ||||
|             contact: ContactResolve | ||||
|         }, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.contact.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService] | ||||
|     }, | ||||
|     { | ||||
|         path: ':id/edit', | ||||
|         component: ContactUpdateComponent, | ||||
|         resolve: { | ||||
|             contact: ContactResolve | ||||
|         }, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.contact.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService] | ||||
|     } | ||||
| ]; | ||||
|  | ||||
| export const contactPopupRoute: Routes = [ | ||||
|     { | ||||
|         path: ':id/delete', | ||||
|         component: ContactDeletePopupComponent, | ||||
|         resolve: { | ||||
|             contact: ContactResolve | ||||
|         }, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.contact.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService], | ||||
|         outlet: 'popup' | ||||
|     } | ||||
| ]; | ||||
							
								
								
									
										38
									
								
								src/main/webapp/app/entities/contact/contact.service.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/main/webapp/app/entities/contact/contact.service.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { HttpClient, HttpResponse } from '@angular/common/http'; | ||||
| import { Observable } from 'rxjs'; | ||||
|  | ||||
| import { SERVER_API_URL } from 'app/app.constants'; | ||||
| import { createRequestOption } from 'app/shared'; | ||||
| import { IContact } from 'app/shared/model/contact.model'; | ||||
|  | ||||
| type EntityResponseType = HttpResponse<IContact>; | ||||
| type EntityArrayResponseType = HttpResponse<IContact[]>; | ||||
|  | ||||
| @Injectable({ providedIn: 'root' }) | ||||
| export class ContactService { | ||||
|     public resourceUrl = SERVER_API_URL + 'api/contacts'; | ||||
|  | ||||
|     constructor(protected http: HttpClient) {} | ||||
|  | ||||
|     create(contact: IContact): Observable<EntityResponseType> { | ||||
|         return this.http.post<IContact>(this.resourceUrl, contact, { observe: 'response' }); | ||||
|     } | ||||
|  | ||||
|     update(contact: IContact): Observable<EntityResponseType> { | ||||
|         return this.http.put<IContact>(this.resourceUrl, contact, { observe: 'response' }); | ||||
|     } | ||||
|  | ||||
|     find(id: number): Observable<EntityResponseType> { | ||||
|         return this.http.get<IContact>(`${this.resourceUrl}/${id}`, { observe: 'response' }); | ||||
|     } | ||||
|  | ||||
|     query(req?: any): Observable<EntityArrayResponseType> { | ||||
|         const options = createRequestOption(req); | ||||
|         return this.http.get<IContact[]>(this.resourceUrl, { params: options, observe: 'response' }); | ||||
|     } | ||||
|  | ||||
|     delete(id: number): Observable<HttpResponse<any>> { | ||||
|         return this.http.delete<any>(`${this.resourceUrl}/${id}`, { observe: 'response' }); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										6
									
								
								src/main/webapp/app/entities/contact/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								src/main/webapp/app/entities/contact/index.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| export * from './contact.service'; | ||||
| export * from './contact-update.component'; | ||||
| export * from './contact-delete-dialog.component'; | ||||
| export * from './contact-detail.component'; | ||||
| export * from './contact.component'; | ||||
| export * from './contact.route'; | ||||
| @@ -0,0 +1,19 @@ | ||||
| <form name="deleteForm" (ngSubmit)="confirmDelete(customerContact.id)"> | ||||
|     <div class="modal-header"> | ||||
|         <h4 class="modal-title" jhiTranslate="entity.delete.title">Confirm delete operation</h4> | ||||
|         <button type="button" class="close" data-dismiss="modal" aria-hidden="true" | ||||
|                 (click)="clear()">×</button> | ||||
|     </div> | ||||
|     <div class="modal-body"> | ||||
|         <jhi-alert-error></jhi-alert-error> | ||||
|         <p id="jhi-delete-customerContact-heading" jhiTranslate="hsadminNgApp.customerContact.delete.question" [translateValues]="{id: customerContact.id}">Are you sure you want to delete this Customer Contact?</p> | ||||
|     </div> | ||||
|     <div class="modal-footer"> | ||||
|         <button type="button" class="btn btn-secondary" data-dismiss="modal" (click)="clear()"> | ||||
|             <fa-icon [icon]="'ban'"></fa-icon> <span jhiTranslate="entity.action.cancel">Cancel</span> | ||||
|         </button> | ||||
|         <button id="jhi-confirm-delete-customerContact" type="submit" class="btn btn-danger"> | ||||
|             <fa-icon [icon]="'times'"></fa-icon> <span jhiTranslate="entity.action.delete">Delete</span> | ||||
|         </button> | ||||
|     </div> | ||||
| </form> | ||||
| @@ -0,0 +1,72 @@ | ||||
| import { Component, OnInit, OnDestroy } from '@angular/core'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
|  | ||||
| import { NgbActiveModal, NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; | ||||
| import { JhiEventManager } from 'ng-jhipster'; | ||||
|  | ||||
| import { ICustomerContact } from 'app/shared/model/customer-contact.model'; | ||||
| import { CustomerContactService } from './customer-contact.service'; | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-customer-contact-delete-dialog', | ||||
|     templateUrl: './customer-contact-delete-dialog.component.html' | ||||
| }) | ||||
| export class CustomerContactDeleteDialogComponent { | ||||
|     customerContact: ICustomerContact; | ||||
|  | ||||
|     constructor( | ||||
|         protected customerContactService: CustomerContactService, | ||||
|         public activeModal: NgbActiveModal, | ||||
|         protected eventManager: JhiEventManager | ||||
|     ) {} | ||||
|  | ||||
|     clear() { | ||||
|         this.activeModal.dismiss('cancel'); | ||||
|     } | ||||
|  | ||||
|     confirmDelete(id: number) { | ||||
|         this.customerContactService.delete(id).subscribe(response => { | ||||
|             this.eventManager.broadcast({ | ||||
|                 name: 'customerContactListModification', | ||||
|                 content: 'Deleted an customerContact' | ||||
|             }); | ||||
|             this.activeModal.dismiss(true); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-customer-contact-delete-popup', | ||||
|     template: '' | ||||
| }) | ||||
| export class CustomerContactDeletePopupComponent implements OnInit, OnDestroy { | ||||
|     protected ngbModalRef: NgbModalRef; | ||||
|  | ||||
|     constructor(protected activatedRoute: ActivatedRoute, protected router: Router, protected modalService: NgbModal) {} | ||||
|  | ||||
|     ngOnInit() { | ||||
|         this.activatedRoute.data.subscribe(({ customerContact }) => { | ||||
|             setTimeout(() => { | ||||
|                 this.ngbModalRef = this.modalService.open(CustomerContactDeleteDialogComponent as Component, { | ||||
|                     size: 'lg', | ||||
|                     backdrop: 'static' | ||||
|                 }); | ||||
|                 this.ngbModalRef.componentInstance.customerContact = customerContact; | ||||
|                 this.ngbModalRef.result.then( | ||||
|                     result => { | ||||
|                         this.router.navigate(['/customer-contact', { outlets: { popup: null } }]); | ||||
|                         this.ngbModalRef = null; | ||||
|                     }, | ||||
|                     reason => { | ||||
|                         this.router.navigate(['/customer-contact', { outlets: { popup: null } }]); | ||||
|                         this.ngbModalRef = null; | ||||
|                     } | ||||
|                 ); | ||||
|             }, 0); | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     ngOnDestroy() { | ||||
|         this.ngbModalRef = null; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,39 @@ | ||||
| <div class="row justify-content-center"> | ||||
|     <div class="col-8"> | ||||
|         <div *ngIf="customerContact"> | ||||
|             <h2><span jhiTranslate="hsadminNgApp.customerContact.detail.title">Customer Contact</span> {{customerContact.id}}</h2> | ||||
|             <hr> | ||||
|             <jhi-alert-error></jhi-alert-error> | ||||
|             <dl class="row-md jh-entity-details"> | ||||
|                 <dt><span jhiTranslate="hsadminNgApp.customerContact.role">Role</span></dt> | ||||
|                 <dd> | ||||
|                     <span jhiTranslate="{{'hsadminNgApp.CustomerContactRole.' + customerContact.role}}">{{customerContact.role}}</span> | ||||
|                 </dd> | ||||
|                 <dt><span jhiTranslate="hsadminNgApp.customerContact.contact">Contact</span></dt> | ||||
|                 <dd> | ||||
|                     <div *ngIf="customerContact.contactId"> | ||||
|                         <a [routerLink]="['/contact', customerContact.contactId, 'view']">{{customerContact.contactEmail}}</a> | ||||
|                     </div> | ||||
|                 </dd> | ||||
|                 <dt><span jhiTranslate="hsadminNgApp.customerContact.customer">Customer</span></dt> | ||||
|                 <dd> | ||||
|                     <div *ngIf="customerContact.customerId"> | ||||
|                         <a [routerLink]="['/customer', customerContact.customerId, 'view']">{{customerContact.customerPrefix}}</a> | ||||
|                     </div> | ||||
|                 </dd> | ||||
|             </dl> | ||||
|  | ||||
|             <button type="submit" | ||||
|                     (click)="previousState()" | ||||
|                     class="btn btn-info"> | ||||
|                 <fa-icon [icon]="'arrow-left'"></fa-icon> <span jhiTranslate="entity.action.back"> Back</span> | ||||
|             </button> | ||||
|  | ||||
|             <button type="button" | ||||
|                     [routerLink]="['/customer-contact', customerContact.id, 'edit']" | ||||
|                     class="btn btn-primary"> | ||||
|                 <fa-icon [icon]="'pencil-alt'"></fa-icon> <span jhiTranslate="entity.action.edit"> Edit</span> | ||||
|             </button> | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
| @@ -0,0 +1,24 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ActivatedRoute } from '@angular/router'; | ||||
|  | ||||
| import { ICustomerContact } from 'app/shared/model/customer-contact.model'; | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-customer-contact-detail', | ||||
|     templateUrl: './customer-contact-detail.component.html' | ||||
| }) | ||||
| export class CustomerContactDetailComponent implements OnInit { | ||||
|     customerContact: ICustomerContact; | ||||
|  | ||||
|     constructor(protected activatedRoute: ActivatedRoute) {} | ||||
|  | ||||
|     ngOnInit() { | ||||
|         this.activatedRoute.data.subscribe(({ customerContact }) => { | ||||
|             this.customerContact = customerContact; | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     previousState() { | ||||
|         window.history.back(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,64 @@ | ||||
| <div class="row justify-content-center"> | ||||
|     <div class="col-8"> | ||||
|         <form name="editForm" role="form" novalidate (ngSubmit)="save()" #editForm="ngForm"> | ||||
|             <h2 id="jhi-customer-contact-heading" jhiTranslate="hsadminNgApp.customerContact.home.createOrEditLabel">Create or edit a Customer Contact</h2> | ||||
|             <div> | ||||
|                 <jhi-alert-error></jhi-alert-error> | ||||
|                 <div class="form-group" [hidden]="!customerContact.id"> | ||||
|                     <label for="id" jhiTranslate="global.field.id">ID</label> | ||||
|                     <input type="text" class="form-control" id="id" name="id" | ||||
|                         [(ngModel)]="customerContact.id" readonly /> | ||||
|                 </div> | ||||
|                 <div class="form-group"> | ||||
|                     <label class="form-control-label" jhiTranslate="hsadminNgApp.customerContact.role" for="field_role">Role</label> | ||||
|                     <select class="form-control" name="role" [(ngModel)]="customerContact.role" id="field_role"  required> | ||||
|                         <option value="CONTRACTUAL">{{'hsadminNgApp.CustomerContactRole.CONTRACTUAL' | translate}}</option> | ||||
|                         <option value="TECHNICAL">{{'hsadminNgApp.CustomerContactRole.TECHNICAL' | translate}}</option> | ||||
|                         <option value="FINANCIAL">{{'hsadminNgApp.CustomerContactRole.FINANCIAL' | translate}}</option> | ||||
|                     </select> | ||||
|                     <div [hidden]="!(editForm.controls.role?.dirty && editForm.controls.role?.invalid)"> | ||||
|                         <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.role?.errors?.required" jhiTranslate="entity.validation.required"> | ||||
|                         This field is required. | ||||
|                         </small> | ||||
|                     </div> | ||||
|                 </div> | ||||
|  | ||||
|                 <div class="form-group"> | ||||
|                     <label class="form-control-label" jhiTranslate="hsadminNgApp.customerContact.contact" for="field_contact">Contact</label> | ||||
|                     <select class="form-control" id="field_contact" name="contact" [(ngModel)]="customerContact.contactId"  required> | ||||
|                         <option *ngIf="!editForm.value.contact" [ngValue]="null" selected></option> | ||||
|                         <option [ngValue]="contactOption.id" *ngFor="let contactOption of contacts; trackBy: trackContactById">{{contactOption.email}}</option> | ||||
|                     </select> | ||||
|                 </div> | ||||
|                 <div [hidden]="!(editForm.controls.contact?.dirty && editForm.controls.contact?.invalid)"> | ||||
|                     <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.contact?.errors?.required" jhiTranslate="entity.validation.required"> | ||||
|                         This field is required. | ||||
|                     </small> | ||||
|                 </div> | ||||
|                 <div class="form-group"> | ||||
|                     <label class="form-control-label" jhiTranslate="hsadminNgApp.customerContact.customer" for="field_customer">Customer</label> | ||||
|                     <select class="form-control" id="field_customer" name="customer" [(ngModel)]="customerContact.customerId"  required> | ||||
|                         <option *ngIf="!editForm.value.customer" [ngValue]="null" selected></option> | ||||
|                         <option [ngValue]="customerOption.id" *ngFor="let customerOption of customers; trackBy: trackCustomerById">{{customerOption.prefix}}</option> | ||||
|                     </select> | ||||
|                 </div> | ||||
|                 <div [hidden]="!(editForm.controls.customer?.dirty && editForm.controls.customer?.invalid)"> | ||||
|                     <small class="form-text text-danger" | ||||
|                         [hidden]="!editForm.controls.customer?.errors?.required" jhiTranslate="entity.validation.required"> | ||||
|                         This field is required. | ||||
|                     </small> | ||||
|                 </div> | ||||
|             </div> | ||||
|             <div> | ||||
|                 <button type="button" id="cancel-save" class="btn btn-secondary"  (click)="previousState()"> | ||||
|                     <fa-icon [icon]="'ban'"></fa-icon> <span jhiTranslate="entity.action.cancel">Cancel</span> | ||||
|                 </button> | ||||
|                 <button type="submit" id="save-entity" [disabled]="editForm.form.invalid || isSaving" class="btn btn-primary"> | ||||
|                     <fa-icon [icon]="'save'"></fa-icon> <span jhiTranslate="entity.action.save">Save</span> | ||||
|                 </button> | ||||
|             </div> | ||||
|         </form> | ||||
|     </div> | ||||
| </div> | ||||
| @@ -0,0 +1,92 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ActivatedRoute } from '@angular/router'; | ||||
| import { HttpResponse, HttpErrorResponse } from '@angular/common/http'; | ||||
| import { Observable } from 'rxjs'; | ||||
| import { filter, map } from 'rxjs/operators'; | ||||
| import { JhiAlertService } from 'ng-jhipster'; | ||||
| import { ICustomerContact } from 'app/shared/model/customer-contact.model'; | ||||
| import { CustomerContactService } from './customer-contact.service'; | ||||
| import { IContact } from 'app/shared/model/contact.model'; | ||||
| import { ContactService } from 'app/entities/contact'; | ||||
| import { ICustomer } from 'app/shared/model/customer.model'; | ||||
| import { CustomerService } from 'app/entities/customer'; | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-customer-contact-update', | ||||
|     templateUrl: './customer-contact-update.component.html' | ||||
| }) | ||||
| export class CustomerContactUpdateComponent implements OnInit { | ||||
|     customerContact: ICustomerContact; | ||||
|     isSaving: boolean; | ||||
|  | ||||
|     contacts: IContact[]; | ||||
|  | ||||
|     customers: ICustomer[]; | ||||
|  | ||||
|     constructor( | ||||
|         protected jhiAlertService: JhiAlertService, | ||||
|         protected customerContactService: CustomerContactService, | ||||
|         protected contactService: ContactService, | ||||
|         protected customerService: CustomerService, | ||||
|         protected activatedRoute: ActivatedRoute | ||||
|     ) {} | ||||
|  | ||||
|     ngOnInit() { | ||||
|         this.isSaving = false; | ||||
|         this.activatedRoute.data.subscribe(({ customerContact }) => { | ||||
|             this.customerContact = customerContact; | ||||
|         }); | ||||
|         this.contactService | ||||
|             .query() | ||||
|             .pipe( | ||||
|                 filter((mayBeOk: HttpResponse<IContact[]>) => mayBeOk.ok), | ||||
|                 map((response: HttpResponse<IContact[]>) => response.body) | ||||
|             ) | ||||
|             .subscribe((res: IContact[]) => (this.contacts = res), (res: HttpErrorResponse) => this.onError(res.message)); | ||||
|         this.customerService | ||||
|             .query() | ||||
|             .pipe( | ||||
|                 filter((mayBeOk: HttpResponse<ICustomer[]>) => mayBeOk.ok), | ||||
|                 map((response: HttpResponse<ICustomer[]>) => response.body) | ||||
|             ) | ||||
|             .subscribe((res: ICustomer[]) => (this.customers = res), (res: HttpErrorResponse) => this.onError(res.message)); | ||||
|     } | ||||
|  | ||||
|     previousState() { | ||||
|         window.history.back(); | ||||
|     } | ||||
|  | ||||
|     save() { | ||||
|         this.isSaving = true; | ||||
|         if (this.customerContact.id !== undefined) { | ||||
|             this.subscribeToSaveResponse(this.customerContactService.update(this.customerContact)); | ||||
|         } else { | ||||
|             this.subscribeToSaveResponse(this.customerContactService.create(this.customerContact)); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     protected subscribeToSaveResponse(result: Observable<HttpResponse<ICustomerContact>>) { | ||||
|         result.subscribe((res: HttpResponse<ICustomerContact>) => this.onSaveSuccess(), (res: HttpErrorResponse) => this.onSaveError()); | ||||
|     } | ||||
|  | ||||
|     protected onSaveSuccess() { | ||||
|         this.isSaving = false; | ||||
|         this.previousState(); | ||||
|     } | ||||
|  | ||||
|     protected onSaveError() { | ||||
|         this.isSaving = false; | ||||
|     } | ||||
|  | ||||
|     protected onError(errorMessage: string) { | ||||
|         this.jhiAlertService.error(errorMessage, null, null); | ||||
|     } | ||||
|  | ||||
|     trackContactById(index: number, item: IContact) { | ||||
|         return item.id; | ||||
|     } | ||||
|  | ||||
|     trackCustomerById(index: number, item: ICustomer) { | ||||
|         return item.id; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,66 @@ | ||||
| <div> | ||||
|     <h2 id="page-heading"> | ||||
|         <span jhiTranslate="hsadminNgApp.customerContact.home.title">Customer Contacts</span> | ||||
|         <button id="jh-create-entity" class="btn btn-primary float-right jh-create-entity create-customer-contact" [routerLink]="['/customer-contact/new']"> | ||||
|             <fa-icon [icon]="'plus'"></fa-icon> | ||||
|             <span  jhiTranslate="hsadminNgApp.customerContact.home.createLabel"> | ||||
|             Create new Customer Contact | ||||
|             </span> | ||||
|         </button> | ||||
|     </h2> | ||||
|     <jhi-alert></jhi-alert> | ||||
|     <br/> | ||||
|     <div class="table-responsive" *ngIf="customerContacts"> | ||||
|         <table class="table table-striped"> | ||||
|             <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="role"><span jhiTranslate="hsadminNgApp.customerContact.role">Role</span> <fa-icon [icon]="'sort'"></fa-icon></th> | ||||
|             <th jhiSortBy="contactEmail"><span jhiTranslate="hsadminNgApp.customerContact.contact">Contact</span> <fa-icon [icon]="'sort'"></fa-icon></th> | ||||
|             <th jhiSortBy="customerPrefix"><span jhiTranslate="hsadminNgApp.customerContact.customer">Customer</span> <fa-icon [icon]="'sort'"></fa-icon></th> | ||||
|             <th></th> | ||||
|             </tr> | ||||
|             </thead> | ||||
|             <tbody infinite-scroll (scrolled)="loadPage(page + 1)" [infiniteScrollDisabled]="page >= links['last']" [infiniteScrollDistance]="0"> | ||||
|             <tr *ngFor="let customerContact of customerContacts ;trackBy: trackId"> | ||||
|                 <td><a [routerLink]="['/customer-contact', customerContact.id, 'view' ]">{{customerContact.id}}</a></td> | ||||
|                 <td jhiTranslate="{{'hsadminNgApp.CustomerContactRole.' + customerContact.role}}">{{customerContact.role}}</td> | ||||
|                 <td> | ||||
|                     <div *ngIf="customerContact.contactId"> | ||||
|                         <a [routerLink]="['../contact', customerContact.contactId , 'view' ]" >{{customerContact.contactEmail}}</a> | ||||
|                     </div> | ||||
|                 </td> | ||||
|                 <td> | ||||
|                     <div *ngIf="customerContact.customerId"> | ||||
|                         <a [routerLink]="['../customer', customerContact.customerId , 'view' ]" >{{customerContact.customerPrefix}}</a> | ||||
|                     </div> | ||||
|                 </td> | ||||
|                 <td class="text-right"> | ||||
|                     <div class="btn-group flex-btn-group-container"> | ||||
|                         <button type="submit" | ||||
|                                 [routerLink]="['/customer-contact', customerContact.id, 'view' ]" | ||||
|                                 class="btn btn-info btn-sm"> | ||||
|                             <fa-icon [icon]="'eye'"></fa-icon> | ||||
|                             <span class="d-none d-md-inline" jhiTranslate="entity.action.view">View</span> | ||||
|                         </button> | ||||
|                         <button type="submit" | ||||
|                                 [routerLink]="['/customer-contact', customerContact.id, 'edit']" | ||||
|                                 class="btn btn-primary btn-sm"> | ||||
|                             <fa-icon [icon]="'pencil-alt'"></fa-icon> | ||||
|                             <span class="d-none d-md-inline" jhiTranslate="entity.action.edit">Edit</span> | ||||
|                         </button> | ||||
|                         <button type="submit" | ||||
|                                 [routerLink]="['/', 'customer-contact', { outlets: { popup: customerContact.id + '/delete'} }]" | ||||
|                                 replaceUrl="true" | ||||
|                                 queryParamsHandling="merge" | ||||
|                                 class="btn btn-danger btn-sm"> | ||||
|                             <fa-icon [icon]="'times'"></fa-icon> | ||||
|                             <span class="d-none d-md-inline" jhiTranslate="entity.action.delete">Delete</span> | ||||
|                         </button> | ||||
|                     </div> | ||||
|                 </td> | ||||
|             </tr> | ||||
|             </tbody> | ||||
|         </table> | ||||
|     </div> | ||||
| </div> | ||||
| @@ -0,0 +1,108 @@ | ||||
| import { Component, OnInit, OnDestroy } from '@angular/core'; | ||||
| import { HttpErrorResponse, HttpHeaders, HttpResponse } from '@angular/common/http'; | ||||
| import { Subscription } from 'rxjs'; | ||||
| import { filter, map } from 'rxjs/operators'; | ||||
| import { JhiEventManager, JhiParseLinks, JhiAlertService } from 'ng-jhipster'; | ||||
|  | ||||
| import { ICustomerContact } from 'app/shared/model/customer-contact.model'; | ||||
| import { AccountService } from 'app/core'; | ||||
|  | ||||
| import { ITEMS_PER_PAGE } from 'app/shared'; | ||||
| import { CustomerContactService } from './customer-contact.service'; | ||||
|  | ||||
| @Component({ | ||||
|     selector: 'jhi-customer-contact', | ||||
|     templateUrl: './customer-contact.component.html' | ||||
| }) | ||||
| export class CustomerContactComponent implements OnInit, OnDestroy { | ||||
|     customerContacts: ICustomerContact[]; | ||||
|     currentAccount: any; | ||||
|     eventSubscriber: Subscription; | ||||
|     itemsPerPage: number; | ||||
|     links: any; | ||||
|     page: any; | ||||
|     predicate: any; | ||||
|     reverse: any; | ||||
|     totalItems: number; | ||||
|  | ||||
|     constructor( | ||||
|         protected customerContactService: CustomerContactService, | ||||
|         protected jhiAlertService: JhiAlertService, | ||||
|         protected eventManager: JhiEventManager, | ||||
|         protected parseLinks: JhiParseLinks, | ||||
|         protected accountService: AccountService | ||||
|     ) { | ||||
|         this.customerContacts = []; | ||||
|         this.itemsPerPage = ITEMS_PER_PAGE; | ||||
|         this.page = 0; | ||||
|         this.links = { | ||||
|             last: 0 | ||||
|         }; | ||||
|         this.predicate = 'id'; | ||||
|         this.reverse = true; | ||||
|     } | ||||
|  | ||||
|     loadAll() { | ||||
|         this.customerContactService | ||||
|             .query({ | ||||
|                 page: this.page, | ||||
|                 size: this.itemsPerPage, | ||||
|                 sort: this.sort() | ||||
|             }) | ||||
|             .subscribe( | ||||
|                 (res: HttpResponse<ICustomerContact[]>) => this.paginateCustomerContacts(res.body, res.headers), | ||||
|                 (res: HttpErrorResponse) => this.onError(res.message) | ||||
|             ); | ||||
|     } | ||||
|  | ||||
|     reset() { | ||||
|         this.page = 0; | ||||
|         this.customerContacts = []; | ||||
|         this.loadAll(); | ||||
|     } | ||||
|  | ||||
|     loadPage(page) { | ||||
|         this.page = page; | ||||
|         this.loadAll(); | ||||
|     } | ||||
|  | ||||
|     ngOnInit() { | ||||
|         this.loadAll(); | ||||
|         this.accountService.identity().then(account => { | ||||
|             this.currentAccount = account; | ||||
|         }); | ||||
|         this.registerChangeInCustomerContacts(); | ||||
|     } | ||||
|  | ||||
|     ngOnDestroy() { | ||||
|         this.eventManager.destroy(this.eventSubscriber); | ||||
|     } | ||||
|  | ||||
|     trackId(index: number, item: ICustomerContact) { | ||||
|         return item.id; | ||||
|     } | ||||
|  | ||||
|     registerChangeInCustomerContacts() { | ||||
|         this.eventSubscriber = this.eventManager.subscribe('customerContactListModification', response => this.reset()); | ||||
|     } | ||||
|  | ||||
|     sort() { | ||||
|         const result = [this.predicate + ',' + (this.reverse ? 'asc' : 'desc')]; | ||||
|         if (this.predicate !== 'id') { | ||||
|             result.push('id'); | ||||
|         } | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|     protected paginateCustomerContacts(data: ICustomerContact[], headers: HttpHeaders) { | ||||
|         this.links = this.parseLinks.parse(headers.get('link')); | ||||
|         this.totalItems = parseInt(headers.get('X-Total-Count'), 10); | ||||
|         for (let i = 0; i < data.length; i++) { | ||||
|             this.customerContacts.push(data[i]); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     protected onError(errorMessage: string) { | ||||
|         this.jhiAlertService.error(errorMessage, null, null); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,45 @@ | ||||
| import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; | ||||
| import { RouterModule } from '@angular/router'; | ||||
| import { JhiLanguageService } from 'ng-jhipster'; | ||||
| import { JhiLanguageHelper } from 'app/core'; | ||||
|  | ||||
| import { HsadminNgSharedModule } from 'app/shared'; | ||||
| import { | ||||
|     CustomerContactComponent, | ||||
|     CustomerContactDetailComponent, | ||||
|     CustomerContactUpdateComponent, | ||||
|     CustomerContactDeletePopupComponent, | ||||
|     CustomerContactDeleteDialogComponent, | ||||
|     customerContactRoute, | ||||
|     customerContactPopupRoute | ||||
| } from './'; | ||||
|  | ||||
| const ENTITY_STATES = [...customerContactRoute, ...customerContactPopupRoute]; | ||||
|  | ||||
| @NgModule({ | ||||
|     imports: [HsadminNgSharedModule, RouterModule.forChild(ENTITY_STATES)], | ||||
|     declarations: [ | ||||
|         CustomerContactComponent, | ||||
|         CustomerContactDetailComponent, | ||||
|         CustomerContactUpdateComponent, | ||||
|         CustomerContactDeleteDialogComponent, | ||||
|         CustomerContactDeletePopupComponent | ||||
|     ], | ||||
|     entryComponents: [ | ||||
|         CustomerContactComponent, | ||||
|         CustomerContactUpdateComponent, | ||||
|         CustomerContactDeleteDialogComponent, | ||||
|         CustomerContactDeletePopupComponent | ||||
|     ], | ||||
|     providers: [{ provide: JhiLanguageService, useClass: JhiLanguageService }], | ||||
|     schemas: [CUSTOM_ELEMENTS_SCHEMA] | ||||
| }) | ||||
| export class HsadminNgCustomerContactModule { | ||||
|     constructor(private languageService: JhiLanguageService, private languageHelper: JhiLanguageHelper) { | ||||
|         this.languageHelper.language.subscribe((languageKey: string) => { | ||||
|             if (languageKey !== undefined) { | ||||
|                 this.languageService.changeLanguage(languageKey); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,93 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { HttpResponse } from '@angular/common/http'; | ||||
| import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot, Routes } from '@angular/router'; | ||||
| import { UserRouteAccessService } from 'app/core'; | ||||
| import { Observable, of } from 'rxjs'; | ||||
| import { filter, map } from 'rxjs/operators'; | ||||
| import { CustomerContact } from 'app/shared/model/customer-contact.model'; | ||||
| import { CustomerContactService } from './customer-contact.service'; | ||||
| import { CustomerContactComponent } from './customer-contact.component'; | ||||
| import { CustomerContactDetailComponent } from './customer-contact-detail.component'; | ||||
| import { CustomerContactUpdateComponent } from './customer-contact-update.component'; | ||||
| import { CustomerContactDeletePopupComponent } from './customer-contact-delete-dialog.component'; | ||||
| import { ICustomerContact } from 'app/shared/model/customer-contact.model'; | ||||
|  | ||||
| @Injectable({ providedIn: 'root' }) | ||||
| export class CustomerContactResolve implements Resolve<ICustomerContact> { | ||||
|     constructor(private service: CustomerContactService) {} | ||||
|  | ||||
|     resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<ICustomerContact> { | ||||
|         const id = route.params['id'] ? route.params['id'] : null; | ||||
|         if (id) { | ||||
|             return this.service.find(id).pipe( | ||||
|                 filter((response: HttpResponse<CustomerContact>) => response.ok), | ||||
|                 map((customerContact: HttpResponse<CustomerContact>) => customerContact.body) | ||||
|             ); | ||||
|         } | ||||
|         return of(new CustomerContact()); | ||||
|     } | ||||
| } | ||||
|  | ||||
| export const customerContactRoute: Routes = [ | ||||
|     { | ||||
|         path: '', | ||||
|         component: CustomerContactComponent, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.customerContact.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService] | ||||
|     }, | ||||
|     { | ||||
|         path: ':id/view', | ||||
|         component: CustomerContactDetailComponent, | ||||
|         resolve: { | ||||
|             customerContact: CustomerContactResolve | ||||
|         }, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.customerContact.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService] | ||||
|     }, | ||||
|     { | ||||
|         path: 'new', | ||||
|         component: CustomerContactUpdateComponent, | ||||
|         resolve: { | ||||
|             customerContact: CustomerContactResolve | ||||
|         }, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.customerContact.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService] | ||||
|     }, | ||||
|     { | ||||
|         path: ':id/edit', | ||||
|         component: CustomerContactUpdateComponent, | ||||
|         resolve: { | ||||
|             customerContact: CustomerContactResolve | ||||
|         }, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.customerContact.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService] | ||||
|     } | ||||
| ]; | ||||
|  | ||||
| export const customerContactPopupRoute: Routes = [ | ||||
|     { | ||||
|         path: ':id/delete', | ||||
|         component: CustomerContactDeletePopupComponent, | ||||
|         resolve: { | ||||
|             customerContact: CustomerContactResolve | ||||
|         }, | ||||
|         data: { | ||||
|             authorities: ['ROLE_USER'], | ||||
|             pageTitle: 'hsadminNgApp.customerContact.home.title' | ||||
|         }, | ||||
|         canActivate: [UserRouteAccessService], | ||||
|         outlet: 'popup' | ||||
|     } | ||||
| ]; | ||||
| @@ -0,0 +1,38 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { HttpClient, HttpResponse } from '@angular/common/http'; | ||||
| import { Observable } from 'rxjs'; | ||||
|  | ||||
| import { SERVER_API_URL } from 'app/app.constants'; | ||||
| import { createRequestOption } from 'app/shared'; | ||||
| import { ICustomerContact } from 'app/shared/model/customer-contact.model'; | ||||
|  | ||||
| type EntityResponseType = HttpResponse<ICustomerContact>; | ||||
| type EntityArrayResponseType = HttpResponse<ICustomerContact[]>; | ||||
|  | ||||
| @Injectable({ providedIn: 'root' }) | ||||
| export class CustomerContactService { | ||||
|     public resourceUrl = SERVER_API_URL + 'api/customer-contacts'; | ||||
|  | ||||
|     constructor(protected http: HttpClient) {} | ||||
|  | ||||
|     create(customerContact: ICustomerContact): Observable<EntityResponseType> { | ||||
|         return this.http.post<ICustomerContact>(this.resourceUrl, customerContact, { observe: 'response' }); | ||||
|     } | ||||
|  | ||||
|     update(customerContact: ICustomerContact): Observable<EntityResponseType> { | ||||
|         return this.http.put<ICustomerContact>(this.resourceUrl, customerContact, { observe: 'response' }); | ||||
|     } | ||||
|  | ||||
|     find(id: number): Observable<EntityResponseType> { | ||||
|         return this.http.get<ICustomerContact>(`${this.resourceUrl}/${id}`, { observe: 'response' }); | ||||
|     } | ||||
|  | ||||
|     query(req?: any): Observable<EntityArrayResponseType> { | ||||
|         const options = createRequestOption(req); | ||||
|         return this.http.get<ICustomerContact[]>(this.resourceUrl, { params: options, observe: 'response' }); | ||||
|     } | ||||
|  | ||||
|     delete(id: number): Observable<HttpResponse<any>> { | ||||
|         return this.http.delete<any>(`${this.resourceUrl}/${id}`, { observe: 'response' }); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										6
									
								
								src/main/webapp/app/entities/customer-contact/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								src/main/webapp/app/entities/customer-contact/index.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| export * from './customer-contact.service'; | ||||
| export * from './customer-contact-update.component'; | ||||
| export * from './customer-contact-delete-dialog.component'; | ||||
| export * from './customer-contact-detail.component'; | ||||
| export * from './customer-contact.component'; | ||||
| export * from './customer-contact.route'; | ||||
| @@ -0,0 +1,19 @@ | ||||
| <form name="deleteForm" (ngSubmit)="confirmDelete(customer.id)"> | ||||
|     <div class="modal-header"> | ||||
|         <h4 class="modal-title" jhiTranslate="entity.delete.title">Confirm delete operation</h4> | ||||
|         <button type="button" class="close" data-dismiss="modal" aria-hidden="true" | ||||
|                 (click)="clear()">×</button> | ||||
|     </div> | ||||
|     <div class="modal-body"> | ||||
|         <jhi-alert-error></jhi-alert-error> | ||||
|         <p id="jhi-delete-customer-heading" jhiTranslate="hsadminNgApp.customer.delete.question" [translateValues]="{id: customer.id}">Are you sure you want to delete this Customer?</p> | ||||
|     </div> | ||||
|     <div class="modal-footer"> | ||||
|         <button type="button" class="btn btn-secondary" data-dismiss="modal" (click)="clear()"> | ||||
|             <fa-icon [icon]="'ban'"></fa-icon> <span jhiTranslate="entity.action.cancel">Cancel</span> | ||||
|         </button> | ||||
|         <button id="jhi-confirm-delete-customer" type="submit" class="btn btn-danger"> | ||||
|             <fa-icon [icon]="'times'"></fa-icon> <span jhiTranslate="entity.action.delete">Delete</span> | ||||
|         </button> | ||||
|     </div> | ||||
| </form> | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user