Viewing File: /usr/local/cpanel/base/sharedjs/zone_editor/views/manage.ptt
<div class="row">
<div class="col-xs-12">
<h2 class="view-title">[% locale.maketext('Zone Records for “[_1]”', '{{ manage.domain }}') %]</h2>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-8">
<div id="notAllowedWarningManage" class="alert alert-danger ng-hide" ng-show="manage.loading_error">
<span class="glyphicon glyphicon-remove-sign"></span>
<div class="alert-message">
<strong class="alert-title">
[% locale.maketext('[asis,DNS] Zone Failed To Load:') %]
</strong>
<span class="alert-body">
<pre class="loading-error-pre" ng-bind-html="manage.loading_error_message"></pre>
<button href ng-click="manage.confirm_reset_zone()" class="btn btn-primary btn-sm"><span class='fas fa-undo' aria-hidden="true"></span> [% locale.maketext('Reset the [asis,DNS] Zone') %]</button>
<a href="index.html#/list" class="btn btn-link"><i class="fas fa-arrow-left" aria-hidden="true"></i> [% locale.maketext('Return to [asis,DNS] Zone List') %]</a>
</span>
</div>
</div>
</div>
</div>
<div id="tableShowHideContainerManage" ng-hide="manage.loading_error">
<div id="paginationControls" class="row search-page-container">
<div class="col-xs-12 col-sm-12 col-md-9">
<div class="row">
<div class="col-xs-12 col-md-6">
<search id="filterList" ng-model="manage.meta.filterValue"
placeholder="[% locale.maketext('Filter by name') %]" autofocus ng-change="manage.searchList()">
</search>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<quick-filters title="[% locale.maketext('Filter:') %]" active="manage.meta.quickFilterValue"
on-filter-change="manage.getFilteredResults()">
<quick-filter-item id="show_all_records" value="">[% locale.maketext('All') %]
</quick-filter-item>
<quick-filter-item ng-repeat="type in manage.types" value="{{type}}"
id="show__{{type}}_records">{{type}}</quick-filter-item>
</quick-filters>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-3">
<div id="paginator" class="pagination-container pull-right hidden-xs hidden-sm">
<uib-pagination id="topPager" ng-change="manage.selectPage()" ng-model="manage.meta.pageNumber"
max-size="manage.meta.maxPages" items-per-page="manage.meta.pageSize"
total-items="manage.meta.totalItems" direction-links="true" boundary-links="true" rotate="false"
first-text="<<" last-text=">>" previous-text="<" next-text=">">
</uib-pagination>
<p class="text-small text-right flip"> {{manage.paginationMessage()}} </p>
</div>
</div>
</div>
<div class="row action-bar">
<div class="col-xs-12">
<div class="hidden-xs hidden-sm pull-left flip">
<div class="btn-group" id="actionButtonDropdown" ng-if="manage.isActionBtnVisible()" uib-dropdown>
<button type="button" id="action_btn_list" class="btn btn-default btn-sm add-record-btn"
ng-disabled="manage.is_loading" uib-dropdown-toggle>
[% locale.maketext('Actions') %]
<span class="caret"></span>
<span class="sr-only">[% locale.maketext('Click for more options.') %]</span>
</button>
<ul uib-dropdown-menu class="dropdown-menu dropdown-menu-left text-right flip" role="menu">
<li role="menuitem" ng-if="manage.Features.whmOnly">
<a id="exportZoneLink" ng-if="manage.Features.whmOnly"
href="manage/copyzone/?domain={{manage.domain}}">
[% locale.maketext('View Raw [asis,DNS] Zone File') %]
</a>
</li>
<li role="separator" ng-if="manage.Features.whmOnly && manage.Features.advanced"
class="divider"></li>
<li role="menuitem" ng-if="manage.Features.advanced">
<button id="resetZoneBtn" class="actionBtn" ng-class="{disabled: manage.isFormEditing()}"
ng-click="manage.confirm_reset_zone()">
[% locale.maketext('Reset [asis,DNS] Zone') %]
</button>
</li>
</ul>
</div>
<a href="{{manage.emailRoutingConfigLink()}}" target="_blank" class="btn-sm hidden-xs hidden-sm"
id="emailRoutingConfigLink"
ng-if="manage.showEmailRoutingLink && !manage.isHostnameZone">
[% locale.maketext('Email Routing Configuration') %]
<i class="fas fa-external-link-alt" aria-hidden="true"></i>
</a>
</div>
<div class="pull-right flip">
<button type="submit" id="saveAllRecordsBtn" form="manage.add_zr_form"
ng-disabled="!manage.isFormEditing()" class="btn btn-primary btn-sm"
cp-action="manage.saveRecords()">
<span class="fas fa-save"></span>
[% locale.maketext('Save All Records') %]
</button>
<div class="btn-group" uib-dropdown>
<button type="button" id="search_add_record_btn" class="btn btn-default btn-sm add-record-btn"
ng-disabled="!manage.recordTypes.length || manage.is_loading"
ng-click="manage.createNewRecord()">
<span class="fas fa-plus"></span>
[% locale.maketext('Add Record') %]</button>
<button type="button" id="search_add_record_dropdown_btn"
class="btn btn-default btn-sm dropdown-toggle"
ng-disabled="!manage.recordTypes.length || manage.is_loading" uib-dropdown-toggle>
<span class="caret"></span>
<span class="sr-only">[% locale.maketext('Click for more options.') %]</span></button>
<ul uib-dropdown-menu class="dropdown-menu dropdown-menu-right text-left flip" role="menu"
ng-if="manage.recordTypes.length">
<li ng-repeat="recordType in manage.recordTypes | filter:manage.filterAddRecordDisplay">
<a id="search_add_{{recordType.type | lowercase}}_record_btn" href
ng-click="manage.createNewRecord(recordType.type)">
[% locale.maketext('Add “[_1]” Record', "{{recordType.type}}") %]
</a>
</li>
</ul>
</div>
<div class="btn-group" uib-dropdown auto-close="outsideClick">
<button id="gearMenu" aria-label="additional actions menu" type="button"
class="btn btn-default btn-sm" uib-dropdown-toggle ng-disabled="manage.is_loading">
<i class="fas fa-cog" aria-hidden="true"></i> <span class="caret"></span>
</button>
<ul uib-dropdown-menu class="dropdown-menu-right" role="menu" aria-labelledby="gearMenu">
<li role="menuitem">
<div class="text-small text-uppercase">[% locale.maketext("Entries Per Page") %]</div>
<page-size-button id="pageSize" allowed-sizes="manage.meta.pageSizes"
total-items="manage.meta.totalItems" ng-model="manage.meta.pageSize" show-all="false"
ng-change="manage.selectPageSize()">
</page-size-button>
</li>
<li role="separator" class="divider"></li>
<li role="menuitem" ng-class="{disabled: manage.adding_records()}">
<a id="refreshList" href ng-click="manage.refresh()"><i class="fas fa-sync-alt" aria-hidden="true"></i> [% locale.maketext('Refresh List') %]</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div id="tableContainer" class="manage-view">
<form name="manage.add_zr_form" class="ng-pristine" novalidate action="javascript:void(0)">
<table id="table" class="table table-striped responsive-table">
<thead>
<tr>
<th id="nameHeader">
<span toggle-sort id="sortByName" onsort="manage.sortList" sort-meta="manage.meta"
sort-field="name">
[% locale.maketext('Name') %]
</span>
</th>
<th id="ttlHeader">
<span toggle-sort id="sortByTTL" onsort="manage.sortList" sort-meta="manage.meta"
sort-field="ttl">
TTL
</span>
</th>
<th id="typeHeader">
<span toggle-sort id="sortByType" onsort="manage.sortList" sort-meta="manage.meta"
sort-field="record_type">
[% locale.maketext('Type') %]
</span>
</th>
<th id="recordHeader">
[% locale.maketext('Record') %]
</th>
<th id="actionsHeader">[% locale.maketext('Actions') %]</th>
</tr>
</thead>
<tbody>
<tr id="loadingNotice" class="info empty-row ng-hide" ng-show="manage.is_loading">
<td colspan="5" id="loadingMessage">
<i id="loadingSpinner" class="fas fa-spinner fa-spin"></i>
[% locale.maketext('Loading …') %]
</td>
</tr>
<tr id="emptyListNotice" class="info empty-row ng-hide"
ng-show="manage.filteredList.length == 0 && !manage.is_loading">
<td colspan="5" id="emptyMessage">[% locale.maketext('No records found.') %]</td>
</tr>
<tr id="zone_rec_row_{{zone_rec._id}}" class="recordTableRow"
ng-repeat="zone_rec in manage.filteredList track by zone_rec._id" ng-hide="manage.is_loading"
ng-class="{'inline-form': zone_rec.editing, 'info': zone_rec.editing, 'warning': zone_rec.alias_unsupported}"
ng-keypress="manage.handleRowKeypress($event, zone_rec)"
>
<td ng-if="!zone_rec.editing" data-title="[% locale.maketext('Name') %]"
id="zone_rec_name_{{zone_rec._id}}" class="potentially-really-long-text">
<span>{{ zone_rec.name }}</span>
</td>
<td ng-if="zone_rec.editing" id="nameInlineEditor_{{zone_rec._id}}">
<div class="record_elements">
<div class="record_element">
<div class="record_subelement"
ng-class="{ 'has-error': manage.field_has_error(manage.add_zr_form, 'recordName_{{zone_rec._id}}') }">
<label for="recordName_{{zone_rec._id}}" class="table-form-label">
[% locale.maketext('Name') %]
</label>
<input type="text"
ng-disabled="zone_rec.record_type === 'SOA' || zone_rec.is_dmarc"
class="form-control" ng-model="zone_rec.name" id="recordName_{{zone_rec._id}}"
name="recordName_{{zone_rec._id}}" required zone-name="{{zone_rec.record_type}}" convert_to_full_record_name
domain="manage.domain"
placeholder="[% locale.maketext('Valid zone name') %]">
</div>
</div>
<div class="record_element">
<div class="record_subelement">
<ul validation-container field-name="recordName_{{zone_rec._id}}">
<li validation-item field-name="recordName_{{zone_rec._id}}"
validation-name="required">[%
locale.maketext("This field is required.") %]
</li>
</ul>
</div>
</div>
</div>
</td>
<td ng-if="!zone_rec.editing" data-title="TTL"
id="zone_rec_ttl_{{zone_rec._id}}">
<span>{{ zone_rec.ttl }}</span>
</td>
<td ng-if="zone_rec.editing" id="ttlInlineEditor_{{zone_rec._id}}">
<div class="record_elements ttl">
<div class="record_element">
<div class="record_subelement"
ng-class="{ 'has-error': manage.field_has_error(manage.add_zr_form, 'recordTTL_{{zone_rec._id}}') }">
<label for="recordTTL_{{zone_rec._id}}" class="table-form-label">
TTL
</label>
<input type="text" class="form-control" ng-model="zone_rec.ttl" required
positive-integer num-less-than="2147483647" maxlength="10"
id="recordTTL_{{zone_rec._id}}" name="recordTTL_{{zone_rec._id}}"
ng-disabled="!manage.Features.advanced"
placeholder="[% locale.maketext('Time in seconds') %]">
</div>
</div>
<div class="record_element">
<div class="record_subelement">
<ul validation-container field-name="recordTTL_{{zone_rec._id}}">
<li validation-item field-name="recordTTL_{{zone_rec._id}}"
validation-name="required">[%
locale.maketext("This field is required.") %]
</li>
</ul>
</div>
</div>
</div>
</td>
<td ng-if="!zone_rec.editing" data-title="[% locale.maketext('Type') %]"
id="zone_rec_type_{{zone_rec._id}}">
<span>{{ zone_rec.record_type }}</span>
<span ng-if="zone_rec.alias_unsupported" class="label label-warning"
title="[% locale.maketext('[asis,ALIAS] support is not enabled.') %]">
[% locale.maketext('Unsupported') %]
</span>
</td>
<td ng-if="zone_rec.editing">
<label for="recordType_{{zone_rec._id}}" class="table-form-label">
[% locale.maketext('Type') %]
</label>
<select
id="recordType_{{zone_rec._id}}"
name="recordType_{{zone_rec._id}}" class="form-control"
ng-model="zone_rec.record_type"
ng-change="manage.updateRecordTemplate(zone_rec)"
ng-disabled="zone_rec.typeEditingLocked">
<option ng-if="zone_rec.record_type === 'SOA'">SOA</option>
<option
ng-selected="zone_rec.record_type === recordType.type"
ng-repeat="recordType in manage.recordTypes | filter: manage.filterRowRecordsDisplay"
value="{{recordType.type}}">
{{recordType.type}}
</option>
</select>
</td>
<td ng-if="!zone_rec.editing" data-title="[% locale.maketext('Record') %]"
class="zone-record-col potentially-really-long-text" id="zone_rec_record_{{zone_rec._id}}">
<ng-include src="zone_rec.viewTemplate"></ng-include>
</td>
<td ng-if="zone_rec.editing" id="recordInlineEditor_{{zone_rec._id}}" class="recordInlineEditor">
<div class="record_elements">
<ng-include src="zone_rec.editTemplate"></ng-include>
</div>
</td>
<td ng-if="!zone_rec.editing" class="action-buttons"
data-title="[% locale.maketext('Actions') %]">
<button type="button"
id="edit_btn_for_{{ zone_rec.record_type | qaSafeID }}_{{ zone_rec.name | qaSafeID }}_{{zone_rec._id}}"
class="btn btn-outline-primary btn-sm" ng-click="manage.edit_record(zone_rec)"
ng-disabled="!zone_rec.isEditable">
<span class="glyphicon glyphicon-pencil"></span>
[% locale.maketext('Edit') %]
</button>
<button type="button"
id="delete_btn_for_{{ zone_rec.record_type | qaSafeID }}_{{ zone_rec.name | qaSafeID }}_{{zone_rec._id}}"
class="btn btn-outline-danger btn-sm" ng-click="manage.confirm_delete_record(zone_rec)"
ng-disabled="manage.isEditingRecords()"
ng-if="zone_rec.record_type !== 'SOA'">
<span class="glyphicon glyphicon-trash"></span>
[% locale.maketext('Delete') %]
</button>
</td>
<td ng-if="zone_rec.editing" class="record_manipulation_buttons">
<button
id="inline_add_record_button_{{zone_rec._id}}"
class="btn btn-primary btn-sm"
type="submit"
data-form-valid-state="{{manage.getAddFormState()}}"
cp-action="manage.saveRecords(zone_rec)">[% locale.maketext('Save Record') %]
</button>
<button
id="inline_cancel_button_{{zone_rec._id}}"
class="btn btn-link btn-sm" type="button"
ng-disabled="manage.save_in_progress"
ng-click="manage.cancelRecordEdit(zone_rec, zone_rec._id)">
[% locale.maketext('Cancel') %]
</button>
</td>
</tr>
</tbody>
</table>
</form>
</div>
<div class="row search-page-container visible-sm-block visible-xs-block hidden-lg hidden-md">
<div class="col-xs-6">
<div class="pull-left flip">
<a href="{{manage.emailRoutingConfigLink()}}" target="_blank" class="btn-sm"
id="emailRoutingConfigLinkMobile">
[% locale.maketext('Email Routing Configuration') %]
<i class="fas fa-external-link-alt" aria-hidden="true"></i>
</a>
<div id="buttonDropdownMobile" class="btn-group" uib-dropdown>
<button type="button" id="action_btn_list_mobile" class="btn btn-default btn-sm add-record-btn"
ng-disabled="manage.is_loading" uib-dropdown-toggle>
[% locale.maketext('Actions') %]
<span class="caret"></span>
<span class="sr-only">[% locale.maketext('Click for more options.') %]</span>
</button>
<ul uib-dropdown-menu class="dropdown-menu dropdown-menu-left text-right flip" role="menu">
<li role="menuitem">
<li role="menuitem" ng-if="manage.Features.whmOnly">
<button id="exportZoneBtnMobile" class="actionBtn" ng-if="manage.Features.whmOnly"
ng-click="manage.viewRawZone()">
[% locale.maketext('View Raw [asis,DNS] Zone File') %]
</button>
</li>
<li role="separator" ng-if="manage.Features.whmOnly && manage.Features.advanced"
class="divider">
</li>
<li role="menuitem" ng-if="manage.Features.advanced">
<button id="resetZoneBtnMobile" class="actionBtn"
ng-class="{disabled: manage.isFormEditing()}" ng-click="manage.confirm_reset_zone()">
[% locale.maketext('Reset [asis,DNS] Zone') %]
</button>
</li>
</ul>
</div>
</div>
</div>
<div class="col-xs-6 col-sm-6">
<div id="paginatorBottom" class="pagination-container">
<p class="text-small text-right flip">{{manage.paginationMessage()}}</p>
<uib-pagination id="bottomPager" ng-change="manage.selectPage()" ng-model="manage.meta.pageNumber"
max-size="manage.meta.maxPages" items-per-page="manage.meta.pageSize"
total-items="manage.meta.totalItems" direction-links="true" boundary-links="true" rotate="false"
first-text="<<" last-text=">>" previous-text="<" next-text=">">
</uib-pagination>
</div>
</div>
</div>
</div>
<script type="text/ng-template" id="confirm_delete.html">
<div class="modal-header">
<h4>[% locale.maketext('Confirm Deletion') %]</h4>
</div>
<div class="modal-body">
[% locale.maketext('Are you certain that you want to delete this record?') %]
</div>
<div class="modal-footer">
<button type="button"
id="modalContinueBtn"
cp-action="ctrl.confirm()"
button-class="btn btn-primary btn-sm">[% locale.maketext('Continue') %]</button>
<button type="button"
id="modalCancelBtn"
class="btn btn-link btn-sm"
ng-click="ctrl.cancel()">[% locale.maketext('Cancel') %]</button>
</div>
</script>
<script type="text/ng-template" id="confirm_reset_zone.html">
<div class="modal-header">
<h4>[% locale.maketext('Reset Zone') %]</h4>
</div>
<div class="modal-body">
<p>[% locale.maketext('Resetting your zone file will erase any modifications you have made to your zone records. The system will attempt to preserve [asis,TXT] records. However, we recommend that you take note of any records you want to save.') %]</p>
<p class="last-paragraph">[% locale.maketext('Are you sure you want to erase all entries and revert to the default state?') %]</p>
</div>
<div class="modal-footer">
<button type="button"
id="modalContinueBtn"
cp-action="ctrl.confirm()"
button-class="btn btn-primary btn-sm">[% locale.maketext('Continue') %]</button>
<button type="button"
id="modalCancelBtn"
class="btn btn-link btn-sm"
ng-click="ctrl.cancel()">[% locale.maketext('Cancel') %]</button>
</div>
</script>
Back to Directory
File Manager