Views ===== Inheritance map for the ``staking`` app's HTTP views. Each block lists one project-internal base class (or local mixin / base) and the staking views that extend it. Django base classes (``CreateView`` / ``UpdateView`` / ``TemplateView`` / ``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. Redirect views that carry only Django bases (``IndexRedirectView``, ``DeleteAttachmentRedirectView``) are not shown. Bases in ``richy.core.views`` ----------------------------- .. code-block:: text SubmenuViewMixin └── StakingSubmenuViewMixin (local) UserItemManipulationMixin └── BaseStakingManipulationMixin (local) Local bases and mixins (``staking/views.py``) --------------------------------------------- Three local helper classes parent the staking views. ``StakingSubmenuViewMixin`` extends :class:`~richy.core.views.SubmenuViewMixin`; ``BaseStakingManipulationMixin`` extends :class:`~richy.core.views.UserItemManipulationMixin`; ``StakingListMixin`` carries no project base. .. code-block:: text StakingSubmenuViewMixin ├── OpenCreateView (+ BaseStakingManipulationMixin, StakingListMixin) ├── ClosedTemplateView (+ StakingListMixin) └── BaseStakingManipulationMixin (local base) BaseStakingManipulationMixin ├── OpenCreateView (+ StakingSubmenuViewMixin, StakingListMixin) ├── DeleteStakingRedirectView └── StakingUpdateView StakingListMixin ├── OpenCreateView (+ BaseStakingManipulationMixin, StakingSubmenuViewMixin) └── ClosedTemplateView (+ StakingSubmenuViewMixin)