package fr.chantier.tapestry.pages.intervenants;
import fr.chantier.model.IntervenantsEntity;
import fr.chantier.service.CoefficientManager;
import fr.chantier.service.IntervenantsManager;
import fr.chantier.tapestry.base.GestionEntite;
import org.apache.tapestry.commons.components.InPlaceEditor;
import org.apache.tapestry5.annotations.OnEvent;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.SetupRender;
import org.apache.tapestry5.corelib.components.Form;
import org.apache.tapestry5.ioc.annotations.Inject;
import java.util.Collection;
import java.util.List;
import java.util.ArrayList;
/**
* Created by IntelliJ IDEA.
* User: sora
* Date: Oct 28, 2008
* Time: 3:55:25 PM
* To change this template use File | Settings | File Templates.
*/
public class GestionIntervenants extends GestionEntite {
@Property
private IntervenantsEntity intervenant;
@Property(write = false)
private Collection<IntervenantsEntity> intervenantsEntityList;
@Property
private IntervenantsEntity intervenantRow;
@Inject
private IntervenantsManager intervenantsManager;
@Inject
private CoefficientManager coefficientManager;
private List<IntervenantsEntity> interToDelete;
/**
* Initialisation des variables au rendu de la page
*/
@SetupRender
private void onSetupRender() {
intervenantsEntityList = intervenantsManager.findAllExisting();
}
/**
* Ajout de l'intervenant en base
*/
@OnEvent(component = "intervenants", value = Form.SUCCESS)
private void onSuccess() {
intervenantsManager.makePersistent(intervenant);
}
@OnEvent(component = "interForm",value = Form.PREPARE_FOR_SUBMIT)
private void onPrepareSubmit() {
interToDelete = new ArrayList<IntervenantsEntity>();
}
public boolean getSelected() {
return false;
}
public void setSelected(boolean checked) {
if (checked) {
interToDelete.add(intervenantRow);
}
}
@OnEvent("afterSubmit")
private void onAfterSubmit() {
intervenantsManager.makePersistent(intervenantRow);
}
@OnEvent(value = Form.SUCCESS, component = "interForm")
private void onSuccessFromInterForm() {
for (IntervenantsEntity entity : interToDelete) {
entity.setInterOld(true);
intervenantsManager.makePersistent(entity);
}
}
}