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 {
|
||||
|
||||
private IssueTypeEnum type = IssueTypeEnum.getDefault();
|
||||
private IssueStatusEnum status = IssueStatusEnum.getDefault();
|
||||
private String status;
|
||||
private LowMediumHighEnum priority = LowMediumHighEnum.getDefault();
|
||||
private LowMediumHighEnum severity = LowMediumHighEnum.getDefault();
|
||||
private Date dateRaised;
|
||||
|
|
@ -69,11 +69,11 @@ public class IssueLog extends ProjectLog {
|
|||
this.type = type;
|
||||
}
|
||||
|
||||
public IssueStatusEnum getStatus() {
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(IssueStatusEnum status) {
|
||||
public void setStatus(String 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;
|
||||
}
|
||||
}
|
||||
|
|
@ -99,4 +99,4 @@
|
|||
/>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
</databaseChangeLog>
|
||||
|
|
|
|||
|
|
@ -49,6 +49,9 @@
|
|||
<property name="dateResolved" column="date_resolved"/>
|
||||
|
||||
<property name="notes" column="notes" access="field"/>
|
||||
|
||||
<property name="status" column="status" access="field"/>
|
||||
|
||||
</class>
|
||||
|
||||
<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.ValidationException;
|
||||
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.LowMediumHighEnum;
|
||||
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.Events;
|
||||
import org.zkoss.zul.*;
|
||||
import org.zkoss.zk.ui.Executions;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* Controller for IssueLog CRUD actions
|
||||
|
|
@ -70,15 +66,17 @@ public class IssueLogCRUDController extends BaseCRUDController<IssueLog> {
|
|||
|
||||
private BandboxSearch bdUserIssueLog;
|
||||
|
||||
private Listbox status;
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception {
|
||||
super.doAfterCompose(comp);
|
||||
status = (Listbox)comp.getFellow("editWindow").getFellow("listIssueLogStatus");
|
||||
comp.setVariable("issueLogController", this, true);
|
||||
showListWindow();
|
||||
initializeOrderComponent();
|
||||
initializeUserComponent();
|
||||
bdProjectIssueLog.setDisabled(!LogsController.getProjectNameVisibility());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -145,15 +143,8 @@ public class IssueLogCRUDController extends BaseCRUDController<IssueLog> {
|
|||
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() {
|
||||
@Override
|
||||
|
|
@ -272,10 +263,35 @@ public class IssueLogCRUDController extends BaseCRUDController<IssueLog> {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns {@link IssueStatusEnum} values
|
||||
* Returns {@link ArrayList} values
|
||||
*/
|
||||
public IssueStatusEnum[] getIssueStatusEnum() {
|
||||
return IssueStatusEnum.values();
|
||||
public ArrayList<String> getIssueStatusEnum() {
|
||||
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"
|
||||
model="@{issueLogController.issueTypeEnum}"
|
||||
selectedItem="@{issueLogController.issueLog.type}"
|
||||
itemRenderer="@{issueLogController.issueTypeRenderer}" />
|
||||
itemRenderer="@{issueLogController.issueTypeRenderer}"
|
||||
onSelect="issueLogController.updateStatus()"/>
|
||||
|
||||
<label value="${i18n:_('Status')}" />
|
||||
<listbox id="listIssueLogStatus" mold="select" rows="1" width="230px"
|
||||
model="@{issueLogController.issueStatusEnum}"
|
||||
<listbox id="listIssueLogStatus" mold="select" rows="1" width="230px" >
|
||||
<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}"
|
||||
itemRenderer="@{issueLogController.issueStatusRenderer}" />
|
||||
itemRenderer="@{issueLogController.issueStatusRenderer}" -->
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue