Add UI for Gandi LiveDNS

Part of cloudron/box#235
This commit is contained in:
Girish Ramakrishnan
2018-05-06 17:07:00 -07:00
parent 3a06797de0
commit d8719626d9
4 changed files with 29 additions and 0 deletions

View File

@@ -47,6 +47,12 @@
<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">Gandi API Key</label>
<input type="text" class="form-control" ng-model="domainConfigure.gandiApiKey" name="gandiApiKey" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'gandi'">
</div>
<!-- Cloudflare -->
<div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'cloudflare'">
<label class="control-label">Cloudflare token</label>
@@ -69,6 +75,10 @@
This domain must be hosted on <a href="https://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean#step-two%E2%80%94change-your-domain-server" target="_blank">DigitalOcean</a>.
</p>
<p ng-show="domainConfigure.provider === 'gandi'">
This domain must be hosted on <a href="http://doc.livedns.gandi.net/" target="_blank">Gandi LiveDNS</a>.
</p>
<p ng-show="domainConfigure.provider === 'cloudflare'">
This domain must be hosted on <a href="https://www.cloudflare.com" target="_blank">Cloudflare</a>.
</p>

View File

@@ -16,6 +16,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
{ name: 'AWS Route53', value: 'route53' },
{ name: 'Cloudflare (DNS only)', value: 'cloudflare' },
{ name: 'Digital Ocean', value: 'digitalocean' },
{ name: 'Gandi LiveDNS', value: 'gandi' },
{ name: 'Google Cloud DNS', value: 'gcdns' },
{ name: 'Wildcard', value: 'wildcard' },
{ name: 'Manual (not recommended)', value: 'manual' },
@@ -28,6 +29,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
case 'route53': return 'AWS Route53';
case 'cloudflare': return 'Cloudflare (DNS only)';
case 'digitalocean': return 'Digital Ocean';
case 'gandi': return 'Gandi LiveDNS';
case 'gcdns': return 'Google Cloud';
case 'manual': return domain.config.wildcard ? 'Wildcard' : 'Manual';
case 'noop': return 'No-op';
@@ -64,6 +66,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
secretAccessKey: '',
gcdnsKey: { keyFileName: '', content: '' },
digitalOceanToken: '',
gandiApiKey: '',
cloudflareToken: '',
cloudflareEmail: '',
provider: 'route53',
@@ -93,6 +96,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
});
}
$scope.domainConfigure.digitalOceanToken = domain.provider === 'digitalocean' ? domain.config.token : '';
$scope.domainConfigure.gandiApiKey = domain.provider === 'gandi' ? domain.config.token : '';
$scope.domainConfigure.cloudflareToken = domain.provider === 'cloudflare' ? domain.config.token : '';
$scope.domainConfigure.cloudflareEmail = domain.config.email;
@@ -142,6 +146,8 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
}
} else if (provider === 'digitalocean') {
data.token = $scope.domainConfigure.digitalOceanToken;
} else if (provider === 'gandi') {
data.token = $scope.domainConfigure.gandiApiKey;
} else if (provider === 'cloudflare') {
data.token = $scope.domainConfigure.cloudflareToken;
data.email = $scope.domainConfigure.cloudflareEmail;
@@ -192,6 +198,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
$scope.domainConfigure.gcdnsKey.keyFileName = '';
$scope.domainConfigure.gcdnsKey.content = '';
$scope.domainConfigure.digitalOceanToken = '';
$scope.domainConfigure.gandiApiKey = '';
$scope.domainConfigure.cloudflareToken = '';
$scope.domainConfigure.cloudflareEmail = '';