Source code for ferrosoft.apps.ferrobase.views.company_site
# Copyright (c) 2025 Ferrosoft GmbH. All rights reserved.
from ferrosoft.apps.ferrobase.filter import CompanySiteFilterSet
from ferrosoft.apps.ferrobase.forms import CompanySiteForm
from ferrosoft.apps.ferrobase.models import CompanySite, IDSequence
from ferrosoft.apps.ferrobase.services.idgenerator import IdGenerator
from ferrosoft.apps.ferrobase.views import generic
[docs]
class CompanySiteCreateView(generic.CreateView):
"""Create a company site, pre-populating ``code`` from the configured ID sequence."""
form_class = CompanySiteForm
form_template = "ferrobase/company_site/form.html"
model = CompanySite
[docs]
class CompanySiteReadView(generic.FilterView):
"""Filterable list of company sites ordered by code."""
filterset_class = CompanySiteFilterSet
model = CompanySite
ordering = "code"
[docs]
class CompanySiteUpdateView(generic.UpdateView):
"""Update a company site using the shared company-site form."""
form_class = CompanySiteForm
form_template = "ferrobase/company_site/form.html"
model = CompanySite
[docs]
class CompanySiteDeleteView(generic.DeleteView):
"""Delete a company site, blocked when referenced by other records."""
model = CompanySite
company_site_urls = generic.model_crud_routes(
CompanySite,
create_view=CompanySiteCreateView,
read_view=CompanySiteReadView,
update_view=CompanySiteUpdateView,
delete_view=CompanySiteDeleteView,
)