feat: add Git fields on IT Object, Contact custom fields, translations

- IT Object: git_remote_url, git_branch, git_path_on_host (visible
  only when type = Git Repository)
- Contact custom fields: teams_user_id, is_external_contractor,
  contractor_for (via fixtures)
- Remove x509_certificate hooks from hooks.py (moved to DocType controller)
- Add Custom Field fixture export filter to hooks.py
- German translations (de.csv) for all new DocTypes and fields

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
David Malinowski
2026-04-12 21:05:58 +02:00
co-authored by Claude Opus 4.6
parent 382be5fa33
commit b014ed596b
4 changed files with 192 additions and 7 deletions
+38
View File
@@ -0,0 +1,38 @@
[
{
"name": "Contact-teams_user_id",
"doctype": "Custom Field",
"dt": "Contact",
"module": "MSP",
"fieldname": "teams_user_id",
"fieldtype": "Data",
"label": "Teams User ID",
"description": "MS Graph User-ID fuer Chat-Zuordnung",
"insert_after": "department"
},
{
"name": "Contact-is_external_contractor",
"doctype": "Custom Field",
"dt": "Contact",
"module": "MSP",
"fieldname": "is_external_contractor",
"fieldtype": "Check",
"label": "Is External Contractor",
"description": "Dienstleister (z.B. Solutions Factory)",
"default": "0",
"insert_after": "teams_user_id"
},
{
"name": "Contact-contractor_for",
"doctype": "Custom Field",
"dt": "Contact",
"module": "MSP",
"fieldname": "contractor_for",
"fieldtype": "Link",
"label": "Contractor For",
"options": "Customer",
"description": "Deren Arbeit zaehlt als Kundenzeit",
"depends_on": "eval:doc.is_external_contractor",
"insert_after": "is_external_contractor"
}
]
+2 -5
View File
@@ -98,10 +98,6 @@ doc_events = {
"Location": {
"before_save": "msp.hooked_methods.build_full_location_path"
},
"x509_certificate": {
"before_save": "msp.certificate_methods.process_certficate_data",
"after_insert": "msp.certificate_methods.set_doctype_name"
},
'Service Report': {
'before_save': 'msp.tools.save_backlinks',
'on_cancel': 'msp.tools.handle_backlinks',
@@ -166,5 +162,6 @@ override_doctype_class = {
}
fixtures = [
{"doctype": "Print Format", "filters": {"name": "Standard IT Landscape Documentation"}}
{"doctype": "Print Format", "filters": {"name": "Standard IT Landscape Documentation"}},
{"doctype": "Custom Field", "filters": {"module": "MSP"}},
]
+36 -2
View File
@@ -64,7 +64,12 @@
"oitc_host_uuid",
"documentation_section",
"visible_in_documentation",
"documentation_text"
"documentation_text",
"git_section",
"git_remote_url",
"git_branch",
"git_column_break",
"git_path_on_host"
],
"fields": [
{
@@ -413,11 +418,40 @@
"fieldtype": "Datetime",
"label": "Last AD Sync",
"read_only": 1
},
{
"collapsible": 1,
"depends_on": "eval:doc.type === 'Git Repository'",
"fieldname": "git_section",
"fieldtype": "Section Break",
"label": "Git Repository"
},
{
"depends_on": "eval:doc.type === 'Git Repository'",
"fieldname": "git_remote_url",
"fieldtype": "Data",
"label": "Git Remote URL"
},
{
"depends_on": "eval:doc.type === 'Git Repository'",
"fieldname": "git_branch",
"fieldtype": "Data",
"label": "Default Branch"
},
{
"fieldname": "git_column_break",
"fieldtype": "Column Break"
},
{
"depends_on": "eval:doc.type === 'Git Repository'",
"fieldname": "git_path_on_host",
"fieldtype": "Data",
"label": "Path on Host"
}
],
"image_field": "image",
"links": [],
"modified": "2026-01-22 10:00:00.000000",
"modified": "2026-04-09 00:00:00.000000",
"modified_by": "Administrator",
"module": "MSP",
"name": "IT Object",
+116
View File
@@ -0,0 +1,116 @@
SSL Certificate,SSL-Zertifikat
SSL Certificate Domain,SSL-Zertifikat Domain
SSL Certificate Installation,SSL-Zertifikat Installation
Certificate Name,Zertifikatsname
Common Name (CN),Common Name (CN)
Certificate Type,Zertifikatstyp
Is Wildcard,Ist Wildcard
Not Valid Before,Gültig ab
Not Valid After,Gültig bis
Certificate ZIP,Zertifikat-ZIP
Certificate (PEM),Zertifikat (PEM)
CA Chain (PEM),CA-Kette (PEM)
Private Key (PEM),Privater Schlüssel (PEM)
CSR (PEM),CSR (PEM)
Private Key Match,Schlüssel-Übereinstimmung
CA Chain Valid,CA-Kette gültig
Certificate Details,Zertifikat-Details
Certificate Information,Zertifikat-Informationen
CA Information,CA-Informationen
PEM Data,PEM-Daten
Renewal,Verlängerung
Auto Renew,Automatische Verlängerung
Renewal Method,Verlängerungsmethode
SAN Domains,SAN-Domains
Installations,Installationen
IT Domain,IT-Domain
Domain Type,Domain-Typ
Is Email Domain,Ist E-Mail-Domain
Is Hosting Domain,Ist Hosting-Domain
Registrar & DNS,Registrar & DNS
Registration Date,Registrierungsdatum
Expiry Date,Ablaufdatum
DNS Provider,DNS-Anbieter
Nameservers,Nameserver
Registry Handles,Registry-Handles
Handle Holder,Handle Inhaber
Handle Admin-c,Handle Admin-c
Handle Tech-c,Handle Tech-c
Handle Zone-c,Handle Zone-c
Registrant,Registrant
Registrant Name,Name des Inhabers
Registrant Email,E-Mail des Inhabers
Registrant Address,Adresse des Inhabers
Resolved Info,Aufgelöste Informationen
IP Address,IP-Adresse
MX Records,MX-Einträge
Website Title,Website-Titel
SSL Issuer,SSL-Aussteller
SSL Expiry,SSL-Ablaufdatum
Last Enriched,Zuletzt angereichert
Hosted On,Gehostet auf
IT Contract,IT-Vertrag
Domain,Domain
Customer,Kunde
IT Landscape,IT-Landschaft
Worklog Mapping,Worklog-Zuordnung
Source Type,Quelltyp
Work Tracker Project,Work-Tracker-Projekt
Local Directory,Lokales Verzeichnis
Chat Participant,Chat-Teilnehmer
Pattern,Muster
Employee,Mitarbeiter
Note,Notiz
Notes,Notizen
Nicht zugeordnet,Nicht zugeordnet
Abgelaufen,Abgelaufen
Läuft bald ab,Läuft bald ab
Active,Aktiv
Expired,Abgelaufen
Revoked,Widerrufen
Pending,Ausstehend
Primary,Primär
Alias,Alias
Internal,Intern
Self-hosted,Selbst gehostet
Kein MX,Kein MX
Extern,Extern
Domain Import Wizard,Domain-Import-Assistent
Kunden zuordnen,Kunden zuordnen
Alle anreichern (DNS/HTTP),Alle anreichern (DNS/HTTP)
Hetzner Domain CSV,Hetzner Domain-CSV
Hetzner Handle CSV,Hetzner Handle-CSV
Importieren,Importieren
Schliessen,Schließen
Weiter zur Kundenzuordnung,Weiter zur Kundenzuordnung
Domain-CSV,Domain-CSV
Handle-CSV (optional),Handle-CSV (optional)
DomainReselling.de Zugangsdaten,DomainReselling.de Zugangsdaten
Alle sicheren Vorschlaege zuweisen,Alle sicheren Vorschläge zuweisen
Kunde waehlen,Kunde wählen
Zuweisen,Zuweisen
Zugewiesen,Zugewiesen
Ueberspringen,Überspringen
Domain / Inhaber,Domain / Inhaber
Kunde,Kunde
Match,Übereinstimmung
Enrich (DNS/HTTP/SSL),Anreichern (DNS/HTTP/SSL)
Download,Herunterladen
Copy to Clipboard,In Zwischenablage kopieren
Certificate,Zertifikat
Private Key,Privater Schlüssel
Fullchain,Vollständige Kette
Cert + Key,Zertifikat + Schlüssel
CA Chain,CA-Kette
In Zwischenablage kopiert,In Zwischenablage kopiert
heruntergeladen,heruntergeladen
Nicht vorhanden,Nicht vorhanden
Saved,Gespeichert
Import,Import
Hosting,Hosting
Verification,Überprüfung
Status,Status
IT Object,IT-Objekt
Service,Dienst
Path,Pfad
Domain Name,Domainname
1 SSL Certificate SSL-Zertifikat
2 SSL Certificate Domain SSL-Zertifikat Domain
3 SSL Certificate Installation SSL-Zertifikat Installation
4 Certificate Name Zertifikatsname
5 Common Name (CN) Common Name (CN)
6 Certificate Type Zertifikatstyp
7 Is Wildcard Ist Wildcard
8 Not Valid Before Gültig ab
9 Not Valid After Gültig bis
10 Certificate ZIP Zertifikat-ZIP
11 Certificate (PEM) Zertifikat (PEM)
12 CA Chain (PEM) CA-Kette (PEM)
13 Private Key (PEM) Privater Schlüssel (PEM)
14 CSR (PEM) CSR (PEM)
15 Private Key Match Schlüssel-Übereinstimmung
16 CA Chain Valid CA-Kette gültig
17 Certificate Details Zertifikat-Details
18 Certificate Information Zertifikat-Informationen
19 CA Information CA-Informationen
20 PEM Data PEM-Daten
21 Renewal Verlängerung
22 Auto Renew Automatische Verlängerung
23 Renewal Method Verlängerungsmethode
24 SAN Domains SAN-Domains
25 Installations Installationen
26 IT Domain IT-Domain
27 Domain Type Domain-Typ
28 Is Email Domain Ist E-Mail-Domain
29 Is Hosting Domain Ist Hosting-Domain
30 Registrar & DNS Registrar & DNS
31 Registration Date Registrierungsdatum
32 Expiry Date Ablaufdatum
33 DNS Provider DNS-Anbieter
34 Nameservers Nameserver
35 Registry Handles Registry-Handles
36 Handle Holder Handle Inhaber
37 Handle Admin-c Handle Admin-c
38 Handle Tech-c Handle Tech-c
39 Handle Zone-c Handle Zone-c
40 Registrant Registrant
41 Registrant Name Name des Inhabers
42 Registrant Email E-Mail des Inhabers
43 Registrant Address Adresse des Inhabers
44 Resolved Info Aufgelöste Informationen
45 IP Address IP-Adresse
46 MX Records MX-Einträge
47 Website Title Website-Titel
48 SSL Issuer SSL-Aussteller
49 SSL Expiry SSL-Ablaufdatum
50 Last Enriched Zuletzt angereichert
51 Hosted On Gehostet auf
52 IT Contract IT-Vertrag
53 Domain Domain
54 Customer Kunde
55 IT Landscape IT-Landschaft
56 Worklog Mapping Worklog-Zuordnung
57 Source Type Quelltyp
58 Work Tracker Project Work-Tracker-Projekt
59 Local Directory Lokales Verzeichnis
60 Chat Participant Chat-Teilnehmer
61 Pattern Muster
62 Employee Mitarbeiter
63 Note Notiz
64 Notes Notizen
65 Nicht zugeordnet Nicht zugeordnet
66 Abgelaufen Abgelaufen
67 Läuft bald ab Läuft bald ab
68 Active Aktiv
69 Expired Abgelaufen
70 Revoked Widerrufen
71 Pending Ausstehend
72 Primary Primär
73 Alias Alias
74 Internal Intern
75 Self-hosted Selbst gehostet
76 Kein MX Kein MX
77 Extern Extern
78 Domain Import Wizard Domain-Import-Assistent
79 Kunden zuordnen Kunden zuordnen
80 Alle anreichern (DNS/HTTP) Alle anreichern (DNS/HTTP)
81 Hetzner Domain CSV Hetzner Domain-CSV
82 Hetzner Handle CSV Hetzner Handle-CSV
83 Importieren Importieren
84 Schliessen Schließen
85 Weiter zur Kundenzuordnung Weiter zur Kundenzuordnung
86 Domain-CSV Domain-CSV
87 Handle-CSV (optional) Handle-CSV (optional)
88 DomainReselling.de Zugangsdaten DomainReselling.de Zugangsdaten
89 Alle sicheren Vorschlaege zuweisen Alle sicheren Vorschläge zuweisen
90 Kunde waehlen Kunde wählen
91 Zuweisen Zuweisen
92 Zugewiesen Zugewiesen
93 Ueberspringen Überspringen
94 Domain / Inhaber Domain / Inhaber
95 Kunde Kunde
96 Match Übereinstimmung
97 Enrich (DNS/HTTP/SSL) Anreichern (DNS/HTTP/SSL)
98 Download Herunterladen
99 Copy to Clipboard In Zwischenablage kopieren
100 Certificate Zertifikat
101 Private Key Privater Schlüssel
102 Fullchain Vollständige Kette
103 Cert + Key Zertifikat + Schlüssel
104 CA Chain CA-Kette
105 In Zwischenablage kopiert In Zwischenablage kopiert
106 heruntergeladen heruntergeladen
107 Nicht vorhanden Nicht vorhanden
108 Saved Gespeichert
109 Import Import
110 Hosting Hosting
111 Verification Überprüfung
112 Status Status
113 IT Object IT-Objekt
114 Service Dienst
115 Path Pfad
116 Domain Name Domainname