Changed issue status to depend on different issue type values
This commit is contained in:
parent
eb15d7f49c
commit
40dc2bd0d9
6 changed files with 49 additions and 51 deletions
|
|
@ -35,7 +35,7 @@ import org.libreplan.business.users.entities.User;
|
||||||
public class IssueLog extends ProjectLog {
|
public class IssueLog extends ProjectLog {
|
||||||
|
|
||||||
private IssueTypeEnum type = IssueTypeEnum.getDefault();
|
private IssueTypeEnum type = IssueTypeEnum.getDefault();
|
||||||
private IssueStatusEnum status = IssueStatusEnum.getDefault();
|
private String status;
|
||||||
private LowMediumHighEnum priority = LowMediumHighEnum.getDefault();
|
private LowMediumHighEnum priority = LowMediumHighEnum.getDefault();
|
||||||
private LowMediumHighEnum severity = LowMediumHighEnum.getDefault();
|
private LowMediumHighEnum severity = LowMediumHighEnum.getDefault();
|
||||||
private Date dateRaised;
|
private Date dateRaised;
|
||||||
|
|
@ -69,11 +69,11 @@ public class IssueLog extends ProjectLog {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IssueStatusEnum getStatus() {
|
public String getStatus() {
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setStatus(IssueStatusEnum status) {
|
public void setStatus(String status) {
|
||||||
this.status = status;
|
this.status = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
package org.libreplan.business.logs.entities;
|
|
||||||
import static org.libreplan.business.i18n.I18nHelper._;
|
|
||||||
/**
|
|
||||||
* Defines INVESTIGATING, ESCALATED, RESOLVED enums
|
|
||||||
* to be used as data type in
|
|
||||||
* {@link IssueLog}
|
|
||||||
*
|
|
||||||
* @author Misha Gozhda <misha@libreplan-enterprise.com>
|
|
||||||
*/
|
|
||||||
public enum IssueStatusEnum {
|
|
||||||
INVESTIGATING(_("INVESTIGATING")), ESCALATED(_("ESCALATED")), RESOLVED(_("RESOLVED"));
|
|
||||||
|
|
||||||
private final String issueStatusEnum;
|
|
||||||
|
|
||||||
IssueStatusEnum(String issueStatusEnum) {
|
|
||||||
this.issueStatusEnum = issueStatusEnum;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDisplayName() {
|
|
||||||
return issueStatusEnum;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static IssueStatusEnum getDefault() {
|
|
||||||
return IssueStatusEnum.INVESTIGATING;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -49,6 +49,9 @@
|
||||||
<property name="dateResolved" column="date_resolved"/>
|
<property name="dateResolved" column="date_resolved"/>
|
||||||
|
|
||||||
<property name="notes" column="notes" access="field"/>
|
<property name="notes" column="notes" access="field"/>
|
||||||
|
|
||||||
|
<property name="status" column="status" access="field"/>
|
||||||
|
|
||||||
</class>
|
</class>
|
||||||
|
|
||||||
<class name="RiskLog" table="risk_log">
|
<class name="RiskLog" table="risk_log">
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@ import org.apache.commons.logging.LogFactory;
|
||||||
import org.libreplan.business.common.exceptions.InstanceNotFoundException;
|
import org.libreplan.business.common.exceptions.InstanceNotFoundException;
|
||||||
import org.libreplan.business.common.exceptions.ValidationException;
|
import org.libreplan.business.common.exceptions.ValidationException;
|
||||||
import org.libreplan.business.logs.entities.IssueLog;
|
import org.libreplan.business.logs.entities.IssueLog;
|
||||||
import org.libreplan.business.logs.entities.IssueStatusEnum;
|
|
||||||
import org.libreplan.business.logs.entities.IssueTypeEnum;
|
import org.libreplan.business.logs.entities.IssueTypeEnum;
|
||||||
import org.libreplan.business.logs.entities.LowMediumHighEnum;
|
import org.libreplan.business.logs.entities.LowMediumHighEnum;
|
||||||
import org.libreplan.business.orders.entities.Order;
|
import org.libreplan.business.orders.entities.Order;
|
||||||
|
|
@ -46,9 +45,6 @@ import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zk.ui.event.EventListener;
|
import org.zkoss.zk.ui.event.EventListener;
|
||||||
import org.zkoss.zk.ui.event.Events;
|
import org.zkoss.zk.ui.event.Events;
|
||||||
import org.zkoss.zul.*;
|
import org.zkoss.zul.*;
|
||||||
import org.zkoss.zk.ui.Executions;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller for IssueLog CRUD actions
|
* Controller for IssueLog CRUD actions
|
||||||
|
|
@ -70,15 +66,17 @@ public class IssueLogCRUDController extends BaseCRUDController<IssueLog> {
|
||||||
|
|
||||||
private BandboxSearch bdUserIssueLog;
|
private BandboxSearch bdUserIssueLog;
|
||||||
|
|
||||||
|
private Listbox status;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void doAfterCompose(Component comp) throws Exception {
|
public void doAfterCompose(Component comp) throws Exception {
|
||||||
super.doAfterCompose(comp);
|
super.doAfterCompose(comp);
|
||||||
|
status = (Listbox)comp.getFellow("editWindow").getFellow("listIssueLogStatus");
|
||||||
comp.setVariable("issueLogController", this, true);
|
comp.setVariable("issueLogController", this, true);
|
||||||
showListWindow();
|
showListWindow();
|
||||||
initializeOrderComponent();
|
initializeOrderComponent();
|
||||||
initializeUserComponent();
|
initializeUserComponent();
|
||||||
bdProjectIssueLog.setDisabled(!LogsController.getProjectNameVisibility());
|
bdProjectIssueLog.setDisabled(!LogsController.getProjectNameVisibility());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -145,15 +143,8 @@ public class IssueLogCRUDController extends BaseCRUDController<IssueLog> {
|
||||||
item.setLabel(displayName);
|
item.setLabel(displayName);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
public static ListitemRenderer issueStatusRenderer = new ListitemRenderer() {
|
|
||||||
@Override
|
|
||||||
public void render(org.zkoss.zul.Listitem item, Object data)
|
|
||||||
throws Exception {
|
|
||||||
IssueStatusEnum issueStatusEnum = (IssueStatusEnum) data;
|
|
||||||
String displayName = issueStatusEnum.getDisplayName();
|
|
||||||
item.setLabel(displayName);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static ListitemRenderer lowMediumHighEnumRenderer = new ListitemRenderer() {
|
public static ListitemRenderer lowMediumHighEnumRenderer = new ListitemRenderer() {
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -272,10 +263,35 @@ public class IssueLogCRUDController extends BaseCRUDController<IssueLog> {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns {@link IssueStatusEnum} values
|
* Returns {@link ArrayList} values
|
||||||
*/
|
*/
|
||||||
public IssueStatusEnum[] getIssueStatusEnum() {
|
public ArrayList<String> getIssueStatusEnum() {
|
||||||
return IssueStatusEnum.values();
|
ArrayList<String> result = new ArrayList<String>();
|
||||||
|
if (getIssueLog().getType() == IssueTypeEnum.REQUEST_FOR_CHANGE){
|
||||||
|
result.add(_("ESSENTIAL"));
|
||||||
|
result.add(_("IMPORTANT"));
|
||||||
|
result.add(_("USEFUL"));
|
||||||
|
result.add(_("NOT IMPORTANT FOR NOW"));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
if (getIssueLog().getType() == IssueTypeEnum.PROBLEM_OR_CONCERN) {
|
||||||
|
result.add(_("MINOR"));
|
||||||
|
result.add(_("SIGNIFICANT"));
|
||||||
|
result.add(_("MAJOR"));
|
||||||
|
result.add(_("CRITICAL"));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
result.add(_("LOW"));
|
||||||
|
result.add(_("MEDIUM"));
|
||||||
|
result.add(_("HIGH"));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateStatus() {
|
||||||
|
ListModelList model = new ListModelList(getIssueStatusEnum());
|
||||||
|
status.setModel(model);
|
||||||
|
status.setSelectedItem(status.getItemAtIndex(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -53,13 +53,18 @@
|
||||||
<listbox id="listIssueLogType" mold="select" rows="1" width="230px"
|
<listbox id="listIssueLogType" mold="select" rows="1" width="230px"
|
||||||
model="@{issueLogController.issueTypeEnum}"
|
model="@{issueLogController.issueTypeEnum}"
|
||||||
selectedItem="@{issueLogController.issueLog.type}"
|
selectedItem="@{issueLogController.issueLog.type}"
|
||||||
itemRenderer="@{issueLogController.issueTypeRenderer}" />
|
itemRenderer="@{issueLogController.issueTypeRenderer}"
|
||||||
|
onSelect="issueLogController.updateStatus()"/>
|
||||||
|
|
||||||
<label value="${i18n:_('Status')}" />
|
<label value="${i18n:_('Status')}" />
|
||||||
<listbox id="listIssueLogStatus" mold="select" rows="1" width="230px"
|
<listbox id="listIssueLogStatus" mold="select" rows="1" width="230px" >
|
||||||
model="@{issueLogController.issueStatusEnum}"
|
<listitem label="LOW" value="LOW" selected="true"></listitem>
|
||||||
|
<listitem label="MEDIUM" value="MEDIUM"></listitem>
|
||||||
|
<listitem label="HIGH" value="HIGH"></listitem>
|
||||||
|
</listbox>
|
||||||
|
<!--model="@{issueLogController.issueStatusEnum}"
|
||||||
selectedItem="@{issueLogController.issueLog.status}"
|
selectedItem="@{issueLogController.issueLog.status}"
|
||||||
itemRenderer="@{issueLogController.issueStatusRenderer}" />
|
itemRenderer="@{issueLogController.issueStatusRenderer}" -->
|
||||||
</row>
|
</row>
|
||||||
</rows>
|
</rows>
|
||||||
</grid>
|
</grid>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue