Views ===== Inheritance map for the ``coins`` app's HTTP views. Each block lists one project-internal base class (or local mixin) and the coin views that extend it. Django base classes (``DetailView`` / ``UpdateView`` / ``RedirectView``) 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. Bases in ``richy.core.views`` ----------------------------- .. code-block:: text SubmenuViewMixin └── CoinChildrenSubmenuViewMixin (local) BaseUserItemCreateView └── OverviewCreateView (+ FetchDataMixin) BaseFetchItemAjaxView ├── FetchOverviewAjaxView └── FetchCoinAjaxView BaseItemDetailView └── CoinDetailView (+ CoinChildrenSubmenuViewMixin) UserItemManipulationMixin └── CoinUpdateView (+ CoinChildrenSubmenuViewMixin, FetchDataMixin) BaseDeleteUserItemRedirectView └── DeleteCoinRedirectView BasePerformanceDetailView └── PerformanceDetailView (+ CoinChildrenSubmenuViewMixin) BaseDrawdownPeriodsAndAthsDetailView └── DrawdownPeriodsAndAthsTemplateView (+ CoinChildrenSubmenuViewMixin) BaseTheEyeView └── CoinTheEyeView (+ CoinChildrenSubmenuViewMixin) BaseHistoricalData └── HistoricalDataListView (+ CoinChildrenSubmenuViewMixin) Bases in ``richy.news.views`` ----------------------------- .. code-block:: text BaseNewsItemDetailView └── NewsDetailView (+ CoinChildrenSubmenuViewMixin) Local mixins (``coins/views.py``) --------------------------------- Two mixins defined alongside the coin views. ``CoinChildrenSubmenuViewMixin`` extends :class:`~richy.core.views.SubmenuViewMixin`; ``FetchDataMixin`` carries no project base. .. code-block:: text FetchDataMixin ├── OverviewCreateView ├── CoinUpdateView └── ResetCoinRedirectView CoinChildrenSubmenuViewMixin ├── CoinDetailView ├── CoinUpdateView ├── PerformanceDetailView ├── DrawdownPeriodsAndAthsTemplateView ├── CoinTheEyeView ├── HistoricalDataListView └── NewsDetailView