settings application
.env db params+global settings in admin model ECVI plugin module
This commit is contained in:
@@ -4,7 +4,7 @@ from django.http import JsonResponse
|
||||
from django.shortcuts import redirect, get_object_or_404
|
||||
from django.contrib import messages
|
||||
from django.db import transaction
|
||||
from antifroud.models import UserActivityLog, ExternalDBSettings, RoomDiscrepancy, ImportedHotel
|
||||
from antifroud.models import UserActivityLog, ExternalDBSettings, RoomDiscrepancy, ImportedHotel, SyncLog
|
||||
from hotels.models import Hotel
|
||||
import pymysql
|
||||
import logging
|
||||
@@ -124,84 +124,6 @@ class RoomDiscrepancyAdmin(admin.ModelAdmin):
|
||||
readonly_fields = ("created_at",)
|
||||
|
||||
|
||||
# @admin.register(ImportedHotel)
|
||||
# class ImportedHotelAdmin(admin.ModelAdmin):
|
||||
# change_list_template = "antifroud/admin/imported_hotels.html"
|
||||
# list_display = ("external_id", "display_name", "name", "created", "updated", "imported")
|
||||
# search_fields = ("name", "display_name", "external_id")
|
||||
# list_filter = ("imported", "created", "updated")
|
||||
# actions = ['mark_as_imported', 'delete_selected_hotels_action']
|
||||
|
||||
# def get_urls(self):
|
||||
# urls = super().get_urls()
|
||||
# custom_urls = [
|
||||
# path('import_selected_hotels/', self.import_selected_hotels, name='antifroud_importedhotels_import_selected_hotels'),
|
||||
# path('delete_selected_hotels/', self.delete_selected_hotels, name='delete_selected_hotels'),
|
||||
# path('edit_hotel/', self.edit_hotel, name='edit_hotel'),
|
||||
# path('delete_hotel/', self.delete_hotel, name='delete_hotel'),
|
||||
# ]
|
||||
# return custom_urls + urls
|
||||
|
||||
# @transaction.atomic
|
||||
# def import_selected_hotels(self, request): # Метод теперь правильно принимает request
|
||||
# if request.method == 'POST':
|
||||
# selected_hotels = request.POST.getlist('hotels')
|
||||
# if selected_hotels:
|
||||
# # Обновление статуса импорта для выбранных отелей
|
||||
# ImportedHotel.objects.filter(id__in=selected_hotels).update(imported=True)
|
||||
# return JsonResponse({'success': True})
|
||||
# else:
|
||||
# return JsonResponse({'success': False})
|
||||
# return JsonResponse({'success': False})
|
||||
|
||||
# @transaction.atomic
|
||||
# def delete_selected_hotels(self, request):
|
||||
# if request.method == 'POST':
|
||||
# selected = request.POST.get('selected', '')
|
||||
# if selected:
|
||||
# external_ids = selected.split(',')
|
||||
# deleted_count, _ = ImportedHotel.objects.filter(external_id__in=external_ids).delete()
|
||||
# messages.success(request, f"Удалено отелей: {deleted_count}")
|
||||
# else:
|
||||
# messages.warning(request, "Не выбрано ни одного отеля для удаления.")
|
||||
# return redirect('admin:antifroud_importedhotel_changelist')
|
||||
|
||||
# @transaction.atomic
|
||||
# def delete_hotel(self, request):
|
||||
# if request.method == 'POST':
|
||||
# hotel_id = request.POST.get('hotel_id')
|
||||
# imported_hotel = get_object_or_404(ImportedHotel, id=hotel_id)
|
||||
# imported_hotel.delete()
|
||||
# messages.success(request, f"Отель {imported_hotel.name} успешно удалён.")
|
||||
# return redirect('admin:antifroud_importedhotel_changelist')
|
||||
|
||||
# def delete_selected_hotels_action(self, request, queryset):
|
||||
# deleted_count, _ = queryset.delete()
|
||||
# self.message_user(request, f'{deleted_count} отелей было удалено.')
|
||||
# delete_selected_hotels_action.short_description = "Удалить выбранные отели"
|
||||
|
||||
# def mark_as_imported(self, request, queryset):
|
||||
# updated = queryset.update(imported=True)
|
||||
# self.message_user(request, f"Отмечено как импортированное: {updated}", messages.SUCCESS)
|
||||
# mark_as_imported.short_description = "Отметить выбранные как импортированные"
|
||||
|
||||
# def edit_hotel(self, request):
|
||||
# if request.method == 'POST':
|
||||
# hotel_id = request.POST.get('hotel_id')
|
||||
# display_name = request.POST.get('display_name')
|
||||
# original_name = request.POST.get('original_name')
|
||||
# imported = request.POST.get('imported') == 'True'
|
||||
|
||||
# imported_hotel = get_object_or_404(ImportedHotel, id=hotel_id)
|
||||
# imported_hotel.display_name = display_name
|
||||
# imported_hotel.name = original_name
|
||||
# imported_hotel.imported = imported
|
||||
# imported_hotel.save()
|
||||
|
||||
# messages.success(request, f"Отель {imported_hotel.name} успешно обновлён.")
|
||||
# return redirect('admin:antifroud_importedhotel_changelist')
|
||||
# return redirect('admin:antifroud_importedhotel_changelist')
|
||||
|
||||
from .views import import_selected_hotels
|
||||
# Регистрируем admin класс для ImportedHotel
|
||||
@admin.register(ImportedHotel)
|
||||
@@ -250,4 +172,16 @@ class ImportedHotelAdmin(admin.ModelAdmin):
|
||||
imported_hotel = get_object_or_404(ImportedHotel, id=hotel_id)
|
||||
imported_hotel.delete()
|
||||
messages.success(request, f"Отель {imported_hotel.name} успешно удалён.")
|
||||
return redirect('admin:antifroud_importedhotel_changelist')
|
||||
return redirect('admin:antifroud_importedhotel_changelist')
|
||||
|
||||
|
||||
@admin.register(SyncLog)
|
||||
class SyncLogAdmin(admin.ModelAdmin):
|
||||
change_list_template = "antifroud/admin/sync_log.html"
|
||||
list_display =['id', 'hotel', 'recieved_records', 'processed_records']
|
||||
search_fields = ['id', 'hotel', 'received_records', 'processed_records']
|
||||
list_filter = ['id', 'hotel', 'processed_records']
|
||||
|
||||
class Meta:
|
||||
model = SyncLog
|
||||
fields = ['hotel', 'received_records', 'processed_records']
|
||||
Reference in New Issue
Block a user