Table of Content
App "Produktstatus auf Produktvariante"
Übersteuert das geerbte Feld "Status" auf der Produktvariante und steuert Textfarbe in Listenansichten
product_state_variant
Ausgangslage
Der Produktstatus beschreibt die Phase des Produkt-Lebenszyklus, in der sich das Produkt befindet. Auf dem Model product.template wird dazu mit dem Community-Modul product_state das Feld state ergänzt.
state = fields.Selection(
selection=[
('draft', 'In Development'),
('sellable', 'Normal'),
('end', 'End of Lifecycle'),
('obsolete', 'Obsolete')
],
string='Status',
default='sellable',
index=True
)
Implementierte Funktionen
Standardwert für neue Produkte und Varianten
Neue Produktvorlagen und -Varianten erhalten neu standardmässig den Status "In Entwicklung".
Steuerung des Status auf Produktvariante
Da das Model product.product das Feld state über die normale Vererbung übernimmt, gibt es keine Möglichkeit, den Status für einzelne Produktvarianten separat zu pflegen. Dies wird mit dem vorliegenden Modul erreicht, indem auf dem Model product.product ein neues Feld state_variant definiert wird, welches in den Produkt-Ansichten und weiteren Zusatzmodulen für die Steuerung des Variantenstatus verwendet wird.
Farbliche Kennzeichnung je Status
Über die Felder state und state_variant wird auf den Listenansichten der Produkte und Varianten die Textfarbe gesteuert:
'draft': blau
'sellable': grün
alle anderen: grau
Kaskadierung der Statusänderung
Statusänderungen auf dem Produkt werden für alle Varianten übernommen.
Kennzeichnung von auslaufenden/obsoleten Produkten
Bei der Namenssuche nach Produktvarianten, beispielsweise in Verkaufsangeboten, wird der Produktname von obsoleten oder auslaufenden Produkten gekennzeichnet.
Fehlerhandling
Es wird verhindert, dass der Status einer Variante auf 'In Entwicklung' oder 'Normal' gesetzt werden kann, wenn das Produkt den Status 'Obsolet' oder 'Auslauf' hat.
Abhängigkeiten
product_state (Flectra Community Modul)