This commit adds Meta information and __str__ methods to all DNS table
models. The new methods are now covered with new tests. The new
constants DNS_DOMAIN_METADATA_KINDS and DNS_TSIG_KEY_ALGORITHMS are
defined and used in the DNSDomainMetadata and DNSTSIGKey models. A
matching database schema migration is added.
Addresses #17
This commit add model classes closely matching the tables defined in
PowerDNS' schema as described at
https://doc.powerdns.com/md/authoritative/backend-generic-mypgsql/.
The commit includes the model definitions a schema migration including
PostgreSQL specific CHECK constraints and the registration in the Django
admin interface.
addresses #17
- implement domains.forms.relative_domain_validator
- use the validator for domain field validation in
domains.forms.CreateHostingDomainForm
- use the validator for subdomain field validation in
websites.forms.AddWebsiteForm
- implement domains.views.CreateHostingDomain
- define new URL create_hosting_domain in domains.urls
- add domains app URLs to gnuviechadmin.urls
- add templates domains/base.html and domains/hostingdomain_create.html
- link from hostingpackage detail page to domain creation view
- implement domains.forms.CreateHostingDomainForm
- implement domains.models.HostingDomainManager.create_for_hosting_package that
takes care of creating the necessary database objects for hosting domains
assigned to a hosting package
- add new domains.apps.AppConfig to allow translatable app description for
domains app
- link domains to a customer
- extract common functionality from domains.models.MailDomain into abstract
domains.models.DomainBase
- add separate domains.models.HostingDomain to allow for generic external
domains
- add new hostingpackages.models.CustomerHostingPackageDomain to assign hosting
domains to hosting packages