/
statik2002
/
TorgServer
Обзор
Документация
Войти
/
statik2002
/
TorgServer
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
main/admin.py
100 строк
3 KB
statik2002
Add Yandex feed file
09 авг 2026, 10:09
09 авг 2026, 10:09
1745015
Код
Авторство
О чём код?
from django.contrib import admin from main.models import OKSFile, WorkingShift, Catalog, ProductInCatalog, LogError, Statistic, SailedProduct, Product, \ ReceiptInShift, Leftovers, YandexFeed @admin.register(OKSFile) class OKSFileAdmin(admin.ModelAdmin): list_display = ('name', 'remote_path', 'last_change_time', 'last_change_elapsed') def has_add_permission(self, request): # Do not allow creating new rows return False def has_delete_permission(self, request, obj=None): # Prevent accidental deletion return False #def changelist_view(self, request, extra_context=None): # # Redirect directly to the object configuration page # obj, created = OKSFile.objects.get_or_create(pk=1) # return redirect(f"../{obj.pk}/change/") @admin.register(Leftovers) class LeftoversAdmin(admin.ModelAdmin): list_display = ('name', 'remote_path', 'last_change_elapsed') def has_add_permission(self, request): # Do not allow creating new rows return False def has_delete_permission(self, request, obj=None): # Prevent accidental deletion return False class PositionInShiftInline(admin.TabularInline): model = WorkingShift.receipts.through readonly_fields = ('receiptinshift', ) can_delete = False extra = 0 @admin.register(WorkingShift) class WorkingShiftAdmin(admin.ModelAdmin): inlines = [PositionInShiftInline] fields = ('id', 'shift_date', 'document_id', 'shift_id', 'shift_start_time') list_display = ('id', 'shift_date', 'document_id', 'shift_id', 'shift_start_time') readonly_fields = ('id', 'receipts') @admin.register(Catalog) class CatalogAdmin(admin.ModelAdmin): fields = ('id', 'code1c', 'name', 'parent') list_display = ('id', 'name', 'code1c', 'parent') readonly_fields = ('id', 'code1c', 'parent') @admin.register(ProductInCatalog) class ProductInCatalogAdmin(admin.ModelAdmin): list_display = ('id', 'name', 'code1c', 'price', 'quantity', 'parent') search_fields = ('code1c', ) readonly_fields = ('id', 'code1c', 'parent') @admin.register(LogError) class LogErrorAdmin(admin.ModelAdmin): pass @admin.register(Statistic) class StatisticAdmin(admin.ModelAdmin): list_display = ('stat_date', 'num_items') @admin.register(SailedProduct) class SailedProductAdmin(admin.ModelAdmin): list_display = ('product_name', 'quantity', 'total') raw_id_fields = ('product', ) def product_name(self, obj): return obj.product.name @admin.register(Product) class ProductAdmin(admin.ModelAdmin): fields = ('name', 'code1c', 'discount', 'price', 'quantity', 'total', 'receipts') readonly_fields = ('name', 'code1c', 'discount', 'price', 'quantity', 'total', 'receipts') search_fields = ('code1c', 'name') def receipts(self, obj): receipts = ReceiptInShift.objects.filter(products_in_receipt=obj) return receipts @admin.register(ReceiptInShift) class ReceiptInShiftAdmin(admin.ModelAdmin): raw_id_fields = ('products_in_receipt',) @admin.register(YandexFeed) class YandexFeedAdmin(admin.ModelAdmin): def has_add_permission(self, request): # Do not allow creating new rows return False def has_delete_permission(self, request, obj=None): # Prevent accidental deletion return False