Views ===== Inheritance map for the ``indexes`` app's HTTP views. Each block lists one project-internal base class (or local mixin) and the index 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 └── IndexChildrenSubmenuViewMixin (local) BaseUserItemCreateView └── OverviewCreateView (+ FetchDataMixin) BaseFetchItemAjaxView ├── FetchOverviewAjaxView └── FetchIndexAjaxView BaseItemDetailView └── IndexDetailView (+ IndexChildrenSubmenuViewMixin) UserItemManipulationMixin └── IndexUpdateView (+ IndexChildrenSubmenuViewMixin, FetchDataMixin) BaseDeleteUserItemRedirectView └── DeleteIndexRedirectView BasePerformanceDetailView └── PerformanceDetailView (+ IndexChildrenSubmenuViewMixin) BaseDrawdownPeriodsAndAthsDetailView └── DrawdownPeriodsAndAthsTemplateView (+ IndexChildrenSubmenuViewMixin) BaseTheEyeView └── IndexTheEyeView (+ IndexChildrenSubmenuViewMixin) BaseHistoricalData └── HistoricalDataListView (+ IndexChildrenSubmenuViewMixin) Bases in ``richy.news.views`` ----------------------------- .. code-block:: text BaseNewsItemDetailView └── NewsDetailView (+ IndexChildrenSubmenuViewMixin) Local mixins (``indexes/views.py``) ----------------------------------- Two mixins defined alongside the index views. ``IndexChildrenSubmenuViewMixin`` extends :class:`~richy.core.views.SubmenuViewMixin`; ``FetchDataMixin`` carries no project base. .. code-block:: text FetchDataMixin ├── OverviewCreateView ├── IndexUpdateView └── ResetIndexRedirectView IndexChildrenSubmenuViewMixin ├── IndexDetailView ├── IndexUpdateView ├── PerformanceDetailView ├── DrawdownPeriodsAndAthsTemplateView ├── IndexTheEyeView ├── HistoricalDataListView └── NewsDetailView