jira-integration: Add new field jiraConnectorTypeOfWorkHours in JiraConfiguration
* The new field is added in JiraConfiguration similar to field Configuration.personalTimesheetsTypeOfWorkHours. * Added required bits for Hibernate mapping and Liquibase database changes. * Modified Jira connector configuration UI to include the new field. FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
This commit is contained in:
parent
b68315595a
commit
44dca50bc9
7 changed files with 72 additions and 0 deletions
|
|
@ -20,6 +20,7 @@
|
|||
package org.libreplan.business.common.entities;
|
||||
|
||||
import org.libreplan.business.common.BaseEntity;
|
||||
import org.libreplan.business.costcategories.entities.TypeOfWorkHours;
|
||||
|
||||
public class JiraConfiguration extends BaseEntity {
|
||||
|
||||
|
|
@ -42,6 +43,8 @@ public class JiraConfiguration extends BaseEntity {
|
|||
|
||||
private String jiraPassword;
|
||||
|
||||
private TypeOfWorkHours jiraConnectorTypeOfWorkHours;
|
||||
|
||||
/**
|
||||
* Constructor for Hibernate. Do not use!
|
||||
*/
|
||||
|
|
@ -88,5 +91,12 @@ public class JiraConfiguration extends BaseEntity {
|
|||
this.jiraPassword = jiraPassword;
|
||||
}
|
||||
|
||||
public TypeOfWorkHours getJiraConnectorTypeOfWorkHours() {
|
||||
return jiraConnectorTypeOfWorkHours;
|
||||
}
|
||||
|
||||
public void setJiraConnectorTypeOfWorkHours(TypeOfWorkHours typeOfWorkHours) {
|
||||
jiraConnectorTypeOfWorkHours = typeOfWorkHours;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -269,4 +269,21 @@
|
|||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="add-jira_connector_type_of_work_hours-to-configuration"
|
||||
author="mrego">
|
||||
<comment>
|
||||
Add new column jira_connector_type_of_work_hours to configuration
|
||||
table.
|
||||
</comment>
|
||||
<addColumn tableName="configuration">
|
||||
<column name="jira_connector_type_of_work_hours" type="BIGINT" />
|
||||
</addColumn>
|
||||
<addForeignKeyConstraint
|
||||
constraintName="configuration_jira_connector_type_of_work_hours_fkey"
|
||||
baseTableName="configuration"
|
||||
baseColumnNames="jira_connector_type_of_work_hours"
|
||||
referencedTableName="type_of_work_hours"
|
||||
referencedColumnNames="id" />
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
|
|
|
|||
|
|
@ -128,7 +128,10 @@
|
|||
<property name="jiraLabelUrl" column="jira_label_url"/>
|
||||
<property name="jiraUserId" column="jira_user_id"/>
|
||||
<property name="jiraPassword" column="jira_password"/>
|
||||
<many-to-one name="jiraConnectorTypeOfWorkHours" cascade="none"
|
||||
column="jira_connector_type_of_work_hours" />
|
||||
</component>
|
||||
|
||||
</class>
|
||||
|
||||
</hibernate-mapping>
|
||||
|
|
|
|||
|
|
@ -965,4 +965,12 @@ public class ConfigurationController extends GenericForwardComposer {
|
|||
configurationModel.setSecondsPlanningWarning(secondsPlanningWarning);
|
||||
}
|
||||
|
||||
public TypeOfWorkHours getJiraConnectorTypeOfWorkHours() {
|
||||
return configurationModel.getJiraConnectorTypeOfWorkHours();
|
||||
}
|
||||
|
||||
public void setJiraConnectorTypeOfWorkHours(TypeOfWorkHours typeOfWorkHours) {
|
||||
configurationModel.setJiraConnectorTypeOfWorkHours(typeOfWorkHours);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -146,6 +146,8 @@ public class ConfigurationModel implements IConfigurationModel {
|
|||
private void forceLoad(Configuration configuration) {
|
||||
forceLoad(configuration.getDefaultCalendar());
|
||||
forceLoad(configuration.getPersonalTimesheetsTypeOfWorkHours());
|
||||
forceLoad(configuration.getJiraConfiguration()
|
||||
.getJiraConnectorTypeOfWorkHours());
|
||||
}
|
||||
|
||||
private void forceLoad(BaseCalendar calendar) {
|
||||
|
|
@ -685,4 +687,26 @@ public class ConfigurationModel implements IConfigurationModel {
|
|||
return configuration.getJiraConfiguration();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TypeOfWorkHours getJiraConnectorTypeOfWorkHours() {
|
||||
JiraConfiguration jiraConfiguration = configuration
|
||||
.getJiraConfiguration();
|
||||
if (jiraConfiguration != null) {
|
||||
return jiraConfiguration.getJiraConnectorTypeOfWorkHours();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setJiraConnectorTypeOfWorkHours(TypeOfWorkHours typeOfWorkHours) {
|
||||
if (configuration != null) {
|
||||
JiraConfiguration jiraConfiguration = configuration
|
||||
.getJiraConfiguration();
|
||||
if (jiraConfiguration != null) {
|
||||
jiraConfiguration
|
||||
.setJiraConnectorTypeOfWorkHours(typeOfWorkHours);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -190,4 +190,8 @@ public interface IConfigurationModel {
|
|||
|
||||
JiraConfiguration getJiraConfiguration();
|
||||
|
||||
TypeOfWorkHours getJiraConnectorTypeOfWorkHours();
|
||||
|
||||
void setJiraConnectorTypeOfWorkHours(TypeOfWorkHours typeOfWorkHours);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -442,6 +442,12 @@
|
|||
<label value="${i18n:_('Jira sync password')}" />
|
||||
<textbox id="jiraSyncPassword" value="@{configurationController.jiraConfiguration.jiraPassword}" type="password" width="300px"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${i18n:_('Hours type for JIRA connector')}" />
|
||||
<bandboxSearch
|
||||
finder="TypeOfWorkHoursBandboxFinder"
|
||||
selectedElement="@{configurationController.jiraConnectorTypeOfWorkHours, access='both'}" />
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<separator />
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue