Abonnementtarife – Systembeschreibung
Felder der Tariftabelle, Zyklusschutz der Vererbung, Speicher- und Löschregeln sowie Datenquellen und Berechtigungsschlüssel der Liste.
Überblick
Ein Tarif ist Stammdaten; seinen Inhalt (Funktionen, Limits, Preise) liefern die tarifbezogenen Positionen der Abonnementdefinition. Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.
Datenmodell
| Tabelle | Hauptfelder |
|---|---|
subscription_plan | code, name, description, parent_plan_id (Vererbung, zyklusgeschützt), is_addon, is_free, level, price_month, currency, sort_order, status |
subscription_plan_to_store | Shops |
subscription_plan_feature | alte Inhaltstabelle; planFeatures() und syncGrants() lesen sie noch |
Liste, Speichern, Löschen
- Liste: Filter Zusatz, Status, Suche; Sortierung nach Code, Name, Monatspreis; Spalten u. a. Anzahl Funktionen (alte Inhaltstabelle) und Abonnements; Symbole Bearbeiten, Löschen, Eltern-Tarif, Abonnements.
- Speichern: Code
[A-Za-z0-9_]{2,32}(error_code), Name Pflicht (error_name); der Eltern-Tarif darf nicht der Tarif selbst oder ein Nachkomme sein (normalizeParent); das Formular verlinkt auf die Definition (mitlist) und zeigtDlbtpayment::ANNUAL_DISCOUNT(10 %); nach dem Speicherndlbtentitlement->flush(). - Löschen: blockiert durch ein Abonnement (
error_in_use) oder einen Kind-Tarif (error_has_children); sonst physisches Löschen samt alten Inhaltszeilen; keincanBulkbeim Sammellöschen.
Berechtigungen
list:UNMAPPED;edit,add,delete,debug: nicht eingestuft (aus dem alten Katalog projiziert). Bei neuem Datensatz verlangtcanSaveedit, da keineadd-Zeile im Stamm existiert.- Kein Inhaltsbereich (Systemstamm).