app/views/showBaseImage.scala.html (59 lines of code) (raw):
@import data.Roles
@(image: BaseImage, allRoles: Seq[RoleSummary], usedRecipes: Seq[Recipe], unusedRecipes: Seq[Recipe], cloneForm: Form[_], usages: Map[Recipe, prism.RecipeUsage])(implicit flash: Flash, messages: play.api.i18n.Messages)
@implicitFieldConstructor = @{ b3.inline.fieldConstructor() }
@simpleLayout("AMIgo"){
<h1>@image.id.value</h1>
<div class="panel panel-default">
<div class="panel-heading">Actions</div>
<div class="panel-body">
<a class="btn btn-default" href="@routes.BaseImageController.editBaseImage(image.id)">Edit</a>
<a href="@routes.BaseImageController.deleteConfirm(image.id)" class="btn btn-danger">Delete...</a>
</div>
<div class="panel-body">
@b3.form(routes.BaseImageController.cloneBaseImage(image.id)) {
@b3.inputWrapped( "newId", cloneForm("newId"), Symbol("placeholder") -> s"${image.id.value}-cloned" ) { input =>
<div class="input-group">
@input
<span class="input-group-btn">
<button type="submit" class="btn btn-default">Clone</button>
</span>
</div>
}
}
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">Description</div>
<div class="panel-body">
<p>Created @fragments.timestamp(image.createdAt, image.createdBy)</p>
<p>Modified @fragments.timestamp(image.modifiedAt, image.modifiedBy)</p>
@image.eolDate.map{eolDate => <p class="@BaseImage.eolStatusClass(image)">End of Life @eolDate.toString("dd/MM/yyyy")</p>}
@if(image.requiresXLargeBuilder){<p>Requires XLarge builder instance</p>}
<p>@image.description</p>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">Source AMI</div>
<div class="panel-body">
@image.amiId
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">Builtin roles</div>
<div class="panel-body">
@fragments.customisedRoles(Roles.customisedTransitiveDependency(allRoles, image.builtinRoles))
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">Used by</div>
<div class="panel-body">
@if(usedRecipes.isEmpty && unusedRecipes.isEmpty) {
This base image is not used by any recipe
} else {
This base image is used by the following recipes:
@fragments.usedByTable("Recipes with active instances/launch configurations", usedRecipes, usages)
@fragments.usedByTable("Unused recipes", unusedRecipes, usages)
}
</div>
</div>
}