diff --git a/README.md b/README.md
index 60209161e6..570a37259d 100755
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Free, open source Project Management software
[](https://www.gnu.org/licenses/agpl-3.0.en.html) [](https://www.openhub.net/p/mycollab) [](https://travis-ci.org/MyCollab/mycollab)
-[](https://docs.mycollab.com/)
+[](https://docs.mycollab.com/)
[](https://github.com/MyCollab/mycollab/releases)
diff --git a/mycollab-app-community/pom.xml b/mycollab-app-community/pom.xml
index ca4c54b097..cd56fdc63b 100644
--- a/mycollab-app-community/pom.xml
+++ b/mycollab-app-community/pom.xml
@@ -300,6 +300,7 @@
+
diff --git a/mycollab-migration/src/main/resources/db/migration/mysql/V20190325_1__Custom_Fields.sql b/mycollab-migration/src/main/resources/db/migration/mysql/V20190325_1__Custom_Fields.sql
index 1aa4187169..61fee7be28 100644
--- a/mycollab-migration/src/main/resources/db/migration/mysql/V20190325_1__Custom_Fields.sql
+++ b/mycollab-migration/src/main/resources/db/migration/mysql/V20190325_1__Custom_Fields.sql
@@ -186,10 +186,10 @@ ADD COLUMN `rel` VARCHAR(45) NULL AFTER `typeId`,
ADD COLUMN `comment` TEXT NULL AFTER `rel`,
CHANGE COLUMN `ticketType` `ticketType` VARCHAR(45) NOT NULL AFTER `ticketId`;
-UPDATE m_prj_ticket_relation SET rel=type WHERE id > 0
+UPDATE m_prj_ticket_relation SET rel=type WHERE id > 0;
-UPDATE m_prj_ticket_relation SET type='Project-Version' WHERE rel IN ('AffVersion', 'FixVersion') AND id > 0
-UPDATE m_prj_ticket_relation SET type='Project-Component' WHERE rel IN ('Component') AND id > 0
+UPDATE m_prj_ticket_relation SET type='Project-Version' WHERE rel IN ('AffVersion', 'FixVersion') AND id > 0;
+UPDATE m_prj_ticket_relation SET type='Project-Component' WHERE rel IN ('Component') AND id > 0;
ALTER TABLE `m_prj_ticket_relation`
CHANGE COLUMN `rel` `rel` VARCHAR(45) NOT NULL ;
diff --git a/mycollab-services/src/main/java/com/mycollab/module/project/dao/TicketKeyMapperExt.kt b/mycollab-services/src/main/java/com/mycollab/module/project/dao/TicketKeyMapperExt.kt
index 919fe18c12..75d27f815d 100644
--- a/mycollab-services/src/main/java/com/mycollab/module/project/dao/TicketKeyMapperExt.kt
+++ b/mycollab-services/src/main/java/com/mycollab/module/project/dao/TicketKeyMapperExt.kt
@@ -13,5 +13,5 @@ interface TicketKeyMapperExt {
fun getPreviousKey(projectId: Int, currentKey: Int): Int?
- fun getTicketKeyByPrjShortNameAndKey(prjShortName:String, ticketKey:Int): TicketKey
+ fun getTicketKeyByPrjShortNameAndKey(sAccountId: Int, prjShortName:String, ticketKey:Int): TicketKey
}
\ No newline at end of file
diff --git a/mycollab-services/src/main/java/com/mycollab/module/project/service/TicketKeyService.kt b/mycollab-services/src/main/java/com/mycollab/module/project/service/TicketKeyService.kt
index 2f20633c95..911f822d61 100644
--- a/mycollab-services/src/main/java/com/mycollab/module/project/service/TicketKeyService.kt
+++ b/mycollab-services/src/main/java/com/mycollab/module/project/service/TicketKeyService.kt
@@ -8,7 +8,7 @@ import com.mycollab.module.project.domain.TicketKey
*/
interface TicketKeyService {
- fun getTicketKeyByPrjShortNameAndKey(prjShortName:String, key:Int): TicketKey?
+ fun getTicketKeyByPrjShortNameAndKey(sAccountId: Int, prjShortName:String, key:Int): TicketKey?
fun getMaxKey(projectId: Int): Int?
diff --git a/mycollab-services/src/main/java/com/mycollab/module/project/service/impl/TicketKeyServiceImpl.kt b/mycollab-services/src/main/java/com/mycollab/module/project/service/impl/TicketKeyServiceImpl.kt
index b437c229f5..6ba8b81c3b 100644
--- a/mycollab-services/src/main/java/com/mycollab/module/project/service/impl/TicketKeyServiceImpl.kt
+++ b/mycollab-services/src/main/java/com/mycollab/module/project/service/impl/TicketKeyServiceImpl.kt
@@ -12,7 +12,7 @@ import org.springframework.stereotype.Service
*/
@Service
class TicketKeyServiceImpl(private val ticketKeyMapper: TicketKeyMapper,
- private val ticketKeyMapperExt: TicketKeyMapperExt): TicketKeyService {
+ private val ticketKeyMapperExt: TicketKeyMapperExt) : TicketKeyService {
override fun getMaxKey(projectId: Int): Int? = ticketKeyMapperExt.getMaxKey(projectId)
override fun saveKey(projectId: Int, ticketId: Int, ticketType: String, ticketKey: Int) {
@@ -28,5 +28,6 @@ class TicketKeyServiceImpl(private val ticketKeyMapper: TicketKeyMapper,
override fun getPreviousKey(projectId: Int, currentKey: Int): Int? = ticketKeyMapperExt.getPreviousKey(projectId, currentKey)
- override fun getTicketKeyByPrjShortNameAndKey(prjShortName: String, ticketKey: Int): TicketKey = ticketKeyMapperExt.getTicketKeyByPrjShortNameAndKey(prjShortName, ticketKey)
+ override fun getTicketKeyByPrjShortNameAndKey(sAccountId: Int, prjShortName: String, ticketKey: Int): TicketKey =
+ ticketKeyMapperExt.getTicketKeyByPrjShortNameAndKey(sAccountId, prjShortName, ticketKey)
}
\ No newline at end of file
diff --git a/mycollab-services/src/main/resources/sqlMap/project/TicketKeyMapperExt.xml b/mycollab-services/src/main/resources/sqlMap/project/TicketKeyMapperExt.xml
index d0f40b45b4..93881e061c 100644
--- a/mycollab-services/src/main/resources/sqlMap/project/TicketKeyMapperExt.xml
+++ b/mycollab-services/src/main/resources/sqlMap/project/TicketKeyMapperExt.xml
@@ -33,7 +33,8 @@
SELECT m_prj_ticket_key.id, m_prj_ticket_key.projectId, m_prj_ticket_key.ticketId,
m_prj_ticket_key.ticketType, m_prj_ticket_key.ticketKey
FROM m_prj_ticket_key, m_prj_project
- WHERE m_prj_project.shortName = @{prjShortName, jdbcType=VARCHAR}
+ WHERE m_prj_project.sAccountId = @{sAccountId, jdbcType=NUMERIC}
+ AND m_prj_project.shortName = @{prjShortName, jdbcType=VARCHAR}
AND m_prj_ticket_key.projectId = m_prj_project.id
AND m_prj_ticket_key.ticketKey = @{ticketKey, jdbcType=NUMERIC}
]]>
diff --git a/mycollab-web/src/main/java/com/mycollab/module/project/view/ticket/TicketUrlResolver.kt b/mycollab-web/src/main/java/com/mycollab/module/project/view/ticket/TicketUrlResolver.kt
index a097f0b483..6f49346bcd 100644
--- a/mycollab-web/src/main/java/com/mycollab/module/project/view/ticket/TicketUrlResolver.kt
+++ b/mycollab-web/src/main/java/com/mycollab/module/project/view/ticket/TicketUrlResolver.kt
@@ -73,7 +73,7 @@ class TicketUrlResolver : ProjectUrlResolver() {
val prjShortName = ProjectLinkParams.getProjectShortName(params[0])
val itemKey = ProjectLinkParams.getItemKey(params[0])
val ticketKeyService = AppContextUtil.getSpringBean(TicketKeyService::class.java)
- val ticketKey = ticketKeyService.getTicketKeyByPrjShortNameAndKey(prjShortName, itemKey)
+ val ticketKey = ticketKeyService.getTicketKeyByPrjShortNameAndKey(AppUI.accountId, prjShortName, itemKey)
if (ticketKey != null) {
when(ticketKey.tickettype) {
ProjectTypeConstants.TASK -> {
@@ -125,13 +125,12 @@ class TicketUrlResolver : ProjectUrlResolver() {
val prjShortName = ProjectLinkParams.getProjectShortName(params[0])
val itemKey = ProjectLinkParams.getItemKey(params[0])
val ticketKeyService = AppContextUtil.getSpringBean(TicketKeyService::class.java)
- val ticketKey = ticketKeyService.getTicketKeyByPrjShortNameAndKey(prjShortName, itemKey)
+ val ticketKey = ticketKeyService.getTicketKeyByPrjShortNameAndKey(AppUI.accountId, prjShortName, itemKey)
if (ticketKey != null) {
when(ticketKey.tickettype) {
ProjectTypeConstants.TASK -> {
val taskService = AppContextUtil.getSpringBean(TaskService::class.java)
- val task = taskService.findById(ticketKey.ticketid, AppUI.accountId) ?: throw ResourceNotFoundException("Can not find task with path ${Arrays.toString(params)}")
- when (task) {
+ when (val task = taskService.findById(ticketKey.ticketid, AppUI.accountId) ?: throw ResourceNotFoundException("Can not find task with path ${Arrays.toString(params)}")) {
null -> throw ResourceNotFoundException("Can not edit task with path ${Arrays.toString(params)}")
else -> {
val chain = PageActionChain(ProjectScreenData.Goto(task.projectid), TaskScreenData.Edit(task))