Package com.agiletec.plugins.jpwtt.aps.externalframework.ticket

Source Code of com.agiletec.plugins.jpwtt.aps.externalframework.ticket.UserTicketAction

/*
*
* Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved.
*
* This file is part of Entando Enterprise Edition software.
* You can redistribute it and/or modify it
* under the terms of the Entando's EULA
*
* See the file License for the specific language governing permissions  
* and limitations under the License
*
*
*
* Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved.
*
*/
package com.agiletec.plugins.jpwtt.aps.externalframework.ticket;

import java.util.Date;

import com.agiletec.aps.system.ApsSystemUtils;
import com.agiletec.plugins.jpmail.aps.services.mail.util.EmailAddressValidator;
import com.agiletec.plugins.jpwtt.aps.system.services.ticket.ITicketManager;
import com.agiletec.plugins.jpwtt.aps.system.services.ticket.model.Ticket;
import com.agiletec.plugins.jpwtt.apsadmin.ticket.common.AbstractTicketAction;

/**
* Implementation for the action class providing, for the current user, functions of creation ad visualization of a Ticket.
* @version 1.0
* @author E.Mezzano
*
*/
public class UserTicketAction extends AbstractTicketAction implements IUserTicketAction {
 
  @Override
  public String execute() {
    return SUCCESS;
  }
 
  @Override
  public void validate() {
    super.validate();
    ITicketManager ticketManager = this.getTicketManager();
    Integer interventionType = this.getInterventionType();
    if (null!=interventionType && 0!=interventionType.intValue() && null==ticketManager.getInterventionType(interventionType)) {
      this.addFieldError("interventionType", this.getText("errors.interventionType.notValid"));
    }
    Boolean trattamentoDati = this.getTrattamentoDati();
    if (null==trattamentoDati || !trattamentoDati.booleanValue()) {
      this.addFieldError("trattamentoDati", this.getText("trattamentoDati.required"));
    }
    String eMail = this.getEmail();
    if ((eMail!=null && eMail.length()>0) && !EmailAddressValidator.isValidEmailAddress(eMail)) {
      String[] args = { eMail };
      this.addFieldError("email", this.getText("errors.email.notValid", args));
    }
  }
 
  @Override
  public String save() {
    try {
      Ticket ticket = this.createTicket();
      this.getTicketManager().addTicket(ticket);
    } catch(Throwable t) {
      ApsSystemUtils.logThrowable(t, this, "save");
      return FAILURE;
    }
    return SUCCESS;
  }
 
  protected Ticket createTicket() {
    Ticket ticket = new Ticket();
    ticket.setAuthor(this.getCurrentUser().getUsername());
    ticket.setCreationDate(new Date());
    ticket.setNome(this.getNome());
    ticket.setCognome(this.getCognome());
    ticket.setCodFisc(this.getCodFisc());
    ticket.setComune(this.getComune());
    ticket.setLocalita(this.getLocalita());
    ticket.setTipoIndirizzo(this.getTipoIndirizzo());
    ticket.setIndirizzo(this.getIndirizzo());
    ticket.setNumeroIndirizzo(this.getNumeroIndirizzo());
    ticket.setTelefono(this.getTelefono());
    ticket.setEmail(this.getEmail());
    ticket.setMessage(this.getMessage());
    if (null!=this.getInterventionType()) {
      int id = this.getInterventionType().intValue();
      ticket.setUserInterventionType(id);
      ticket.setOpInterventionType(id);
    }
    ticket.setStatus(Ticket.STATES_OPENED);
    return ticket;
  }
 
  @Override
  protected boolean isAccessAllowed(Ticket ticket) {
    boolean allowed = false;
    String currentUser = this.getCurrentUser().getUsername();
    allowed = ticket!=null && currentUser.equals(ticket.getAuthor());
    return allowed;
  }
 
  /**
   * @return The username
   */
  public String getNome() {
    return _nome;
  }
  public void setNome(String nome) {
    this._nome = nome;
  }
 
  public String getCognome() {
    return _cognome;
  }
  public void setCognome(String cognome) {
    this._cognome = cognome;
  }
 
  public String getCodFisc() {
    return _codFisc;
  }
  public void setCodFisc(String codFisc) {
    this._codFisc = codFisc;
  }
 
  public String getComune() {
    return _comune;
  }
  public void setComune(String comune) {
    this._comune = comune;
  }
 
  public String getLocalita() {
    return _localita;
  }
  public void setLocalita(String localita) {
    this._localita = localita;
  }
 
  public String getTipoIndirizzo() {
    return _tipoIndirizzo;
  }
  public void setTipoIndirizzo(String tipoIndirizzo) {
    this._tipoIndirizzo = tipoIndirizzo;
  }
 
  public String getIndirizzo() {
    return _indirizzo;
  }
  public void setIndirizzo(String indirizzo) {
    this._indirizzo = indirizzo;
  }
 
  public String getNumeroIndirizzo() {
    return _numeroIndirizzo;
  }
  public void setNumeroIndirizzo(String numeroIndirizzo) {
    this._numeroIndirizzo = numeroIndirizzo;
  }
 
  public String getTelefono() {
    return _telefono;
  }
  public void setTelefono(String telefono) {
    this._telefono = telefono;
  }
 
  public String getEmail() {
    return _email;
  }
  public void setEmail(String email) {
    this._email = email;
  }
 
  public String getEmailConfirm() {
    return _emailConfirm;
  }
  public void setEmailConfirm(String emailConfirm) {
    this._emailConfirm = emailConfirm;
  }
 
  public String getMessage() {
    return _message;
  }
  public void setMessage(String message) {
    this._message = message;
  }
 
  public Integer getInterventionType() {
    return _interventionType;
  }
  public void setInterventionType(Integer interventionType) {
    this._interventionType = interventionType;
  }
 
  public Boolean getTrattamentoDati() {
    return _trattamentoDati;
  }
  public void setTrattamentoDati(Boolean trattamentoDati) {
    this._trattamentoDati = trattamentoDati;
  }
 
  private String _nome;
  private String _cognome;
  private String _codFisc;
  private String _comune;
  private String _localita;
  private String _tipoIndirizzo;
  private String _indirizzo;
  private String _numeroIndirizzo;
  private String _telefono;
  private String _email;
  private String _emailConfirm;
  private String _message;
  private Integer _interventionType;
  private Boolean _trattamentoDati;
 
}
TOP

Related Classes of com.agiletec.plugins.jpwtt.aps.externalframework.ticket.UserTicketAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.