Source code for ferrosoft.apps.ferrobase.views.partner
# Copyright (c) 2025 Ferrosoft GmbH. All rights reserved.
from ferrosoft.apps.emiflow.filter import BusinessPartnerFilter
from ferrosoft.apps.emiflow.forms.partner import BusinessPartnerForm
from ferrosoft.apps.ferrobase.models import BusinessPartner
from ferrosoft.apps.ferrobase.views import generic
[docs]
class PartnerFilterView(generic.FilterView):
"""Filterable list of business partners (form and filter live in emiflow)."""
filterset_class = BusinessPartnerFilter
model = BusinessPartner
ordering = "name"
[docs]
class PartnerCreateView(generic.CreateView):
"""Create a business partner using the shared emiflow form."""
form_class = BusinessPartnerForm
form_template = "ferrobase/businesspartner/form.html"
model = BusinessPartner
[docs]
class PartnerUpdateView(generic.UpdateView):
"""Update a business partner using the shared emiflow form."""
form_class = BusinessPartnerForm
form_template = "ferrobase/businesspartner/form.html"
model = BusinessPartner
[docs]
class PartnerDeleteView(generic.DeleteView):
"""Delete a business partner."""
model = BusinessPartner
business_partner_urls = generic.model_crud_routes(
BusinessPartner,
create_view=PartnerCreateView,
read_view=PartnerFilterView,
update_view=PartnerUpdateView,
delete_view=PartnerDeleteView,
)