diff --git a/src/main/scala/app/LabelsController.scala b/src/main/scala/app/LabelsController.scala index ee2e73c..38f6f54 100644 --- a/src/main/scala/app/LabelsController.scala +++ b/src/main/scala/app/LabelsController.scala @@ -22,53 +22,29 @@ "editColor" -> trim(label("Color", text(required, color))) )(LabelForm.apply) - post("/:owner/:repository/issues/label/new", newForm)(collaboratorsOnly { form => - val owner = params("owner") - val repository = params("repository") - - createLabel(owner, repository, form.labelName, form.color.substring(1)) - - redirect("/%s/%s/issues".format(owner, repository)) + post("/:owner/:repository/issues/label/new", newForm)(collaboratorsOnly { (form, repository) => + createLabel(repository.owner, repository.name, form.labelName, form.color.substring(1)) + redirect("/%s/%s/issues".format(repository.owner, repository.name)) }) - ajaxGet("/:owner/:repository/issues/label/edit")(collaboratorsOnly { - val owner = params("owner") - val repository = params("repository") - - getRepository(owner, repository, baseUrl) - .map(issues.labels.html.editlist(getLabels(owner, repository), _)) getOrElse NotFound() + ajaxGet("/:owner/:repository/issues/label/edit")(collaboratorsOnly { repository => + issues.labels.html.editlist(getLabels(repository.owner, repository.name), repository) }) - ajaxGet("/:owner/:repository/issues/label/:labelId/edit")(collaboratorsOnly { - val owner = params("owner") - val repository = params("repository") - val labelId = params("labelId").toInt - - getRepository(owner, repository, baseUrl).map { repositoryInfo => - getLabel(owner, repository, labelId).map(label => issues.labels.html.edit(Some(label), repositoryInfo)) getOrElse NotFound() + ajaxGet("/:owner/:repository/issues/label/:labelId/edit")(collaboratorsOnly { repository => + getLabel(repository.owner, repository.name, params("labelId").toInt).map { label => + issues.labels.html.edit(Some(label), repository) } getOrElse NotFound() }) - ajaxPost("/:owner/:repository/issues/label/:labelId/edit", editForm)(collaboratorsOnly { form => - val owner = params("owner") - val repository = params("repository") - val labelId = params("labelId").toInt - - getRepository(owner, repository, baseUrl).map{ repositoryInfo => - updateLabel(owner, repository, labelId, form.labelName, form.color.substring(1)) - issues.labels.html.editlist(getLabels(owner, repository), repositoryInfo) - } getOrElse NotFound() + ajaxPost("/:owner/:repository/issues/label/:labelId/edit", editForm)(collaboratorsOnly { (form, repository) => + updateLabel(repository.owner, repository.name, params("labelId").toInt, form.labelName, form.color.substring(1)) + issues.labels.html.editlist(getLabels(repository.owner, repository.name), repository) }) - ajaxGet("/:owner/:repository/issues/label/:labelId/delete")(collaboratorsOnly { - val owner = params("owner") - val repository = params("repository") - val labelId = params("labelId").toInt - - getRepository(owner, repository, baseUrl).map { repositoryInfo => - deleteLabel(owner, repository, labelId) - issues.labels.html.editlist(getLabels(owner, repository), repositoryInfo) - } getOrElse NotFound() + ajaxGet("/:owner/:repository/issues/label/:labelId/delete")(collaboratorsOnly { repository => + deleteLabel(repository.owner, repository.name, params("labelId").toInt) + issues.labels.html.editlist(getLabels(repository.owner, repository.name), repository) }) } \ No newline at end of file diff --git a/src/main/scala/app/MilestonesController.scala b/src/main/scala/app/MilestonesController.scala index 92545ec..5d09a9f 100644 --- a/src/main/scala/app/MilestonesController.scala +++ b/src/main/scala/app/MilestonesController.scala @@ -21,84 +21,52 @@ "dueDate" -> trim(label("Due Date", optional(date()))) )(MilestoneForm.apply) - get("/:owner/:repository/issues/milestones")(referrersOnly { - val owner = params("owner") - val repository = params("repository") - val state = params.getOrElse("state", "open") - - getRepository(owner, repository, baseUrl).map { repositoryInfo => - issues.milestones.html.list(state, - getMilestonesWithIssueCount(owner, repository), - repositoryInfo, - hasWritePermission(owner, repository, context.loginAccount)) - } getOrElse NotFound + get("/:owner/:repository/issues/milestones")(referrersOnly { repository => + issues.milestones.html.list( + params.getOrElse("state", "open"), + getMilestonesWithIssueCount(repository.owner, repository.name), + repository, + hasWritePermission(repository.owner, repository.name, context.loginAccount)) }) get("/:owner/:repository/issues/milestones/new")(collaboratorsOnly { - val owner = params("owner") - val repository = params("repository") - - getRepository(owner, repository, baseUrl).map(issues.milestones.html.edit(None, _)) getOrElse NotFound + issues.milestones.html.edit(None, _) }) - post("/:owner/:repository/issues/milestones/new", milestoneForm)(collaboratorsOnly { form => - val owner = params("owner") - val repository = params("repository") - - createMilestone(owner, repository, form.title, form.description, form.dueDate) - redirect("/%s/%s/issues/milestones".format(owner, repository)) + post("/:owner/:repository/issues/milestones/new", milestoneForm)(collaboratorsOnly { (form, repository) => + createMilestone(repository.owner, repository.name, form.title, form.description, form.dueDate) + redirect("/%s/%s/issues/milestones".format(repository.owner, repository.name)) }) - get("/:owner/:repository/issues/milestones/:milestoneId/edit")(collaboratorsOnly { - val owner = params("owner") - val repository = params("repository") - val milestoneId = params("milestoneId").toInt - - getRepository(owner, repository, baseUrl).map( - issues.milestones.html.edit(getMilestone(owner, repository, milestoneId), _)) getOrElse NotFound + get("/:owner/:repository/issues/milestones/:milestoneId/edit")(collaboratorsOnly { repository => + issues.milestones.html.edit(getMilestone(repository.owner, repository.name, params("milestoneId").toInt), repository) }) - post("/:owner/:repository/issues/milestones/:milestoneId/edit", milestoneForm)(collaboratorsOnly { form => - val owner = params("owner") - val repository = params("repository") - val milestoneId = params("milestoneId").toInt - - getMilestone(owner, repository, milestoneId).map { milestone => + post("/:owner/:repository/issues/milestones/:milestoneId/edit", milestoneForm)(collaboratorsOnly { (form, repository) => + getMilestone(repository.owner, repository.name, params("milestoneId").toInt).map { milestone => updateMilestone(milestone.copy(title = form.title, description = form.description, dueDate = form.dueDate)) - redirect("/%s/%s/issues/milestones".format(owner, repository)) + redirect("/%s/%s/issues/milestones".format(repository.owner, repository.repository)) } getOrElse NotFound }) - get("/:owner/:repository/issues/milestones/:milestoneId/close")(collaboratorsOnly { - val owner = params("owner") - val repository = params("repository") - val milestoneId = params("milestoneId").toInt - - getMilestone(owner, repository, milestoneId).map { milestone => + get("/:owner/:repository/issues/milestones/:milestoneId/close")(collaboratorsOnly { repository => + getMilestone(repository.owner, repository.name, params("milestoneId").toInt).map { milestone => closeMilestone(milestone) - redirect("/%s/%s/issues/milestones".format(owner, repository)) + redirect("/%s/%s/issues/milestones".format(repository.owner, repository.name)) } getOrElse NotFound }) - get("/:owner/:repository/issues/milestones/:milestoneId/open")(collaboratorsOnly { - val owner = params("owner") - val repository = params("repository") - val milestoneId = params("milestoneId").toInt - - getMilestone(owner, repository, milestoneId).map { milestone => + get("/:owner/:repository/issues/milestones/:milestoneId/open")(collaboratorsOnly { repository => + getMilestone(repository.owner, repository.name, params("milestoneId").toInt).map { milestone => openMilestone(milestone) - redirect("/%s/%s/issues/milestones".format(owner, repository)) + redirect("/%s/%s/issues/milestones".format(repository.owner, repository.name)) } getOrElse NotFound }) - get("/:owner/:repository/issues/milestones/:milestoneId/delete")(collaboratorsOnly { - val owner = params("owner") - val repository = params("repository") - val milestoneId = params("milestoneId").toInt - - getMilestone(owner, repository, milestoneId).map { _ => - deleteMilestone(owner, repository, milestoneId) - redirect("/%s/%s/issues/milestones".format(owner, repository)) + get("/:owner/:repository/issues/milestones/:milestoneId/delete")(collaboratorsOnly { repository => + getMilestone(repository.owner, repository.name, params("milestoneId").toInt).map { milestone => + deleteMilestone(repository.owner, repository.name, milestone.milestoneId) + redirect("/%s/%s/issues/milestones".format(repository.owner, repository.name)) } getOrElse NotFound })