in app/controllers/BaseImageController.scala [66:106]
def updateBaseImage(id: BaseImageId) = authAction(parse.formUrlEncoded) {
implicit request =>
BaseImages.findById(id).fold[Result](NotFound) { image =>
Forms.editBaseImage
.bindFromRequest()
.fold(
{ formWithErrors =>
BadRequest(
views.html.editBaseImage(image, formWithErrors, Roles.listIds)
)
},
{
case (
description,
amiId,
linuxDist,
eolDate,
requiresXLargeBuilder
) =>
val customisedRoles = parseEnabledRoles(request.body)
customisedRoles.fold(
error => BadRequest(s"Problem parsing roles: $error"),
roles => {
BaseImages.update(
image,
description,
amiId,
linuxDist,
roles,
modifiedBy = request.user.fullName,
new DateTime(eolDate),
requiresXLargeBuilder
)
Redirect(routes.BaseImageController.showBaseImage(id))
.flashing("info" -> "Successfully updated base image")
}
)
}
)
}
}