ItEr53S10AdaptacionServiciosRESTItEr52S10: Added the checkbox 'generate code' to the Workers administration page.

Code field is enabled/disabled when the checkbox changes.
Code is are re-generated when the checkbox is activated and the worker isn't saved yet.
The value of the checkbox is persistent (as an attribute of Resource).
This commit is contained in:
Jacobo Aragunde Pérez 2010-04-12 13:59:40 +02:00 committed by Javier Moran Rua
parent 2f0208a0bd
commit 9f22394266
5 changed files with 36 additions and 1 deletions

View file

@ -96,6 +96,8 @@ public abstract class Resource extends IntegrationEntity {
private Boolean limitingResource = Boolean.FALSE;
private Boolean generateCode = false;
private void clearCachedData() {
assignmentsByDayCached = null;
}
@ -1058,4 +1060,12 @@ public abstract class Resource extends IntegrationEntity {
return (Boolean.TRUE.equals(isLimitingResource())) ? _("yes") : _("no");
}
public void setGenerateCode(Boolean generateCode) {
this.generateCode = generateCode;
}
public Boolean getGenerateCode() {
return generateCode;
}
}

View file

@ -15,6 +15,8 @@
<property name="code" access="property" not-null="true" unique="true"/>
<property name="generateCode" not-null="true" />
<property name="limitingResource" column="LIMITED_RESOURCE" not-null="true"/>
<set access="field" cascade="all-delete-orphan" inverse="true" name="criterionSatisfactions">

View file

@ -49,6 +49,8 @@ import org.navalplanner.web.costcategories.ResourcesCostCategoryAssignmentContro
import org.navalplanner.web.resources.search.ResourcePredicate;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.WrongValueException;
import org.zkoss.zk.ui.event.CheckEvent;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
@ -708,4 +710,14 @@ public class WorkerCRUDController extends GenericForwardComposer implements
return (getWorker() != null && !getWorker().isNewObject());
}
public void onCheckGenerateCode(Event e) {
CheckEvent ce = (CheckEvent) e;
if(ce.isChecked()) {
//we have to auto-generate the code if it's unsaved
if(getWorker().isNewObject()) {
getWorker().setCodeAutogenerated();
Util.reloadBindings(editWindow);
}
}
}
}

View file

@ -168,6 +168,10 @@ public class WorkerModel implements IWorkerModel {
} else {
worker = Worker.create();
}
worker.setGenerateCode(configurationDAO.getConfiguration().getGenerateCodeForResources());
if(!worker.getGenerateCode()) {
worker.setCode("");
}
localizationsAssigner = new MultipleCriterionActiveAssigner(
criterionDAO, worker,
PredefinedCriterionTypes.LOCATION_GROUP);

View file

@ -43,7 +43,14 @@
<rows>
<row>
<label value="${i18n:_('Code')}" />
<textbox value="@{controller.worker.code}" constraint="no empty" width="500px" />
<hbox>
<textbox width="350px" value="@{controller.worker.code}"
constraint="no empty:${i18n:_('cannot be null or empty')}"
disabled="@{controller.worker.generateCode}" />
<checkbox id="generateCode" label="${i18n:_('Generate code')}"
onCheck="controller.onCheckGenerateCode(event)"
checked="@{controller.worker.generateCode}" />
</hbox>
</row>
<row visible="@{controller.isRealWorker}">
<label value="${i18n:_('First name')}" />