Compare commits

..

2 commits

Author SHA1 Message Date
Karl Determe
f19eae6067 Merge branch 'main' of https://git.valogeo.be/Valogeo/loko 2026-09-24 11:04:00 +02:00
Karl Determe
0231f2ac00 feat: add Django admin configurations and tests for common app 2026-09-24 11:03:47 +02:00
2 changed files with 25 additions and 1 deletions

View file

@ -621,7 +621,7 @@ class UserContractAccessAdmin(admin.ModelAdmin):
class UserConfigAdmin(admin.ModelAdmin):
list_display = ("user", "display_contracts", "display_thematics", "display_views", "is_intern", "display_roles", "company", "display_member_teams", "duplicate_button")
list_filter = ("thematics", "roles", "company", "user__companymember__teams", "contracts", "accessible_views", "auto_logout_hours")
search_fields = ("user__username", "contracts__contract_number")
search_fields = ("user__username", "user__first_name", "user__last_name", "contracts__contract_number")
inlines = [UserThematicsInline, UserContractAccessInline, UserWarehouseAccessInline, UserWarehouseLocationAccessInline, UserCompanyTeamAccessInline, UserAssetTypeAccessInline, UserAssetAccessInline]
filter_horizontal = ("linked_configs", "accessible_views")
actions = ["duplicate_config_action", "apply_config_from_action", "assign_company_action"]

View file

@ -317,6 +317,30 @@ class UserConfigCopyTests(TestCase):
target_ut = UserThematics.objects.get(user_config=self.config_target, thematic=self.thematic)
self.assertTrue(target_ut.can_inspect)
def test_userconfig_admin_search_fields_includes_first_and_last_name(self):
from common.admin import UserConfigAdmin
self.assertIn("user__first_name", UserConfigAdmin.search_fields)
self.assertIn("user__last_name", UserConfigAdmin.search_fields)
self.assertIn("user__username", UserConfigAdmin.search_fields)
def test_userconfig_admin_search_by_name(self):
from common.admin import UserConfigAdmin
from django.test import RequestFactory
self.user_source.first_name = "Jean"
self.user_source.last_name = "Dupont"
self.user_source.save()
admin_obj = UserConfigAdmin(UserConfig, None)
request = RequestFactory().get('/admin/common/userconfig/')
qs_first, _ = admin_obj.get_search_results(request, UserConfig.objects.all(), "Jean")
self.assertIn(self.config_source, qs_first)
self.assertNotIn(self.config_target, qs_first)
qs_last, _ = admin_obj.get_search_results(request, UserConfig.objects.all(), "Dupont")
self.assertIn(self.config_source, qs_last)
self.assertNotIn(self.config_target, qs_last)
class ScheduledCommandResolveOutputFileTests(TestCase):
def test_resolve_output_file_with_placeholders(self):