Views#

Inheritance map for the transactions app’s HTTP views. Each block lists one project-internal base class (or local mixin / base) and the transaction views that extend it. Django base classes (DetailView / CreateView / UpdateView / RedirectView / FormView / TemplateView) and django-braces mixins (LoginRequiredMixin, FormMessagesMixin) are omitted to keep the picture readable. (+ ...) after a leaf class lists any other project-internal parents the view also inherits from. Redirect views that carry only Django bases (IndexRedirectView, DeleteAttachmentRedirectView) are not shown.

Bases in richy.core.views#

AjaxView
└── BaseAssetAllocationChartDataAjaxView     (local)

BaseFetchItemAjaxView
└── FetchItemPricesAjaxView

SubmenuViewMixin
└── TransactionSubmenuViewMixin              (local)

TransactionChartDataMixin
├── OpenCreateView                           (+ TransactionSubmenuViewMixin, BaseTransactionManipulationMixin)
├── ClosedTemplateView                       (+ TransactionSubmenuViewMixin)
└── BaseTransactionDetailView                (local) (+ TransactionSubmenuViewMixin, SubmenuViewMixin)

Local bases and mixins (transactions/views.py)#

Four local helper classes act as parents for sibling views. TransactionSubmenuViewMixin extends SubmenuViewMixin; BaseAssetAllocationChartDataAjaxView extends AjaxView; the other two carry only Django and django-braces parents.

TransactionSubmenuViewMixin
├── OpenCreateView
├── TransactionUpdateView
├── PostClosedOrClosingTransactionUpdateFormView
├── ClosedTemplateView
├── ShareDividendTransactionDetailView
├── EtfDividendTransactionDetailView
├── AssetsTemplateView
└── BaseTransactionDetailView                (local base)

BaseTransactionManipulationMixin
├── OpenCreateView                           (+ TransactionSubmenuViewMixin, TransactionChartDataMixin)
├── TransactionUpdateView                    (+ TransactionSubmenuViewMixin)
└── DeleteTransactionRedirectView

BaseTransactionDetailView
├── OpenTransactionDetailView
└── ClosedTransactionDetailView

BaseAssetAllocationChartDataAjaxView
├── FetchSharesAssetAllocationChartDataAjaxView
├── FetchSharesProfitsChartDataAjaxView
├── FetchEtfsAssetAllocationChartDataAjaxView
├── FetchEtfsProfitsChartDataAjaxView
├── FetchCoinsAssetAllocationChartDataAjaxView
└── FetchCoinsProfitsChartDataAjaxView