Добавил работу с заявками на кубсат
This commit is contained in:
@@ -35,6 +35,8 @@ from .models import (
|
||||
Band,
|
||||
Source,
|
||||
TechAnalyze,
|
||||
SourceRequest,
|
||||
SourceRequestStatusHistory,
|
||||
)
|
||||
from .filters import (
|
||||
GeoKupDistanceFilter,
|
||||
@@ -1162,3 +1164,121 @@ class TechAnalyzeAdmin(ImportExportActionModelAdmin, BaseAdmin):
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
class SourceRequestStatusHistoryInline(admin.TabularInline):
|
||||
"""Inline для отображения истории статусов заявки."""
|
||||
model = SourceRequestStatusHistory
|
||||
extra = 0
|
||||
readonly_fields = ('old_status', 'new_status', 'changed_at', 'changed_by')
|
||||
can_delete = False
|
||||
|
||||
def has_add_permission(self, request, obj=None):
|
||||
return False
|
||||
|
||||
|
||||
@admin.register(SourceRequest)
|
||||
class SourceRequestAdmin(BaseAdmin):
|
||||
"""Админ-панель для модели SourceRequest."""
|
||||
|
||||
list_display = (
|
||||
'id',
|
||||
'source',
|
||||
'status',
|
||||
'priority',
|
||||
'planned_at',
|
||||
'request_date',
|
||||
'gso_success',
|
||||
'kubsat_success',
|
||||
'points_count',
|
||||
'status_updated_at',
|
||||
'created_at',
|
||||
'created_by',
|
||||
)
|
||||
list_display_links = ('id', 'source')
|
||||
list_select_related = ('source', 'created_by__user', 'updated_by__user')
|
||||
|
||||
list_filter = (
|
||||
'status',
|
||||
'priority',
|
||||
'gso_success',
|
||||
'kubsat_success',
|
||||
('planned_at', DateRangeQuickSelectListFilterBuilder()),
|
||||
('request_date', DateRangeQuickSelectListFilterBuilder()),
|
||||
('created_at', DateRangeQuickSelectListFilterBuilder()),
|
||||
)
|
||||
|
||||
search_fields = (
|
||||
'source__id',
|
||||
'comment',
|
||||
)
|
||||
|
||||
ordering = ('-created_at',)
|
||||
readonly_fields = ('status_updated_at', 'created_at', 'created_by', 'updated_by', 'coords', 'points_count')
|
||||
autocomplete_fields = ('source',)
|
||||
inlines = [SourceRequestStatusHistoryInline]
|
||||
|
||||
fieldsets = (
|
||||
(
|
||||
'Основная информация',
|
||||
{'fields': ('source', 'status', 'priority')},
|
||||
),
|
||||
(
|
||||
'Даты',
|
||||
{'fields': ('planned_at', 'request_date', 'status_updated_at')},
|
||||
),
|
||||
(
|
||||
'Результаты',
|
||||
{'fields': ('gso_success', 'kubsat_success')},
|
||||
),
|
||||
(
|
||||
'Координаты',
|
||||
{'fields': ('coords', 'points_count')},
|
||||
),
|
||||
(
|
||||
'Комментарий',
|
||||
{'fields': ('comment',)},
|
||||
),
|
||||
(
|
||||
'Метаданные',
|
||||
{
|
||||
'fields': ('created_at', 'created_by', 'updated_by'),
|
||||
'classes': ('collapse',),
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@admin.register(SourceRequestStatusHistory)
|
||||
class SourceRequestStatusHistoryAdmin(BaseAdmin):
|
||||
"""Админ-панель для модели SourceRequestStatusHistory."""
|
||||
|
||||
list_display = (
|
||||
'id',
|
||||
'source_request',
|
||||
'old_status',
|
||||
'new_status',
|
||||
'changed_at',
|
||||
'changed_by',
|
||||
)
|
||||
list_display_links = ('id',)
|
||||
list_select_related = ('source_request', 'changed_by__user')
|
||||
|
||||
list_filter = (
|
||||
'old_status',
|
||||
'new_status',
|
||||
('changed_at', DateRangeQuickSelectListFilterBuilder()),
|
||||
)
|
||||
|
||||
search_fields = (
|
||||
'source_request__id',
|
||||
)
|
||||
|
||||
ordering = ('-changed_at',)
|
||||
readonly_fields = ('source_request', 'old_status', 'new_status', 'changed_at', 'changed_by')
|
||||
|
||||
def has_add_permission(self, request):
|
||||
return False
|
||||
|
||||
def has_change_permission(self, request, obj=None):
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user