Coverage for website/partners/admin.py: 100.00%
23 statements
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
1from django.contrib import admin
2from django.utils.translation import gettext_lazy as _
4from partners.models import Partner, PartnerImage, Vacancy, VacancyCategory
7class PartnerImageInline(admin.StackedInline):
8 """Class to show partner images inline in the admin."""
10 model = PartnerImage
13@admin.register(Partner)
14class PartnerAdmin(admin.ModelAdmin):
15 """Class to show partners in the admin."""
17 prepopulated_fields = {"slug": ("name",)}
18 list_display = ("name", "is_active", "is_main_partner", "is_local_partner")
19 search_fields = ("name", "city")
20 list_filter = ("is_active",)
21 inlines = (PartnerImageInline,)
23 fieldsets = (
24 (
25 None,
26 {
27 "fields": (
28 "name",
29 "slug",
30 "link",
31 "company_profile",
32 "logo",
33 "alternate_logo",
34 "site_header",
35 "is_active",
36 "is_main_partner",
37 "is_local_partner",
38 )
39 },
40 ),
41 (
42 _("Address"),
43 {"fields": ("address", "address2", "zip_code", "city", "country")},
44 ),
45 )
48@admin.register(VacancyCategory)
49class VacancyCategoryAdmin(admin.ModelAdmin):
50 """Class to show vacancy categories in the admin."""
52 prepopulated_fields = {"slug": ("name",)}
53 fields = ["name", "slug"]
56@admin.register(Vacancy)
57class VacancyAdmin(admin.ModelAdmin):
58 """Class to show vacancies in the admin."""
60 list_display = ("title", "partner", "company_name")
62 list_select_related = ("partner",)
63 search_fields = (
64 "title",
65 "partner__name",
66 "company_name",
67 )
68 fieldsets = (
69 (None, {"fields": ("title", "description", "link", "location", "keywords")}),
70 (_("Existing partner"), {"fields": ("partner",)}),
71 (
72 _("Other partner"),
73 {
74 "fields": (
75 "company_name",
76 "company_logo",
77 )
78 },
79 ),
80 (_("Categories"), {"fields": ("categories",)}),
81 )