From f5e82b4ecc06ea8a824a3018412f463efe2e1982 Mon Sep 17 00:00:00 2001 From: Peter Hormanns Date: Mon, 8 Dec 2014 19:51:35 +0100 Subject: [PATCH] remote deprecated customer module --- .../src/de/hsadmin/mods/cust/BankAccount.java | 129 --------------- .../src/de/hsadmin/mods/cust/Customer.java | 1 - .../hsadmin/mods/cust/CustomerModuleImpl.java | 147 ------------------ 3 files changed, 277 deletions(-) delete mode 100644 hsarback/src/de/hsadmin/mods/cust/BankAccount.java delete mode 100644 hsarback/src/de/hsadmin/mods/cust/CustomerModuleImpl.java diff --git a/hsarback/src/de/hsadmin/mods/cust/BankAccount.java b/hsarback/src/de/hsadmin/mods/cust/BankAccount.java deleted file mode 100644 index fcab87b..0000000 --- a/hsarback/src/de/hsadmin/mods/cust/BankAccount.java +++ /dev/null @@ -1,129 +0,0 @@ -package de.hsadmin.mods.cust; - -import static javax.persistence.FetchType.EAGER; - -import java.io.Serializable; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.EntityManager; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.OneToOne; -import javax.persistence.Table; - -import de.hsadmin.core.model.AbstractEntity; -import de.hsadmin.mods.user.UnixUser; - -@Entity(name = "BankAccounts") -@Table(name = "bank_account") -public class BankAccount extends AbstractEntity implements Serializable { - - private static final long serialVersionUID = 2965368183976686458L; - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "bank_account_id", columnDefinition = "integer") - private long id; - - @JoinColumn(name = "bp_id", columnDefinition = "integer") - @OneToOne(fetch = EAGER) - private Customer customer; - - @Column(name = "bank_customer", columnDefinition = "character varying(50)") - private String bankCustomer; - - @Column(name = "bank_iban", columnDefinition = "character varying(30)") - private String bankIBAN; - - @Column(name = "bank_bic", columnDefinition = "character varying(15)") - private String bankBIC; - - @Column(name = "mandat_ref", columnDefinition = "character varying(10)") - private String mandatRef; - - @Column(name = "bank_name", columnDefinition = "character varying(50)") - private String bankName; - - public static String createQueryFromStringKey(String humanKey) { - return "customer.name = " + humanKey; - } - - @Override - public String createStringKey() { - return getCustomer().getName(); - } - - @Override - public long id() { - return id; - } - - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public Customer getCustomer() { - return customer; - } - - public void setCustomer(Customer customer) { - this.customer = customer; - } - - public String getBankCustomer() { - return bankCustomer; - } - - public void setBankCustomer(String bankCustomer) { - this.bankCustomer = bankCustomer; - } - - public String getBankName() { - return bankName; - } - - public void setBankName(String bankName) { - this.bankName = bankName; - } - - @Override - public boolean isNew() { - return id == 0; - } - - @Override - public UnixUser owningUser(EntityManager em) { - return customer.owningUser(em); - } - - public String getBankIBAN() { - return bankIBAN; - } - - public void setBankIBAN(String bankIBAN) { - this.bankIBAN = bankIBAN; - } - - public String getBankBIC() { - return bankBIC; - } - - public void setBankBIC(String bankBIC) { - this.bankBIC = bankBIC; - } - - public String getMandatRef() { - return mandatRef; - } - - public void setMandatRef(String mandatRef) { - this.mandatRef = mandatRef; - } -} diff --git a/hsarback/src/de/hsadmin/mods/cust/Customer.java b/hsarback/src/de/hsadmin/mods/cust/Customer.java index 22e0b05..df6fb13 100644 --- a/hsarback/src/de/hsadmin/mods/cust/Customer.java +++ b/hsarback/src/de/hsadmin/mods/cust/Customer.java @@ -31,7 +31,6 @@ import de.hsadmin.mods.user.UnixUser; @Entity(name = "Customers") @Table(name = "business_partner") -@AnnModuleImpl(de.hsadmin.mods.cust.CustomerModuleImpl.class) public class Customer extends AbstractEntity implements Serializable { private static final long serialVersionUID = -7450594652238392616L; diff --git a/hsarback/src/de/hsadmin/mods/cust/CustomerModuleImpl.java b/hsarback/src/de/hsadmin/mods/cust/CustomerModuleImpl.java deleted file mode 100644 index 7ce9c41..0000000 --- a/hsarback/src/de/hsadmin/mods/cust/CustomerModuleImpl.java +++ /dev/null @@ -1,147 +0,0 @@ -package de.hsadmin.mods.cust; - -import java.util.Date; -import java.util.List; -import java.util.Set; - -import de.hsadmin.core.model.AbstractEntity; -import de.hsadmin.core.model.AbstractModuleImpl; -import de.hsadmin.core.model.AuthorisationException; -import de.hsadmin.core.model.GenericModuleImpl; -import de.hsadmin.core.model.HSAdminException; -import de.hsadmin.core.model.Transaction; -import de.hsadmin.core.util.TextUtil; -import de.hsadmin.mods.dom.Domain; -import de.hsadmin.mods.email.EMailAddress; -import de.hsadmin.mods.email.EMailAlias; -import de.hsadmin.mods.pac.Pac; -import de.hsadmin.mods.user.UnixUser; - -public class CustomerModuleImpl extends AbstractModuleImpl { - - @Override - public AbstractEntity add(AbstractEntity newEntity) throws HSAdminException { - Transaction transaction = getTransaction(); - if (!transaction.getLoginUser().hasHostmasterRole()) { - throw new AuthorisationException(transaction.getLoginUser(), "add", newEntity); - } - Customer newCustomer = (Customer) newEntity; - assertNotNull("membercode", newCustomer.getName()); - assertValidMemberCode("membercode", newCustomer.getName()); - assertNotNull("password", newCustomer.getPassword()); - Contact contact = newCustomer.getContacts().iterator().next(); - assertNotNull("contact_lastname", contact.getLastName()); - assertNotNull("contact_email", contact.getEmail()); - String custComment = contact.getLastName(); - if (contact.getFirstName() != null && contact.getFirstName().length() > 0) { - custComment = contact.getFirstName() + " " + contact.getLastName(); - } -// BankAccount bankAccount = newCustomer.getBankAccount(); -// if (bankAccount == null) { -// bankAccount = new BankAccount(); -// bankAccount.setCustomer(newCustomer); -// newCustomer.setBankAccount(bankAccount); -// } - GenericModuleImpl helperModule = new GenericModuleImpl(getTransaction()); - - UnixUser custAccount = new UnixUser(); - custAccount.setComment(TextUtil.replaceUmlautCharacters(custComment)); - custAccount.setName(newCustomer.getName()); - custAccount.setPassword(newCustomer.getPassword()); - custAccount.setShell("/usr/bin/passwd"); - custAccount.setQuotaSoftlimit(8); - custAccount.setQuotaHardlimit(12); - helperModule.add(custAccount); - - EMailAlias custAlias = new EMailAlias(); - custAlias.setName(newCustomer.getName()); - custAlias.setTarget(contact.getEmail()); - helperModule.add(custAlias); - - String memberCode = newCustomer.getName(); - EMailAddress custEMail1 = new EMailAddress(); - custEMail1.setLocalpart(memberCode.substring(6)); - Domain dom = (Domain) helperModule.findByString(Domain.class, "hostsharing.net"); - custEMail1.setDomain(dom); - custEMail1.setTarget(memberCode); - helperModule.add(custEMail1); - - if (contact.getFirstName() != null && contact.getFirstName().length() > 0) { - custComment = TextUtil.replaceUmlautCharacters(contact.getFirstName().toLowerCase()) - + "." + TextUtil.replaceUmlautCharacters(contact.getLastName().toLowerCase()); - EMailAddress custEMail2 = new EMailAddress(); - custEMail2.setLocalpart(custComment.replace(' ', '-')); - custEMail2.setDomain(dom); - custEMail2.setTarget(memberCode); - helperModule.add(custEMail2); - } - - return super.add(newEntity); - } - - @Override - public List search( - Class entityClass, String condition, - String orderBy) throws HSAdminException { - return super.search(entityClass, condition, orderBy); - } - - @Override - public AbstractEntity update(AbstractEntity existingEntity) - throws HSAdminException { - Transaction transaction = getTransaction(); - if (!transaction.getLoginUser().hasHostmasterRole()) { - throw new AuthorisationException(transaction.getLoginUser(), "update", existingEntity); - } - return super.update(existingEntity); - } - - @Override - public void delete(AbstractEntity existingEntity) throws HSAdminException { - Transaction transaction = getTransaction(); - if (!transaction.getLoginUser().hasHostmasterRole()) { - throw new AuthorisationException(transaction.getLoginUser(), "delete", existingEntity); - } - Customer cust = (Customer) existingEntity; - - // Pruefe, ob geloescht werden kann.. - // member_until < heute (nicht mehr Mitglied) oder member_since leer (nie Mitglied geworden) - Date memberSince = cust.getMemberSince(); - Date memberUntil = cust.getMemberUntil(); - if (memberSince != null) { - if (memberUntil == null || memberUntil.after(new Date())) { - throw new AuthorisationException(transaction.getLoginUser(), "delete", existingEntity); - } - } - // keine Pakete mehr! - Set pacs = cust.getPacs(); - if (pacs != null && pacs.size() > 0) { - throw new AuthorisationException(transaction.getLoginUser(), "delete", existingEntity); - } - - GenericModuleImpl helper = new GenericModuleImpl(getTransaction()); - AbstractEntity custAccount = helper.findByString(UnixUser.class, cust.getName()); - helper.delete(custAccount); - AbstractEntity custAlias = helper.findByString(EMailAlias.class, cust.getName()); - helper.delete(custAlias); - List custEMailsList = helper.search(EMailAddress.class, "target='" + cust.getName() + "'", null); - for (AbstractEntity email : custEMailsList) { - helper.delete(email); - } - super.delete(existingEntity); - } - - private void assertNotNull(String name, String value) throws HSAdminException { - if (value == null || value.length() < 1) { - throw new HSAdminException("field '" + name + "' is mandatory"); - } - } - - private void assertValidMemberCode(String name, String value) throws HSAdminException { - if (value == null || value.length() != 9 || !value.startsWith("hsh00-")) { - throw new HSAdminException("field '" + name + "' has to be like 'hsh00-xyz'"); - } - - } - -}