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> }