Views ===== Inheritance map for the ``shares`` app's HTTP views. Each block lists one project-internal base class (or local mixin) and the share views that extend it. Django base classes (``DetailView`` / ``ListView`` / ``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 ├── SplitterSubmenuViewMixin (local) └── ShareChildrenSubmenuViewMixin (local) BaseUserItemCreateView └── OverviewCreateView (+ FetchDataMixin) BaseFetchItemAjaxView ├── FetchOverviewAjaxView └── FetchShareAjaxView BaseItemDetailView └── ShareDetailView (+ ShareChildrenSubmenuViewMixin) UserItemManipulationMixin └── ShareUpdateView (+ ShareChildrenSubmenuViewMixin, FetchDataMixin) BaseDeleteUserItemRedirectView └── DeleteShareRedirectView BasePerformanceDetailView └── PerformanceDetailView (+ ShareChildrenSubmenuViewMixin) BaseDrawdownPeriodsAndAthsDetailView └── DrawdownPeriodsAndAthsTemplateView (+ ShareChildrenSubmenuViewMixin) BaseTheEyeView └── ShareTheEyeView (+ ShareChildrenSubmenuViewMixin) BaseHistoricalData └── HistoricalDataListView (+ ShareChildrenSubmenuViewMixin) BaseSplitterFormView └── SplitterFormView (+ SplitterSubmenuViewMixin) BaseSplitterPreviewFormView └── SplitterPreviewFormView (+ SplitterSubmenuViewMixin) Bases in ``richy.news.views`` ----------------------------- .. code-block:: text BaseNewsItemDetailView └── NewsDetailView (+ ShareChildrenSubmenuViewMixin) Local mixins (``shares/views.py``) ---------------------------------- Three mixins defined alongside the share views. The two submenu mixins themselves extend :class:`~richy.core.views.SubmenuViewMixin`; ``FetchDataMixin`` carries no project base. .. code-block:: text FetchDataMixin ├── OverviewCreateView ├── ShareUpdateView └── ResetShareRedirectView SplitterSubmenuViewMixin ├── SplitterFormView └── SplitterPreviewFormView ShareChildrenSubmenuViewMixin ├── ShareDetailView ├── ShareUpdateView ├── PerformanceDetailView ├── DividendListView ├── FinancialsDetailView ├── DrawdownPeriodsAndAthsTemplateView ├── ShareTheEyeView ├── HistoricalDataListView └── NewsDetailView