1.1 --- a/src/main/kotlin/de/uapcore/lightpit/servlet/ProjectServlet.kt Wed Aug 18 12:47:32 2021 +0200 1.2 +++ b/src/main/kotlin/de/uapcore/lightpit/servlet/ProjectServlet.kt Wed Aug 18 14:57:45 2021 +0200 1.3 @@ -28,6 +28,7 @@ 1.4 import de.uapcore.lightpit.AbstractServlet 1.5 import de.uapcore.lightpit.HttpRequest 1.6 import de.uapcore.lightpit.dao.DataAccessObject 1.7 +import de.uapcore.lightpit.dateOptValidator 1.8 import de.uapcore.lightpit.entities.* 1.9 import de.uapcore.lightpit.types.IssueCategory 1.10 import de.uapcore.lightpit.types.IssueStatus 1.11 @@ -329,12 +330,22 @@ 1.12 node = http.param("node") ?: "" 1.13 ordinal = http.param("ordinal")?.toIntOrNull() ?: 0 1.14 status = http.param("status")?.let(VersionStatus::valueOf) ?: VersionStatus.Future 1.15 + // TODO: process error messages 1.16 + eol = http.param("eol", ::dateOptValidator, null, mutableListOf()) 1.17 + release = http.param("release", ::dateOptValidator, null, mutableListOf()) 1.18 // intentional defaults 1.19 if (node.isBlank()) node = name 1.20 // sanitizing 1.21 node = sanitizeNode(node) 1.22 } 1.23 1.24 + // sanitize eol and release date 1.25 + if (version.status.isEndOfLife) { 1.26 + if (version.eol == null) version.eol = Date(System.currentTimeMillis()) 1.27 + } else if (version.status.isReleased) { 1.28 + if (version.release == null) version.release = Date(System.currentTimeMillis()) 1.29 + } 1.30 + 1.31 if (id < 0) { 1.32 dao.insertVersion(version) 1.33 } else { 1.34 @@ -548,7 +559,8 @@ 1.35 else -> dao.findUser(it) 1.36 } 1.37 } 1.38 - eta = http.param("eta")?.let { if (it.isBlank()) null else Date.valueOf(it) } 1.39 + // TODO: process error messages 1.40 + eta = http.param("eta", ::dateOptValidator, null, mutableListOf()) 1.41 1.42 affectedVersions = http.paramArray("affected") 1.43 .mapNotNull { param -> param.toIntOrNull()?.let { Version(it, project.id) } }