Merging with main Libreplan fork

This commit is contained in:
Misha 2015-12-04 15:46:19 +02:00
parent b58c4e4c17
commit 57b01d4431
9 changed files with 168 additions and 66 deletions

View file

@ -77,7 +77,6 @@ public class IssueLog extends ProjectLog {
this.status = status;
}
@NotNull(message = "priority is not specified")
public LowMediumHighEnum getPriority() {
return priority;
}

View file

@ -7,48 +7,96 @@
<changeSet id="adding-email_template_table" author="vova/jeroen">
<createTable tableName="email_template">
<column name="id" type="BIGINT" autoIncrement="true">
<column name="id" type="int" autoIncrement="true">
<constraints primaryKey="true" nullable="false" primaryKeyName="email_templates_pkey"/>
</column>
<column name="type" type="int"/>
<column name="language" type="int"/>
<column name="content" type="varchar(2048)"/>
<column name="subject" type="varchar(1024)"/>
</createTable>
<addUniqueConstraint
constraintName="email_template_type_language"
columnNames="type, language"
constraintName="email_template_type_lang_key"
columnNames="type,language"
deferrable="false"
disabled="false"
initiallyDeferred="false"
tableName="email_template"
/>
<createIndex tableName="email_template" indexName="language_index">
<column name="language"></column>
</createIndex>
<createIndex tableName="email_template" indexName="type_index">
<column name="type"></column>
</createIndex>
</changeSet>
<changeSet id="adding-notification_notification_queue" author="vova">
<createTable tableName="notification_queue">
<changeSet id="adding-issue_log_table" author="misha">
<createTable tableName="issue_log">
<column name="id" type="BIGINT" autoIncrement="true">
<constraints primaryKey="true" nullable="false" primaryKeyName="notification_queue_pkey"/>
<constraints primaryKey="true" nullable="false" primaryKeyName="issue_log_pkey"/>
</column>
<column name="type" type="int"/>
<column name="updated" type="timestamp with time zone"/>
<column name="resource" type="BIGINT"/>
<column name="task" type="BIGINT"/>
<column name="code" type="varchar(25)"/>
<column name="project" type="BIGINT"/>
<column name="type" type="integer"/>
<column name="description" type="varchar"/>
<column name="priority" type="integer"/>
<column name="severity" type="integer"/>
<column name="created_by" type="BIGINT"/>
<column name="assigned_to" type="varchar(50)"/>
<column name="status" type="varchar(50)"/>
<column name="date_raised" type="timestamp with time zone"/>
<column name="deadline" type="timestamp with time zone"/>
<column name="date_resolved" type="timestamp with time zone"/>
<column name="notes" type="varchar"/>
</createTable>
<addForeignKeyConstraint baseTableName="issue_log" baseColumnNames="project"
constraintName="issue_log_project_order_element_table"
referencedTableName="order_element"
referencedColumnNames="id"/>
<addForeignKeyConstraint baseTableName="issue_log" baseColumnNames="created_by"
constraintName="issue_log_user_user_table"
referencedTableName="user_table"
referencedColumnNames="id"/>
<addUniqueConstraint
tableName="notification_queue"
columnNames="resource, task, project"
constraintName="issue_log_unique_code"
columnNames="code"
deferrable="false"
disabled="false"
initiallyDeferred="false"/>
initiallyDeferred="false"
tableName="issue_log"
/>
</changeSet>
<changeSet id="adding-risk_log_table" author="misha">
<createTable tableName="risk_log">
<column name="id" type="BIGINT" autoIncrement="true">
<constraints primaryKey="true" nullable="false" primaryKeyName="risk_log_pkey"/>
</column>
<column name="code" type="varchar(25)"/>
<column name="project" type="BIGINT"/>
<column name="description" type="varchar"/>
<column name="probability" type="integer"/>
<column name="impact" type="integer"/>
<column name="score" type="integer"/>
<column name="created_by" type="BIGINT"/>
<column name="responsible" type="varchar(25)"/>
<column name="status" type="varchar(25)"/>
<column name="contingency" type="varchar(50)"/>
<column name="counter_measures" type="varchar(50)"/>
<column name="action_when" type="timestamp with time zone"/>
<column name="date_created" type="timestamp with time zone"/>
<column name="notes" type="varchar"/>
</createTable>
<addForeignKeyConstraint baseTableName="risk_log" baseColumnNames="project"
constraintName="project_order_element_table"
referencedTableName="order_element"
referencedColumnNames="id"/>
<addForeignKeyConstraint baseTableName="risk_log" baseColumnNames="created_by"
constraintName="risk_log_user_user_table"
referencedTableName="user_table"
referencedColumnNames="id"/>
<addUniqueConstraint
constraintName="risk_log_unique_code"
columnNames="code"
deferrable="false"
disabled="false"
initiallyDeferred="false"
tableName="risk_log"
/>
</changeSet>
</databaseChangeLog>

View file

@ -293,7 +293,7 @@ public class IssueLogCRUDController extends BaseCRUDController<IssueLog> {
}
/**
* Returns date entered
* Returns {@link Date}
*/
public Date getDateRaised() {
if (issueLogModel.getIssueLog() == null) {
@ -305,17 +305,17 @@ public class IssueLogCRUDController extends BaseCRUDController<IssueLog> {
}
/**
* Sets the date entered
* Sets the date raised
*
* @param date
* date eneted
* date raised
*/
public void setDateRaised(Date date) {
issueLogModel.getIssueLog().setDateRaised(date);
}
/**
* Returns date resolved
* Returns {@link Date}
*/
public Date getDateResolved() {
if (issueLogModel.getIssueLog() == null) {
@ -335,6 +335,9 @@ public class IssueLogCRUDController extends BaseCRUDController<IssueLog> {
issueLogModel.getIssueLog().setDateResolved(date);
}
/**
* Returns {@link Date}
*/
public Date getDeadline() {
if (issueLogModel.getIssueLog() == null) {
return null;
@ -372,6 +375,13 @@ public class IssueLogCRUDController extends BaseCRUDController<IssueLog> {
}
}
public Order getOrder() {
if (LogsController.getProjectNameVisibility() == false)
return LogsController.getOrder();
else
return issueLogModel.getIssueLog().getOrder();
}
@Override
protected String getEntityType() {
return _("issuelog-number");

View file

@ -47,8 +47,8 @@ import org.springframework.transaction.annotation.Transactional;
/**
* Model for UI operations related to {@link IssueLog}
*
* @author Miciele Ghiorghis <m.ghiorghis@antoniusziekenhuis.nl>
*
* @author Misha Gozhda <misha@libreplan-enterprise.com>
*/
@Service
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
@ -70,9 +70,6 @@ public class IssueLogModel extends IntegrationEntityModel implements
@Autowired
private IOrderDAO orderDAO;
@Autowired
private IScenarioManager scenarioManager;
@Autowired
private IConfigurationDAO configurationDAO;

View file

@ -18,38 +18,31 @@
*/
package org.libreplan.web.logs;
import java.util.HashMap;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.libreplan.business.orders.entities.Order;
import org.libreplan.web.common.Util;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.api.Hbox;
import org.zkoss.zul.api.Window;
import javax.swing.*;
/**
* Controller for Logs(issue and risk logs)
*
*
* @author Misha Gozhda <misha@libreplan-enterprise.com>
*/
@org.springframework.stereotype.Component
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
public class LogsController extends GenericForwardComposer {
private static final Log LOG = LogFactory.getLog(LogsController.class);
private Window issueLogWindow;
private Window riskLogWindow;
private Window logWindow;
private Hbox logsFilter;
private IssueLogCRUDController issueLogController;
private RiskLogCRUDController riskLogController;
private static boolean projectNameVisibility = true;
@ -59,19 +52,11 @@ public class LogsController extends GenericForwardComposer {
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
comp.setVariable("logsController", this, true);
Component filterComponent = Executions.createComponents(
"/logs/_logsFilter.zul", logsFilter,
new HashMap<String, String>());
filterComponent.setVariable("logsFilterController", this, true);
logsFilter.setVisible(true);
logWindow = (Window) comp.getFellowIfAny("logWindow");
Util.createBindingsFor(logWindow);
setupIssueLogController();
}
public void onApplyFilter() {
}
public void setupIssueLogController() {
issueLogWindow = (Window) self.getFellowIfAny("issueLogWindow");
@ -116,4 +101,4 @@ public class LogsController extends GenericForwardComposer {
public static Order getOrder() {
return order;
}
}
}

View file

@ -65,13 +65,17 @@ public class RiskLogCRUDController extends BaseCRUDController<RiskLog> {
private BandboxSearch bdUserRiskLog;
private Textbox riskScore;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
riskScore = (Textbox)comp.getFellow("editWindow").getFellow("riskScore");
comp.setVariable("riskLogController", this, true);
showListWindow();
initializeOrderComponent();
initializeUserComponent();
bdProjectRiskLog.setDisabled(!LogsController.getProjectNameVisibility());
}
/**
@ -148,17 +152,33 @@ public class RiskLogCRUDController extends BaseCRUDController<RiskLog> {
appendDate(row, riskLog.getDateCreated());
appendLabel(row, riskLog.getCreatedBy().getFullName() + riskLog.getCreatedBy().getLoginName());
appendLabel(row, riskLog.getCounterMeasures());
appendLabel(row, "4");
appendLabel(row, riskLog.getScoreAfterCM().getDisplayName());
appendLabel(row, riskLog.getContingency());
appendLabel(row, riskLog.getResponsible());
appendDate(row, riskLog.getActionWhen());
appendLabel(row, riskLog.getNotes());
appendOperations(row, riskLog);
setScoreCellColor(row, riskLog.getRiskScore());
}
};
}
public static ListitemRenderer lowMediumHighEnumRenderer = new ListitemRenderer() {
private void setScoreCellColor(Row row, int priority) {
Cell cell = (Cell) row.getChildren().get(4);
if (priority == 1 || priority == 2) {
cell.setClass("logs-priority-color-green");
}
if (priority == 3 || priority == 4) {
cell.setClass("logs-priority-color-yellow");
}
if (priority == 6 || priority == 9) {
cell.setClass("logs-priority-color-red");
}
}
public ListitemRenderer lowMediumHighEnumRenderer = new ListitemRenderer() {
@Override
public void render(org.zkoss.zul.Listitem item, Object data)
throws Exception {
@ -167,7 +187,7 @@ public class RiskLogCRUDController extends BaseCRUDController<RiskLog> {
item.setLabel(displayName);
}
};
public static ListitemRenderer riskScoreStatesEnumRenderer = new ListitemRenderer() {
public ListitemRenderer riskScoreStatesEnumRenderer = new ListitemRenderer() {
@Override
public void render(org.zkoss.zul.Listitem item, Object data)
throws Exception {
@ -177,6 +197,24 @@ public class RiskLogCRUDController extends BaseCRUDController<RiskLog> {
}
};
/**
* Renders LOW, MEDIUM, HIGH enums
*
* @return {@link ListitemRenderer}
*/
public ListitemRenderer getLowMediumHighEnumRenderer() {
return lowMediumHighEnumRenderer;
}
/**
* Renders riskScoreState enums
*
* @return {@link ListitemRenderer}
*/
public ListitemRenderer getRiskScoreStatesEnumRenderer() {
return riskScoreStatesEnumRenderer;
}
/**
* Appends the specified <code>object</code> to the specified
* <code>row</code>
@ -201,7 +239,9 @@ public class RiskLogCRUDController extends BaseCRUDController<RiskLog> {
*/
private void appendLabel(final Row row, String value) {
Label label = new Label(value);
row.appendChild(label);
Cell cell = new Cell();
cell.appendChild(label);
row.appendChild(cell);
}
/**
@ -269,7 +309,7 @@ public class RiskLogCRUDController extends BaseCRUDController<RiskLog> {
}
/**
* Returns registration date
* Returns {@link Date} value
*/
public Date getDateCreated() {
if (riskLogModel.getRiskLog() == null) {
@ -281,19 +321,28 @@ public class RiskLogCRUDController extends BaseCRUDController<RiskLog> {
}
/**
* Sets the registration date
* Sets the date created
*
* @param date
* registration date
* date created
*/
public void setDateCreated(Date date) {
riskLogModel.getRiskLog().setDateCreated(date);
}
/**
* Sets the Action When
*
* @param date
* date created
*/
public void setActionWhen(Date date) {
riskLogModel.getRiskLog().setActionWhen(date);
}
/**
* Returns {@link Date} value
*/
public Date getActionWhen() {
if (riskLogModel.getRiskLog() == null) {
return null;
@ -303,6 +352,14 @@ public class RiskLogCRUDController extends BaseCRUDController<RiskLog> {
: null;
}
/**
* Sets the Score for risk
*
*/
public void setUpdateScore() {
riskScore.setValue(String.valueOf(getRiskLog().getRiskScore()));
}
/**
* Returns the {@link RiskLog} object
*/
@ -317,6 +374,15 @@ public class RiskLogCRUDController extends BaseCRUDController<RiskLog> {
return riskLogModel.getRiskLogs();
}
public Order getOrder() {
if (LogsController.getProjectNameVisibility() == false) {
getRiskLog().setOrder(LogsController.getOrder());
return getRiskLog().getOrder();
}
else
return riskLogModel.getRiskLog().getOrder();
}
@Override
protected String getEntityType() {
return _("Issue log");
@ -363,4 +429,4 @@ public class RiskLogCRUDController extends BaseCRUDController<RiskLog> {
}
}
}

View file

@ -47,8 +47,8 @@ import org.springframework.transaction.annotation.Transactional;
/**
* Model for UI operations related to {@link RiskLog}
*
* @author Miciele Ghiorghis <m.ghiorghis@antoniusziekenhuis.nl>
*
* @author Misha Gozhda <misha@libreplan-enterprise.com>
*/
@Service
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
@ -70,9 +70,6 @@ public class RiskLogModel extends IntegrationEntityModel implements
@Autowired
private IOrderDAO orderDAO;
@Autowired
private IScenarioManager scenarioManager;
@Autowired
private IConfigurationDAO configurationDAO;

View file

@ -36,7 +36,7 @@
constraint="no empty:${i18n:_('cannot be empty')}"
finder="OrderBandboxFinder"
model="@{issueLogController.orders}"
selectedElement="@{issueLogController.issueLog.order}"/>
selectedElement="@{issueLogController.order}"/>
</row>
<row>
<label value="${i18n:_('Type and status')}" />

View file

@ -37,7 +37,7 @@
constraint="no empty:${i18n:_('cannot be empty')}"
finder="OrderBandboxFinder"
model="@{riskLogController.orders}"
selectedElement="@{riskLogController.riskLog.order}"/>
selectedElement="@{riskLogController.order}"/>
</row>
<row>