mirror of
https://github.com/itsdave-de/msp.git
synced 2026-08-14 07:30:05 -03:00
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:
co-authored by
Claude Opus 4.6
parent
382be5fa33
commit
b014ed596b
@@ -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
@@ -98,10 +98,6 @@ doc_events = {
|
|||||||
"Location": {
|
"Location": {
|
||||||
"before_save": "msp.hooked_methods.build_full_location_path"
|
"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': {
|
'Service Report': {
|
||||||
'before_save': 'msp.tools.save_backlinks',
|
'before_save': 'msp.tools.save_backlinks',
|
||||||
'on_cancel': 'msp.tools.handle_backlinks',
|
'on_cancel': 'msp.tools.handle_backlinks',
|
||||||
@@ -166,5 +162,6 @@ override_doctype_class = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fixtures = [
|
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"}},
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -64,7 +64,12 @@
|
|||||||
"oitc_host_uuid",
|
"oitc_host_uuid",
|
||||||
"documentation_section",
|
"documentation_section",
|
||||||
"visible_in_documentation",
|
"visible_in_documentation",
|
||||||
"documentation_text"
|
"documentation_text",
|
||||||
|
"git_section",
|
||||||
|
"git_remote_url",
|
||||||
|
"git_branch",
|
||||||
|
"git_column_break",
|
||||||
|
"git_path_on_host"
|
||||||
],
|
],
|
||||||
"fields": [
|
"fields": [
|
||||||
{
|
{
|
||||||
@@ -413,11 +418,40 @@
|
|||||||
"fieldtype": "Datetime",
|
"fieldtype": "Datetime",
|
||||||
"label": "Last AD Sync",
|
"label": "Last AD Sync",
|
||||||
"read_only": 1
|
"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",
|
"image_field": "image",
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2026-01-22 10:00:00.000000",
|
"modified": "2026-04-09 00:00:00.000000",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "MSP",
|
"module": "MSP",
|
||||||
"name": "IT Object",
|
"name": "IT Object",
|
||||||
|
|||||||
@@ -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
|
||||||
|
Reference in New Issue
Block a user