mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-09 06:55:54 +01:00
Update database schema.
Change MILESTONE.CLOSED to MILESTONE.CLOSED_DATE.
This commit is contained in:
@@ -4,6 +4,7 @@ import jp.sf.amateras.scalatra.forms._
|
||||
|
||||
import service._
|
||||
import util.{WritableRepositoryAuthenticator, ReadableRepositoryAuthenticator, UsersOnlyAuthenticator}
|
||||
import java.sql.Timestamp
|
||||
|
||||
class IssuesController extends IssuesControllerBase
|
||||
with IssuesService with RepositoryService with AccountService
|
||||
@@ -126,7 +127,8 @@ trait IssuesControllerBase extends ControllerBase {
|
||||
getMilestone(owner, repository, milestoneId) match {
|
||||
case None => NotFound()
|
||||
case Some(m) => {
|
||||
updateMilestone(m.copy(closed = true))
|
||||
val currentDate = new Timestamp(System.currentTimeMillis) // TODO move to trait?
|
||||
updateMilestone(m.copy(closedDate = Some(currentDate)))
|
||||
redirect("/%s/%s/issues/milestones".format(owner, repository))
|
||||
}
|
||||
}
|
||||
@@ -140,7 +142,7 @@ trait IssuesControllerBase extends ControllerBase {
|
||||
getMilestone(owner, repository, milestoneId) match {
|
||||
case None => NotFound()
|
||||
case Some(m) => {
|
||||
updateMilestone(m.copy(closed = false))
|
||||
updateMilestone(m.copy(closedDate = None))
|
||||
redirect("/%s/%s/issues/milestones".format(owner, repository))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,10 +9,10 @@ object Milestones extends Table[Milestone]("MILESTONE") {
|
||||
def title = column[String]("TITLE")
|
||||
def description = column[String]("DESCRIPTION")
|
||||
def dueDate = column[java.sql.Date]("DUE_DATE") // TODO convert java.util.Date later
|
||||
def closed = column[Boolean]("CLOSED")
|
||||
def closedDate = column[java.sql.Timestamp]("CLOSED_DATE")
|
||||
|
||||
def ins = userName ~ repositoryName ~ title ~ description.? ~ dueDate.? ~ closed
|
||||
def * = userName ~ repositoryName ~ milestoneId ~ title ~ description.? ~ dueDate.? ~ closed <> (Milestone, Milestone.unapply _)
|
||||
def ins = userName ~ repositoryName ~ title ~ description.? ~ dueDate.? ~ closedDate.?
|
||||
def * = userName ~ repositoryName ~ milestoneId ~ title ~ description.? ~ dueDate.? ~ closedDate.? <> (Milestone, Milestone.unapply _)
|
||||
}
|
||||
|
||||
case class Milestone(
|
||||
@@ -22,4 +22,4 @@ case class Milestone(
|
||||
title: String,
|
||||
description: Option[String],
|
||||
dueDate: Option[java.sql.Date],
|
||||
closed: Boolean)
|
||||
closedDate: Option[java.sql.Timestamp])
|
||||
|
||||
@@ -52,18 +52,18 @@ trait IssuesService {
|
||||
|
||||
def createMilestone(owner: String, repository: String,
|
||||
title: String, description: Option[String], dueDate: Option[java.sql.Date]): Unit = {
|
||||
Milestones.ins insert (owner, repository, title, description, dueDate, false)
|
||||
Milestones.ins insert (owner, repository, title, description, dueDate, None)
|
||||
}
|
||||
|
||||
def updateMilestone(milestone: Milestone): Unit =
|
||||
Query(Milestones)
|
||||
.filter { m => (m.userName is milestone.userName.bind) && (m.repositoryName is milestone.repositoryName.bind) && (m.milestoneId is milestone.milestoneId.bind)}
|
||||
.map { m => m.title ~ m.description.? ~ m.dueDate.? ~ m.closed }
|
||||
.map { m => m.title ~ m.description.? ~ m.dueDate.? ~ m.closedDate.? }
|
||||
.update (
|
||||
milestone.title,
|
||||
milestone.description,
|
||||
milestone.dueDate,
|
||||
milestone.closed)
|
||||
milestone.closedDate)
|
||||
|
||||
def getMilestone(owner: String, repository: String, milestoneId: Int): Option[Milestone] =
|
||||
Query(Milestones)
|
||||
|
||||
Reference in New Issue
Block a user