Refactoring the code for replacing the occurences of comunication by communication.
This commit is contained in:
parent
b463d8e42e
commit
bfcbcc3011
34 changed files with 689 additions and 620 deletions
|
|
@ -24,29 +24,29 @@ import java.util.List;
|
|||
import org.hibernate.Criteria;
|
||||
import org.hibernate.criterion.Restrictions;
|
||||
import org.libreplan.business.common.daos.GenericDAOHibernate;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerComunication;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerCommunication;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* Hibernate DAO for {@link CustomerComunication}
|
||||
* Hibernate DAO for {@link CustomerCommunication}
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
||||
*/
|
||||
@Repository
|
||||
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
||||
public class CustomerComunicationDAO extends GenericDAOHibernate<CustomerComunication, Long>
|
||||
implements ICustomerComunicationDAO {
|
||||
public class CustomerCommunicationDAO extends GenericDAOHibernate<CustomerCommunication, Long>
|
||||
implements ICustomerCommunicationDAO {
|
||||
|
||||
@Override
|
||||
public List<CustomerComunication> getAll(){
|
||||
return list(CustomerComunication.class);
|
||||
public List<CustomerCommunication> getAll(){
|
||||
return list(CustomerCommunication.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CustomerComunication> getAllNotReviewed(){
|
||||
Criteria c = getSession().createCriteria(CustomerComunication.class);
|
||||
public List<CustomerCommunication> getAllNotReviewed(){
|
||||
Criteria c = getSession().createCriteria(CustomerCommunication.class);
|
||||
c.add(Restrictions.eq("reviewed", false));
|
||||
return c.list();
|
||||
}
|
||||
|
|
@ -22,18 +22,18 @@ package org.libreplan.business.externalcompanies.daos;
|
|||
import java.util.List;
|
||||
|
||||
import org.libreplan.business.common.daos.IGenericDAO;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerComunication;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerCommunication;
|
||||
|
||||
|
||||
/**
|
||||
* Interface of the DAO for {@link CustomerComunication}
|
||||
* Interface of the DAO for {@link CustomerCommunication}
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
||||
*/
|
||||
public interface ICustomerComunicationDAO extends IGenericDAO<CustomerComunication, Long> {
|
||||
public interface ICustomerCommunicationDAO extends IGenericDAO<CustomerCommunication, Long> {
|
||||
|
||||
List<CustomerComunication> getAll();
|
||||
List<CustomerCommunication> getAll();
|
||||
|
||||
List<CustomerComunication> getAllNotReviewed();
|
||||
List<CustomerCommunication> getAllNotReviewed();
|
||||
|
||||
}
|
||||
|
|
@ -22,17 +22,17 @@ package org.libreplan.business.externalcompanies.entities;
|
|||
import static org.libreplan.business.i18n.I18nHelper._;
|
||||
|
||||
/**
|
||||
* Enum for specified the type of {@link CustomerComunication}
|
||||
* Enum for specified the type of {@link CustomerCommunication}
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
||||
*/
|
||||
public enum ComunicationType {
|
||||
public enum CommunicationType {
|
||||
|
||||
NEW_PROJECT(_("New project")), REPORT_PROGRESS(_("Report advance"));
|
||||
|
||||
private String description;
|
||||
|
||||
private ComunicationType(String description) {
|
||||
private CommunicationType(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ public enum ComunicationType {
|
|||
return this.description;
|
||||
}
|
||||
|
||||
public static ComunicationType getDefault() {
|
||||
public static CommunicationType getDefault() {
|
||||
return NEW_PROJECT;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,136 @@
|
|||
/*
|
||||
* This file is part of LibrePlan
|
||||
*
|
||||
* Copyright (C) 2011 WirelessGalicia, S.L.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.libreplan.business.externalcompanies.entities;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import org.hibernate.validator.NotEmpty;
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.libreplan.business.common.BaseEntity;
|
||||
import org.libreplan.business.orders.entities.Order;
|
||||
|
||||
/**
|
||||
* Entity CustomerCommunication
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
||||
*/
|
||||
public class CustomerCommunication extends BaseEntity {
|
||||
|
||||
private Date deadline;
|
||||
|
||||
private CommunicationType communicationType;
|
||||
|
||||
private Date communicationDate;
|
||||
|
||||
private Boolean reviewed = false;
|
||||
|
||||
private Order order;
|
||||
|
||||
protected CustomerCommunication() {
|
||||
this.setCommunicationDate(new Date());
|
||||
}
|
||||
|
||||
private CustomerCommunication(Date deadline) {
|
||||
this.setDeadline(deadline);
|
||||
this.setCommunicationDate(new Date());
|
||||
}
|
||||
|
||||
public static CustomerCommunication create() {
|
||||
return create(new CustomerCommunication());
|
||||
}
|
||||
|
||||
public static CustomerCommunication createToday(Date deadline) {
|
||||
return create(new CustomerCommunication(deadline));
|
||||
}
|
||||
|
||||
public static CustomerCommunication createTodayNewProject(Date deadline) {
|
||||
return create(new CustomerCommunication(deadline, new Date(),
|
||||
CommunicationType.NEW_PROJECT));
|
||||
}
|
||||
|
||||
protected CustomerCommunication(Date deadline, Date communicationDate,
|
||||
CommunicationType communicationType) {
|
||||
this.setDeadline(deadline);
|
||||
this.setCommunicationDate(communicationDate);
|
||||
this.setCommunicationType(communicationType);
|
||||
}
|
||||
|
||||
protected CustomerCommunication(Date deadline, Date communicationDate,
|
||||
CommunicationType type, Order order) {
|
||||
this.setDeadline(deadline);
|
||||
this.setCommunicationDate(communicationDate);
|
||||
this.setCommunicationType(type);
|
||||
this.setOrder(order);
|
||||
}
|
||||
|
||||
public static CustomerCommunication create(Date deadline,
|
||||
Date communicationDate, CommunicationType communicationType) {
|
||||
return (CustomerCommunication) create(new CustomerCommunication(
|
||||
deadline, communicationDate, communicationType));
|
||||
}
|
||||
|
||||
public static CustomerCommunication create(Date deadline,
|
||||
Date communicationDate, CommunicationType type,
|
||||
Order order) {
|
||||
return (CustomerCommunication) create(new CustomerCommunication(
|
||||
deadline, communicationDate, type, order));
|
||||
}
|
||||
|
||||
public void setDeadline(Date deadline) {
|
||||
this.deadline = deadline;
|
||||
}
|
||||
|
||||
public Date getDeadline() {
|
||||
return deadline;
|
||||
}
|
||||
|
||||
public void setCommunicationType(CommunicationType type) {
|
||||
this.communicationType = type;
|
||||
}
|
||||
|
||||
public CommunicationType getCommunicationType() {
|
||||
return this.communicationType;
|
||||
}
|
||||
|
||||
public void setCommunicationDate(Date communicationDate) {
|
||||
this.communicationDate = communicationDate;
|
||||
}
|
||||
|
||||
public Date getCommunicationDate() {
|
||||
return communicationDate;
|
||||
}
|
||||
|
||||
public void setReviewed(Boolean reviewed) {
|
||||
this.reviewed = reviewed;
|
||||
}
|
||||
|
||||
public Boolean getReviewed() {
|
||||
return reviewed;
|
||||
}
|
||||
|
||||
public void setOrder(Order order) {
|
||||
this.order = order;
|
||||
}
|
||||
|
||||
@NotNull(message = "order not specified")
|
||||
public Order getOrder() {
|
||||
return order;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,129 +0,0 @@
|
|||
/*
|
||||
* This file is part of LibrePlan
|
||||
*
|
||||
* Copyright (C) 2011 WirelessGalicia, S.L.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.libreplan.business.externalcompanies.entities;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import org.hibernate.validator.NotEmpty;
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.libreplan.business.common.BaseEntity;
|
||||
import org.libreplan.business.orders.entities.Order;
|
||||
|
||||
/**
|
||||
* Entity CustomerComunication
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
||||
*/
|
||||
public class CustomerComunication extends BaseEntity{
|
||||
|
||||
private Date deadline;
|
||||
|
||||
private ComunicationType comunicationType;
|
||||
|
||||
private Date comunicationDate;
|
||||
|
||||
private Boolean reviewed = false;
|
||||
|
||||
private Order order;
|
||||
|
||||
protected CustomerComunication() {
|
||||
this.setComunicationDate(new Date());
|
||||
}
|
||||
|
||||
private CustomerComunication(Date deadline) {
|
||||
this.setDeadline(deadline);
|
||||
this.setComunicationDate(new Date());
|
||||
}
|
||||
|
||||
public static CustomerComunication create() {
|
||||
return create(new CustomerComunication());
|
||||
}
|
||||
|
||||
public static CustomerComunication createToday(Date deadline) {
|
||||
return create(new CustomerComunication(deadline));
|
||||
}
|
||||
|
||||
public static CustomerComunication createTodayNewProject(Date deadline) {
|
||||
return create(new CustomerComunication(deadline,
|
||||
new Date(), ComunicationType.NEW_PROJECT));
|
||||
}
|
||||
|
||||
protected CustomerComunication(Date deadline, Date comunicationDate, ComunicationType comunicationType) {
|
||||
this.setDeadline(deadline);
|
||||
this.setComunicationDate(comunicationDate);
|
||||
this.setComunicationType(comunicationType);
|
||||
}
|
||||
|
||||
protected CustomerComunication(Date deadline, Date comunicationDate, ComunicationType comunicationType, Order order) {
|
||||
this.setDeadline(deadline);
|
||||
this.setComunicationDate(comunicationDate);
|
||||
this.setComunicationType(comunicationType);
|
||||
this.setOrder(order);
|
||||
}
|
||||
|
||||
public static CustomerComunication create(Date deadline, Date comunicationDate, ComunicationType comunicationType) {
|
||||
return (CustomerComunication) create(new CustomerComunication(deadline, comunicationDate, comunicationType));
|
||||
}
|
||||
|
||||
public static CustomerComunication create(Date deadline, Date comunicationDate, ComunicationType comunicationType, Order order) {
|
||||
return (CustomerComunication) create(new CustomerComunication(deadline, comunicationDate, comunicationType, order));
|
||||
}
|
||||
|
||||
public void setDeadline(Date deadline) {
|
||||
this.deadline = deadline;
|
||||
}
|
||||
|
||||
public Date getDeadline() {
|
||||
return deadline;
|
||||
}
|
||||
|
||||
public void setComunicationType(ComunicationType comunicationType) {
|
||||
this.comunicationType = comunicationType;
|
||||
}
|
||||
|
||||
public ComunicationType getComunicationType() {
|
||||
return comunicationType;
|
||||
}
|
||||
|
||||
public void setComunicationDate(Date comunicationDate) {
|
||||
this.comunicationDate = comunicationDate;
|
||||
}
|
||||
|
||||
public Date getComunicationDate() {
|
||||
return comunicationDate;
|
||||
}
|
||||
|
||||
public void setReviewed(Boolean reviewed) {
|
||||
this.reviewed = reviewed;
|
||||
}
|
||||
|
||||
public Boolean getReviewed() {
|
||||
return reviewed;
|
||||
}
|
||||
|
||||
public void setOrder(Order order) {
|
||||
this.order = order;
|
||||
}
|
||||
|
||||
@NotNull(message = "order not specified")
|
||||
public Order getOrder() {
|
||||
return order;
|
||||
}
|
||||
}
|
||||
|
|
@ -41,7 +41,7 @@ import org.libreplan.business.calendars.entities.BaseCalendar;
|
|||
import org.libreplan.business.common.Registry;
|
||||
import org.libreplan.business.common.entities.EntitySequence;
|
||||
import org.libreplan.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerComunication;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerCommunication;
|
||||
import org.libreplan.business.externalcompanies.entities.ExternalCompany;
|
||||
import org.libreplan.business.orders.daos.IOrderDAO;
|
||||
import org.libreplan.business.planner.entities.DayAssignment;
|
||||
|
|
@ -105,7 +105,7 @@ public class Order extends OrderLineGroup implements Comparable {
|
|||
|
||||
private CurrentVersionInfo currentVersionInfo;
|
||||
|
||||
private Set<CustomerComunication> customerComunications = new HashSet<CustomerComunication>();
|
||||
private Set<CustomerCommunication> customerCommunications = new HashSet<CustomerCommunication>();
|
||||
|
||||
public enum SchedulingMode {
|
||||
FORWARD, BACKWARDS;
|
||||
|
|
@ -568,12 +568,12 @@ public class Order extends OrderLineGroup implements Comparable {
|
|||
return this.getName().compareToIgnoreCase(((Order) o).getName());
|
||||
}
|
||||
|
||||
public void setCustomerComunications(Set<CustomerComunication> customerComunications) {
|
||||
this.customerComunications = customerComunications;
|
||||
public void setCustomerCommunications(Set<CustomerCommunication> customerCommunications) {
|
||||
this.customerCommunications = customerCommunications;
|
||||
}
|
||||
|
||||
public Set<CustomerComunication> getCustomerComunications() {
|
||||
return customerComunications;
|
||||
public Set<CustomerCommunication> getCustomerCommunications() {
|
||||
return customerCommunications;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,11 +22,11 @@ package org.libreplan.business.planner.daos;
|
|||
import java.util.List;
|
||||
|
||||
import org.libreplan.business.common.daos.IGenericDAO;
|
||||
import org.libreplan.business.planner.entities.SubcontractorComunication;
|
||||
import org.libreplan.business.planner.entities.SubcontractorCommunication;
|
||||
|
||||
public interface ISubcontractorComunicationDAO extends IGenericDAO<SubcontractorComunication, Long> {
|
||||
public interface ISubcontractorCommunicationDAO extends IGenericDAO<SubcontractorCommunication, Long> {
|
||||
|
||||
List<SubcontractorComunication> getAll();
|
||||
List<SubcontractorCommunication> getAll();
|
||||
|
||||
List<SubcontractorComunication> getAllNotReviewed();
|
||||
List<SubcontractorCommunication> getAllNotReviewed();
|
||||
}
|
||||
|
|
@ -24,29 +24,29 @@ import java.util.List;
|
|||
import org.hibernate.Criteria;
|
||||
import org.hibernate.criterion.Restrictions;
|
||||
import org.libreplan.business.common.daos.GenericDAOHibernate;
|
||||
import org.libreplan.business.planner.entities.SubcontractorComunication;
|
||||
import org.libreplan.business.planner.entities.SubcontractorCommunication;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* DAO for {@link SubcontractorComunication}
|
||||
* DAO for {@link SubcontractorCommunication}
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
||||
*/
|
||||
|
||||
@Repository
|
||||
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
||||
public class SubcontractorComunicationDAO extends GenericDAOHibernate<SubcontractorComunication, Long>
|
||||
implements ISubcontractorComunicationDAO {
|
||||
public class SubcontractorCommunicationDAO extends GenericDAOHibernate<SubcontractorCommunication, Long>
|
||||
implements ISubcontractorCommunicationDAO {
|
||||
|
||||
@Override
|
||||
public List<SubcontractorComunication> getAll() {
|
||||
return list(SubcontractorComunication.class);
|
||||
public List<SubcontractorCommunication> getAll() {
|
||||
return list(SubcontractorCommunication.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SubcontractorComunication> getAllNotReviewed(){
|
||||
Criteria c = getSession().createCriteria(SubcontractorComunication.class);
|
||||
public List<SubcontractorCommunication> getAllNotReviewed(){
|
||||
Criteria c = getSession().createCriteria(SubcontractorCommunication.class);
|
||||
c.add(Restrictions.eq("reviewed", false));
|
||||
return c.list();
|
||||
}
|
||||
|
|
@ -0,0 +1,125 @@
|
|||
/*
|
||||
* This file is part of LibrePlan
|
||||
*
|
||||
* Copyright (C) 2011 WirelessGalicia, S.L.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.libreplan.business.planner.entities;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.libreplan.business.common.BaseEntity;
|
||||
import org.libreplan.business.externalcompanies.entities.CommunicationType;
|
||||
import org.libreplan.business.qualityforms.entities.QualityFormItem;
|
||||
|
||||
/**
|
||||
* Entity {@link SubcontractorCommunication}.
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia>
|
||||
*/
|
||||
public class SubcontractorCommunication extends BaseEntity {
|
||||
|
||||
private SubcontractedTaskData subcontractedTaskData;
|
||||
|
||||
private CommunicationType communicationType;
|
||||
|
||||
private Date communicationDate;
|
||||
|
||||
private Boolean reviewed = false;
|
||||
|
||||
private List<SubcontractorCommunicationValue> subcontractorCommunicationValues = new ArrayList<SubcontractorCommunicationValue>();
|
||||
|
||||
// Default constructor, needed by Hibernate
|
||||
protected SubcontractorCommunication() {
|
||||
|
||||
}
|
||||
|
||||
private SubcontractorCommunication ( SubcontractedTaskData subcontractedTaskData, CommunicationType communicationType, Date communicationDate, Boolean reviewed){
|
||||
this.setSubcontractedTaskData(subcontractedTaskData);
|
||||
this.setCommunicationType(communicationType);
|
||||
this.setCommunicationDate(communicationDate);
|
||||
this.setReviewed(reviewed);
|
||||
}
|
||||
|
||||
public static SubcontractorCommunication create(
|
||||
SubcontractedTaskData subcontractedTaskData,
|
||||
CommunicationType communicationType, Date communicationDate,
|
||||
Boolean reviewed) {
|
||||
return create(new SubcontractorCommunication(subcontractedTaskData,
|
||||
communicationType, communicationDate, reviewed));
|
||||
}
|
||||
|
||||
public static SubcontractorCommunication create() {
|
||||
return create(new SubcontractorCommunication());
|
||||
}
|
||||
|
||||
public void setSubcontractedTaskData(SubcontractedTaskData subcontractedTaskData) {
|
||||
this.subcontractedTaskData = subcontractedTaskData;
|
||||
}
|
||||
|
||||
@NotNull(message="subcontrated task data not specified")
|
||||
public SubcontractedTaskData getSubcontractedTaskData() {
|
||||
return subcontractedTaskData;
|
||||
}
|
||||
|
||||
public void setCommunicationType(CommunicationType communicationType) {
|
||||
this.communicationType = communicationType;
|
||||
}
|
||||
|
||||
public CommunicationType getCommunicationType() {
|
||||
return communicationType;
|
||||
}
|
||||
|
||||
public void setCommunicationDate(Date communicationDate) {
|
||||
this.communicationDate = communicationDate;
|
||||
}
|
||||
|
||||
public Date getCommunicationDate() {
|
||||
return communicationDate;
|
||||
}
|
||||
|
||||
public void setReviewed(Boolean reviewed) {
|
||||
this.reviewed = reviewed;
|
||||
}
|
||||
|
||||
public Boolean getReviewed() {
|
||||
return reviewed;
|
||||
}
|
||||
|
||||
public void setSubcontractorCommunicationValues(
|
||||
List<SubcontractorCommunicationValue> subcontractorCommunicationValues) {
|
||||
this.subcontractorCommunicationValues = subcontractorCommunicationValues;
|
||||
}
|
||||
|
||||
public List<SubcontractorCommunicationValue> getSubcontractorCommunicationValues() {
|
||||
return subcontractorCommunicationValues;
|
||||
}
|
||||
|
||||
public SubcontractorCommunicationValue getLastSubcontractorCommunicationValues(){
|
||||
if (subcontractorCommunicationValues.isEmpty()){
|
||||
return null;
|
||||
}
|
||||
return subcontractorCommunicationValues.get(subcontractorCommunicationValues.size()-1);
|
||||
}
|
||||
|
||||
public Date getLastSubcontractorCommunicationValueDate(){
|
||||
SubcontractorCommunicationValue value = getLastSubcontractorCommunicationValues();
|
||||
return (value == null) ? null : value.getDate();
|
||||
}
|
||||
}
|
||||
|
|
@ -27,31 +27,31 @@ import org.hibernate.validator.AssertTrue;
|
|||
import org.libreplan.business.INewObject;
|
||||
|
||||
/**
|
||||
* Entity to represent each {@SubcontractorComunicationValue}.
|
||||
* Entity to represent each {@SubcontractorCommunicationValue}.
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia>
|
||||
*/
|
||||
public class SubcontractorComunicationValue implements INewObject {
|
||||
public class SubcontractorCommunicationValue implements INewObject {
|
||||
|
||||
public static SubcontractorComunicationValue create() {
|
||||
SubcontractorComunicationValue subcontractorComunicationValue = new SubcontractorComunicationValue();
|
||||
subcontractorComunicationValue.setNewObject(true);
|
||||
return subcontractorComunicationValue;
|
||||
public static SubcontractorCommunicationValue create() {
|
||||
SubcontractorCommunicationValue subcontractorCommunicationValue = new SubcontractorCommunicationValue();
|
||||
subcontractorCommunicationValue.setNewObject(true);
|
||||
return subcontractorCommunicationValue;
|
||||
}
|
||||
|
||||
public static SubcontractorComunicationValue create(Date date,
|
||||
public static SubcontractorCommunicationValue create(Date date,
|
||||
BigDecimal progress) {
|
||||
SubcontractorComunicationValue subcontractorComunicationValue = new SubcontractorComunicationValue(
|
||||
SubcontractorCommunicationValue subcontractorCommunicationValue = new SubcontractorCommunicationValue(
|
||||
date, progress);
|
||||
subcontractorComunicationValue.setNewObject(true);
|
||||
return subcontractorComunicationValue;
|
||||
subcontractorCommunicationValue.setNewObject(true);
|
||||
return subcontractorCommunicationValue;
|
||||
}
|
||||
|
||||
protected SubcontractorComunicationValue() {
|
||||
protected SubcontractorCommunicationValue() {
|
||||
|
||||
}
|
||||
|
||||
private SubcontractorComunicationValue(Date date, BigDecimal progress) {
|
||||
private SubcontractorCommunicationValue(Date date, BigDecimal progress) {
|
||||
this.setDate(date);
|
||||
this.setProgress(progress);
|
||||
}
|
||||
|
|
@ -1,125 +0,0 @@
|
|||
/*
|
||||
* This file is part of LibrePlan
|
||||
*
|
||||
* Copyright (C) 2011 WirelessGalicia, S.L.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.libreplan.business.planner.entities;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.libreplan.business.common.BaseEntity;
|
||||
import org.libreplan.business.externalcompanies.entities.ComunicationType;
|
||||
import org.libreplan.business.qualityforms.entities.QualityFormItem;
|
||||
|
||||
/**
|
||||
* Entity {@link SubcontractorComunication}.
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia>
|
||||
*/
|
||||
public class SubcontractorComunication extends BaseEntity {
|
||||
|
||||
private SubcontractedTaskData subcontractedTaskData;
|
||||
|
||||
private ComunicationType comunicationType;
|
||||
|
||||
private Date comunicationDate;
|
||||
|
||||
private Boolean reviewed = false;
|
||||
|
||||
private List<SubcontractorComunicationValue> subcontratorComunicationValues = new ArrayList<SubcontractorComunicationValue>();
|
||||
|
||||
// Default constructor, needed by Hibernate
|
||||
protected SubcontractorComunication() {
|
||||
|
||||
}
|
||||
|
||||
private SubcontractorComunication ( SubcontractedTaskData subcontractedTaskData, ComunicationType comunicationType, Date comunicationDate, Boolean reviewed){
|
||||
this.setSubcontractedTaskData(subcontractedTaskData);
|
||||
this.setComunicationType(comunicationType);
|
||||
this.setComunicationDate(comunicationDate);
|
||||
this.setReviewed(reviewed);
|
||||
}
|
||||
|
||||
public static SubcontractorComunication create(
|
||||
SubcontractedTaskData subcontractedTaskData,
|
||||
ComunicationType comunicationType, Date comunicationDate,
|
||||
Boolean reviewed) {
|
||||
return create(new SubcontractorComunication(subcontractedTaskData,
|
||||
comunicationType, comunicationDate, reviewed));
|
||||
}
|
||||
|
||||
public static SubcontractorComunication create() {
|
||||
return create(new SubcontractorComunication());
|
||||
}
|
||||
|
||||
public void setSubcontractedTaskData(SubcontractedTaskData subcontractedTaskData) {
|
||||
this.subcontractedTaskData = subcontractedTaskData;
|
||||
}
|
||||
|
||||
@NotNull(message="subcontrated task data not specified")
|
||||
public SubcontractedTaskData getSubcontractedTaskData() {
|
||||
return subcontractedTaskData;
|
||||
}
|
||||
|
||||
public void setComunicationType(ComunicationType comunicationType) {
|
||||
this.comunicationType = comunicationType;
|
||||
}
|
||||
|
||||
public ComunicationType getComunicationType() {
|
||||
return comunicationType;
|
||||
}
|
||||
|
||||
public void setComunicationDate(Date comunicationDate) {
|
||||
this.comunicationDate = comunicationDate;
|
||||
}
|
||||
|
||||
public Date getComunicationDate() {
|
||||
return comunicationDate;
|
||||
}
|
||||
|
||||
public void setReviewed(Boolean reviewed) {
|
||||
this.reviewed = reviewed;
|
||||
}
|
||||
|
||||
public Boolean getReviewed() {
|
||||
return reviewed;
|
||||
}
|
||||
|
||||
public void setSubcontratorComunicationValues(
|
||||
List<SubcontractorComunicationValue> subcontratorComunicationValues) {
|
||||
this.subcontratorComunicationValues = subcontratorComunicationValues;
|
||||
}
|
||||
|
||||
public List<SubcontractorComunicationValue> getSubcontratorComunicationValues() {
|
||||
return subcontratorComunicationValues;
|
||||
}
|
||||
|
||||
public SubcontractorComunicationValue getLastSubcontratorComunicationValues(){
|
||||
if (subcontratorComunicationValues.isEmpty()){
|
||||
return null;
|
||||
}
|
||||
return subcontratorComunicationValues.get(subcontratorComunicationValues.size()-1);
|
||||
}
|
||||
|
||||
public Date getLastSubcontratorComunicationValueDate(){
|
||||
SubcontractorComunicationValue value = getLastSubcontratorComunicationValues();
|
||||
return (value == null) ? null : value.getDate();
|
||||
}
|
||||
}
|
||||
|
|
@ -43,6 +43,51 @@
|
|||
<constraints nullable="false"/>
|
||||
</column>
|
||||
</createTable>
|
||||
|
||||
</changeSet>
|
||||
<changeSet id="rename-table-customer_comunication-to-customer_communication" author="smontes">
|
||||
<comment>Rename table customer_comunication to customer_communication</comment>
|
||||
<renameTable oldTableName="customer_comunication" newTableName="customer_communication" />
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
<changeSet id="rename-column-comunication_type-to-communication_type" author="smontes">
|
||||
<comment>Rename column comunication_type to communication_type</comment>
|
||||
<renameColumn tableName="customer_communication" oldColumnName="comunication_type"
|
||||
newColumnName="communication_type"/>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="rename-column-comunication_date-to-communication_date" author="smontes">
|
||||
<comment>Rename column comunication_date to communication_date</comment>
|
||||
<renameColumn tableName="customer_communication" oldColumnName="comunication_date"
|
||||
newColumnName="communication_date"/>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="rename-table-subcontractor_comunication" author="smontes">
|
||||
<comment>Rename table subcontractor_comunication to subcontractor_communication</comment>
|
||||
<renameTable oldTableName="subcontractor_comunication" newTableName="subcontractor_communication" />
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="rename-column-comunication_type-on-subcontractor-communication" author="smontes">
|
||||
<comment>Rename column comunication_type to communication_type</comment>
|
||||
<renameColumn tableName="subcontractor_communication" oldColumnName="comunication_type"
|
||||
newColumnName="communication_type"/>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="rename-column-comunication_date-on-subcontractor-communication" author="smontes">
|
||||
<comment>Rename column comunication_date to communication_date</comment>
|
||||
<renameColumn tableName="subcontractor_communication" oldColumnName="comunication_date"
|
||||
newColumnName="communication_date"/>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="rename-table-subcontractor_comunication_values" author="smontes">
|
||||
<comment>Rename table subcontractor_comunication_values to subcontractor_communication_values</comment>
|
||||
<renameTable oldTableName="subcontrator_comunication_values" newTableName="subcontractor_communication_values" />
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="rename-column-subcontractor_comunication_id" author="smontes">
|
||||
<comment>Rename column subcontractor_comunication_id</comment>
|
||||
<renameColumn tableName="subcontractor_communication_values" oldColumnName="subcontractor_comunication_id"
|
||||
newColumnName="subcontractor_communication_id"/>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@
|
|||
org/libreplan/business/planner/entities/AdvanceConsolidations.hbm.xml
|
||||
</value>
|
||||
<value>
|
||||
org/libreplan/business/planner/entities/SubcontractorComunication.hbm.xml
|
||||
org/libreplan/business/planner/entities/SubcontractorCommunication.hbm.xml
|
||||
</value>
|
||||
<value>
|
||||
org/libreplan/business/scenarios/entities/Scenarios.hbm.xml
|
||||
|
|
|
|||
|
|
@ -33,8 +33,8 @@
|
|||
column="company_user" />
|
||||
</class>
|
||||
|
||||
<!-- CustomerComunication -->
|
||||
<class name="CustomerComunication" table="customer_comunication">
|
||||
<!-- CustomerCommunication -->
|
||||
<class name="CustomerCommunication" table="customer_communication">
|
||||
<id name="id" type="long" access="property">
|
||||
<generator class="hilo">
|
||||
<param name="max_lo">100</param>
|
||||
|
|
@ -43,14 +43,14 @@
|
|||
<version name="version" access="property" type="long" />
|
||||
|
||||
<property name="deadline" access="field"/>
|
||||
<property name="comunicationType" access="field" column="comunication_type">
|
||||
<property name="communicationType" access="field" column="communication_type">
|
||||
<type name="org.hibernate.type.EnumType">
|
||||
<param name="enumClass">
|
||||
org.libreplan.business.externalcompanies.entities.ComunicationType
|
||||
org.libreplan.business.externalcompanies.entities.CommunicationType
|
||||
</param>
|
||||
</type>
|
||||
</property>
|
||||
<property name="comunicationDate" access="field" column="comunication_date" />
|
||||
<property name="communicationDate" access="field" column="communication_date" />
|
||||
<property name="reviewed" access="field" column="reviewed" />
|
||||
<many-to-one name="order" class="org.libreplan.business.orders.entities.Order" column="order_id" />
|
||||
</class>
|
||||
|
|
|
|||
|
|
@ -146,9 +146,9 @@
|
|||
class="org.libreplan.business.scenarios.entities.OrderVersion"/>
|
||||
</map>
|
||||
|
||||
<set name="customerComunications" cascade="delete-orphan" inverse="true" >
|
||||
<set name="customerCommunications" cascade="delete-orphan" inverse="true" >
|
||||
<key column="order_id" />
|
||||
<one-to-many class="org.libreplan.business.externalcompanies.entities.CustomerComunication" />
|
||||
<one-to-many class="org.libreplan.business.externalcompanies.entities.CustomerCommunication" />
|
||||
</set>
|
||||
</joined-subclass>
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
<hibernate-mapping package="org.libreplan.business.planner.entities"
|
||||
default-access="field">
|
||||
|
||||
<!-- SubcontractorCommunication -->
|
||||
<class name="SubcontractorCommunication" table="subcontractor_communication">
|
||||
<id name="id" type="long" access="property">
|
||||
<generator class="hilo">
|
||||
<param name="max_lo">100</param>
|
||||
</generator>
|
||||
</id>
|
||||
<version name="version" access="property" type="long" />
|
||||
<property name="communicationType" access="field"
|
||||
column="communication_type">
|
||||
<type name="org.hibernate.type.EnumType">
|
||||
<param name="enumClass">
|
||||
org.libreplan.business.externalcompanies.entities.CommunicationType
|
||||
</param>
|
||||
</type>
|
||||
</property>
|
||||
<property name="communicationDate" access="field"
|
||||
column="communication_date" />
|
||||
<property name="reviewed" access="field" column="reviewed" />
|
||||
<many-to-one name="subcontractedTaskData"
|
||||
class="org.libreplan.business.planner.entities.SubcontractedTaskData"
|
||||
column="Subcontracted_task_data" />
|
||||
|
||||
<list name="subcontractorCommunicationValues" table="subcontractor_communication_values">
|
||||
<key column="subcontractor_communication_id" />
|
||||
<index column="idx" />
|
||||
<composite-element
|
||||
class="org.libreplan.business.planner.entities.SubcontractorCommunicationValue">
|
||||
<property name="date" access="field" />
|
||||
<property name="progress" access="field" />
|
||||
</composite-element>
|
||||
</list>
|
||||
</class>
|
||||
|
||||
</hibernate-mapping>
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
<hibernate-mapping package="org.libreplan.business.planner.entities" default-access="field">
|
||||
|
||||
<!-- SubcontractorComunication -->
|
||||
<class name="SubcontractorComunication" table="subcontractor_comunication">
|
||||
<id name="id" type="long" access="property">
|
||||
<generator class="hilo">
|
||||
<param name="max_lo">100</param>
|
||||
</generator>
|
||||
</id>
|
||||
<version name="version" access="property" type="long" />
|
||||
<property name="comunicationType" access="field" column="comunication_type">
|
||||
<type name="org.hibernate.type.EnumType">
|
||||
<param name="enumClass">
|
||||
org.libreplan.business.externalcompanies.entities.ComunicationType
|
||||
</param>
|
||||
</type>
|
||||
</property>
|
||||
<property name="comunicationDate" access="field" column="comunication_date" />
|
||||
<property name="reviewed" access="field" column="reviewed" />
|
||||
<many-to-one name="subcontractedTaskData" class="org.libreplan.business.planner.entities.SubcontractedTaskData" column="Subcontracted_task_data" />
|
||||
|
||||
<list name="subcontratorComunicationValues" table="subcontrator_comunication_values">
|
||||
<key column="subcontractor_comunication_id"/>
|
||||
<index column="idx"/>
|
||||
<composite-element class="org.libreplan.business.planner.entities.SubcontractorComunicationValue">
|
||||
<property name="date" access="field"/>
|
||||
<property name="progress" access="field"/>
|
||||
</composite-element>
|
||||
</list>
|
||||
</class>
|
||||
|
||||
</hibernate-mapping>
|
||||
|
|
@ -39,8 +39,8 @@ import org.libreplan.business.common.IAdHocTransactionService;
|
|||
import org.libreplan.business.common.IOnTransaction;
|
||||
import org.libreplan.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.libreplan.business.common.exceptions.ValidationException;
|
||||
import org.libreplan.business.externalcompanies.daos.ICustomerComunicationDAO;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerComunication;
|
||||
import org.libreplan.business.externalcompanies.daos.ICustomerCommunicationDAO;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerCommunication;
|
||||
import org.libreplan.business.externalcompanies.entities.ExternalCompany;
|
||||
import org.libreplan.business.orders.daos.IOrderDAO;
|
||||
import org.libreplan.business.orders.entities.Order;
|
||||
|
|
@ -54,7 +54,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
* Tests for {@link CustomerComunication}
|
||||
* Tests for {@link CustomerCommunication}
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
||||
*/
|
||||
|
|
@ -62,10 +62,10 @@ import static org.junit.Assert.assertTrue;
|
|||
@ContextConfiguration(locations = { BUSINESS_SPRING_CONFIG_FILE,
|
||||
BUSINESS_SPRING_CONFIG_TEST_FILE })
|
||||
@Transactional
|
||||
public class CustomerComunicationDAOTest {
|
||||
public class CustomerCommunicationDAOTest {
|
||||
|
||||
@Autowired
|
||||
ICustomerComunicationDAO customerComunicationDAO;
|
||||
ICustomerCommunicationDAO customerCommunicationDAO;
|
||||
|
||||
@Autowired
|
||||
IOrderDAO orderDAO;
|
||||
|
|
@ -91,12 +91,12 @@ public class CustomerComunicationDAOTest {
|
|||
return date.toDateTimeAtStartOfDay().toDate();
|
||||
}
|
||||
|
||||
public CustomerComunication createValidCustomerComunication() {
|
||||
public CustomerCommunication createValidCustomerCommunication() {
|
||||
Order order = createValidOrder("Order A");
|
||||
CustomerComunication customerComunication = CustomerComunication
|
||||
CustomerCommunication customerCommunication = CustomerCommunication
|
||||
.createTodayNewProject(givenDeadLine(2));
|
||||
customerComunication.setOrder(order);
|
||||
return customerComunication;
|
||||
customerCommunication.setOrder(order);
|
||||
return customerCommunication;
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -105,35 +105,35 @@ public class CustomerComunicationDAOTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testCustomerComunicationDAOInSpringContainer() {
|
||||
assertNotNull(customerComunicationDAO);
|
||||
public void testCustomerCommunicationDAOInSpringContainer() {
|
||||
assertNotNull(customerCommunicationDAO);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSaveCustomerComunication() {
|
||||
CustomerComunication customerComunication = createValidCustomerComunication();
|
||||
customerComunicationDAO.save(customerComunication);
|
||||
assertTrue(customerComunication.getId() != null);
|
||||
public void testSaveCustomerCommunication() {
|
||||
CustomerCommunication customerCommunication = createValidCustomerCommunication();
|
||||
customerCommunicationDAO.save(customerCommunication);
|
||||
assertTrue(customerCommunication.getId() != null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveCustomerComunication()
|
||||
public void testRemoveCustomerCommunication()
|
||||
throws InstanceNotFoundException {
|
||||
CustomerComunication customerComunication = createValidCustomerComunication();
|
||||
customerComunicationDAO.save(customerComunication);
|
||||
assertTrue(customerComunication.getId() != null);
|
||||
customerComunicationDAO.remove(customerComunication.getId());
|
||||
assertFalse(customerComunicationDAO
|
||||
.exists(customerComunication.getId()));
|
||||
CustomerCommunication customerCommunication = createValidCustomerCommunication();
|
||||
customerCommunicationDAO.save(customerCommunication);
|
||||
assertTrue(customerCommunication.getId() != null);
|
||||
customerCommunicationDAO.remove(customerCommunication.getId());
|
||||
assertFalse(customerCommunicationDAO
|
||||
.exists(customerCommunication.getId()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSaveCustomerComunicationWithoutOrder()
|
||||
public void testSaveCustomerCommunicationWithoutOrder()
|
||||
throws InstanceNotFoundException {
|
||||
CustomerComunication customerComunication = createValidCustomerComunication();
|
||||
customerComunication.setOrder(null);
|
||||
CustomerCommunication customerCommunication = createValidCustomerCommunication();
|
||||
customerCommunication.setOrder(null);
|
||||
try {
|
||||
customerComunicationDAO.save(customerComunication);
|
||||
customerCommunicationDAO.save(customerCommunication);
|
||||
fail("It should throw an exception");
|
||||
} catch (ValidationException e) {
|
||||
// Ok
|
||||
|
|
@ -43,10 +43,10 @@ import org.libreplan.business.common.IOnTransaction;
|
|||
import org.libreplan.business.common.daos.IConfigurationDAO;
|
||||
import org.libreplan.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.libreplan.business.common.exceptions.ValidationException;
|
||||
import org.libreplan.business.externalcompanies.daos.ICustomerComunicationDAO;
|
||||
import org.libreplan.business.externalcompanies.daos.ICustomerCommunicationDAO;
|
||||
import org.libreplan.business.externalcompanies.daos.IExternalCompanyDAO;
|
||||
import org.libreplan.business.externalcompanies.entities.ComunicationType;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerComunication;
|
||||
import org.libreplan.business.externalcompanies.entities.CommunicationType;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerCommunication;
|
||||
import org.libreplan.business.externalcompanies.entities.ExternalCompany;
|
||||
import org.libreplan.business.orders.daos.IOrderDAO;
|
||||
import org.libreplan.business.orders.entities.HoursGroup;
|
||||
|
|
@ -56,11 +56,11 @@ import org.libreplan.business.orders.entities.SchedulingDataForVersion;
|
|||
import org.libreplan.business.orders.entities.TaskSource;
|
||||
import org.libreplan.business.orders.entities.TaskSource.TaskSourceSynchronization;
|
||||
import org.libreplan.business.planner.daos.ISubcontractedTaskDataDAO;
|
||||
import org.libreplan.business.planner.daos.ISubcontractorComunicationDAO;
|
||||
import org.libreplan.business.planner.daos.ISubcontractorCommunicationDAO;
|
||||
import org.libreplan.business.planner.daos.ITaskElementDAO;
|
||||
import org.libreplan.business.planner.daos.ITaskSourceDAO;
|
||||
import org.libreplan.business.planner.entities.SubcontractedTaskData;
|
||||
import org.libreplan.business.planner.entities.SubcontractorComunication;
|
||||
import org.libreplan.business.planner.entities.SubcontractorCommunication;
|
||||
import org.libreplan.business.planner.entities.Task;
|
||||
import org.libreplan.business.scenarios.IScenarioManager;
|
||||
import org.libreplan.business.scenarios.bootstrap.IScenariosBootstrap;
|
||||
|
|
@ -75,7 +75,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
* Tests for {@link SubcontractorComunication}
|
||||
* Tests for {@link SubcontractorCommunication}
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
||||
*/
|
||||
|
|
@ -83,10 +83,10 @@ import static org.junit.Assert.assertTrue;
|
|||
@ContextConfiguration(locations = { BUSINESS_SPRING_CONFIG_FILE,
|
||||
BUSINESS_SPRING_CONFIG_TEST_FILE })
|
||||
@Transactional
|
||||
public class SubcontractorComunicationDAOTest {
|
||||
public class SubcontractorCommunicationDAOTest {
|
||||
|
||||
@Autowired
|
||||
ISubcontractorComunicationDAO subcontractorComunicationDAO;
|
||||
ISubcontractorCommunicationDAO subcontractorCommunicationDAO;
|
||||
|
||||
@Autowired
|
||||
ISubcontractedTaskDataDAO subcontractedTaskDataDAO;
|
||||
|
|
@ -204,45 +204,45 @@ public class SubcontractorComunicationDAOTest {
|
|||
return subcontractedTaskData;
|
||||
}
|
||||
|
||||
public SubcontractorComunication createValidSubcontractorComunication(){
|
||||
public SubcontractorCommunication createValidSubcontractorCommunication(){
|
||||
SubcontractedTaskData subcontractedTaskData = createValidSubcontractedTaskData("Task A");
|
||||
Date comunicationDate = new Date();
|
||||
SubcontractorComunication subcontractorComunication = SubcontractorComunication
|
||||
.create(subcontractedTaskData, ComunicationType.NEW_PROJECT,
|
||||
comunicationDate, false);
|
||||
return subcontractorComunication;
|
||||
Date communicationDate = new Date();
|
||||
SubcontractorCommunication subcontractorCommunication = SubcontractorCommunication
|
||||
.create(subcontractedTaskData, CommunicationType.NEW_PROJECT,
|
||||
communicationDate, false);
|
||||
return subcontractorCommunication;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSubcontractorComunicationDAOInSpringContainer() {
|
||||
assertNotNull(subcontractorComunicationDAO);
|
||||
public void testSubcontractorCommunicationDAOInSpringContainer() {
|
||||
assertNotNull(subcontractorCommunicationDAO);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSaveCustomerComunication() {
|
||||
SubcontractorComunication subcontractorComunication = createValidSubcontractorComunication();
|
||||
subcontractorComunicationDAO.save(subcontractorComunication);
|
||||
assertTrue(subcontractorComunication.getId() != null);
|
||||
public void testSaveCustomerCommunication() {
|
||||
SubcontractorCommunication subcontractorCommunication = createValidSubcontractorCommunication();
|
||||
subcontractorCommunicationDAO.save(subcontractorCommunication);
|
||||
assertTrue(subcontractorCommunication.getId() != null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveCustomerComunication()
|
||||
public void testRemoveCustomerCommunication()
|
||||
throws InstanceNotFoundException {
|
||||
SubcontractorComunication customerComunication = createValidSubcontractorComunication();
|
||||
subcontractorComunicationDAO.save(customerComunication);
|
||||
assertTrue(customerComunication.getId() != null);
|
||||
subcontractorComunicationDAO.remove(customerComunication.getId());
|
||||
assertFalse(subcontractorComunicationDAO
|
||||
.exists(customerComunication.getId()));
|
||||
SubcontractorCommunication customerCommunication = createValidSubcontractorCommunication();
|
||||
subcontractorCommunicationDAO.save(customerCommunication);
|
||||
assertTrue(customerCommunication.getId() != null);
|
||||
subcontractorCommunicationDAO.remove(customerCommunication.getId());
|
||||
assertFalse(subcontractorCommunicationDAO
|
||||
.exists(customerCommunication.getId()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSaveCustomerComunicationWithoutSubcontratedTaskData()
|
||||
public void testSaveCustomerCommunicationWithoutSubcontratedTaskData()
|
||||
throws InstanceNotFoundException {
|
||||
SubcontractorComunication subcontractorComunication = createValidSubcontractorComunication();
|
||||
subcontractorComunication.setSubcontractedTaskData(null);
|
||||
SubcontractorCommunication subcontractorCommunication = createValidSubcontractorCommunication();
|
||||
subcontractorCommunication.setSubcontractedTaskData(null);
|
||||
try {
|
||||
subcontractorComunicationDAO.save(subcontractorComunication);
|
||||
subcontractorCommunicationDAO.save(subcontractorCommunication);
|
||||
fail("It should throw an exception");
|
||||
} catch (ValidationException e) {
|
||||
// Ok
|
||||
|
|
@ -88,7 +88,7 @@
|
|||
org/libreplan/business/planner/entities/AdvanceConsolidations.hbm.xml
|
||||
</value>
|
||||
<value>
|
||||
org/libreplan/business/planner/entities/SubcontractorComunication.hbm.xml
|
||||
org/libreplan/business/planner/entities/SubcontractorCommunication.hbm.xml
|
||||
</value>
|
||||
<value>
|
||||
org/libreplan/business/scenarios/entities/Scenarios.hbm.xml
|
||||
|
|
|
|||
|
|
@ -299,9 +299,9 @@ public class CustomMenuController extends Div implements IMenuItemsRegister {
|
|||
}
|
||||
resourcesItems.add(subItem(_("Subcontracting"), "/subcontract/subcontractedTasks.zul", "",
|
||||
subItem(_("Subcontracted Tasks"), "/subcontract/subcontractedTasks.zul", ""),
|
||||
subItem(_("Incoming communications from subcontractors"), "/subcontract/subcontractorComunications.zul",""),
|
||||
subItem(_("Incoming communications from subcontractors"), "/subcontract/subcontractorCommunications.zul",""),
|
||||
subItem(_("Report Progress"), "/subcontract/reportAdvances.zul", ""),
|
||||
subItem(_("Customer subcontracted projects communications"), "/subcontract/customerComunications.zul","")));
|
||||
subItem(_("Customer subcontracted projects communications"), "/subcontract/customerCommunications.zul","")));
|
||||
topItem(_("Resources"), "/resources/worker/worker.zul", "", resourcesItems);
|
||||
|
||||
if (isScenariosVisible()) {
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ import javax.annotation.Resource;
|
|||
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.libreplan.business.common.exceptions.ValidationException;
|
||||
import org.libreplan.business.externalcompanies.entities.ComunicationType;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerComunication;
|
||||
import org.libreplan.business.externalcompanies.entities.CommunicationType;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerCommunication;
|
||||
import org.libreplan.business.orders.entities.Order;
|
||||
import org.libreplan.web.common.IMessagesForUser;
|
||||
import org.libreplan.web.common.MessagesForUser;
|
||||
|
|
@ -49,19 +49,19 @@ import org.zkoss.zul.RowRenderer;
|
|||
import org.zkoss.zul.SimpleListModel;
|
||||
|
||||
/**
|
||||
* Controller for CRUD actions over a {@link CustomerComunication}
|
||||
* Controller for CRUD actions over a {@link CustomerCommunication}
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public class CustomerComunicationCRUDController extends GenericForwardComposer {
|
||||
public class CustomerCommunicationCRUDController extends GenericForwardComposer {
|
||||
|
||||
private static final org.apache.commons.logging.Log LOG = LogFactory
|
||||
.getLog(CustomerComunicationCRUDController.class);
|
||||
.getLog(CustomerCommunicationCRUDController.class);
|
||||
|
||||
private ICustomerComunicationModel customerComunicationModel;
|
||||
private ICustomerCommunicationModel customerCommunicationModel;
|
||||
|
||||
private CustomerComunicationRenderer customerComunicationRenderer = new CustomerComunicationRenderer();;
|
||||
private CustomerCommunicationRenderer customerCommunicationRenderer = new CustomerCommunicationRenderer();;
|
||||
|
||||
protected IMessagesForUser messagesForUser;
|
||||
|
||||
|
|
@ -79,67 +79,67 @@ public class CustomerComunicationCRUDController extends GenericForwardComposer {
|
|||
messagesForUser = new MessagesForUser(messagesContainer);
|
||||
}
|
||||
|
||||
public void goToEdit(CustomerComunication customerComunication) {
|
||||
if(customerComunication != null && customerComunication.getOrder() != null){
|
||||
Order order = customerComunication.getOrder();
|
||||
public void goToEdit(CustomerCommunication customerCommunication) {
|
||||
if(customerCommunication != null && customerCommunication.getOrder() != null){
|
||||
Order order = customerCommunication.getOrder();
|
||||
globalView.goToOrderDetails(order);
|
||||
}
|
||||
}
|
||||
|
||||
public FilterComunicationEnum[] getFilterItems(){
|
||||
return FilterComunicationEnum.values();
|
||||
public FilterCommunicationEnum[] getFilterItems(){
|
||||
return FilterCommunicationEnum.values();
|
||||
}
|
||||
|
||||
public FilterComunicationEnum getCurrentFilterItem() {
|
||||
return customerComunicationModel.getCurrentFilter();
|
||||
public FilterCommunicationEnum getCurrentFilterItem() {
|
||||
return customerCommunicationModel.getCurrentFilter();
|
||||
}
|
||||
|
||||
public void setCurrentFilterItem(FilterComunicationEnum selected) {
|
||||
customerComunicationModel.setCurrentFilter(selected);
|
||||
public void setCurrentFilterItem(FilterCommunicationEnum selected) {
|
||||
customerCommunicationModel.setCurrentFilter(selected);
|
||||
|
||||
// update the customer comunication list
|
||||
listing.setModel(new SimpleListModel(getCustomerComunications()));
|
||||
// update the customer communication list
|
||||
listing.setModel(new SimpleListModel(getCustomerCommunications()));
|
||||
listing.invalidate();
|
||||
}
|
||||
|
||||
protected void save(CustomerComunication customerComunication)
|
||||
protected void save(CustomerCommunication customerCommunication)
|
||||
throws ValidationException {
|
||||
customerComunicationModel.confirmSave(customerComunication);
|
||||
customerCommunicationModel.confirmSave(customerCommunication);
|
||||
}
|
||||
|
||||
public List<CustomerComunication> getCustomerComunications() {
|
||||
FilterComunicationEnum currentFilter = customerComunicationModel.getCurrentFilter();
|
||||
public List<CustomerCommunication> getCustomerCommunications() {
|
||||
FilterCommunicationEnum currentFilter = customerCommunicationModel.getCurrentFilter();
|
||||
switch(currentFilter){
|
||||
case ALL: return customerComunicationModel.getCustomerAllComunications();
|
||||
case NOT_REVIEWED: return customerComunicationModel.getCustomerComunicationWithoutReviewed();
|
||||
default: return customerComunicationModel.getCustomerAllComunications();
|
||||
case ALL: return customerCommunicationModel.getCustomerAllCommunications();
|
||||
case NOT_REVIEWED: return customerCommunicationModel.getCustomerCommunicationWithoutReviewed();
|
||||
default: return customerCommunicationModel.getCustomerAllCommunications();
|
||||
}
|
||||
}
|
||||
|
||||
public CustomerComunicationRenderer getCustomerComunicationRenderer() {
|
||||
return customerComunicationRenderer;
|
||||
public CustomerCommunicationRenderer getCustomerCommunicationRenderer() {
|
||||
return customerCommunicationRenderer;
|
||||
}
|
||||
|
||||
private class CustomerComunicationRenderer implements
|
||||
private class CustomerCommunicationRenderer implements
|
||||
RowRenderer {
|
||||
|
||||
@Override
|
||||
public void render(Row row, Object data) {
|
||||
CustomerComunication customerComunication = (CustomerComunication) data;
|
||||
row.setValue(customerComunication);
|
||||
CustomerCommunication customerCommunication = (CustomerCommunication) data;
|
||||
row.setValue(customerCommunication);
|
||||
|
||||
final ComunicationType type = customerComunication.getComunicationType();
|
||||
appendLabel(row, type.toString());
|
||||
final CommunicationType type = customerCommunication.getCommunicationType();
|
||||
appendLabel(row, toString(type));
|
||||
|
||||
appendLabel(row, customerComunication.getOrder().getName());
|
||||
appendLabel(row, toString(customerComunication.getDeadline()));
|
||||
appendLabel(row, customerComunication.getOrder().getCode());
|
||||
appendLabel(row, customerComunication.getOrder()
|
||||
appendLabel(row, customerCommunication.getOrder().getName());
|
||||
appendLabel(row, toString(customerCommunication.getDeadline()));
|
||||
appendLabel(row, customerCommunication.getOrder().getCode());
|
||||
appendLabel(row, customerCommunication.getOrder()
|
||||
.getCustomerReference());
|
||||
appendLabel(row,
|
||||
toString(customerComunication.getComunicationDate()));
|
||||
appendCheckbox(row, customerComunication);
|
||||
appendOperations(row, customerComunication);
|
||||
toString(customerCommunication.getCommunicationDate()));
|
||||
appendCheckbox(row, customerCommunication);
|
||||
appendOperations(row, customerCommunication);
|
||||
}
|
||||
|
||||
private String toString(Date date) {
|
||||
|
|
@ -150,22 +150,29 @@ public class CustomerComunicationCRUDController extends GenericForwardComposer {
|
|||
return new SimpleDateFormat("dd/MM/yyyy HH:mm").format(date);
|
||||
}
|
||||
|
||||
private String toString(Object object) {
|
||||
if (object == null) {
|
||||
return "";
|
||||
}
|
||||
return object.toString();
|
||||
}
|
||||
|
||||
private void appendLabel(Row row, String label) {
|
||||
row.appendChild(new Label(label));
|
||||
}
|
||||
|
||||
private void appendCheckbox(Row row,
|
||||
final CustomerComunication customerComunication) {
|
||||
final CustomerCommunication customerCommunication) {
|
||||
final Checkbox checkBoxReviewed = new Checkbox();
|
||||
checkBoxReviewed.setChecked(customerComunication.getReviewed());
|
||||
checkBoxReviewed.setChecked(customerCommunication.getReviewed());
|
||||
|
||||
checkBoxReviewed.addEventListener(Events.ON_CHECK,
|
||||
new EventListener() {
|
||||
|
||||
@Override
|
||||
public void onEvent(Event arg0) throws Exception {
|
||||
customerComunication.setReviewed(checkBoxReviewed.isChecked());
|
||||
save(customerComunication);
|
||||
customerCommunication.setReviewed(checkBoxReviewed.isChecked());
|
||||
save(customerCommunication);
|
||||
}
|
||||
|
||||
});
|
||||
|
|
@ -174,13 +181,13 @@ public class CustomerComunicationCRUDController extends GenericForwardComposer {
|
|||
}
|
||||
|
||||
private void appendOperations(Row row,
|
||||
final CustomerComunication customerComunication) {
|
||||
final CustomerCommunication customerCommunication) {
|
||||
Button buttonEdit = new Button(_("edit"));
|
||||
buttonEdit.addEventListener(Events.ON_CLICK, new EventListener() {
|
||||
|
||||
@Override
|
||||
public void onEvent(Event arg0) throws Exception {
|
||||
goToEdit(customerComunication);
|
||||
goToEdit(customerCommunication);
|
||||
}
|
||||
|
||||
});
|
||||
|
|
@ -21,8 +21,8 @@ package org.libreplan.web.subcontract;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.libreplan.business.externalcompanies.daos.ICustomerComunicationDAO;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerComunication;
|
||||
import org.libreplan.business.externalcompanies.daos.ICustomerCommunicationDAO;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerCommunication;
|
||||
import org.libreplan.web.common.concurrentdetection.OnConcurrentModification;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
|
|
@ -32,51 +32,51 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
|
||||
@Service
|
||||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
@OnConcurrentModification(goToPage = "/subcontract/customerComunication.zul")
|
||||
public class CustomerComunicationModel implements ICustomerComunicationModel{
|
||||
@OnConcurrentModification(goToPage = "/subcontract/customerCommunication.zul")
|
||||
public class CustomerCommunicationModel implements ICustomerCommunicationModel{
|
||||
|
||||
@Autowired
|
||||
private ICustomerComunicationDAO customerComunicationDAO;
|
||||
private ICustomerCommunicationDAO customerCommunicationDAO;
|
||||
|
||||
private FilterComunicationEnum currentFilter = FilterComunicationEnum.NOT_REVIEWED;
|
||||
private FilterCommunicationEnum currentFilter = FilterCommunicationEnum.NOT_REVIEWED;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void confirmSave(CustomerComunication customerComunication){
|
||||
customerComunicationDAO.save(customerComunication);
|
||||
public void confirmSave(CustomerCommunication customerCommunication){
|
||||
customerCommunicationDAO.save(customerCommunication);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public List<CustomerComunication> getCustomerAllComunications(){
|
||||
List<CustomerComunication> list = customerComunicationDAO.getAll();
|
||||
public List<CustomerCommunication> getCustomerAllCommunications(){
|
||||
List<CustomerCommunication> list = customerCommunicationDAO.getAll();
|
||||
forceLoadAssociatedData(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public List<CustomerComunication> getCustomerComunicationWithoutReviewed(){
|
||||
List<CustomerComunication> list = customerComunicationDAO.getAllNotReviewed();
|
||||
public List<CustomerCommunication> getCustomerCommunicationWithoutReviewed(){
|
||||
List<CustomerCommunication> list = customerCommunicationDAO.getAllNotReviewed();
|
||||
forceLoadAssociatedData(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
private void forceLoadAssociatedData(List<CustomerComunication> customerComunicationList){
|
||||
if (customerComunicationList != null) {
|
||||
for (CustomerComunication customerComunication : customerComunicationList) {
|
||||
customerComunication.getOrder().getName();
|
||||
private void forceLoadAssociatedData(List<CustomerCommunication> customerCommunicationList){
|
||||
if (customerCommunicationList != null) {
|
||||
for (CustomerCommunication customerCommunication : customerCommunicationList) {
|
||||
customerCommunication.getOrder().getName();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCurrentFilter(FilterComunicationEnum currentFilter) {
|
||||
public void setCurrentFilter(FilterCommunicationEnum currentFilter) {
|
||||
this.currentFilter = currentFilter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FilterComunicationEnum getCurrentFilter() {
|
||||
public FilterCommunicationEnum getCurrentFilter() {
|
||||
return currentFilter;
|
||||
}
|
||||
}
|
||||
|
|
@ -20,11 +20,11 @@
|
|||
package org.libreplan.web.subcontract;
|
||||
|
||||
/**
|
||||
* Enum to filter the {@link CustomerComunication} list.
|
||||
* Enum to filter the {@link CustomerCommunication} list.
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
||||
*/
|
||||
public enum FilterComunicationEnum {
|
||||
public enum FilterCommunicationEnum {
|
||||
ALL(_("All")), NOT_REVIEWED(_("Not Reviewed"));
|
||||
|
||||
/**
|
||||
|
|
@ -36,11 +36,11 @@ public enum FilterComunicationEnum {
|
|||
|
||||
private String displayName;
|
||||
|
||||
private FilterComunicationEnum(String displayName) {
|
||||
private FilterCommunicationEnum(String displayName) {
|
||||
this.displayName = displayName;
|
||||
}
|
||||
|
||||
public static FilterComunicationEnum getDefault() {
|
||||
public static FilterCommunicationEnum getDefault() {
|
||||
return ALL;
|
||||
}
|
||||
|
||||
|
|
@ -21,18 +21,18 @@ package org.libreplan.web.subcontract;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerComunication;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerCommunication;
|
||||
|
||||
public interface ICustomerComunicationModel {
|
||||
public interface ICustomerCommunicationModel {
|
||||
|
||||
void confirmSave(CustomerComunication customerComunication);
|
||||
void confirmSave(CustomerCommunication customerCommunication);
|
||||
|
||||
List<CustomerComunication> getCustomerComunicationWithoutReviewed();
|
||||
List<CustomerCommunication> getCustomerCommunicationWithoutReviewed();
|
||||
|
||||
List<CustomerComunication> getCustomerAllComunications();
|
||||
List<CustomerCommunication> getCustomerAllCommunications();
|
||||
|
||||
void setCurrentFilter(FilterComunicationEnum currentFilter);
|
||||
void setCurrentFilter(FilterCommunicationEnum currentFilter);
|
||||
|
||||
FilterComunicationEnum getCurrentFilter();
|
||||
FilterCommunicationEnum getCurrentFilter();
|
||||
|
||||
}
|
||||
|
|
@ -24,19 +24,19 @@ import java.util.List;
|
|||
import org.libreplan.business.orders.entities.Order;
|
||||
import org.libreplan.business.orders.entities.OrderElement;
|
||||
import org.libreplan.business.planner.entities.SubcontractedTaskData;
|
||||
import org.libreplan.business.planner.entities.SubcontractorComunication;
|
||||
import org.libreplan.business.planner.entities.SubcontractorCommunication;
|
||||
|
||||
public interface ISubcontractorComunicationModel {
|
||||
public interface ISubcontractorCommunicationModel {
|
||||
|
||||
void confirmSave(SubcontractorComunication customerComunication);
|
||||
void confirmSave(SubcontractorCommunication customerCommunication);
|
||||
|
||||
List<SubcontractorComunication> getSubcontractorComunicationWithoutReviewed();
|
||||
List<SubcontractorCommunication> getSubcontractorCommunicationWithoutReviewed();
|
||||
|
||||
List<SubcontractorComunication> getSubcontractorAllComunications();
|
||||
List<SubcontractorCommunication> getSubcontractorAllCommunications();
|
||||
|
||||
void setCurrentFilter(FilterComunicationEnum currentFilter);
|
||||
void setCurrentFilter(FilterCommunicationEnum currentFilter);
|
||||
|
||||
FilterComunicationEnum getCurrentFilter();
|
||||
FilterCommunicationEnum getCurrentFilter();
|
||||
|
||||
String getOrderCode(SubcontractedTaskData subcontractedTaskData);
|
||||
|
||||
|
|
@ -29,17 +29,14 @@ import javax.annotation.Resource;
|
|||
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.libreplan.business.common.exceptions.ValidationException;
|
||||
import org.libreplan.business.externalcompanies.entities.ComunicationType;
|
||||
import org.libreplan.business.orders.entities.Order;
|
||||
import org.libreplan.business.orders.entities.OrderElement;
|
||||
import org.libreplan.business.planner.entities.SubcontractedTaskData;
|
||||
import org.libreplan.business.planner.entities.SubcontractorComunication;
|
||||
import org.libreplan.business.planner.entities.SubcontractorComunicationValue;
|
||||
import org.libreplan.business.planner.entities.Task;
|
||||
import org.libreplan.business.planner.entities.SubcontractorCommunication;
|
||||
import org.libreplan.business.planner.entities.SubcontractorCommunicationValue;
|
||||
import org.libreplan.business.planner.entities.TaskElement;
|
||||
import org.libreplan.web.common.IMessagesForUser;
|
||||
import org.libreplan.web.common.MessagesForUser;
|
||||
import org.libreplan.web.common.Util;
|
||||
import org.libreplan.web.planner.tabs.IGlobalViewEntryPoints;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
|
|
@ -50,26 +47,25 @@ import org.zkoss.zul.Button;
|
|||
import org.zkoss.zul.Checkbox;
|
||||
import org.zkoss.zul.Grid;
|
||||
import org.zkoss.zul.Label;
|
||||
import org.zkoss.zul.Messagebox;
|
||||
import org.zkoss.zul.Popup;
|
||||
import org.zkoss.zul.Row;
|
||||
import org.zkoss.zul.RowRenderer;
|
||||
import org.zkoss.zul.SimpleListModel;
|
||||
|
||||
/**
|
||||
* Controller for CRUD actions over a {@link SubcontractorComunication}
|
||||
* Controller for CRUD actions over a {@link SubcontractorCommunication}
|
||||
*
|
||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public class SubcontractorComunicationCRUDController extends GenericForwardComposer {
|
||||
public class SubcontractorCommunicationCRUDController extends GenericForwardComposer {
|
||||
|
||||
private static final org.apache.commons.logging.Log LOG = LogFactory
|
||||
.getLog(SubcontractorComunicationCRUDController.class);
|
||||
.getLog(SubcontractorCommunicationCRUDController.class);
|
||||
|
||||
private ISubcontractorComunicationModel subcontractorComunicationModel;
|
||||
private ISubcontractorCommunicationModel subcontractorCommunicationModel;
|
||||
|
||||
private SubcontractorComunicationRenderer subcontractorComunicationRenderer = new SubcontractorComunicationRenderer();;
|
||||
private SubcontractorCommunicationRenderer subcontractorCommunicationRenderer = new SubcontractorCommunicationRenderer();
|
||||
|
||||
protected IMessagesForUser messagesForUser;
|
||||
|
||||
|
|
@ -93,66 +89,66 @@ public class SubcontractorComunicationCRUDController extends GenericForwardCompo
|
|||
messagesForUser = new MessagesForUser(messagesContainer);
|
||||
}
|
||||
|
||||
public void goToEdit(SubcontractorComunication subcontractorComunication) {
|
||||
if(subcontractorComunication != null){
|
||||
TaskElement task = subcontractorComunication.getSubcontractedTaskData().getTask();
|
||||
public void goToEdit(SubcontractorCommunication subcontractorCommunication) {
|
||||
if(subcontractorCommunication != null){
|
||||
TaskElement task = subcontractorCommunication.getSubcontractedTaskData().getTask();
|
||||
OrderElement orderElement = task.getOrderElement();
|
||||
Order order = subcontractorComunicationModel.getOrder(orderElement);
|
||||
Order order = subcontractorCommunicationModel.getOrder(orderElement);
|
||||
globalView.goToAdvanceTask(order,task);
|
||||
}
|
||||
}
|
||||
|
||||
public FilterComunicationEnum[] getFilterItems(){
|
||||
return FilterComunicationEnum.values();
|
||||
public FilterCommunicationEnum[] getFilterItems(){
|
||||
return FilterCommunicationEnum.values();
|
||||
}
|
||||
|
||||
public FilterComunicationEnum getCurrentFilterItem() {
|
||||
return subcontractorComunicationModel.getCurrentFilter();
|
||||
public FilterCommunicationEnum getCurrentFilterItem() {
|
||||
return subcontractorCommunicationModel.getCurrentFilter();
|
||||
}
|
||||
|
||||
public void setCurrentFilterItem(FilterComunicationEnum selected) {
|
||||
subcontractorComunicationModel.setCurrentFilter(selected);
|
||||
public void setCurrentFilterItem(FilterCommunicationEnum selected) {
|
||||
subcontractorCommunicationModel.setCurrentFilter(selected);
|
||||
|
||||
// update the subcontractor comunication list
|
||||
listing.setModel(new SimpleListModel(getSubcontractorComunications()));
|
||||
// update the subcontractor communication list
|
||||
listing.setModel(new SimpleListModel(getSubcontractorCommunications()));
|
||||
listing.invalidate();
|
||||
}
|
||||
|
||||
protected void save(SubcontractorComunication subcontractorComunication)
|
||||
protected void save(SubcontractorCommunication subcontractorCommunication)
|
||||
throws ValidationException {
|
||||
subcontractorComunicationModel.confirmSave(subcontractorComunication);
|
||||
subcontractorCommunicationModel.confirmSave(subcontractorCommunication);
|
||||
}
|
||||
|
||||
public List<SubcontractorComunication> getSubcontractorComunications() {
|
||||
FilterComunicationEnum currentFilter = subcontractorComunicationModel.getCurrentFilter();
|
||||
public List<SubcontractorCommunication> getSubcontractorCommunications() {
|
||||
FilterCommunicationEnum currentFilter = subcontractorCommunicationModel.getCurrentFilter();
|
||||
switch(currentFilter){
|
||||
case ALL: return subcontractorComunicationModel.getSubcontractorAllComunications();
|
||||
case NOT_REVIEWED: return subcontractorComunicationModel.getSubcontractorComunicationWithoutReviewed();
|
||||
default: return subcontractorComunicationModel.getSubcontractorAllComunications();
|
||||
case ALL: return subcontractorCommunicationModel.getSubcontractorAllCommunications();
|
||||
case NOT_REVIEWED: return subcontractorCommunicationModel.getSubcontractorCommunicationWithoutReviewed();
|
||||
default: return subcontractorCommunicationModel.getSubcontractorAllCommunications();
|
||||
}
|
||||
}
|
||||
|
||||
public SubcontractorComunicationRenderer getSubcontractorComunicationRenderer() {
|
||||
return subcontractorComunicationRenderer;
|
||||
public SubcontractorCommunicationRenderer getSubcontractorCommunicationRenderer() {
|
||||
return subcontractorCommunicationRenderer;
|
||||
}
|
||||
|
||||
private class SubcontractorComunicationRenderer implements
|
||||
private class SubcontractorCommunicationRenderer implements
|
||||
RowRenderer {
|
||||
|
||||
@Override
|
||||
public void render(Row row, Object data) {
|
||||
SubcontractorComunication subcontractorComunication = (SubcontractorComunication) data;
|
||||
row.setValue(subcontractorComunication);
|
||||
SubcontractorCommunication subcontractorCommunication = (SubcontractorCommunication) data;
|
||||
row.setValue(subcontractorCommunication);
|
||||
|
||||
appendLabel(row, subcontractorComunication.getComunicationType().toString());
|
||||
appendLabel(row, subcontractorComunication.getSubcontractedTaskData().getTask().getName());
|
||||
appendLabel(row, getOrderName(subcontractorComunication.getSubcontractedTaskData()));
|
||||
appendLabel(row, getOrderCode(subcontractorComunication.getSubcontractedTaskData()));
|
||||
appendLabel(row, subcontractorComunication.getSubcontractedTaskData().getExternalCompany().getName());
|
||||
appendLabel(row, toString(subcontractorComunication.getComunicationDate()));
|
||||
appendLabelWitTooltip(row,subcontractorComunication);
|
||||
appendCheckbox(row, subcontractorComunication);
|
||||
appendOperations(row, subcontractorComunication);
|
||||
appendLabel(row, subcontractorCommunication.getCommunicationType().toString());
|
||||
appendLabel(row, subcontractorCommunication.getSubcontractedTaskData().getTask().getName());
|
||||
appendLabel(row, getOrderName(subcontractorCommunication.getSubcontractedTaskData()));
|
||||
appendLabel(row, getOrderCode(subcontractorCommunication.getSubcontractedTaskData()));
|
||||
appendLabel(row, subcontractorCommunication.getSubcontractedTaskData().getExternalCompany().getName());
|
||||
appendLabel(row, toString(subcontractorCommunication.getCommunicationDate()));
|
||||
appendLabelWitTooltip(row,subcontractorCommunication);
|
||||
appendCheckbox(row, subcontractorCommunication);
|
||||
appendOperations(row, subcontractorCommunication);
|
||||
}
|
||||
|
||||
private String toString(Date date) {
|
||||
|
|
@ -164,17 +160,17 @@ public class SubcontractorComunicationCRUDController extends GenericForwardCompo
|
|||
}
|
||||
|
||||
private String getOrderCode(SubcontractedTaskData subcontractedTaskData) {
|
||||
return subcontractorComunicationModel.getOrderCode(subcontractedTaskData);
|
||||
return subcontractorCommunicationModel.getOrderCode(subcontractedTaskData);
|
||||
}
|
||||
|
||||
private String getOrderName(SubcontractedTaskData subcontractedTaskData) {
|
||||
return subcontractorComunicationModel.getOrderName(subcontractedTaskData);
|
||||
return subcontractorCommunicationModel.getOrderName(subcontractedTaskData);
|
||||
}
|
||||
|
||||
private String getLastValue(
|
||||
SubcontractorComunication subcontractorComunication) {
|
||||
SubcontractorComunicationValue value = subcontractorComunication
|
||||
.getLastSubcontratorComunicationValues();
|
||||
SubcontractorCommunication subcontractorCommunication) {
|
||||
SubcontractorCommunicationValue value = subcontractorCommunication
|
||||
.getLastSubcontractorCommunicationValues();
|
||||
return (value != null) ? value.toString() : "";
|
||||
}
|
||||
|
||||
|
|
@ -182,8 +178,8 @@ public class SubcontractorComunicationCRUDController extends GenericForwardCompo
|
|||
row.appendChild(new Label(label));
|
||||
}
|
||||
|
||||
private void appendLabelWitTooltip(final Row row,final SubcontractorComunication subcontractorComunication) {
|
||||
String lastValue = getLastValue(subcontractorComunication);
|
||||
private void appendLabelWitTooltip(final Row row,final SubcontractorCommunication subcontractorCommunication) {
|
||||
String lastValue = getLastValue(subcontractorCommunication);
|
||||
final Label compLabel = new Label(lastValue);
|
||||
|
||||
compLabel.setTooltip(pp);
|
||||
|
|
@ -191,8 +187,8 @@ public class SubcontractorComunicationCRUDController extends GenericForwardCompo
|
|||
new EventListener() {
|
||||
@Override
|
||||
public void onEvent(Event arg0) throws Exception {
|
||||
List<SubcontractorComunicationValue> model = subcontractorComunication
|
||||
.getSubcontratorComunicationValues();
|
||||
List<SubcontractorCommunicationValue> model = subcontractorCommunication
|
||||
.getSubcontractorCommunicationValues();
|
||||
listingValues.setModel(new SimpleListModel(model));
|
||||
listingValues.invalidate();
|
||||
}
|
||||
|
|
@ -201,17 +197,17 @@ public class SubcontractorComunicationCRUDController extends GenericForwardCompo
|
|||
}
|
||||
|
||||
private void appendCheckbox(Row row,
|
||||
final SubcontractorComunication subcontractorComunication) {
|
||||
final SubcontractorCommunication subcontractorCommunication) {
|
||||
final Checkbox checkBoxReviewed = new Checkbox();
|
||||
checkBoxReviewed.setChecked(subcontractorComunication.getReviewed());
|
||||
checkBoxReviewed.setChecked(subcontractorCommunication.getReviewed());
|
||||
|
||||
checkBoxReviewed.addEventListener(Events.ON_CHECK,
|
||||
new EventListener() {
|
||||
|
||||
@Override
|
||||
public void onEvent(Event arg0) throws Exception {
|
||||
subcontractorComunication.setReviewed(checkBoxReviewed.isChecked());
|
||||
save(subcontractorComunication);
|
||||
subcontractorCommunication.setReviewed(checkBoxReviewed.isChecked());
|
||||
save(subcontractorCommunication);
|
||||
}
|
||||
|
||||
});
|
||||
|
|
@ -220,13 +216,13 @@ public class SubcontractorComunicationCRUDController extends GenericForwardCompo
|
|||
}
|
||||
|
||||
private void appendOperations(Row row,
|
||||
final SubcontractorComunication subcontractorComunication) {
|
||||
final SubcontractorCommunication subcontractorCommunication) {
|
||||
Button buttonEdit = new Button(_("edit"));
|
||||
buttonEdit.addEventListener(Events.ON_CLICK, new EventListener() {
|
||||
|
||||
@Override
|
||||
public void onEvent(Event arg0) throws Exception {
|
||||
goToEdit(subcontractorComunication);
|
||||
goToEdit(subcontractorCommunication);
|
||||
}
|
||||
|
||||
});
|
||||
|
|
@ -24,10 +24,10 @@ import java.util.List;
|
|||
import org.libreplan.business.orders.daos.IOrderDAO;
|
||||
import org.libreplan.business.orders.entities.Order;
|
||||
import org.libreplan.business.orders.entities.OrderElement;
|
||||
import org.libreplan.business.planner.daos.ISubcontractorComunicationDAO;
|
||||
import org.libreplan.business.planner.daos.ISubcontractorCommunicationDAO;
|
||||
import org.libreplan.business.planner.entities.SubcontractedTaskData;
|
||||
import org.libreplan.business.planner.entities.SubcontractorComunication;
|
||||
import org.libreplan.business.planner.entities.SubcontractorComunicationValue;
|
||||
import org.libreplan.business.planner.entities.SubcontractorCommunication;
|
||||
import org.libreplan.business.planner.entities.SubcontractorCommunicationValue;
|
||||
import org.libreplan.business.planner.entities.Task;
|
||||
import org.libreplan.web.common.concurrentdetection.OnConcurrentModification;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -38,53 +38,53 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
|
||||
@Service
|
||||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
@OnConcurrentModification(goToPage = "/subcontract/subcontractorComunication.zul")
|
||||
public class SubcontractorComunicationModel implements ISubcontractorComunicationModel{
|
||||
@OnConcurrentModification(goToPage = "/subcontract/subcontractorCommunication.zul")
|
||||
public class SubcontractorCommunicationModel implements ISubcontractorCommunicationModel{
|
||||
|
||||
@Autowired
|
||||
private ISubcontractorComunicationDAO subcontractorComunicationDAO;
|
||||
private ISubcontractorCommunicationDAO subcontractorCommunicationDAO;
|
||||
|
||||
@Autowired
|
||||
IOrderDAO orderDAO;
|
||||
|
||||
private FilterComunicationEnum currentFilter = FilterComunicationEnum.NOT_REVIEWED;
|
||||
private FilterCommunicationEnum currentFilter = FilterCommunicationEnum.NOT_REVIEWED;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void confirmSave(SubcontractorComunication subcontractorComunication){
|
||||
subcontractorComunicationDAO.save(subcontractorComunication);
|
||||
public void confirmSave(SubcontractorCommunication subcontractorCommunication){
|
||||
subcontractorCommunicationDAO.save(subcontractorCommunication);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public List<SubcontractorComunication> getSubcontractorAllComunications(){
|
||||
List<SubcontractorComunication> list = subcontractorComunicationDAO.getAll();
|
||||
public List<SubcontractorCommunication> getSubcontractorAllCommunications(){
|
||||
List<SubcontractorCommunication> list = subcontractorCommunicationDAO.getAll();
|
||||
forceLoadAssociatedData(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public List<SubcontractorComunication> getSubcontractorComunicationWithoutReviewed(){
|
||||
List<SubcontractorComunication> list = subcontractorComunicationDAO.getAllNotReviewed();
|
||||
public List<SubcontractorCommunication> getSubcontractorCommunicationWithoutReviewed(){
|
||||
List<SubcontractorCommunication> list = subcontractorCommunicationDAO.getAllNotReviewed();
|
||||
forceLoadAssociatedData(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
private void forceLoadAssociatedData(List<SubcontractorComunication> subcontractorComunicationList){
|
||||
if (subcontractorComunicationList != null) {
|
||||
for (SubcontractorComunication subcontractorComunication : subcontractorComunicationList) {
|
||||
subcontractorComunication.getSubcontractedTaskData().getExternalCompany().getName();
|
||||
subcontractorComunication.getSubcontractedTaskData().getTask().getName();
|
||||
subcontractorComunication.getSubcontractedTaskData().getTask().getOrderElement().getName();
|
||||
subcontractorComunication.getLastSubcontratorComunicationValues().getDate();
|
||||
private void forceLoadAssociatedData(List<SubcontractorCommunication> subcontractorCommunicationList){
|
||||
if (subcontractorCommunicationList != null) {
|
||||
for (SubcontractorCommunication subcontractorCommunication : subcontractorCommunicationList) {
|
||||
subcontractorCommunication.getSubcontractedTaskData().getExternalCompany().getName();
|
||||
subcontractorCommunication.getSubcontractedTaskData().getTask().getName();
|
||||
subcontractorCommunication.getSubcontractedTaskData().getTask().getOrderElement().getName();
|
||||
subcontractorCommunication.getLastSubcontractorCommunicationValues().getDate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void forceLoadAssociatedDataValue(List<SubcontractorComunicationValue> subcontractorComunicationValueList){
|
||||
if (subcontractorComunicationValueList != null) {
|
||||
for (SubcontractorComunicationValue value : subcontractorComunicationValueList) {
|
||||
private void forceLoadAssociatedDataValue(List<SubcontractorCommunicationValue> subcontractorCommunicationValueList){
|
||||
if (subcontractorCommunicationValueList != null) {
|
||||
for (SubcontractorCommunicationValue value : subcontractorCommunicationValueList) {
|
||||
value.getDate();
|
||||
}
|
||||
}
|
||||
|
|
@ -109,12 +109,12 @@ public class SubcontractorComunicationModel implements ISubcontractorComunicatio
|
|||
}
|
||||
|
||||
@Override
|
||||
public void setCurrentFilter(FilterComunicationEnum currentFilter) {
|
||||
public void setCurrentFilter(FilterCommunicationEnum currentFilter) {
|
||||
this.currentFilter = currentFilter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FilterComunicationEnum getCurrentFilter() {
|
||||
public FilterCommunicationEnum getCurrentFilter() {
|
||||
return currentFilter;
|
||||
}
|
||||
|
||||
|
|
@ -46,17 +46,17 @@ import org.libreplan.business.advance.exceptions.DuplicateValueTrueReportGlobalA
|
|||
import org.libreplan.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.libreplan.business.common.exceptions.ValidationException;
|
||||
import org.libreplan.business.externalcompanies.daos.IExternalCompanyDAO;
|
||||
import org.libreplan.business.externalcompanies.entities.ComunicationType;
|
||||
import org.libreplan.business.externalcompanies.entities.CommunicationType;
|
||||
import org.libreplan.business.externalcompanies.entities.ExternalCompany;
|
||||
import org.libreplan.business.orders.daos.IOrderDAO;
|
||||
import org.libreplan.business.orders.daos.IOrderElementDAO;
|
||||
import org.libreplan.business.orders.entities.Order;
|
||||
import org.libreplan.business.orders.entities.OrderElement;
|
||||
import org.libreplan.business.planner.daos.ISubcontractedTaskDataDAO;
|
||||
import org.libreplan.business.planner.daos.ISubcontractorComunicationDAO;
|
||||
import org.libreplan.business.planner.daos.ISubcontractorCommunicationDAO;
|
||||
import org.libreplan.business.planner.entities.SubcontractedTaskData;
|
||||
import org.libreplan.business.planner.entities.SubcontractorComunication;
|
||||
import org.libreplan.business.planner.entities.SubcontractorComunicationValue;
|
||||
import org.libreplan.business.planner.entities.SubcontractorCommunication;
|
||||
import org.libreplan.business.planner.entities.SubcontractorCommunicationValue;
|
||||
import org.libreplan.business.planner.entities.Task;
|
||||
import org.libreplan.business.scenarios.bootstrap.PredefinedScenarios;
|
||||
import org.libreplan.business.scenarios.entities.OrderVersion;
|
||||
|
|
@ -93,7 +93,7 @@ public class ReportAdvancesServiceREST implements IReportAdvancesService {
|
|||
private ISubcontractedTaskDataDAO subcontractedTaskDataDAO;
|
||||
|
||||
@Autowired
|
||||
private ISubcontractorComunicationDAO subcontractorComunicationDAO;
|
||||
private ISubcontractorCommunicationDAO subcontractorCommunicationDAO;
|
||||
|
||||
@Autowired
|
||||
private IOrderDAO orderDAO;
|
||||
|
|
@ -212,10 +212,10 @@ public class ReportAdvancesServiceREST implements IReportAdvancesService {
|
|||
|
||||
/*
|
||||
* If the order element is subcontrated then create the
|
||||
* subcontrated comunication for the subcontrated task data to
|
||||
* subcontrated communication for the subcontrated task data to
|
||||
* which the order element belongs.
|
||||
*/
|
||||
createSubcontractorComunication(
|
||||
createSubcontractorCommunication(
|
||||
orderElement,
|
||||
orderElementWithAdvanceMeasurementsDTO.advanceMeasurements);
|
||||
|
||||
|
|
@ -241,7 +241,7 @@ public class ReportAdvancesServiceREST implements IReportAdvancesService {
|
|||
instanceConstraintViolationsList);
|
||||
}
|
||||
|
||||
public void createSubcontractorComunication(OrderElement orderElement,
|
||||
public void createSubcontractorCommunication(OrderElement orderElement,
|
||||
Set<AdvanceMeasurementDTO> advanceMeasurementDTOs)
|
||||
throws InstanceNotFoundException {
|
||||
if (orderElement != null
|
||||
|
|
@ -251,26 +251,26 @@ public class ReportAdvancesServiceREST implements IReportAdvancesService {
|
|||
SubcontractedTaskData subcontractedTaskData = task
|
||||
.getSubcontractedTaskData();
|
||||
if (subcontractedTaskData != null) {
|
||||
SubcontractorComunication subcontractorComunication = SubcontractorComunication
|
||||
SubcontractorCommunication subcontractorCommunication = SubcontractorCommunication
|
||||
.create(subcontractedTaskData,
|
||||
ComunicationType.REPORT_PROGRESS, new Date(),
|
||||
CommunicationType.REPORT_PROGRESS, new Date(),
|
||||
false);
|
||||
|
||||
for (AdvanceMeasurementDTO advanceMeasurementDTO : advanceMeasurementDTOs) {
|
||||
// add subcontractorComunicationValue
|
||||
addSubcontractorComunicationValue(advanceMeasurementDTO,
|
||||
subcontractorComunication);
|
||||
// add subcontractorCommunicationValue
|
||||
addSubcontractorCommunicationValue(advanceMeasurementDTO,
|
||||
subcontractorCommunication);
|
||||
}
|
||||
subcontractorComunicationDAO.save(subcontractorComunication);
|
||||
subcontractorCommunicationDAO.save(subcontractorCommunication);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addSubcontractorComunicationValue(AdvanceMeasurementDTO advanceMeasurementDTO, SubcontractorComunication subcontractorComunication ){
|
||||
private void addSubcontractorCommunicationValue(AdvanceMeasurementDTO advanceMeasurementDTO, SubcontractorCommunication subcontractorCommunication ){
|
||||
Date dateValue = DateConverter.toDate(advanceMeasurementDTO.date);
|
||||
SubcontractorComunicationValue value = SubcontractorComunicationValue
|
||||
SubcontractorCommunicationValue value = SubcontractorCommunicationValue
|
||||
.create(dateValue, advanceMeasurementDTO.value);
|
||||
subcontractorComunication.getSubcontratorComunicationValues()
|
||||
subcontractorCommunication.getSubcontractorCommunicationValues()
|
||||
.add(value);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,10 +47,10 @@ import org.libreplan.business.common.entities.EntityNameEnum;
|
|||
import org.libreplan.business.common.entities.EntitySequence;
|
||||
import org.libreplan.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.libreplan.business.common.exceptions.ValidationException;
|
||||
import org.libreplan.business.externalcompanies.daos.ICustomerComunicationDAO;
|
||||
import org.libreplan.business.externalcompanies.daos.ICustomerCommunicationDAO;
|
||||
import org.libreplan.business.externalcompanies.daos.IExternalCompanyDAO;
|
||||
import org.libreplan.business.externalcompanies.entities.ComunicationType;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerComunication;
|
||||
import org.libreplan.business.externalcompanies.entities.CommunicationType;
|
||||
import org.libreplan.business.externalcompanies.entities.CustomerCommunication;
|
||||
import org.libreplan.business.externalcompanies.entities.ExternalCompany;
|
||||
import org.libreplan.business.orders.daos.IOrderElementDAO;
|
||||
import org.libreplan.business.orders.entities.Order;
|
||||
|
|
@ -104,7 +104,7 @@ public class SubcontractServiceREST implements ISubcontractService {
|
|||
private IScenarioDAO scenarioDAO;
|
||||
|
||||
@Autowired
|
||||
private ICustomerComunicationDAO customerComunicationDAO;
|
||||
private ICustomerCommunicationDAO customerCommunicationDAO;
|
||||
|
||||
@Autowired
|
||||
private ITaskSourceDAO taskSourceDAO;
|
||||
|
|
@ -240,10 +240,10 @@ public class SubcontractServiceREST implements ISubcontractService {
|
|||
orderElementDAO.save(order);
|
||||
|
||||
/*
|
||||
* create the customer comunication to a new subcontrating project.
|
||||
* create the customer communication to a new subcontrating project.
|
||||
*/
|
||||
if(!StringUtils.isBlank(order.getExternalCode())){
|
||||
createCustomerComunication(order);
|
||||
createCustomerCommunication(order);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -323,12 +323,20 @@ public class SubcontractServiceREST implements ISubcontractService {
|
|||
Util.generateInstanceId(1, code), message);
|
||||
}
|
||||
|
||||
private void createCustomerComunication(Order order){
|
||||
private void createCustomerCommunication(Order order){
|
||||
Date deadline = order.getDeadline();
|
||||
Date comunicationDate = new Date();
|
||||
CustomerComunication customerComunication = CustomerComunication
|
||||
.create(deadline, comunicationDate,
|
||||
ComunicationType.NEW_PROJECT, order);
|
||||
customerComunicationDAO.save(customerComunication);
|
||||
Date communicationDate = new Date();
|
||||
CustomerCommunication customerCommunication = CustomerCommunication
|
||||
.create(deadline, communicationDate,
|
||||
CommunicationType.NEW_PROJECT, order);
|
||||
if(customerCommunication.getCommunicationType() != null){
|
||||
System.out.println(" type before "+ customerCommunication.getCommunicationType().toString());
|
||||
}else{
|
||||
customerCommunication.setCommunicationType(CommunicationType.NEW_PROJECT);
|
||||
}
|
||||
customerCommunicationDAO.save(customerCommunication);
|
||||
if(customerCommunication.getCommunicationType() != null){
|
||||
System.out.println(" type after "+ customerCommunication.getCommunicationType().toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
<zk>
|
||||
<window self="@{define(content)}"
|
||||
apply="org.libreplan.web.subcontract.CustomerComunicationCRUDController"
|
||||
apply="org.libreplan.web.subcontract.CustomerCommunicationCRUDController"
|
||||
title="${i18n:_('Customer communications List')}">
|
||||
|
||||
<vbox id="messagesContainer" />
|
||||
|
|
@ -42,16 +42,16 @@
|
|||
</div>
|
||||
<separator bar="false" spacing="20px" orient="horizontal"/>
|
||||
<grid id="listing"
|
||||
model="@{controller.customerComunications}"
|
||||
rowRenderer="@{controller.customerComunicationRenderer}"
|
||||
model="@{controller.customerCommunications}"
|
||||
rowRenderer="@{controller.customerCommunicationRenderer}"
|
||||
mold="paging" pageSize="10" fixedLayout="true">
|
||||
<columns>
|
||||
<column label="${i18n:_('Communication Type')}" sort="auto(lower(comunicationType))"/>
|
||||
<column label="${i18n:_('Communication Type')}" sort="auto(lower(communicationType))"/>
|
||||
<column label="${i18n:_('Project Name')}" sort="auto(lower(order.name))"/>
|
||||
<column label="${i18n:_('Deadline')}" width="150px" align="center" sort="auto(lower(deadline))"/>
|
||||
<column label="${i18n:_('Project Code')}" sort="auto(lower(order.code))"/>
|
||||
<column label="${i18n:_('Customer')}" sort="auto(lower(order.customerReference))"/>
|
||||
<column label="${i18n:_('Communication Date')}" width="150px" align="center" sort="auto(lower(comunicationDate))"/>
|
||||
<column label="${i18n:_('Communication Date')}" width="150px" align="center" sort="auto(lower(communicationDate))"/>
|
||||
<column label="${i18n:_('Reviewed')}" width="80px" align="center"/>
|
||||
<column label="${i18n:_('Operations')}" width="80px" align="center"/>
|
||||
</columns>
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
<zk>
|
||||
<window self="@{define(content)}"
|
||||
apply="org.libreplan.web.subcontract.SubcontractorComunicationCRUDController"
|
||||
apply="org.libreplan.web.subcontract.SubcontractorCommunicationCRUDController"
|
||||
title="${i18n:_('Subcontractor communications List')}">
|
||||
|
||||
<vbox id="messagesContainer" />
|
||||
|
|
@ -42,17 +42,17 @@
|
|||
</div>
|
||||
<separator bar="false" spacing="20px" orient="horizontal"/>
|
||||
<grid id="listing"
|
||||
model="@{controller.subcontractorComunications}"
|
||||
rowRenderer="@{controller.subcontractorComunicationRenderer}"
|
||||
model="@{controller.subcontractorCommunications}"
|
||||
rowRenderer="@{controller.subcontractorCommunicationRenderer}"
|
||||
mold="paging" pageSize="10" fixedLayout="true">
|
||||
<columns>
|
||||
<column label="${i18n:_('Communication Type')}" align="center" width="140px" sort="auto(lower(comunicationType))"/>
|
||||
<column label="${i18n:_('Communication Type')}" align="center" width="140px" sort="auto(lower(communicationType))"/>
|
||||
<column label="${i18n:_('Subcontrated task')}" align="center" sort="auto(lower(subcontractedTaskData.task.name))"/>
|
||||
<column label="${i18n:_('Project name')}" width="150px" align="center" sort="auto(lower(subcontractedTaskData.task.orderElement.name))"/>
|
||||
<column label="${i18n:_('Project Code')}" width="150px" align="center" sort="auto(lower(subcontractedTaskData.task.orderElement.code))"/>
|
||||
<column label="${i18n:_('Company')}" width="150px" align="center" sort="auto(lower(subcontractedTaskData.externalCompany.name))"/>
|
||||
<column label="${i18n:_('Communication Date')}" width="150px" align="center" sort="auto(lower(comunicationDate))"/>
|
||||
<column label="${i18n:_('Value')}" width="200px" align="center" sort="auto(lower(lastSubcontratorComunicationValueDate))"/>
|
||||
<column label="${i18n:_('Communication Date')}" width="150px" align="center" sort="auto(lower(communicationDate))"/>
|
||||
<column label="${i18n:_('Value')}" width="200px" align="center" sort="auto(lower(lastSubcontractorCommunicationValueDate))"/>
|
||||
<column label="${i18n:_('Reviewed')}" width="80px" align="center"/>
|
||||
<column label="${i18n:_('Operations')}" width="80px" align="center"/>
|
||||
</columns>
|
||||
|
|
@ -60,13 +60,13 @@
|
|||
|
||||
|
||||
<popup id="pp">
|
||||
<grid id="listingValues" width="300px" fixedLayout="true">
|
||||
<grid id="listingValues" width="300px" fixedLayout="true">
|
||||
<columns>
|
||||
<column label="${i18n:_('Date')}" width="150px" sort="auto(date)" sortDirection="descending"/>
|
||||
<column label="${i18n:_('Date')}" width="150px" sort="auto(date)" sortDirection="descending"/>
|
||||
<column label="${i18n:_('Progress')}" width="150px" sort="auto(progress)" sortDirection="descending"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row self="@{each='value'}" value="@{value}">
|
||||
<row self="@{each='value'}" value="@{value}">
|
||||
<label value="@{value.date,converter='org.libreplan.web.common.typeconverters.DateConverter'}" />
|
||||
<label value="@{value.progress}"/>
|
||||
</row>
|
||||
|
|
@ -72,7 +72,7 @@ import org.libreplan.business.orders.entities.SchedulingDataForVersion;
|
|||
import org.libreplan.business.orders.entities.TaskSource;
|
||||
import org.libreplan.business.orders.entities.TaskSource.TaskSourceSynchronization;
|
||||
import org.libreplan.business.planner.daos.ISubcontractedTaskDataDAO;
|
||||
import org.libreplan.business.planner.daos.ISubcontractorComunicationDAO;
|
||||
import org.libreplan.business.planner.daos.ISubcontractorCommunicationDAO;
|
||||
import org.libreplan.business.planner.daos.ITaskElementDAO;
|
||||
import org.libreplan.business.planner.daos.ITaskSourceDAO;
|
||||
import org.libreplan.business.planner.entities.SubcontractedTaskData;
|
||||
|
|
@ -86,7 +86,7 @@ import org.libreplan.ws.subcontract.api.IReportAdvancesService;
|
|||
import org.libreplan.ws.subcontract.api.OrderElementWithAdvanceMeasurementsDTO;
|
||||
import org.libreplan.ws.subcontract.api.OrderElementWithAdvanceMeasurementsListDTO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.libreplan.business.planner.entities.SubcontractorComunication;
|
||||
import org.libreplan.business.planner.entities.SubcontractorCommunication;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
|
@ -155,7 +155,7 @@ public class ReportAdvancesServiceTest {
|
|||
private IScenarioManager scenarioManager;
|
||||
|
||||
@Autowired
|
||||
private ISubcontractorComunicationDAO subcontractorComunicationDAO;
|
||||
private ISubcontractorCommunicationDAO subcontractorCommunicationDAO;
|
||||
|
||||
@Autowired
|
||||
private ISubcontractedTaskDataDAO subcontractorTaskDataDAO;
|
||||
|
|
@ -235,7 +235,7 @@ public class ReportAdvancesServiceTest {
|
|||
|
||||
@Test
|
||||
public void validAdvancesReportToSubcontratedOrderElement() {
|
||||
int previousComunications = subcontractorComunicationDAO.getAll().size();
|
||||
int previousCommunications = subcontractorCommunicationDAO.getAll().size();
|
||||
OrderLine orderLine = createOrderLine();
|
||||
String orderElementCode = orderLine.getCode();
|
||||
|
||||
|
|
@ -244,7 +244,7 @@ public class ReportAdvancesServiceTest {
|
|||
|
||||
OrderElementWithAdvanceMeasurementsListDTO orderElementWithAdvanceMeasurementsListDTO = givenOrderElementWithAdvanceMeasurementsListDTO(
|
||||
orderElementCode, values);
|
||||
SubcontractorComunication subcontractorComunication = SubcontractorComunication.create();
|
||||
SubcontractorCommunication subcontractorCommunication = SubcontractorCommunication.create();
|
||||
reportAdvancesService
|
||||
.updateAdvances(orderElementWithAdvanceMeasurementsListDTO);
|
||||
|
||||
|
|
@ -270,8 +270,8 @@ public class ReportAdvancesServiceTest {
|
|||
assertThat(advanceMeasurement.getValue(), equalTo(entry.getValue()));
|
||||
}
|
||||
|
||||
int currentComunications = subcontractorComunicationDAO.getAll().size();
|
||||
assertThat((previousComunications+1), equalTo(currentComunications));
|
||||
int currentCommunications = subcontractorCommunicationDAO.getAll().size();
|
||||
assertThat((previousCommunications+1), equalTo(currentCommunications));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@
|
|||
org/libreplan/business/planner/entities/AdvanceConsolidations.hbm.xml
|
||||
</value>
|
||||
<value>
|
||||
org/libreplan/business/planner/entities/SubcontractorComunication.hbm.xml
|
||||
org/libreplan/business/planner/entities/SubcontractorCommunication.hbm.xml
|
||||
</value>
|
||||
<value>
|
||||
org/libreplan/business/scenarios/entities/Scenarios.hbm.xml
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue