blob: 3bee2a1f2316b919a35affbf1b48e9f9b2a8f2b8 [file] [log] [blame]
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
<div class="clearfix">
<ol class="breadcrumb pull-left">
<li><a href="#/stackVersions">{{'common.versions' | translate}}</a></li>
<li class="active" ng-if="editController">{{displayName}}&nbsp;<span
class="sub-text">({{repoVersionFullName}})</span></li>
<li class="active" ng-if="createController">{{'versions.register.title' | translate}}</li>
</ol>
<div class="pull-right deregister-button" ng-switch="deleteEnabled" ng-if="editController">
<button ng-switch-when="false" class="btn disabled btn-default" tooltip="{{'versions.alerts.cannotDeleteInstalled' | translate}}">{{'versions.deregister' | translate}}</button>
<button ng-switch-when="true" class="btn btn-danger" ng-click="delete()">{{'versions.deregister' | translate}}</button>
</div>
</div>
<hr>
<form class="form-horizontal register-version-form" role="form" name="versionRegForm" novalidate>
<!-- left tabs begins -->
<div class="col-sm-2" id="list-stack-id" ng-if="createController">
<ul class="nav nav-tabs tabs-left">
<li ng-repeat="stack in stackIds" ng-click="onStackIdChange()" ng-class="{'active' : stack.isSelected}">
<a href="javascript:void(0);">{{stack.stackNameVersion}}</a>
</li>
</ul>
</div>
<div ng-class="{'col-sm-10': createController}">
<div class="tab-content">
<div class="panel panel-default details-panel">
<div class="panel-body">
<div class="col-sm-3 .pull-left" id="current-stack-details" ng-if="editController">
<table class='table table-borderless alert alert-info'>
<tr>
<td>{{'common.stack' | translate}}</td>
<td><strong>{{activeStackVersion.stackNameVersion}}</strong></td>
</tr>
<tr>
<td>{{'common.name' | translate}}</td>
<td><strong>{{activeStackVersion.displayName}}</strong></td>
</tr>
<tr>
<td>{{'common.version' | translate}}</td>
<td><strong>{{activeStackVersion.actualVersion}}</strong></td>
</tr>
</table>
</div>
<div class="version-info" ng-if="createController">
<div class="btn-group" dropdown>
<button type="button" data-toggle="dropdown" class="btn dropdown-toggle btn-info">
{{activeStackVersion.stackNameRepositoryVersion}}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li ng-repeat="version in allVersions" ng-click="setActiveVersion()" ng-if="version.visible">
<a href="javascript:void(0);">
{{version.stackNameRepositoryVersion}}
<span ng-if="version.stackDefault">{{'versions.defaultVersion' | translate}}</span>
</a>
</li>
<li>
<a href="javascript:void(0);" ng-click="addVersion()">
{{'versions.addVersion' | translate}} ...
</a>
</li>
</ul>
</div>
<div class="pull-right form-inline repo-version-inline" ng-if="activeStackVersion.isNonXMLdata">
<label class="control-label col-sm-1 repo-version-label">{{'common.name' | translate}}:</label>
<div class="col-sm-11">
<span class="control-label">
{{activeStackVersion.stackNameVersion}}
</span>
<span class="dot">.</span>
<div class="form-group" ng-class="{'has-error' : versionRegForm.version.$error.pattern}">
<input class="form-control" name="version" type="text" ng-model="activeStackVersion.editableDisplayName" ng-pattern="subversionPattern"
placeholder="{{'versions.placeholder' | translate}}" ng-change="updateCurrentVersionInput()" required/>
</div>
<div class="text-danger" ng-show="versionRegForm.version.$error.pattern">
&nbsp{{'common.alerts.isInvalid' | translate: '{term: activeStackVersion.displayName}'}}
</div>
</div>
</div>
</div>
<br>
<div class="version-contents-section" ng-class="{'version-contents-section-register-version': createController}">
<table class="table table-striped table-condensed">
<tr ng-repeat="service in activeStackVersion.services">
<td class="col-sm-4">{{service.displayName}}</td>
<td class="col-sm-8">{{service.version}}</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
<div id="upload-definition-file-panel" ng-if="createController">
<div class="col-sm-12 big-radio clearfix" ng-class="{'disabled' : networkLost || useRedhatSatellite}">
<input type="radio" ng-model="selectedOption.index" value="1" ng-change="togglePublicLocalOptionSelect()" ng-disabled="networkLost || useRedhatSatellite">
<span>{{'versions.usePublic' | translate}}</span>
<a id="public-disabled-link" href="javascript:void(0);" ng-if="networkLost" ng-click="showPublicRepoDisabledDialog()">{{'versions.networkIssues.networkLost'| translate}}</a>
</div>
<div class="col-sm-12 big-radio clearfix">
<input type="radio" ng-model="selectedOption.index" value="2" ng-change="togglePublicLocalOptionSelect()">
{{'versions.useLocal' | translate}}
</div>
</div>
<div class="clearfix bottom-margin"></div>
<form ng-class="{'visible': !allInfoCategoriesBlank()}" class="form-horizontal register-version-form hide-soft"
role="form" name="repoRegForm" novalidate>
<div class="panel panel-default repos-panel">
<div class="panel-heading">
<h3 class="panel-title">
{{'versions.repos' | translate}}
<button ng-show="supports.addingNewRepository" class="btn btn-primary pull-right btn-xs pull-up"
ng-click="addRepository()">
<span class="glyphicon glyphicon-plus"></span>
{{'versions.repository.add' | translate}}
</button>
</h3>
</div>
<div class="panel-body">
<div class="panel-inner">
<div class="alert alert-info" role="alert">{{'versions.alerts.baseURLs' | translate}}</div>
<div class="alert alert-warning hide-soft" ng-class="{'visible' : hasValidationErrors()}" role="alert">
{{'versions.alerts.validationFailed' | translate}}
</div>
<div class="clearfix repo-table-title row-fluid">
<div class="col-sm-2" id="os-label"><label>{{'versions.os' | translate}}</label></div>
<div class="col-sm-2" id="name-label-adjust"><label>{{'common.name' | translate}}</label></div>
<div class="col-sm-6" id="repo-base-url-label"><label>{{'versions.baseURL' | translate}} </label></div>
<div class="btn-group pull-right tooltip-wrapper"
tooltip="{{(isAddOsButtonDisabled() && !useRedhatSatellite)? ('versions.alerts.allOsAdded' | translate) : ''}}"
dropdown>
<button class="btn add-os-button dropdown-toggle" ng-disabled="isAddOsButtonDisabled()">
<i class="fa fa-plus" aria-hidden="true"></i> {{'common.controls.add' | translate}} &nbsp;<span
class="caret"></span></button>
<ul class="dropdown-menu" ng-class="{'hidden': hasNotDeletedRepo()}">
<li ng-repeat="os in osList"><a ng-if="os.selected==false" ng-click="addOS($event)">{{os.OperatingSystems.os_type}}</a>
</li>
</ul>
</div>
</div>
<div class="alert alert-info hide-soft" ng-class="{'visible' : !osList || !osList.length}" role="alert">
{{'versions.contents.empty' | translate}}
</div>
<div class="" ng-repeat="os in osList">
<div ng-if="os.selected==true">
<div class="clearfix border-bottom {{os.OperatingSystems.os_type}}">
<!-- show selected os in list table-->
<div class="col-sm-2 os-type-label">
<label>{{os.OperatingSystems.os_type}}</label>
</div>
<div class="col-sm-9">
<div class="form-group repo-name-url {{repository.Repositories.repo_name}}"
ng-class="{'has-error': repository.hasError }" ng-repeat="repository in os.repositories">
<span class="repo-name-label control-label col-sm-3">{{repository.Repositories.repo_id}}</span>
<div class="col-sm-7 repo-url">
<input type="text" class="form-control"
placeholder="{{(repository.Repositories.repo_name.indexOf('UTILS') < 0 )?('versions.repository.placeholder' | translate) : ''}}"
ng-model="repository.Repositories.base_url"
ng-change="onRepoUrlChange(repository)" ng-disabled="useRedhatSatellite">
</div>
<i class="fa fa-undo orange-icon cursor-pointer"
ng-if="selectedOption.index == 1 && repository.Repositories.base_url != repository.Repositories.initial_base_url
|| selectedOption.index == 2 && repository.Repositories.base_url != ''
|| editController && repository.Repositories.base_url != repository.Repositories.initial_base_url"
ng-click="undoChange(repository)"
tooltip-html-unsafe="{{'common.undo' | translate}}"
aria-hidden="true"></i>
</div>
</div>
<div class="col-sm-1 remove-icon" ng-click="removeOS()" ng-class="{'disabled' : useRedhatSatellite}"><i
class="fa fa-minus" aria-hidden="true"></i>{{'common.controls.remove' | translate}}
</div>
</div>
</div>
</div>
<div class="clearfix advanced-radio-buttons">
<div class="col-sm-9" id="skip-validation">
<div class="checkbox">
<label>
<input type="checkbox" ng-model="skipValidation" ng-change="clearErrors()"
ng-disabled="useRedhatSatellite">
<span ng-class="{'disabled' : useRedhatSatellite}">{{'versions.skipValidation' | translate}}</span>
<i class="fa fa-question-circle"
tooltip-html-unsafe="{{'versions.alerts.skipValidationWarning' | translate}}" aria-hidden="true"></i>
</label>
</div>
</div>
<div class="col-sm-9" id="use-redhat">
<div class="checkbox">
<label>
<input type="checkbox" ng-model="useRedhatSatellite" ng-change="clearErrors()"
ng-disabled="isPublicRepoSelected()">
<span ng-class="{'disabled' : isPublicRepoSelected()}"
tooltip="{{(isPublicRepoSelected())? ('versions.useRedhatSatellite.disabledMsg' | translate) : ''}}">{{'versions.useRedhatSatellite.title' | translate}}</span>
<i class="fa fa-question-circle"
tooltip-html-unsafe="{{'versions.alerts.useRedhatSatelliteWarning' | translate}}"
aria-hidden="true"></i>
</label>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-12">
<button class="btn btn-primary pull-right left-margin" ng-click="save()"
ng-disabled="isSaveButtonDisabled() || (createController && versionRegForm.version.$invalid)">{{'common.controls.save' | translate}}
</button>
<button class="btn btn-default pull-right" ng-click="cancel()">{{'common.controls.cancel' | translate}}</button>
</div>
</form>
</form>