[Bug #798] Refactor 'Remove Criterion' window, change it for a MessageBox window
* Change hierarchy window to MessageBox too FEA: ItEr67S04BugFixing
This commit is contained in:
parent
61e84da163
commit
e4f0996207
5 changed files with 131 additions and 189 deletions
|
|
@ -38,6 +38,7 @@ import org.navalplanner.web.common.Level;
|
|||
import org.navalplanner.web.common.MessagesForUser;
|
||||
import org.navalplanner.web.common.OnlyOneVisible;
|
||||
import org.navalplanner.web.common.Util;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.event.CheckEvent;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
|
|
@ -45,6 +46,7 @@ import org.zkoss.zk.ui.util.GenericForwardComposer;
|
|||
import org.zkoss.zul.Checkbox;
|
||||
import org.zkoss.zul.Combobox;
|
||||
import org.zkoss.zul.Comboitem;
|
||||
import org.zkoss.zul.Messagebox;
|
||||
import org.zkoss.zul.Tree;
|
||||
import org.zkoss.zul.Window;
|
||||
|
||||
|
|
@ -53,10 +55,11 @@ import org.zkoss.zul.Window;
|
|||
*/
|
||||
public class CriterionAdminController extends GenericForwardComposer {
|
||||
|
||||
private static final Log log = LogFactory
|
||||
private static final Log LOG = LogFactory
|
||||
.getLog(CriterionAdminController.class);
|
||||
|
||||
private ICriterionsModel criterionsModel_V2;
|
||||
@Autowired
|
||||
private ICriterionsModel criterionsModel;
|
||||
|
||||
private Component messagesContainer;
|
||||
|
||||
|
|
@ -64,110 +67,95 @@ public class CriterionAdminController extends GenericForwardComposer {
|
|||
|
||||
private Window listing;
|
||||
|
||||
private Checkbox checkboxHierarchy;
|
||||
private Window editWindow;
|
||||
|
||||
private Window confirmRemove;
|
||||
|
||||
private boolean confirmingRemove = false;
|
||||
|
||||
private Window confirmDisabledHierarchy;
|
||||
|
||||
private boolean confirmingDisabledHierarchy = false;
|
||||
|
||||
private Component editComponent;
|
||||
|
||||
private Component createComponent;
|
||||
private Checkbox cbHierarchy;
|
||||
|
||||
private OnlyOneVisible onlyOneVisible;
|
||||
|
||||
private Component workersComponent;
|
||||
|
||||
private CriterionTreeController editionTree;
|
||||
|
||||
public CriterionAdminController() {
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception {
|
||||
super.doAfterCompose(comp);
|
||||
onlyOneVisible = new OnlyOneVisible(listing, editWindow, editWindow);
|
||||
onlyOneVisible.showOnly(listing);
|
||||
comp.setVariable("controller", this, false);
|
||||
messagesForUser = new MessagesForUser(messagesContainer);
|
||||
cbHierarchy = (Checkbox) editWindow.getFellow("cbHierarchy");
|
||||
setupResourceCombobox((Combobox) editWindow.getFellowIfAny("resourceCombobox"));
|
||||
}
|
||||
|
||||
public void goToCreateForm() {
|
||||
try{
|
||||
criterionsModel_V2.prepareForCreate();
|
||||
setupCriterionTreeController(createComponent);
|
||||
onlyOneVisible.showOnly(createComponent);
|
||||
setResourceComboboxValue((Combobox) createComponent.getFellowIfAny("resourceCombobox"));
|
||||
Util.reloadBindings(createComponent);
|
||||
}catch(Exception e){
|
||||
messagesForUser.showMessage(
|
||||
Level.ERROR, _("Error setting up creation form."));
|
||||
log.error(_("Error setting up creation form for Criterion Type"), e );
|
||||
try {
|
||||
criterionsModel.prepareForCreate();
|
||||
setupCriterionTreeController(editWindow);
|
||||
showEditWindow(_("Create Criterion type"));
|
||||
} catch (Exception e) {
|
||||
messagesForUser.showMessage(Level.ERROR,
|
||||
_("Error setting up creation form."));
|
||||
LOG.error(_("Error setting up creation form for Criterion Type"), e);
|
||||
}
|
||||
}
|
||||
|
||||
private void showEditWindow(String title) {
|
||||
editWindow.setTitle(title);
|
||||
onlyOneVisible.showOnly(editWindow);
|
||||
setResourceComboboxValue((Combobox) editWindow.getFellowIfAny("resourceCombobox"));
|
||||
Util.reloadBindings(editWindow);
|
||||
}
|
||||
|
||||
public void goToEditForm(CriterionType criterionType) {
|
||||
try{
|
||||
criterionsModel_V2.prepareForEdit(criterionType);
|
||||
setupCriterionTreeController(editComponent);
|
||||
onlyOneVisible.showOnly(editComponent);
|
||||
setResourceComboboxValue((Combobox) editComponent.getFellowIfAny("resourceCombobox"));
|
||||
Util.reloadBindings(editComponent);
|
||||
}catch(Exception e){
|
||||
messagesForUser.showMessage(
|
||||
Level.ERROR, _("Error setting up edition form."));
|
||||
log.error(_("Error setting up edition form for Criterion Type with id: {0}",
|
||||
criterionType.getId()), e );
|
||||
try {
|
||||
criterionsModel.prepareForEdit(criterionType);
|
||||
setupCriterionTreeController(editWindow);
|
||||
showEditWindow(_("Edit Criterion type"));
|
||||
} catch (Exception e) {
|
||||
messagesForUser.showMessage(Level.ERROR,
|
||||
_("Error setting up edition form."));
|
||||
LOG.error(
|
||||
_("Error setting up edition form for Criterion Type with id: {0}",
|
||||
criterionType.getId()), e);
|
||||
}
|
||||
}
|
||||
|
||||
public void confirmRemove(CriterionType criterionType) {
|
||||
criterionsModel_V2.prepareForRemove(criterionType);
|
||||
if (criterionsModel_V2.isDeletable(criterionType)) {
|
||||
showConfirmingWindow();
|
||||
} else {
|
||||
if (!criterionsModel.canRemove(criterionType)) {
|
||||
messagesForUser
|
||||
.showMessage(
|
||||
Level.WARNING,
|
||||
_("This criterion type cannot be deleted because it has assignments to projects or resources"));
|
||||
return;
|
||||
}
|
||||
showConfirmRemoveWindow(criterionType);
|
||||
}
|
||||
|
||||
public void cancelRemove() {
|
||||
confirmingRemove = false;
|
||||
confirmRemove.setVisible(false);
|
||||
Util.reloadBindings(confirmRemove);
|
||||
}
|
||||
|
||||
public boolean isConfirmingRemove() {
|
||||
return confirmingRemove;
|
||||
}
|
||||
|
||||
private void hideConfirmingWindow() {
|
||||
confirmingRemove = false;
|
||||
Util.reloadBindings(confirmRemove);
|
||||
}
|
||||
|
||||
private void showConfirmingWindow() {
|
||||
confirmingRemove = true;
|
||||
private void showConfirmRemoveWindow(CriterionType criterionType) {
|
||||
try {
|
||||
Util.reloadBindings(confirmRemove);
|
||||
confirmRemove.doModal();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
int status = Messagebox.show(
|
||||
_("Confirm deleting {0}. Are you sure?",
|
||||
criterionType.getName()), _("Delete"),
|
||||
Messagebox.OK | Messagebox.CANCEL, Messagebox.QUESTION);
|
||||
if (Messagebox.OK == status) {
|
||||
remove(criterionType);
|
||||
}
|
||||
|
||||
} catch (InterruptedException e) {
|
||||
messagesForUser.showMessage(Level.ERROR, e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void remove(CriterionType criterionType) {
|
||||
criterionsModel_V2.remove(criterionType);
|
||||
hideConfirmingWindow();
|
||||
criterionsModel.confirmRemove(criterionType);
|
||||
Util.reloadBindings(listing);
|
||||
messagesForUser.showMessage(
|
||||
Level.INFO, _("Removed {0}", criterionType.getName()));
|
||||
}
|
||||
|
||||
public void confirmDisabledHierarchy(Checkbox checkbox) {
|
||||
checkboxHierarchy = checkbox;
|
||||
if(!checkboxHierarchy.isChecked()){
|
||||
public void confirmDisabledHierarchy() {
|
||||
if (!cbHierarchy.isChecked()){
|
||||
showConfirmingHierarchyWindow();
|
||||
}
|
||||
editionTree.reloadTree();
|
||||
}
|
||||
|
||||
public boolean allowRemove(CriterionType criterionType){
|
||||
|
|
@ -185,38 +173,30 @@ public class CriterionAdminController extends GenericForwardComposer {
|
|||
return true;
|
||||
}
|
||||
|
||||
public void cancelDisEnabledHierarchy() {
|
||||
confirmingDisabledHierarchy = false;
|
||||
confirmDisabledHierarchy.setVisible(false);
|
||||
checkboxHierarchy.setChecked(true);
|
||||
Util.reloadBindings(confirmDisabledHierarchy);
|
||||
}
|
||||
|
||||
public boolean isConfirmingDisEnabledHierarchy() {
|
||||
return confirmingDisabledHierarchy;
|
||||
}
|
||||
|
||||
private void hideConfirmingHierarchtWindow() {
|
||||
confirmingDisabledHierarchy = false;
|
||||
Util.reloadBindings(confirmDisabledHierarchy);
|
||||
}
|
||||
|
||||
private void showConfirmingHierarchyWindow() {
|
||||
this.confirmingDisabledHierarchy = true;
|
||||
try {
|
||||
Util.reloadBindings(this.confirmDisabledHierarchy);
|
||||
confirmDisabledHierarchy.doModal();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
int status = Messagebox
|
||||
.show(_("Disable hierarchy will cause criteria tree to be flattened. Are you sure?"),
|
||||
"Question", Messagebox.OK | Messagebox.CANCEL,
|
||||
Messagebox.QUESTION);
|
||||
if (Messagebox.OK == status) {
|
||||
disableHierarchy();
|
||||
editionTree.reloadTree();
|
||||
} else {
|
||||
cbHierarchy.setChecked(true);
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
messagesForUser.showMessage(Level.ERROR, e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void okDisEnabledHierarchy() {
|
||||
public void disableHierarchy() {
|
||||
editionTree.disabledHierarchy();
|
||||
hideConfirmingHierarchtWindow();
|
||||
messagesForUser.showMessage(
|
||||
Level.INFO,
|
||||
_("Tree {0} sucessfully flattened", criterionsModel
|
||||
.getCriterionType().getName()));
|
||||
Util.reloadBindings(listing);
|
||||
messagesForUser.showMessage(Level.INFO, _("Fattened Tree {0}",
|
||||
criterionsModel_V2.getCriterionType().getName()));
|
||||
}
|
||||
|
||||
public void changeEnabled(Checkbox checkbox) {
|
||||
|
|
@ -244,7 +224,7 @@ public class CriterionAdminController extends GenericForwardComposer {
|
|||
|
||||
private void save() throws ValidationException {
|
||||
try {
|
||||
criterionsModel_V2.saveCriterionType();
|
||||
criterionsModel.saveCriterionType();
|
||||
messagesForUser.showMessage(Level.INFO,
|
||||
_("CriterionType and its criteria saved"));
|
||||
} catch (ValidationException e) {
|
||||
|
|
@ -271,46 +251,30 @@ public class CriterionAdminController extends GenericForwardComposer {
|
|||
}
|
||||
|
||||
private void reloadCriterionType() {
|
||||
Tree tree = (Tree) getCurrentWindow().getFellowIfAny("tree");
|
||||
criterionsModel_V2.reloadCriterionType();
|
||||
Tree tree = (Tree) editWindow.getFellowIfAny("tree");
|
||||
criterionsModel.reloadCriterionType();
|
||||
Util.reloadBindings(tree);
|
||||
}
|
||||
|
||||
private Component getCurrentWindow() {
|
||||
return (editComponent.isVisible()) ? editComponent : createComponent;
|
||||
}
|
||||
|
||||
public List<CriterionType> getCriterionTypes() {
|
||||
List<CriterionType> types = criterionsModel_V2.getTypes();
|
||||
List<CriterionType> types = criterionsModel.getTypes();
|
||||
return types;
|
||||
}
|
||||
|
||||
public ICriterionType<?> getCriterionType() {
|
||||
return criterionsModel_V2.getCriterionType();
|
||||
return criterionsModel.getCriterionType();
|
||||
}
|
||||
|
||||
public ICriterionTreeModel getCriterionTreeModel() {
|
||||
return criterionsModel_V2.getCriterionTreeModel();
|
||||
return criterionsModel.getCriterionTreeModel();
|
||||
}
|
||||
|
||||
public Criterion getCriterion() {
|
||||
return criterionsModel_V2.getCriterion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception {
|
||||
super.doAfterCompose(comp);
|
||||
onlyOneVisible = new OnlyOneVisible(listing, editComponent,
|
||||
createComponent, workersComponent);
|
||||
onlyOneVisible.showOnly(listing);
|
||||
comp.setVariable("controller", this, false);
|
||||
messagesForUser = new MessagesForUser(messagesContainer);
|
||||
setupResourceCombobox((Combobox) createComponent.getFellowIfAny("resourceCombobox"));
|
||||
setupResourceCombobox((Combobox) editComponent.getFellowIfAny("resourceCombobox"));
|
||||
return criterionsModel.getCriterion();
|
||||
}
|
||||
|
||||
private void setupResourceCombobox(Combobox combo) {
|
||||
for(ResourceEnum resource : ResourceEnum.values()) {
|
||||
for (ResourceEnum resource : ResourceEnum.values()) {
|
||||
Comboitem item = combo.appendItem(_(resource.getDisplayName()));
|
||||
item.setValue(resource);
|
||||
}
|
||||
|
|
@ -318,7 +282,7 @@ public class CriterionAdminController extends GenericForwardComposer {
|
|||
|
||||
private void setResourceComboboxValue(Combobox combo) {
|
||||
CriterionType criterionType = (CriterionType) getCriterionType();
|
||||
for(Object object : combo.getItems()) {
|
||||
for (Object object : combo.getItems()) {
|
||||
Comboitem item = (Comboitem) object;
|
||||
if(criterionType != null &&
|
||||
item.getValue().equals(criterionType.getResource())) {
|
||||
|
|
@ -333,13 +297,12 @@ public class CriterionAdminController extends GenericForwardComposer {
|
|||
}
|
||||
}
|
||||
|
||||
private void setupCriterionTreeController(Component comp)throws Exception {
|
||||
editionTree = new CriterionTreeController(criterionsModel_V2);
|
||||
editionTree.setCriterionCodeEditionDisabled(
|
||||
((CriterionType) criterionsModel_V2
|
||||
private void setupCriterionTreeController(Component comp) throws Exception {
|
||||
editionTree = new CriterionTreeController(criterionsModel);
|
||||
editionTree
|
||||
.setCriterionCodeEditionDisabled(((CriterionType) criterionsModel
|
||||
.getCriterionType()).isCodeAutogenerated());
|
||||
editionTree.doAfterCompose(comp.getFellow(
|
||||
"criterionsTree"));
|
||||
editionTree.doAfterCompose(comp.getFellow("criterionsTree"));
|
||||
}
|
||||
|
||||
public void onCheckGenerateCode(Event e) {
|
||||
|
|
@ -347,14 +310,15 @@ public class CriterionAdminController extends GenericForwardComposer {
|
|||
if (ce.isChecked()) {
|
||||
try {
|
||||
// we have to auto-generate the code for new objects
|
||||
criterionsModel_V2.setCodeAutogenerated(ce.isChecked());
|
||||
criterionsModel.setCodeAutogenerated(ce.isChecked());
|
||||
} catch (ConcurrentModificationException err) {
|
||||
messagesForUser.showMessage(Level.ERROR, err.getMessage());
|
||||
}
|
||||
Util.reloadBindings(createComponent);
|
||||
Util.reloadBindings(editWindow);
|
||||
}
|
||||
//disable code field in criterion tree controller
|
||||
editionTree.setCriterionCodeEditionDisabled(ce.isChecked());
|
||||
editionTree.reloadTree();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,16 +48,19 @@ import org.navalplanner.web.common.concurrentdetection.OnConcurrentModification;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* Model for criterions. <br />
|
||||
*
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
* @author Diego Pino García <ogonzalez@igalia.com>
|
||||
*/
|
||||
@Component("criterionsModel_V2")
|
||||
|
||||
@Service
|
||||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
@OnConcurrentModification(goToPage = "/resources/criterions/criterions-V2.zul")
|
||||
@OnConcurrentModification(goToPage = "/resources/criterions/criterions.zul")
|
||||
public class CriterionsModel extends IntegrationEntityModel implements ICriterionsModel {
|
||||
|
||||
private static final Log log = LogFactory.getLog(CriterionsModel.class);
|
||||
|
|
@ -136,14 +139,6 @@ public class CriterionsModel extends IntegrationEntityModel implements ICriterio
|
|||
.createCriterionWithoutNameYet();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void prepareForRemove(CriterionType criterionType) {
|
||||
this.criterionType = criterionType;
|
||||
criterionTypeDAO.reattach(criterionType);
|
||||
criterionType.getCriterions().size();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public void prepareForEdit(CriterionType criterionType) {
|
||||
|
|
@ -155,7 +150,7 @@ public class CriterionsModel extends IntegrationEntityModel implements ICriterio
|
|||
|
||||
@Override
|
||||
@Transactional
|
||||
public void remove(CriterionType criterionType) {
|
||||
public void confirmRemove(CriterionType criterionType) {
|
||||
try {
|
||||
criterionTypeDAO.remove(criterionType.getId());
|
||||
} catch (InstanceNotFoundException e) {
|
||||
|
|
@ -271,7 +266,8 @@ public class CriterionsModel extends IntegrationEntityModel implements ICriterio
|
|||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public boolean isDeletable(CriterionType criterionType) {
|
||||
public boolean canRemove(CriterionType criterionType) {
|
||||
reattachCriterions(criterionType);
|
||||
for (Criterion each : criterionType.getCriterions()) {
|
||||
if (numberOfRelatedEntities(each) != 0) {
|
||||
return false;
|
||||
|
|
@ -280,6 +276,11 @@ public class CriterionsModel extends IntegrationEntityModel implements ICriterio
|
|||
return true;
|
||||
}
|
||||
|
||||
private void reattachCriterions(CriterionType criterionType) {
|
||||
criterionTypeDAO.reattach(criterionType);
|
||||
criterionType.getCriterions().size();
|
||||
}
|
||||
|
||||
public EntityNameEnum getEntityName() {
|
||||
return EntityNameEnum.CRITERION;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,8 +66,6 @@ public interface ICriterionsModel extends IIntegrationEntityModel {
|
|||
|
||||
public void prepareForEdit(CriterionType criterionType);
|
||||
|
||||
public void prepareForRemove(CriterionType criterionType);
|
||||
|
||||
/**
|
||||
* Reloads {@link CriterionType} from DB and all its criterions
|
||||
* This method should be call after saveAndContinue() from controller to
|
||||
|
|
@ -75,7 +73,7 @@ public interface ICriterionsModel extends IIntegrationEntityModel {
|
|||
*/
|
||||
void reloadCriterionType();
|
||||
|
||||
public void remove(CriterionType criterionType);
|
||||
public void confirmRemove(CriterionType criterionType);
|
||||
|
||||
void saveCriterionType() throws ValidationException;
|
||||
|
||||
|
|
@ -83,7 +81,7 @@ public interface ICriterionsModel extends IIntegrationEntityModel {
|
|||
|
||||
boolean isDeletable(Criterion criterion);
|
||||
|
||||
boolean isDeletable(CriterionType criterionType);
|
||||
boolean canRemove(CriterionType criterionType);
|
||||
|
||||
void addForRemoval(Criterion criterion);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,8 @@
|
|||
-->
|
||||
|
||||
<?component name="criterionsTree" inline="true" macroURI="_criterionsTree.zul"?>
|
||||
<window id="${arg.top_id}" title="${arg.title}">
|
||||
|
||||
<window id="${arg.id}" title="${arg.title}">
|
||||
<tabbox>
|
||||
<tabs>
|
||||
<tab label="${i18n:_('Edit')}" width="850"></tab>
|
||||
|
|
@ -49,8 +50,9 @@
|
|||
</row>
|
||||
<row>
|
||||
<label value="${i18n:_('Hierarchy')}" />
|
||||
<checkbox checked="@{controller.criterionType.allowHierarchy}"
|
||||
onCheck="controller.confirmDisabledHierarchy(self);" />
|
||||
<checkbox id="cbHierarchy"
|
||||
checked="@{controller.criterionType.allowHierarchy}"
|
||||
onCheck="controller.confirmDisabledHierarchy()" />
|
||||
</row>
|
||||
<row>
|
||||
<label value="${i18n:_('Enabled')}" />
|
||||
|
|
|
|||
|
|
@ -19,53 +19,30 @@
|
|||
-->
|
||||
|
||||
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?>
|
||||
|
||||
<?page title="${i18n:_('NavalPlan: Criteria')}" id="criterions_admin"?>
|
||||
|
||||
<?init class="org.zkoss.zk.ui.util.Composition" arg0="/common/layout/template.zul"?>
|
||||
<?link rel="stylesheet" type="text/css" href="/common/css/navalplan.css"?>
|
||||
<?link rel="stylesheet" type="text/css" href="/common/css/navalplan_zk.css"?>
|
||||
<?link rel="stylesheet" type="text/css" href="/resources/css/resources.css"?>
|
||||
|
||||
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
|
||||
|
||||
<?component name="list" inline="true" macroURI="_list.zul"?>
|
||||
<?component name="edition" inline="true" macroURI="_edition.zul"?>
|
||||
|
||||
<zk>
|
||||
<window self="@{define(content)}"
|
||||
apply="org.navalplanner.web.resources.criterion.CriterionAdminController">
|
||||
<vbox id="messagesContainer"></vbox>
|
||||
<list top_id="listWindow" />
|
||||
<edition top_id="createComponent" title="${i18n:_('Create Criterion Type')}"
|
||||
save_button_label="${i18n:_('Save')}" cancel_button_label="${i18n:_('Cancel')}" />
|
||||
<edition top_id="editComponent" title="${i18n:_('Edit Criterion Type')}"
|
||||
save_button_label="${i18n:_('Save')}" cancel_button_label="${i18n:_('Cancel')}" />
|
||||
<window visible="@{controller.confirmingRemove}"
|
||||
id="confirmRemove" title="${i18n:_('Confirm')}" sizable="true"
|
||||
position="center">
|
||||
<vbox align = "center">
|
||||
<hbox align = "center">
|
||||
<label value = "Confirm deleting "/>
|
||||
<label value = "@{controller.criterionType.name}"/>
|
||||
<label value = "?"/>
|
||||
</hbox>
|
||||
<hbox align = "center">
|
||||
<button label="${i18n:_('Yes')}"
|
||||
onClick="controller.remove(controller.criterionType);" />
|
||||
<button label="${i18n:_('No')}"
|
||||
onClick="controller.cancelRemove();" />
|
||||
</hbox>
|
||||
</vbox>
|
||||
</window>
|
||||
<window visible="@{controller.confirmingDisEnabledHierarchy}"
|
||||
id="confirmDisabledHierarchy" title="${i18n:_('Warning')}" sizable="true"
|
||||
position="center">
|
||||
<vbox align = "center">
|
||||
<label value = "Disable the Hierarchy to order flatten the tree."/>
|
||||
<label value = "Continue?"/>
|
||||
<hbox align = "center">
|
||||
<button label="${i18n:_('Ok')}"
|
||||
onClick="controller.okDisEnabledHierarchy();" />
|
||||
<button label="${i18n:_('Cancel')}"
|
||||
onClick="controller.cancelDisEnabledHierarchy();" />
|
||||
</hbox>
|
||||
</vbox>
|
||||
</window>
|
||||
</window>
|
||||
</zk>
|
||||
<window self="@{define(content)}"
|
||||
apply="org.navalplanner.web.resources.criterion.CriterionAdminController">
|
||||
|
||||
<vbox id="messagesContainer" />
|
||||
|
||||
<list top_id="listWindow" />
|
||||
|
||||
<edition id="editWindow"
|
||||
save_button_label="${i18n:_('Save')}"
|
||||
cancel_button_label="${i18n:_('Cancel')}" />
|
||||
|
||||
</window>
|
||||
</zk>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue