Add RRO, portal section perms, dislocation presets, and hiring intern flow.
Ship cash-register registry, section-based portal access, configurable dislocation columns, and trial-hire intern accounts with credentials PDF.
This commit is contained in:
+15
-3
@@ -227,22 +227,34 @@ class DirectoryAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
class AccessSystemAdmin(ModelAdmin):
|
||||
"""Отдельный раздел для списка систем/баз доступа (1С, почта, CRM…),
|
||||
которые выбираются чекбоксами в заявке на найм."""
|
||||
list_display = ['name', 'code', 'is_active', 'updated_at']
|
||||
list_display = ['name', 'code', 'location_types_display', 'is_active', 'updated_at']
|
||||
list_filter = [ActiveFilter]
|
||||
list_filter_sheet = False
|
||||
list_filter_submit = True
|
||||
search_fields = ['name', 'code']
|
||||
ordering = ['name']
|
||||
fields = ['name', 'code', 'description', 'is_active']
|
||||
fields = ['name', 'code', 'description', 'location_types', 'is_active']
|
||||
filter_horizontal = ['location_types']
|
||||
|
||||
def get_queryset(self, request):
|
||||
return super().get_queryset(request).filter(directory_type__code='access_system')
|
||||
return (
|
||||
super().get_queryset(request)
|
||||
.filter(directory_type__code='access_system')
|
||||
.prefetch_related('location_types')
|
||||
)
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
if not obj.directory_type_id:
|
||||
obj.directory_type = DirectoryType.objects.get(code='access_system')
|
||||
super().save_model(request, obj, form, change)
|
||||
|
||||
def location_types_display(self, obj):
|
||||
types = list(obj.location_types.all())
|
||||
if not types:
|
||||
return mark_safe('<span style="color:#999;">все</span>')
|
||||
return ', '.join(t.name for t in types)
|
||||
location_types_display.short_description = _('Типы локаций')
|
||||
|
||||
|
||||
@admin.register(ConnectorConfig)
|
||||
class ConnectorConfigAdmin(ModelAdmin):
|
||||
|
||||
Reference in New Issue
Block a user