feat(domains): Kunden, Kontakte aus AutoDNS mit Zuordnung und Domainliste

- Kunden mit Markierung eigene Firma, Kontakte live aus AutoDNS (seitenweise, 60 s Zwischenspeicher), Zuordnung je System
- Kontakt anlegen (Person/Organisation) und einem oder mehreren Kunden zuordnen, nur mit Verwalten
- Domainliste mit Kunde (ueber den Inhaber-Kontakt), Inhaber, Ablaufdatum, Status; Filter und Gruppierung nach Kunde
- Mandantenschutz-Inventar um die beiden neuen Zugriffspaare ergaenzt

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-10-08 10:50:06 +02:00
parent 1f1c984184
commit 450218fe77
26 changed files with 3943 additions and 36 deletions
+102
View File
@@ -2058,6 +2058,9 @@
"notConfigured": "AutoDNS not set up"
},
"tabs": {
"domains": "Domains",
"contacts": "Contacts",
"customers": "Customers",
"settings": "Settings"
},
"notConfigured": {
@@ -2104,6 +2107,105 @@
"remove": "Remove"
}
},
"common": {
"customerFilter": "Customer",
"allCustomers": "All customers",
"unassigned": "Unassigned",
"groupByCustomer": "Group by customer",
"loading": "Loading …",
"truncated": "Only the first 2000 entries are shown.",
"requestFailed": "The request failed. Please try again."
},
"domainList": {
"search": "Search domains",
"refresh": "Reload from AutoDNS",
"empty": "No domains were found at AutoDNS.",
"emptyFiltered": "No domain matches your selection.",
"unassigned": "Unassigned",
"cancelPending": "Cancellation pending",
"groupCount": "{count, plural, one {# domain} other {# domains}}",
"columns": {
"domain": "Domain",
"customer": "Customer",
"owner": "Owner",
"expires": "Expiry date",
"status": "Status"
},
"status": {
"ACTIVE": "Active",
"PENDING": "In progress",
"HOLD": "On hold (registry)",
"LOCK": "Locked"
}
},
"contactList": {
"intro": "All contacts that exist at AutoDNS in the selected system appear here. Assign them to a customer so that domains show up under the right customer.",
"search": "Search contacts",
"refresh": "Re-read from AutoDNS",
"newContact": "New contact",
"empty": "No contacts were found at AutoDNS.",
"emptyFiltered": "No contact matches your selection.",
"groupCount": "{count, plural, one {# contact} other {# contacts}}",
"columns": {
"name": "Name",
"organization": "Organisation",
"city": "City",
"email": "E-mail",
"customer": "Customer"
},
"selectContact": "Select contact {name}",
"selectAllVisible": "Select all shown",
"selectedCount": "{count, plural, =0 {Nothing selected} other {# selected}}",
"assignLabel": "Assign selected to",
"assignPlaceholder": "Choose customer …",
"removeAssignment": "Remove assignment",
"assign": "Assign",
"assigned": "The assignment was saved.",
"created": "The contact was created at AutoDNS."
},
"contactForm": {
"title": "New contact",
"type": "Type",
"person": "Person",
"org": "Company or organisation",
"organization": "Organisation",
"fname": "First name",
"lname": "Last name",
"street": "Street and house number",
"street2": "Second address line (optional)",
"pcode": "Postal code",
"city": "City",
"country": "Country",
"phone": "Phone",
"phoneHint": "International format, e.g. +49 30 123456",
"email": "E-mail",
"customer": "Customer (optional)",
"noCustomer": "No customer",
"save": "Save",
"saving": "Saving …",
"cancel": "Cancel",
"errors": {
"required": "Please fill in this field.",
"email": "Please enter a valid e-mail address.",
"phone": "Please use the international format, e.g. +49 30 123456."
}
},
"customers": {
"intro": "Customers group AutoDNS contacts. A domain appears under the customer of its owner. Add your own company as a customer too and mark it.",
"addTitle": "Add customer",
"name": "Name",
"ownCompanyLabel": "This is our own company",
"ownCompany": "Own company",
"add": "Add customer",
"empty": "No customers have been added yet.",
"contactCount": "{count, plural, =0 {No contacts} one {# contact} other {# contacts}}",
"edit": "Edit",
"save": "Save",
"cancel": "Cancel",
"delete": "Delete",
"confirmDelete": "Really delete customer “{name}”?",
"confirmDeleteYes": "Delete permanently"
},
"errors": {
"request": "The request failed. Please try again.",
"loadStatus": "The state of the AutoDNS connection could not be loaded."