feat(crm): Aufgabenbeschreibung des Projekts prominent zugänglich machen
- Projektmaske: Zweck-Feld als Textarea (längere Eingaben), Label in "Aufgabenbeschreibung" umbenannt - Tages-Workflow-Maske: Aufgabenbeschreibung als Tooltip auf dem Projekt-Label/-Namen der Kopfzeile, plus Icon-Button, der ein Modal mit Aufgabenbeschreibung, Verantwortlichem und Startdatum öffnet - Server: Kontaktadresse.to_dict() liefert zusätzlich projekt_zweck Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
1 parent
6e3cc7375d
commit
a23884bf02
5 files changed
+81
-10
No files matched your search
@@ -263,13 +263,14 @@ class Kontaktadresse(dbapp.Model):
|
||||
def to_dict(self):
|
||||
"""
|
||||
Liefert die Kontaktdaten als Dictionary. Die Tabellenspalten werden
|
||||
über columns2dict serialisiert; projekt_name und kunden_name werden
|
||||
zusätzlich aus der Projekt- bzw. Kunde-Relationship eingefügt.
|
||||
is_erledigt wird dynamisch aus den Gesprächsnotizen des Kontakts
|
||||
berechnet.
|
||||
über columns2dict serialisiert; projekt_name, projekt_zweck und
|
||||
kunden_name werden zusätzlich aus der Projekt- bzw. Kunde-Relationship
|
||||
eingefügt. is_erledigt wird dynamisch aus den Gesprächsnotizen des
|
||||
Kontakts berechnet.
|
||||
"""
|
||||
result = columns2dict(self)
|
||||
result['projekt_name'] = self.projekt.projektname if self.projekt else None
|
||||
result['projekt_zweck'] = self.projekt.zweck if self.projekt else None
|
||||
result['kunden_name'] = self.projekt.kunde.name if self.projekt and self.projekt.kunde else None
|
||||
result['is_erledigt'] = self.is_erledigt()
|
||||
return result
|
||||
|
||||
Reference in new issue
Block a user