Changes the fields in the subcontraction pop-up to read-only if subcontracted task has been sent.

FEA: ItEr75S32AnA15S04UpdateDeliveringDateInSubcontracting
This commit is contained in:
Susana Montes Pedreira 2011-12-15 16:48:43 +01:00
parent f28895fa1c
commit 69f818d649
4 changed files with 55 additions and 17 deletions

View file

@ -68,6 +68,7 @@ public class SubcontractedTaskData extends BaseEntity {
result.labelsExported = subcontractedTaskData.labelsExported;
result.materialAssignmentsExported = subcontractedTaskData.materialAssignmentsExported;
result.hoursGroupsExported = subcontractedTaskData.hoursGroupsExported;
result.setState(subcontractedTaskData.getState());
result.setRequiredDeliveringDates(subcontractedTaskData.getRequiredDeliveringDates());
return create(result);
@ -229,6 +230,7 @@ public class SubcontractedTaskData extends BaseEntity {
this.labelsExported = subcontratedTask.labelsExported;
this.materialAssignmentsExported = subcontratedTask.materialAssignmentsExported;
this.hoursGroupsExported = subcontratedTask.hoursGroupsExported;
this.state = subcontratedTask.getState();
this.setRequiredDeliveringDates(subcontratedTask.getRequiredDeliveringDates());
}

View file

@ -35,6 +35,7 @@ import javax.servlet.http.HttpServletResponse;
import org.libreplan.business.common.exceptions.ValidationException;
import org.libreplan.business.externalcompanies.entities.ExternalCompany;
import org.libreplan.business.planner.entities.SubcontractState;
import org.libreplan.business.planner.entities.SubcontractedTaskData;
import org.libreplan.business.planner.entities.SubcontractorDeliverDate;
import org.libreplan.business.planner.entities.Task;
@ -244,4 +245,15 @@ public class SubcontractController extends GenericForwardComposer {
Util.reloadBindings(gridDeliverDate);
}
public boolean isSent(){
if (this.getSubcontractedTaskData() != null && this.getSubcontractedTaskData().getState() != null) {
return this.getSubcontractedTaskData().getState()
.equals(SubcontractState.SUCCESS_SENT);
}
return false;
}
public boolean isNotSent(){
return !isSent();
}
}

View file

@ -31,6 +31,7 @@ import org.libreplan.business.common.exceptions.ValidationException;
import org.libreplan.business.externalcompanies.daos.IExternalCompanyDAO;
import org.libreplan.business.externalcompanies.entities.ExternalCompany;
import org.libreplan.business.planner.daos.ISubcontractedTaskDataDAO;
import org.libreplan.business.planner.entities.SubcontractState;
import org.libreplan.business.planner.entities.SubcontractedTaskData;
import org.libreplan.business.planner.entities.SubcontractorDeliverDate;
import org.libreplan.business.planner.entities.Task;

View file

@ -25,48 +25,71 @@
<rows>
<row>
<label value="${i18n:_('External company')}" />
<combobox model="@{subController.subcontractorExternalCompanies}"
value="@{subController.subcontractedTaskData.externalCompany.name}"
onSelect="subController.setExternalCompany(self.selectedItem);">
<comboitem self="@{each='externalCompany'}"
<hbox>
<combobox model="@{subController.subcontractorExternalCompanies}"
value="@{subController.subcontractedTaskData.externalCompany.name}"
onSelect="subController.setExternalCompany(self.selectedItem);"
visible="@{subController.notSent}" >
<comboitem self="@{each='externalCompany'}"
value="@{externalCompany}"
label="@{externalCompany.name}" />
</combobox>
label="@{externalCompany.name}"
readonly="@{subController.sent}" />
</combobox>
<label value="@{subController.subcontractedTaskData.externalCompany.name}"
visible="@{subController.sent}"/>
</hbox>
</row>
<row>
<label value="${i18n:_('Subcontratation date')}" />
<datebox value="@{subController.subcontractedTaskData.subcontratationDate}"
disabled="true" />
<hbox>
<datebox value="@{subController.subcontractedTaskData.subcontratationDate}"
disabled="true" visible="@{subController.notSent}"/>
<label value="@{subController.subcontractedTaskData.subcontratationDate,
converter='org.libreplan.web.common.typeconverters.DateConverter'}"
visible="@{subController.sent}"/>
</hbox>
</row>
<row>
<label value="${i18n:_('Subcontract communication date')}" />
<datebox value="@{subController.subcontractedTaskData.subcontractCommunicationDate}"
disabled="true" />
<hbox>
<datebox value="@{subController.subcontractedTaskData.subcontractCommunicationDate}"
disabled="true" visible="@{subController.notSent}"/>
<label value="@{subController.subcontractedTaskData.subcontractCommunicationDate,
converter='org.libreplan.web.common.typeconverters.DateConverter'}"
visible="@{subController.sent}"/>
</hbox>
</row>
<row>
<label value="${i18n:_('Work description')}" />
<textbox value="@{subController.subcontractedTaskData.workDescription}" />
<textbox value="@{subController.subcontractedTaskData.workDescription}"
readonly="@{subController.sent}"/>
</row>
<row>
<label value="${i18n:_('Subcontract price')}" />
<decimalbox value="@{subController.subcontractedTaskData.subcontractPrice}" />
<decimalbox value="@{subController.subcontractedTaskData.subcontractPrice}"
readonly="@{subController.sent}"/>
</row>
<row>
<label value="${i18n:_('Subcontracted code')}" />
<textbox value="@{subController.subcontractedTaskData.subcontractedCode}" />
<textbox value="@{subController.subcontractedTaskData.subcontractedCode}"
readonly="@{subController.sent}"/>
</row>
<row>
<label value="${i18n:_('Exportation options')}" />
<vbox>
<checkbox label="${i18n:_('Node without children')}"
checked="@{subController.subcontractedTaskData.nodeWithoutChildrenExported}" />
checked="@{subController.subcontractedTaskData.nodeWithoutChildrenExported}"
disabled="@{subController.sent}" />
<checkbox label="${i18n:_('Labels')}"
checked="@{subController.subcontractedTaskData.labelsExported}" />
checked="@{subController.subcontractedTaskData.labelsExported}"
disabled="@{subController.sent}" />
<checkbox label="${i18n:_('Material assignments')}"
checked="@{subController.subcontractedTaskData.materialAssignmentsExported}" />
checked="@{subController.subcontractedTaskData.materialAssignmentsExported}"
disabled="@{subController.sent}" />
<checkbox label="${i18n:_('Hours groups')}"
checked="@{subController.subcontractedTaskData.hoursGroupsExported}" />
checked="@{subController.subcontractedTaskData.hoursGroupsExported}"
disabled="@{subController.sent}" />
</vbox>
</row>
</rows>