mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2026-05-07 12:16:28 +02:00
allow to edit CloudFlare email/api
This commit is contained in:
@@ -598,10 +598,15 @@ class DNSManager:
|
||||
|
||||
if os.path.exists(cfPath):
|
||||
CloudFlare = 1
|
||||
domainsList = ACLManager.findAllDomains(currentACL, userID)
|
||||
|
||||
domainsList = ACLManager.findAllDomains(currentACL, userID)
|
||||
self.admin = admin
|
||||
self.loadCFKeys()
|
||||
|
||||
return render(request, 'dns/addDeleteDNSRecordsCloudFlare.html', {"domainsList": domainsList, "status": 1, 'CloudFlare': CloudFlare})
|
||||
return render(request, 'dns/addDeleteDNSRecordsCloudFlare.html',
|
||||
{"domainsList": domainsList, "status": 1, 'CloudFlare': CloudFlare, 'cfEmail': self.email, 'cfToken': self.key})
|
||||
else:
|
||||
return render(request, 'dns/addDeleteDNSRecordsCloudFlare.html', {"status": 1, 'CloudFlare': CloudFlare})
|
||||
|
||||
except BaseException as msg:
|
||||
return HttpResponse(str(msg))
|
||||
|
||||
@@ -644,7 +644,7 @@ app.controller('configureDefaultNameservers', function ($scope, $http) {
|
||||
|
||||
/* Java script code for CloudFlare */
|
||||
|
||||
app.controller('addModifyDNSRecordsCloudFlare', function ($scope, $http) {
|
||||
app.controller('addModifyDNSRecordsCloudFlare', function ($scope, $http, $window) {
|
||||
|
||||
$scope.saveCFConfigs = function () {
|
||||
|
||||
@@ -678,8 +678,7 @@ app.controller('addModifyDNSRecordsCloudFlare', function ($scope, $http) {
|
||||
text: 'Changes successfully saved.',
|
||||
type: 'success'
|
||||
});
|
||||
|
||||
|
||||
$window.location.reload();
|
||||
} else {
|
||||
|
||||
|
||||
@@ -965,7 +964,6 @@ app.controller('addModifyDNSRecordsCloudFlare', function ($scope, $http) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
$scope.deleteRecord = function (id) {
|
||||
|
||||
|
||||
|
||||
@@ -63,15 +63,13 @@
|
||||
<label class="col-sm-3 control-label">{% trans "Sync local Records to CloudFlare" %} </label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-model="cfSync" class="form-control">
|
||||
<option>Enable</option>
|
||||
<option>Disable</option>
|
||||
<option>Enable</option>
|
||||
<option>Disable</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-4">
|
||||
@@ -84,402 +82,538 @@
|
||||
|
||||
{% else %}
|
||||
|
||||
<form action="/" class="form-horizontal bordered-row panel-body">
|
||||
<ul class="nav nav-tabs">
|
||||
|
||||
<li class="col-md-4 nav-item tab-mod active">
|
||||
<a href="#tab-example-1" data-toggle="tab" class="h4 nav-link">
|
||||
<i class="fa fa-cog btn-icon"></i>
|
||||
<span>{% trans "Manage DNS" %}</span>
|
||||
</a>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{% trans "Select Domain" %} </label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-change="fetchRecords()" ng-model="selectedZone" class="form-control">
|
||||
{% for items in domainsList %}
|
||||
<option>{{ items }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div ng-hide="addRecordsBox" class="col-sm-4">
|
||||
<button style="width: 100%;" type="button" ng-click="syncCF()"
|
||||
class="btn btn-primary">{% trans "Sync Local Records to CloudFlare" %}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div ng-hide="addRecordsBox" class="form-group">
|
||||
|
||||
</li>
|
||||
<li class="col-md-4 tab-mod nav-item">
|
||||
<a href="#tab-example-3" data-toggle="tab" class="h4 nav-link">
|
||||
<i class="fa fa-cogs btn-icon"></i>
|
||||
<span>{% trans "API Settings" %}</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane fade active in" id="tab-example-1">
|
||||
<div class="example-box-wrapper">
|
||||
<ul class="nav nav-tabs">
|
||||
<li ng-click="fetchRecordsTabs('aRecord')" id="aRecord"><a href="">A</a>
|
||||
</li>
|
||||
<li ng-click="fetchRecordsTabs('aaaaRecord')" id="aaaaRecord"><a href="">AAAA</a>
|
||||
</li>
|
||||
<li ng-click="fetchRecordsTabs('cNameRecord')" id="cNameRecord"><a href="">CNAME</a>
|
||||
</li>
|
||||
<li ng-click="fetchRecordsTabs('mxRecord')" id="mxRecord"><a href="">MX</a>
|
||||
</li>
|
||||
<li ng-click="fetchRecordsTabs('txtRecord')" id="txtRecord"><a
|
||||
href="">TXT</a></li>
|
||||
<li ng-click="fetchRecordsTabs('spfRecord')" id="spfRecord"><a
|
||||
href="">SPF</a></li>
|
||||
<li ng-click="fetchRecordsTabs('nsRecord')" id="nsRecord"><a href="">NS</a>
|
||||
</li>
|
||||
<li ng-click="fetchRecordsTabs('soaRecord')" id="soaRecord"><a
|
||||
href="">SOA</a></li>
|
||||
<li ng-click="fetchRecordsTabs('srvRecord')" id="srvRecord"><a
|
||||
href="">SRV</a></li>
|
||||
<li ng-click="fetchRecordsTabs('caaRecord')" id="caaRecord"><a
|
||||
href="">CAA</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!------------- A Record box ------------->
|
||||
|
||||
<form action="/" class="form-horizontal bordered-row panel-body">
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">{% trans "Select Domain" %} </label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-change="fetchRecords()" ng-model="selectedZone"
|
||||
class="form-control">
|
||||
{% for items in domainsList %}
|
||||
<option>{{ items }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div ng-hide="addRecordsBox" class="col-sm-4">
|
||||
<button style="width: 100%;" type="button"
|
||||
ng-click="syncCF()"
|
||||
class="btn btn-primary">{% trans "Sync Local Records to CloudFlare" %}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div ng-hide="addRecordsBox" class="form-group">
|
||||
|
||||
<div class="example-box-wrapper">
|
||||
<ul class="nav nav-tabs">
|
||||
<li ng-click="fetchRecordsTabs('aRecord')" id="aRecord">
|
||||
<a href="">A</a>
|
||||
</li>
|
||||
<li ng-click="fetchRecordsTabs('aaaaRecord')"
|
||||
id="aaaaRecord"><a href="">AAAA</a>
|
||||
</li>
|
||||
<li ng-click="fetchRecordsTabs('cNameRecord')"
|
||||
id="cNameRecord"><a href="">CNAME</a>
|
||||
</li>
|
||||
<li ng-click="fetchRecordsTabs('mxRecord')"
|
||||
id="mxRecord"><a href="">MX</a>
|
||||
</li>
|
||||
<li ng-click="fetchRecordsTabs('txtRecord')"
|
||||
id="txtRecord"><a
|
||||
href="">TXT</a></li>
|
||||
<li ng-click="fetchRecordsTabs('spfRecord')"
|
||||
id="spfRecord"><a
|
||||
href="">SPF</a></li>
|
||||
<li ng-click="fetchRecordsTabs('nsRecord')"
|
||||
id="nsRecord"><a href="">NS</a>
|
||||
</li>
|
||||
<li ng-click="fetchRecordsTabs('soaRecord')"
|
||||
id="soaRecord"><a
|
||||
href="">SOA</a></li>
|
||||
<li ng-click="fetchRecordsTabs('srvRecord')"
|
||||
id="srvRecord"><a
|
||||
href="">SRV</a></li>
|
||||
<li ng-click="fetchRecordsTabs('caaRecord')"
|
||||
id="caaRecord"><a
|
||||
href="">CAA</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!------------- A Record box ------------->
|
||||
|
||||
|
||||
<div class="col-sm-3 aRecord">
|
||||
<input placeholder="{% trans 'Name' %}" name="dom"
|
||||
type="text"
|
||||
class="form-control" ng-model="recordName" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 aRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number"
|
||||
class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 aRecord">
|
||||
<input placeholder="{% trans 'IP Address' %}" name="dom"
|
||||
type="text"
|
||||
class="form-control" ng-model="recordContentA"
|
||||
required>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-sm-3 aRecord">
|
||||
<button style="width: 100%;" type="button"
|
||||
ng-click="addDNSRecord('A')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<!------------- A Record box ------------->
|
||||
|
||||
<!------------- AAAA Record box ------------->
|
||||
|
||||
|
||||
<div class="col-sm-3 aaaaRecord">
|
||||
<input placeholder="{% trans 'Name' %}" name="dom"
|
||||
type="text"
|
||||
class="form-control" ng-model="recordName" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 aaaaRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number"
|
||||
class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 aaaaRecord">
|
||||
<input placeholder="{% trans 'IPV6 Address' %}" name="dom"
|
||||
type="text"
|
||||
class="form-control" ng-model="recordContentAAAA"
|
||||
required>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-sm-3 aaaaRecord">
|
||||
<button style="width: 100%;" type="button"
|
||||
ng-click="addDNSRecord('AAAA')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<!------------- AAAA Record box ------------->
|
||||
|
||||
|
||||
<!------------- CNAME Record box ------------->
|
||||
|
||||
|
||||
<div class="col-sm-3 cNameRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordName" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 cNameRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number"
|
||||
class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 aRecord">
|
||||
<input placeholder="{% trans 'Name' %}" name="dom" type="text"
|
||||
class="form-control" ng-model="recordName" required>
|
||||
</div>
|
||||
<div class="col-sm-3 cNameRecord">
|
||||
<input placeholder="{% trans 'Domain Name' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordContentCNAME" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 aRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number" class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 aRecord">
|
||||
<input placeholder="{% trans 'IP Address' %}" name="dom" type="text"
|
||||
class="form-control" ng-model="recordContentA" required>
|
||||
</div>
|
||||
<div class="col-sm-3 cNameRecord">
|
||||
<button style="width: 100%;" type="button"
|
||||
ng-click="addDNSRecord('CNAME')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<!------------- CNAME Record box ------------->
|
||||
|
||||
<div class="col-sm-3 aRecord">
|
||||
<button style="width: 100%;" type="button" ng-click="addDNSRecord('A')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
<!------------- MX Record box ------------->
|
||||
|
||||
<!------------- A Record box ------------->
|
||||
|
||||
<!------------- AAAA Record box ------------->
|
||||
<div class="col-sm-3 mxRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordName" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 mxRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number"
|
||||
class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 aaaaRecord">
|
||||
<input placeholder="{% trans 'Name' %}" name="dom" type="text"
|
||||
class="form-control" ng-model="recordName" required>
|
||||
</div>
|
||||
<div class="col-sm-2 mxRecord">
|
||||
<input placeholder="{% trans 'Priority' %}" type="number"
|
||||
class="form-control"
|
||||
ng-model="priority" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 aaaaRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number" class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
<div class="col-sm-3 mxRecord">
|
||||
<input placeholder="{% trans 'Domain Name' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordContentMX" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 aaaaRecord">
|
||||
<input placeholder="{% trans 'IPV6 Address' %}" name="dom" type="text"
|
||||
class="form-control" ng-model="recordContentAAAA" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 mxRecord">
|
||||
<button style="width: 100%;" type="button"
|
||||
ng-click="addDNSRecord('MX')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 aaaaRecord">
|
||||
<button style="width: 100%;" type="button" ng-click="addDNSRecord('AAAA')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
<!------------- CNAME Record box ------------->
|
||||
|
||||
<!------------- AAAA Record box ------------->
|
||||
|
||||
<!------------- SPF Record box ------------->
|
||||
|
||||
<!------------- CNAME Record box ------------->
|
||||
|
||||
<div class="col-sm-3 spfRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordName" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 cNameRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text" class="form-control"
|
||||
ng-model="recordName" required>
|
||||
</div>
|
||||
<div class="col-sm-3 spfRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number"
|
||||
class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 cNameRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number" class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 cNameRecord">
|
||||
<input placeholder="{% trans 'Domain Name' %}" type="text" class="form-control"
|
||||
ng-model="recordContentCNAME" required>
|
||||
</div>
|
||||
<div class="col-sm-3 spfRecord">
|
||||
<input placeholder="{% trans 'Policy' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordContentSPF" required>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-sm-3 cNameRecord">
|
||||
<button style="width: 100%;" type="button" ng-click="addDNSRecord('CNAME')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
<div class="col-sm-3 spfRecord">
|
||||
<button style="width: 100%;" type="button"
|
||||
ng-click="addDNSRecord('SPF')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<!------------- CNAME Record box ------------->
|
||||
<!------------- SPF Record box ------------->
|
||||
|
||||
<!------------- MX Record box ------------->
|
||||
<!------------- TXT Record box ------------->
|
||||
|
||||
|
||||
<div class="col-sm-3 mxRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text" class="form-control"
|
||||
ng-model="recordName" required>
|
||||
</div>
|
||||
<div class="col-sm-3 txtRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordName" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 mxRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number" class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
<div class="col-sm-3 txtRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number"
|
||||
class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 mxRecord">
|
||||
<input placeholder="{% trans 'Priority' %}" type="number" class="form-control"
|
||||
ng-model="priority" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 mxRecord">
|
||||
<input placeholder="{% trans 'Domain Name' %}" type="text" class="form-control"
|
||||
ng-model="recordContentMX" required>
|
||||
</div>
|
||||
<div class="col-sm-3 txtRecord">
|
||||
<input placeholder="{% trans 'Text' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordContentTXT" required>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-sm-2 mxRecord">
|
||||
<button style="width: 100%;" type="button" ng-click="addDNSRecord('MX')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
<div class="col-sm-3 txtRecord">
|
||||
<button style="width: 100%;" type="button"
|
||||
ng-click="addDNSRecord('TXT')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<!------------- CNAME Record box ------------->
|
||||
<!------------- TXT Record box ------------->
|
||||
|
||||
<!------------- SOA Record box ------------->
|
||||
|
||||
<!------------- SPF Record box ------------->
|
||||
|
||||
<div class="col-sm-3 soaRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="selectedZone" disabled>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 spfRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text" class="form-control"
|
||||
ng-model="recordName" required>
|
||||
</div>
|
||||
<div class="col-sm-3 soaRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number"
|
||||
class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 spfRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number" class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 soaRecord">
|
||||
<input placeholder="{% trans 'SOA Value' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordContentSOA" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 spfRecord">
|
||||
<input placeholder="{% trans 'Policy' %}" type="text" class="form-control"
|
||||
ng-model="recordContentSPF" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 soaRecord">
|
||||
<button style="width: 100%;" type="button"
|
||||
ng-click="addDNSRecord('SOA')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 spfRecord">
|
||||
<button style="width: 100%;" type="button" ng-click="addDNSRecord('SPF')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
<!------------- SOA Record box ------------->
|
||||
|
||||
<!------------- SPF Record box ------------->
|
||||
<!------------- NS Record box ------------->
|
||||
|
||||
<!------------- TXT Record box ------------->
|
||||
|
||||
<div class="col-sm-3 nsRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="selectedZone" disabled>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 txtRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text" class="form-control"
|
||||
ng-model="recordName" required>
|
||||
</div>
|
||||
<div class="col-sm-3 nsRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number"
|
||||
class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 txtRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number" class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 nsRecord">
|
||||
<input placeholder="{% trans 'Name server' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordContentNS" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 txtRecord">
|
||||
<input placeholder="{% trans 'Text' %}" type="text" class="form-control"
|
||||
ng-model="recordContentTXT" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 nsRecord">
|
||||
<button style="width: 100%;" type="button"
|
||||
ng-click="addDNSRecord('NS')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 txtRecord">
|
||||
<button style="width: 100%;" type="button" ng-click="addDNSRecord('TXT')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
<!------------- NS Record box ------------->
|
||||
|
||||
<!------------- SRV Record box ------------->
|
||||
|
||||
<!------------- TXT Record box ------------->
|
||||
|
||||
<!------------- SOA Record box ------------->
|
||||
<div class="col-sm-3 srvRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordName">
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 srvRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number"
|
||||
class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 soaRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text" class="form-control"
|
||||
ng-model="selectedZone" disabled>
|
||||
</div>
|
||||
<div class="col-sm-2 srvRecord">
|
||||
<input placeholder="{% trans 'Prioirty' %}" type="number"
|
||||
class="form-control"
|
||||
ng-model="priority" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 soaRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number" class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 srvRecord">
|
||||
<input placeholder="{% trans 'Content' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordContentSRV" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 soaRecord">
|
||||
<input placeholder="{% trans 'SOA Value' %}" type="text" class="form-control"
|
||||
ng-model="recordContentSOA" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 srvRecord">
|
||||
<button style="width: 100%;" type="button"
|
||||
ng-click="addDNSRecord('SRV')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<!------------- SRV Record box ------------->
|
||||
|
||||
<!------------- CAA Record box ------------->
|
||||
|
||||
<div class="col-sm-3 caaRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text"
|
||||
class="form-control"
|
||||
ng-model="recordName">
|
||||
</div>
|
||||
<div class="col-sm-3 caaRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number"
|
||||
class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
<div class="col-sm-3 caaRecord">
|
||||
<input placeholder='Value e.g: 0 issue "letsencrypt.org"'
|
||||
type="text"
|
||||
class="form-control" ng-model="recordContentCAA"
|
||||
required>
|
||||
</div>
|
||||
<div class="col-sm-3 caaRecord">
|
||||
<button style="width: 100%;" type="button"
|
||||
ng-click="addDNSRecord('CAA')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 soaRecord">
|
||||
<button style="width: 100%;" type="button" ng-click="addDNSRecord('SOA')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
<!------------- CAA Record box ------------->
|
||||
|
||||
<!------------- SOA Record box ------------->
|
||||
|
||||
<!------------- NS Record box ------------->
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-sm-3 nsRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text" class="form-control"
|
||||
ng-model="selectedZone" disabled>
|
||||
</div>
|
||||
<!------ List of records --------------->
|
||||
|
||||
<div class="col-sm-3 nsRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number" class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
<div ng-hide="currentRecords" class="form-group">
|
||||
|
||||
<div class="col-sm-12">
|
||||
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Name" %}</th>
|
||||
<th>{% trans "Type" %}</th>
|
||||
<th>{% trans "TTL" %}</th>
|
||||
<th>{% trans "Value" %}</th>
|
||||
<th>{% trans "Priority" %}</th>
|
||||
<th>{% trans "Delete" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="record in records track by $index">
|
||||
<td ng-bind="record.name"></td>
|
||||
<td ng-bind="record.type"></td>
|
||||
<td ng-bind="record.ttl"></td>
|
||||
<td ng-bind="record.content"></td>
|
||||
<td ng-bind="record.priority"></td>
|
||||
<td ng-click="deleteRecord(record.id)"><img
|
||||
src="{% static 'images/delete.png' %}"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!------ List of records --------------->
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
|
||||
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-4">
|
||||
<div ng-hide="canNotFetchRecords"
|
||||
class="alert alert-danger">
|
||||
<p>{% trans "Cannot fetch records. Error message:" %}{$
|
||||
errorMessage $}</p>
|
||||
</div>
|
||||
|
||||
<div ng-hide="couldNotAddRecord" class="alert alert-danger">
|
||||
<p>{% trans "Cannot add record. Error message: " %}{$
|
||||
errorMessage $}</p>
|
||||
</div>
|
||||
|
||||
<div ng-hide="recordsFetched" class="alert alert-success">
|
||||
<p>{% trans "Records successfully fetched for" %}
|
||||
<strong>{$ domainFeteched
|
||||
$}</strong></p>
|
||||
</div>
|
||||
|
||||
<div ng-hide="recordDeleted" class="alert alert-success">
|
||||
<p>{% trans "Record Successfully Deleted" %}</p>
|
||||
</div>
|
||||
|
||||
<div ng-hide="couldNotDeleteRecords"
|
||||
class="alert alert-danger">
|
||||
<p>{% trans "Cannot delete record. Error message:" %} {$
|
||||
errorMessage $}</p>
|
||||
</div>
|
||||
|
||||
<div ng-hide="recordAdded" class="alert alert-success">
|
||||
<p>{% trans "Record Successfully Added." %}</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div ng-hide="couldNotConnect" class="alert alert-success">
|
||||
<p>{% trans "Could not connect to server. Please refresh this page." %}</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
<div class="col-sm-3 nsRecord">
|
||||
<input placeholder="{% trans 'Name server' %}" type="text" class="form-control"
|
||||
ng-model="recordContentNS" required>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-sm-3 nsRecord">
|
||||
<button style="width: 100%;" type="button" ng-click="addDNSRecord('NS')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<!------------- NS Record box ------------->
|
||||
|
||||
<!------------- SRV Record box ------------->
|
||||
|
||||
|
||||
<div class="col-sm-3 srvRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text" class="form-control"
|
||||
ng-model="recordName">
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 srvRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number" class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 srvRecord">
|
||||
<input placeholder="{% trans 'Prioirty' %}" type="number" class="form-control"
|
||||
ng-model="priority" required>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-sm-3 srvRecord">
|
||||
<input placeholder="{% trans 'Content' %}" type="text" class="form-control"
|
||||
ng-model="recordContentSRV" required>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-sm-2 srvRecord">
|
||||
<button style="width: 100%;" type="button" ng-click="addDNSRecord('SRV')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<!------------- SRV Record box ------------->
|
||||
|
||||
<!------------- CAA Record box ------------->
|
||||
|
||||
<div class="col-sm-3 caaRecord">
|
||||
<input placeholder="{% trans 'Name' %}" type="text" class="form-control"
|
||||
ng-model="recordName">
|
||||
</div>
|
||||
<div class="col-sm-3 caaRecord">
|
||||
<input placeholder="{% trans 'TTL' %}" type="number" class="form-control"
|
||||
ng-model="ttl" required>
|
||||
</div>
|
||||
<div class="col-sm-3 caaRecord">
|
||||
<input placeholder='Value e.g: 0 issue "letsencrypt.org"' type="text"
|
||||
class="form-control" ng-model="recordContentCAA" required>
|
||||
</div>
|
||||
<div class="col-sm-3 caaRecord">
|
||||
<button style="width: 100%;" type="button" ng-click="addDNSRecord('CAA')"
|
||||
class="btn btn-primary">{% trans "Add" %}</button>
|
||||
</div>
|
||||
|
||||
<!------------- CAA Record box ------------->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!------ List of records --------------->
|
||||
|
||||
<div ng-hide="currentRecords" class="form-group">
|
||||
|
||||
<div class="col-sm-12">
|
||||
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr><th>{% trans "Name" %}</th>
|
||||
<th>{% trans "Type" %}</th>
|
||||
<th>{% trans "TTL" %}</th>
|
||||
<th>{% trans "Value" %}</th>
|
||||
<th>{% trans "Priority" %}</th>
|
||||
<th>{% trans "Delete" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="record in records track by $index">
|
||||
<td ng-bind="record.name"></td>
|
||||
<td ng-bind="record.type"></td>
|
||||
<td ng-bind="record.ttl"></td>
|
||||
<td ng-bind="record.content"></td>
|
||||
<td ng-bind="record.priority"></td>
|
||||
<td ng-click="deleteRecord(record.id)"><img
|
||||
src="{% static 'images/delete.png' %}"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!------ List of records --------------->
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
|
||||
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-4">
|
||||
<div ng-hide="canNotFetchRecords" class="alert alert-danger">
|
||||
<p>{% trans "Cannot fetch records. Error message:" %}{$ errorMessage $}</p>
|
||||
</div>
|
||||
|
||||
<div ng-hide="couldNotAddRecord" class="alert alert-danger">
|
||||
<p>{% trans "Cannot add record. Error message: " %}{$ errorMessage $}</p>
|
||||
</div>
|
||||
|
||||
<div ng-hide="recordsFetched" class="alert alert-success">
|
||||
<p>{% trans "Records successfully fetched for" %} <strong>{$ domainFeteched
|
||||
$}</strong></p>
|
||||
</div>
|
||||
|
||||
<div ng-hide="recordDeleted" class="alert alert-success">
|
||||
<p>{% trans "Record Successfully Deleted" %}</p>
|
||||
</div>
|
||||
|
||||
<div ng-hide="couldNotDeleteRecords" class="alert alert-danger">
|
||||
<p>{% trans "Cannot delete record. Error message:" %} {$ errorMessage $}</p>
|
||||
</div>
|
||||
|
||||
<div ng-hide="recordAdded" class="alert alert-success">
|
||||
<p>{% trans "Record Successfully Added." %}</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div ng-hide="couldNotConnect" class="alert alert-success">
|
||||
<p>{% trans "Could not connect to server. Please refresh this page." %}</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</form>
|
||||
<div class="tab-pane fade" id="tab-example-3">
|
||||
|
||||
<form action="/" class="form-horizontal bordered-row panel-body">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "CloudFlare Email" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input ng-init="cfEmail='{{ cfEmail }}'" name="cfEmail" type="text" class="form-control"
|
||||
ng-model="cfEmail"
|
||||
required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "API Token" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input ng-init="cfToken='{{ cfToken }}'" name="cfToken" type="text" class="form-control"
|
||||
ng-model="cfToken"
|
||||
required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Sync local Records to CloudFlare" %} </label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-model="cfSync" class="form-control">
|
||||
<option>Enable</option>
|
||||
<option>Disable</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-4">
|
||||
<button type="button" ng-click="saveCFConfigs()"
|
||||
class="btn btn-primary btn-lg">{% trans "Save" %}</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user