|
<span page-title ng-model="contentHost">{{ 'Subscriptions for: ' | translate }} {{ contentHost.name }}</span>
|
|
|
|
<button class="btn btn-primary fr"
|
|
ng-hide="denied('edit_content_hosts', contentHost)"
|
|
ng-click="autoAttachSubscriptions()"
|
|
ng-disabled="subscription.workingMode">
|
|
{{ "Run Auto-Attach" | translate }}
|
|
</button>
|
|
|
|
<span ng-show="subscription.workingMode">
|
|
<i class="icon-spinner inline-icon icon-spin fr"></i>
|
|
<span translate>Working</span>
|
|
</span>
|
|
|
|
<section class="details">
|
|
<h4 translate>Subscription Details</h4>
|
|
<div class="detail">
|
|
<span class="info-label" translate>Status</span>
|
|
<span class="info-value">
|
|
<i class="icon-circle" ng-class="contentHostTable.getStatusColor(contentHost.compliance.status)"></i>
|
|
{{ contentHost.compliance.status }}
|
|
</span>
|
|
</div>
|
|
|
|
<div ng-show="contentHost.compliance.reasons.length > 0" class="detail">
|
|
<span class="info-label" translate>Details</span>
|
|
<div class="info-value">
|
|
<ul class="compliance-reasons">
|
|
<li ng-repeat="reason in contentHost.compliance.reasons">{{ reason.attributes.name}} - {{ reason.message }}</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="detail">
|
|
<span class="info-label" translate>Auto-Attach</span>
|
|
<span class="info-value"
|
|
alch-edit-checkbox="contentHost.autoheal"
|
|
formatter="booleanToYesNo"
|
|
readonly="denied('edit_content_hosts', contentHost)"
|
|
on-save="save(contentHost)">
|
|
</span>
|
|
</div>
|
|
<div class="detail">
|
|
<span class="info-label" translate>Service Level</span>
|
|
<span class="info-value"
|
|
alch-edit-select="contentHost.service_level"
|
|
readonly="denied('edit_content_hosts', contentHost)"
|
|
selector="contentHost.service_level"
|
|
options="serviceLevels()"
|
|
options-format="option for option in options"
|
|
on-save="save(contentHost)">
|
|
</span>
|
|
</div>
|
|
</section>
|
|
|
|
<nav>
|
|
<ul class="nav nav-tabs" ng-show="permitted('attach_subscriptions')">
|
|
<li ng-class="{active: isState('content-hosts.details.subscriptions.list')}">
|
|
<a ui-sref="content-hosts.details.subscriptions.list">
|
|
<!-- TODO: other pages too - label "List" vs. "List/Remove" based on edit permissions -->
|
|
<span translate>
|
|
List/Remove
|
|
</span>
|
|
</a>
|
|
</li>
|
|
|
|
<li ng-class="{active: stateIncludes('content-hosts.details.subscriptions.add')}">
|
|
<a ui-sref="content-hosts.details.subscriptions.add">
|
|
<span translate>
|
|
Add
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
<div ui-view></div>
|
|
|
|
<!--
|
|
http://projects.theforeman.org/issues/4253
|
|
<div ui-view></div>
|
|
<div class="filter-options">
|
|
<span class="filter-option">
|
|
<input type="checkbox"
|
|
id="subscriptions-match"
|
|
class="input"
|
|
ng-model="availableSubscriptionsTable.matchSystem"
|
|
ng-change="availableSubscriptionsTable.filterSubscriptions()"/>
|
|
<label for="subscriptions-match" translate>Subscriptions match system</label>
|
|
</span>
|
|
<span class="filter-option">
|
|
<input type="checkbox"
|
|
id="subscriptions-match-installed"
|
|
class="input"
|
|
ng-model="availableSubscriptionsTable.matchInstalled"
|
|
ng-change="availableSubscriptionsTable.filterSubscriptions()"/>
|
|
<label for="subscriptions-match-installed" translate>Subscriptions match installed software</label>
|
|
</span>
|
|
|
|
<span class="filter-option">
|
|
<input type="checkbox"
|
|
id="subscriptions-no-overlap"
|
|
class="input"
|
|
ng-model="availableSubscriptionsTable.noOverlap"
|
|
ng-change="availableSubscriptionsTable.filterSubscriptions()"/>
|
|
<label for="subscriptions-no-overlap" translate>No overlap with current</label>
|
|
</span>
|
|
</div>
|
|
-->
|