<!-- Modal subscription -->
<div class="modal fade" id="subscriptionRequiredModal" tabindex="-1" role="dialog">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h4 class="modal-title">{{ 'domains.subscriptionRequired.title' | tr }}</h4>
      </div>
      <div class="modal-body">
        <p ng-bind-html="'domains.subscriptionRequired.description' | tr"></p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">{{ 'main.dialog.cancel' | tr }}</button>
        <button type="button" class="btn btn-success" ng-click="openSubscriptionSetup()">{{ 'domains.subscriptionRequired.setupAction' | tr }}</button>
      </div>
    </div>
  </div>
</div>

<!-- modal domain add/configure -->
<div class="modal fade" id="domainConfigureModal" tabindex="-1" role="dialog">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h4 class="modal-title" ng-show="domainConfigure.adding">{{ 'domains.domainDialog.addTitle' | tr }}</h4>
        <h4 class="modal-title" ng-hide="domainConfigure.adding">{{ 'domains.domainDialog.editTitle' | tr:{ domain: domainConfigure.domain.domain } }}</h4>
      </div>
      <div class="modal-body">
        <p ng-show="domainConfigure.adding" ng-bind-html="'domains.domainDialog.addDescription' | tr"></p>

        <form name="domainConfigureForm" role="form" novalidate ng-submit="domainConfigure.submit()" autocomplete="off">
          <p class="has-error text-center" ng-show="domainConfigure.error">{{ domainConfigure.error }}</p>

          <div class="form-group" ng-show="domainConfigure.adding">
            <label class="control-label">{{ 'domains.domainDialog.domain' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.newDomain" name="newDomain" ng-disabled="domainConfigure.busy" placeholder="example.com" ng-required="domainConfigure.adding" autofocus>
          </div>

          <div class="form-group">
            <label class="control-label">{{ 'domains.domainDialog.provider' | tr }} <sup><a ng-href="https://docs.cloudron.io/domains/#dns-providers" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup></label>
            <select class="form-control" ng-model="domainConfigure.provider" ng-options="a.value as a.name for a in dnsProvider" ng-change="domainConfigure.setDefaultTlsProvider()"></select>
          </div>

          <!-- Route53 -->
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'route53'">
            <label class="control-label">{{ 'domains.domainDialog.route53AccessKeyId' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.accessKeyId" name="accessKeyId" ng-disabled="domainConfigure.busy" ng-minlength="16" ng-maxlength="32" ng-required="domainConfigure.provider === 'route53'">
          </div>
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'route53'">
            <label class="control-label">{{ 'domains.domainDialog.route53SecretAccessKey' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.secretAccessKey" name="secretAccessKey" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'route53'">
          </div>

          <!-- Google Cloud DNS -->
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'gcdns'">
            <label class="control-label">{{ 'domains.domainDialog.gcdnsServiceAccountKey' | tr }}</label>
            <div class="input-group">
              <input type="file" id="gcdnsKeyFileInput" style="display:none"/>
              <input type="text" class="form-control" placeholder="Service Account Key" ng-model="domainConfigure.gcdnsKey.keyFileName" id="gcdnsKeyInput" name="cert" onclick="getElementById('gcdnsKeyFileInput').click();" style="cursor: pointer;" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'gcdns'">
              <span class="input-group-addon">
                <i class="fa fa-upload" onclick="getElementById('gcdnsKeyFileInput').click();"></i>
              </span>
            </div>
          </div>

          <!-- DigitalOcean -->
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'digitalocean'">
            <label class="control-label">{{ 'domains.domainDialog.digitalOceanToken' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.digitalOceanToken" name="digitalOceanToken" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'digitalocean'">
          </div>

          <!-- Gandi -->
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'gandi'">
            <label class="control-label">{{ 'domains.domainDialog.gandiApiKey' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.gandiApiKey" name="gandiApiKey" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'gandi'">
          </div>

          <!-- GoDaddy -->
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'godaddy'">
            <label class="control-label">{{ 'domains.domainDialog.goDaddyApiKey' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.godaddyApiKey" name="apiKey" ng-disabled="domainConfigure.busy" ng-minlength="1" ng-required="domainConfigure.provider === 'godaddy'">
          </div>
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'godaddy'">
            <label class="control-label">{{ 'domains.domainDialog.goDaddyApiSecret' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.godaddyApiSecret" name="apiSecret" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'godaddy'">
          </div>

          <!-- Netcup -->
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'netcup'">
            <label class="control-label">{{ 'domains.domainDialog.netcupCustomerNumber' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.netcupCustomerNumber" name="netcupCustomerNumber" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'netcup'">
          </div>
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'netcup'">
            <label class="control-label">{{ 'domains.domainDialog.netcupApiKey' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.netcupApiKey" name="netcupApiKey" ng-disabled="domainConfigure.busy" ng-minlength="1" ng-required="domainConfigure.provider === 'netcup'">
          </div>
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'netcup'">
            <label class="control-label">{{ 'domains.domainDialog.netcupApiPassword' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.netcupApiPassword" name="netcupApiPassword" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'netcup'">
          </div>

          <!-- Cloudflare -->
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'cloudflare'">
            <label class="control-label">{{ 'domains.domainDialog.cloudflareTokenType' | tr }}</label>
            <select class="form-control" ng-model="domainConfigure.cloudflareTokenType">
              <option value="GlobalApiKey">{{ 'domains.domainDialog.cloudflareTokenTypeGlobalApiKey' | tr }}</option>
              <option value="ApiToken">{{ 'domains.domainDialog.cloudflareTokenTypeApiToken' | tr }}</option>
            </select>
          </div>

          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'cloudflare'">
            <label class="control-label" ng-show="domainConfigure.cloudflareTokenType === 'GlobalApiKey'">{{ 'domains.domainDialog.cloudflareTokenTypeGlobalApiKey' | tr }}</label>
            <label class="control-label" ng-show="domainConfigure.cloudflareTokenType === 'ApiToken'">{{ 'domains.domainDialog.cloudflareTokenTypeApiToken' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.cloudflareToken" name="cloudflareToken" ng-required="domainConfigure.provider === 'cloudflare'" ng-disabled="domainConfigure.busy">
          </div>
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'cloudflare' && domainConfigure.cloudflareTokenType === 'GlobalApiKey'">
            <label class="control-label">{{ 'domains.domainDialog.cloudflareEmail' | tr }}</label>
            <input type="email" class="form-control" ng-model="domainConfigure.cloudflareEmail" name="cloudflareEmail" ng-required="domainConfigure.provider === 'cloudflare' && domainConfigure.cloudflareTokenType === 'GlobalApiKey'" ng-disabled="domainConfigure.busy">
          </div>

          <!-- Linode -->
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'linode'">
            <label class="control-label">{{ 'domains.domainDialog.linodeToken' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.linodeToken" name="linodeToken" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'linode'">
          </div>

          <!-- Name.com -->
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'namecom'">
            <label class="control-label">{{ 'domains.domainDialog.nameComUsername' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.nameComUsername" name="nameComUsername" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'namecom'">
          </div>
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'namecom'">
            <label class="control-label">{{ 'domains.domainDialog.nameComApiToken' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.nameComToken" name="nameComToken" ng-disabled="domainConfigure.busy" ng-minlength="1" ng-required="domainConfigure.provider === 'namecom'">
          </div>

          <!-- Namecheap -->
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'namecheap'">
            <label class="control-label">{{ 'domains.domainDialog.namecheapUsername' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.namecheapUsername" name="namecheapUsername" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'namecheap'">
          </div>
          <div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'namecheap'">
            <label class="control-label">{{ 'domains.domainDialog.namecheapApiKey' | tr }}</label>
            <input type="text" class="form-control" ng-model="domainConfigure.namecheapApiKey" name="namecheapApiKey" ng-disabled="domainConfigure.busy" ng-minlength="1" ng-required="domainConfigure.provider === 'namecheap'">
          </div>

          <p class="small text-info text-bold" ng-show="domainConfigure.provider === 'namecheap'" ng-bind-html="'domains.domainDialog.namecheapInfo' | tr"></p>
          <p class="small text-info text-bold" ng-show="domainConfigure.provider === 'wildcard'" ng-bind-html="'domains.domainDialog.wildcardInfo' | tr:{ domain: domainConfigure.adding ? domainConfigure.newDomain : domainConfigure.domain.domain }"></p>
          <p class="small text-info text-bold" ng-show="domainConfigure.provider === 'manual'" ng-bind-html="'domains.domainDialog.manualInfo' | tr"></p>
          <p class="small text-info text-bold" ng-show="needsPort80(domainConfigure.provider, domainConfigure.tlsConfig.provider)" ng-bind-html="'domains.domainDialog.letsEncryptInfo' | tr"></p>

          <a href="" ng-click="domainConfigure.advancedVisible = true" ng-hide="domainConfigure.advancedVisible">{{ 'domains.domainDialog.advancedAction' | tr }}</a>
          <div  uib-collapse="!domainConfigure.advancedVisible">
            <div class="form-group">
              <label class="control-label">{{ 'domains.domainDialog.matrixHostname' | tr }} <sup><a ng-href="https://docs.cloudron.io/domains/#matrix-server-location" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup></label>
              <input type="text" class="form-control" ng-model="domainConfigure.matrixHostname" name="matrixHostname" ng-disabled="domainConfigure.busy">
            </div>

            <div class="form-group">
              <label class="control-label">{{ 'domains.domainDialog.mastodonHostname' | tr }} <sup><a ng-href="https://docs.cloudron.io/domains/#mastodon-server-location" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup></label>
              <input type="text" class="form-control" ng-model="domainConfigure.mastodonHostname" name="mastodonHostname" ng-disabled="domainConfigure.busy">
            </div>

            <div class="form-group">
              <label class="control-label">{{ 'domains.domainDialog.zoneName' | tr }} <sup><a ng-href="https://docs.cloudron.io/domains/#zone-name" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup></label>
              <input type="text" class="form-control" ng-model="domainConfigure.zoneName" name="zoneName" ng-disabled="domainConfigure.busy">
            </div>

            <div class="form-group">
              <label class="control-label">{{ 'domains.domainDialog.certProvider' | tr }} <sup><a ng-href="https://docs.cloudron.io/certificates/#certificate-providers" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup></label>
              <select class="form-control" ng-model="domainConfigure.tlsConfig.provider" ng-options="a.value as a.name for a in tlsProvider"></select>
            </div>

            <!-- Fallback certificate -->
            <div ng-show="domainConfigure.tlsConfig.provider !== 'fallback'">
              <label class="control-label">{{ 'domains.domainDialog.fallbackCert' | tr }}</label>
              <p ng-bind-html="'domains.domainDialog.fallbackCertInfo' | tr"></p>
            </div>

            <div ng-show="domainConfigure.tlsConfig.provider === 'fallback'">
              <label class="control-label">{{ 'domains.domainDialog.fallbackCertCustomCert' | tr }}</label>
              <p ng-bind-html="'domains.domainDialog.fallbackCertCustomCertInfo' | tr:{ customCertLink: 'https://docs.cloudron.io/certificates/#custom-certificates' }"></p>
            </div>

            <div class="form-group" ng-class="{ 'has-error': (!fallbackCert.cert.$dirty && fallbackCert.error) }">
              <div class="input-group">
                <input type="file" id="fallbackCertFileInput" style="display:none"/>
                <input type="text" class="form-control" placeholder="{{ 'domains.domainDialog.fallbackCertCertificatePlaceholder' | tr }}" ng-model="domainConfigure.fallbackCert.certificateFileName" name="cert" onclick="getElementById('fallbackCertFileInput').click();" style="cursor: pointer;" ng-disabled="domainConfigure.busy">
                <span class="input-group-addon"><i class="fa fa-upload" onclick="getElementById('fallbackCertFileInput').click();"></i></span>
              </div>
            </div>
            <div class="form-group" ng-class="{ 'has-error': (!fallbackCert.key.$dirty && fallbackCert.error) }">
              <div class="input-group">
                <input type="file" id="fallbackKeyFileInput" style="display:none"/>
                <input type="text" class="form-control" placeholder="{{ 'domains.domainDialog.fallbackCertKeyPlaceholder' | tr }}" ng-model="domainConfigure.fallbackCert.keyFileName" id="fallbackKeyInput" name="key" onclick="getElementById('fallbackKeyFileInput').click();" style="cursor: pointer;" ng-disabled="domainConfigure.busy">
                <span class="input-group-addon"><i class="fa fa-upload" onclick="getElementById('fallbackKeyFileInput').click();"></i></span>
              </div>
            </div>

          </div> <!-- advanced -->

          <input class="ng-hide" type="submit" ng-disabled="domainConfigureForm.$invalid || domainConfigure.busy"/>
        </form>
      </div>
      <div class="modal-footer ">
        <button type="button" class="btn btn-default" data-dismiss="modal">{{ 'main.dialog.cancel' | tr }}</button>
        <button type="submit" class="btn btn-outline btn-success pull-right" ng-click="domainConfigure.submit()" ng-disabled="domainConfigureForm.$invalid || domainConfigure.busy"><i class="fa fa-circle-notch fa-spin" ng-show="domainConfigure.busy"></i> {{ 'main.dialog.save' | tr }}</button>
      </div>
    </div>
  </div>
</div>

<!-- Modal domain remove -->
<div class="modal fade" id="domainRemoveModal" tabindex="-1" role="dialog">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h4 class="modal-title">{{ 'domains.removeDialog.title' | tr:{ domain: domainRemove.domain.domain } }}</h4>
      </div>
      <div class="modal-body">
        <p ng-bind-html="'domains.removeDialog.description' | tr:{ domain: domainRemove.domain.domain }"></p>
        <br/>
        <span class="has-error" ng-show="domainRemove.error">{{ domainRemove.error }}</span>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">{{ 'main.dialog.cancel' | tr }}</button>
        <button type="button" class="btn btn-danger" ng-click="domainRemove.submit()" ng-disabled="domainRemove.busy"><i class="fa fa-circle-notch fa-spin" ng-show="domainRemove.busy"></i> {{ 'domains.removeDialog.removeAction' | tr }}</button>
      </div>
    </div>
  </div>
</div>

<div class="content">
  <div class="text-left">
    <h1>{{ 'domains.title' | tr }} <button class="btn btn-primary btn-outline pull-right" ng-click="domainAdd.show()"><i class="fa fa-plus"></i> {{ 'domains.addDomain' | tr }}</button></h1>
  </div>

  <div class="card card-large">
    <div class="row ng-hide" ng-show="!ready">
      <div class="col-lg-12 text-center">
        <h2><i class="fa fa-circle-notch fa-spin"></i></h2>
      </div>
    </div>
    <div class="row animateMeOpacity ng-hide" ng-show="ready">
      <div class="col-lg-12">
        <table class="table table-hover" style="margin-top: 10px;">
          <thead>
            <tr>
              <th>{{ 'domains.domain' | tr }}</th>
              <th class="text-left hidden-xs hidden-sm">{{ 'domains.provider' | tr }}</th>
              <th style="width: 100px" class="text-right">{{ 'main.actions' | tr }}</th>
            </tr>
          </thead>
          <tbody>
            <tr ng-repeat="domain in domains">
              <td class="elide-table-cell hand" ng-click="domainConfigure.show(domain)">
                {{ domain.domain }}
              </td>
              <td class="text-left elide-table-cell hidden-xs hidden-sm hand" ng-click="domainConfigure.show(domain)">
                {{ prettyProviderName(domain) }}
              </td>
              <td class="text-right no-wrap" style="vertical-align: bottom">
                <button class="btn btn-xs btn-default" ng-click="domainConfigure.show(domain)" title="{{ 'domains.tooltipEdit' | tr }}"><i class="fa fa-pencil-alt"></i></button>
                <button class="btn btn-xs btn-danger" ng-click="domainRemove.show(domain)" title="{{ 'domains.tooltipRemove' | tr }}" ng-disabled="domain.domain === config.adminDomain"><i class="far fa-trash-alt"></i></button>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
  </div>

  <div class="text-left">
    <h3>{{ 'domains.renewCerts.title' | tr }}</h3>
  </div>

  <div class="card">
    <div class="row">
      <div class="col-md-12">
        <p ng-bind-html="'domains.renewCerts.description' | tr"></p>
      </div>
    </div>

    <div class="row">
      <div class="col-md-12" style="margin-bottom: 10px;">
        <div ng-show="renewCerts.busy" class="progress progress-striped active animateMe">
          <div class="progress-bar progress-bar-success" role="progressbar" style="width: {{ renewCerts.percent }}%"></div>
        </div>
      </div>
    </div>

    <div class="row">
      <div class="col-md-6">
        <p ng-show="renewCerts.busy">{{ renewCerts.message }}</p>
        <p ng-hide="renewCerts.busy">
          <div class="has-error" ng-show="!renewCerts.active">{{ renewCerts.errorMessage }}</div>
        </p>
      </div>
      <div class="col-md-6 text-right">
        <button class="btn btn-outline btn-primary" ng-click="renewCerts.renew()" ng-disabled="renewCerts.busy" style="margin-right: 10px">{{ 'domains.renewCerts.renewAllAction' | tr }}</button>
        <a class="btn btn-primary pull-right" ng-href="/logs.html?taskId={{renewCerts.taskId}}" ng-disabled="!renewCerts.taskId" target="_blank">{{ 'domains.renewCerts.showLogsAction' | tr }}</a>
      </div>
    </div>
  </div>

  <div class="text-left">
    <h3>{{ 'domains.syncDns.title' | tr }}</h3>
  </div>

  <div class="card">
    <div class="row">
      <div class="col-md-12">
        <p ng-bind-html="'domains.syncDns.description' | tr"></p>
      </div>
    </div>

    <div class="row">
      <div class="col-md-12" style="margin-bottom: 10px;">
        <div ng-show="syncDns.busy" class="progress progress-striped active animateMe">
          <div class="progress-bar progress-bar-success" role="progressbar" style="width: {{ syncDns.percent }}%"></div>
        </div>
      </div>
    </div>

    <div class="row">
      <div class="col-md-6">
        <p ng-show="syncDns.busy">{{ syncDns.message }}</p>
        <p ng-hide="syncDns.busy">
          <div class="has-error" ng-show="!syncDns.active">{{ syncDns.errorMessage }}</div>
        </p>
      </div>
      <div class="col-md-6 text-right">
        <button class="btn btn-outline btn-primary" ng-click="syncDns.sync()" ng-disabled="syncDns.busy" style="margin-right: 10px">{{ 'domains.syncDns.syncAction' | tr }}</button>
        <a class="btn btn-primary pull-right" ng-href="/logs.html?taskId={{syncDns.taskId}}" ng-disabled="!syncDns.taskId" target="_blank">{{ 'domains.syncDns.showLogsAction' | tr }}</a>
      </div>
    </div>
  </div>

  <div class="text-left">
    <h3>{{ 'domains.changeDashboardDomain.title' | tr }}</h3>
  </div>

  <div class="card">
    <div class="row">
      <div class="col-md-8">
        <p ng-bind-html="'domains.changeDashboardDomain.description' | tr"></p>
      </div>
      <div class="col-md-4">
        <select class="form-control pull-right" style="display: inline-block; width: 200px;" ng-model="changeDashboard.selectedDomain" ng-options="a.domain for a in domains"></select>
      </div>
    </div>

    <div class="row">
      <div class="col-md-12" style="margin-bottom: 10px;">
        <div ng-show="changeDashboard.busy" class="progress progress-striped active animateMe">
          <div class="progress-bar progress-bar-success" role="progressbar" style="width: {{ changeDashboard.percent }}%"></div>
        </div>
      </div>
    </div>

    <div class="row">
      <div class="col-md-6">
        <p ng-show="changeDashboard.busy">{{ changeDashboard.message }}</p>
        <p ng-hide="changeDashboard.busy">
          <div class="has-error" ng-show="!changeDashboard.active">{{ changeDashboard.errorMessage }}</div>
        </p>
      </div>
      <div class="col-md-6 text-right">
        <button class="btn btn-outline btn-primary" ng-click="changeDashboard.change()" ng-hide="changeDashboard.busy" ng-disabled="changeDashboard.selectedDomain.domain === changeDashboard.adminDomain.domain">{{ 'domains.changeDashboardDomain.changeAction' | tr }}</button>
        <button class="btn btn-outline btn-danger" ng-click="changeDashboard.stop()" ng-show="changeDashboard.busy" style="margin-right: 10px">{{ 'domains.changeDashboardDomain.cancelAction' | tr }}</button>
        <a class="btn btn-primary pull-right" ng-href="/logs.html?taskId={{changeDashboard.taskId}}" ng-show="changeDashboard.busy" target="_blank">{{ 'domains.changeDashboardDomain.showLogsAction' | tr }}</a>
      </div>
    </div>
  </div>
</div>
