synclog finshed
RealtyCalendar import finished (bugfixing remains)
This commit is contained in:
@@ -112,7 +112,7 @@ class ExternalDBSettingsAdmin(admin.ModelAdmin):
|
||||
@admin.register(UserActivityLog)
|
||||
class UserActivityLogAdmin(admin.ModelAdmin):
|
||||
list_display = ("id", 'get_location',"formatted_timestamp", "date_time", "page_id", "url_parameters", "page_url" ,"created", "page_title", "type", "hits")
|
||||
search_fields = ("page_title", "url_parameters")
|
||||
search_fields = ("page_title", "url_parameters", "page_title")
|
||||
list_filter = ("page_title", "created")
|
||||
readonly_fields = ("created", "timestamp")
|
||||
|
||||
@@ -204,16 +204,30 @@ class UserActivityLogAdmin(admin.ModelAdmin):
|
||||
|
||||
@admin.register(SyncLog)
|
||||
class SyncLogAdmin(admin.ModelAdmin):
|
||||
change_list_template = "antifroud/admin/sync_log.html"
|
||||
list_display =['id', 'hotel', 'created', 'recieved_records', 'processed_records']
|
||||
search_fields = ['id', 'hotel', 'created', 'recieved_records', 'processed_records']
|
||||
list_filter = ['id', 'hotel', 'created', 'recieved_records', 'processed_records']
|
||||
change_list_template = "antifroud/admin/sync_log.html" # Путь к вашему кастомному шаблону
|
||||
list_display = ['id', 'hotel', 'created', 'recieved_records', 'processed_records']
|
||||
search_fields = ['id', 'hotel__name', 'recieved_records', 'processed_records']
|
||||
list_filter = ['hotel', 'created']
|
||||
|
||||
class Meta:
|
||||
model = SyncLog
|
||||
fields = ['hotel', 'recieved_records', 'processed_records']
|
||||
|
||||
def changelist_view(self, request, extra_context=None):
|
||||
"""
|
||||
Добавляет фильтрацию по отелям в шаблон.
|
||||
"""
|
||||
extra_context = extra_context or {}
|
||||
|
||||
# Получаем выбранный фильтр отеля из GET-параметров
|
||||
hotel_id = request.GET.get('hotel')
|
||||
hotels = Hotel.objects.all()
|
||||
sync_logs = SyncLog.objects.all()
|
||||
|
||||
if hotel_id:
|
||||
sync_logs = sync_logs.filter(hotel_id=hotel_id)
|
||||
|
||||
extra_context['sync_logs'] = sync_logs
|
||||
extra_context['hotels'] = hotels
|
||||
extra_context['selected_hotel'] = hotel_id # Чтобы отобразить выбранный отель
|
||||
|
||||
return super().changelist_view(request, extra_context=extra_context)
|
||||
@admin.register(ViolationLog)
|
||||
class ViolationLogAdmin(admin.ModelAdmin):
|
||||
list_display = ['id', 'hotel', 'room_number' , 'hits', 'created_at', 'violation_type', 'violation_details', 'detected_at']
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{% extends "admin/change_list.html" %}
|
||||
{% block content %}
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row mt-4">
|
||||
<div class="col">
|
||||
<div class="card shadow-sm mb-2 db-graph">
|
||||
@@ -9,53 +8,22 @@
|
||||
<h6 class="text-white m-0 font-md">Журнал синхронизации</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form method="post" action="{% url 'antifroud:sync_log_create' %}">
|
||||
{% csrf_token %}
|
||||
<div class="form-row">
|
||||
<div class="col-md-9 col-xl-9">
|
||||
<div class="box-bg">
|
||||
<div class="form-row">
|
||||
<div class="col-md-2 col-xl-2 align-self-center font-md text-dark-blue">
|
||||
<label class="col-form-label p-0" for="hotel-id"><strong>Отель:</strong></label>
|
||||
</div>
|
||||
<div class="col-md-4 col-xl-3">
|
||||
<div class="form-group mb-0">
|
||||
<select class="custom-select custom-select-sm font-sm" name="hotel" id="hotel-id">
|
||||
<option value="">--Выберите Отель --</option>
|
||||
{% for hotel in hotels %}
|
||||
<option value="{{ hotel.id }}">{{ hotel.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 col-xl-3">
|
||||
<div class="box-bg">
|
||||
<div class="text-dark form-row">
|
||||
<div class="col-xl-5 offset-xl-0 align-self-center">
|
||||
<h6 class="mb-0 font-sm">Полученные записи:</h6>
|
||||
</div>
|
||||
<div class="col-xl-7 offset-xl-0 text-right align-self-center">
|
||||
<div class="form-group mb-1">
|
||||
<input class="form-control form-control-sm form-control font-sm" type="number" name="received_records" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-5 offset-xl-0 align-self-center">
|
||||
<h6 class="mb-0 font-sm">Обработанные записи:</h6>
|
||||
</div>
|
||||
<div class="col-xl-7 offset-xl-0 text-right align-self-center">
|
||||
<div class="form-group mb-1">
|
||||
<input class="form-control form-control-sm form-control font-sm" type="number" name="processed_records" required />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Форма фильтрации по отелям -->
|
||||
<form method="get" class="form-inline mb-3">
|
||||
<label for="hotel-filter" class="mr-2">Фильтр по отелям:</label>
|
||||
<select name="hotel" id="hotel-filter" class="form-control mr-2">
|
||||
<option value="">-- Все отели --</option>
|
||||
{% for hotel in hotels %}
|
||||
<option value="{{ hotel.id }}" {% if hotel.id|stringformat:"s" == selected_hotel %}selected{% endif %}>
|
||||
{{ hotel.name }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button type="submit" class="btn btn-primary">Применить</button>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<!-- Список существующих журналов синхронизации -->
|
||||
<div class="table-responsive tbl-wfx mt-1 kot-table">
|
||||
<table class="table table-sm">
|
||||
@@ -63,10 +31,8 @@
|
||||
<tr class="text-dark-blue">
|
||||
<th>#</th>
|
||||
<th>Отель</th>
|
||||
<th>ID бронирования</th>
|
||||
<th> Дата синхронизации</th>
|
||||
<th>Обработанные записи</th>
|
||||
<th>Полученные записи</th>
|
||||
<th>Создан</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -74,14 +40,12 @@
|
||||
<tr>
|
||||
<td>{{ log.id }}</td>
|
||||
<td>{{ log.hotel.name }}</td>
|
||||
<td>{{ log.reservation_id }}</td>
|
||||
<td>{{ log.processed_records }}</td>
|
||||
<td>{{ log.recieved_records }}</td>
|
||||
<td>{{ log.created }}</td>
|
||||
<td>{{ log.processed_records }}</td>
|
||||
</tr>
|
||||
{% empty %}
|
||||
<tr>
|
||||
<td colspan="6" class="text-center">Нет журналов.</td>
|
||||
<td colspan="5" class="text-center">Нет записей.</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
@@ -93,4 +57,4 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user