Changeset View
Changeset View
Standalone View
Standalone View
swh/web/misc/origin_save.py
# Copyright (C) 2018-2019 The Software Heritage developers | # Copyright (C) 2018-2019 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU Affero General Public License version 3, or any later version | # License: GNU Affero General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
from django.conf.urls import url | from django.conf.urls import url | ||||
from django.core.paginator import Paginator | from django.core.paginator import Paginator | ||||
from django.db.models import Q | |||||
from django.http import JsonResponse | from django.http import JsonResponse | ||||
from django.shortcuts import render | from django.shortcuts import render | ||||
from rest_framework.decorators import api_view, authentication_classes | from rest_framework.decorators import api_view, authentication_classes | ||||
from swh.web.api.throttling import throttle_scope | from swh.web.api.throttling import throttle_scope | ||||
from swh.web.common.exc import ForbiddenExc | from swh.web.common.exc import ForbiddenExc | ||||
from swh.web.common.models import SaveOriginRequest | from swh.web.common.models import SaveOriginRequest | ||||
from swh.web.common.origin_save import ( | from swh.web.common.origin_save import ( | ||||
▲ Show 20 Lines • Show All 54 Lines • ▼ Show 20 Lines | def _origin_save_requests_list(request, status): | ||||
order_dir = request.GET["order[0][dir]"] | order_dir = request.GET["order[0][dir]"] | ||||
if order_dir == "desc": | if order_dir == "desc": | ||||
field_order = "-" + field_order | field_order = "-" + field_order | ||||
save_requests = save_requests.order_by(field_order) | save_requests = save_requests.order_by(field_order) | ||||
length = int(request.GET["length"]) | length = int(request.GET["length"]) | ||||
page = int(request.GET["start"]) / length + 1 | page = int(request.GET["start"]) / length + 1 | ||||
save_requests = get_save_origin_requests_from_queryset(save_requests) | |||||
if search_value: | if search_value: | ||||
save_requests = [ | save_requests = save_requests.filter( | ||||
sr | Q(status__icontains=search_value) | ||||
for sr in save_requests | | Q(loading_task_status__icontains=search_value) | ||||
if search_value.lower() in sr["save_request_status"].lower() | | Q(visit_type__icontains=search_value) | ||||
or search_value.lower() in sr["save_task_status"].lower() | | Q(origin_url__icontains=search_value) | ||||
or search_value.lower() in sr["visit_type"].lower() | ) | ||||
or search_value.lower() in sr["origin_url"].lower() | |||||
] | |||||
table_data["recordsFiltered"] = len(save_requests) | table_data["recordsFiltered"] = save_requests.count() | ||||
paginator = Paginator(save_requests, length) | paginator = Paginator(save_requests, length) | ||||
table_data["data"] = paginator.page(page).object_list | table_data["data"] = get_save_origin_requests_from_queryset( | ||||
paginator.page(page).object_list | |||||
) | |||||
return JsonResponse(table_data) | return JsonResponse(table_data) | ||||
def _save_origin_task_info(request, save_request_id): | def _save_origin_task_info(request, save_request_id): | ||||
request_info = get_save_origin_task_info( | request_info = get_save_origin_task_info( | ||||
save_request_id, full_info=request.user.is_staff | save_request_id, full_info=request.user.is_staff | ||||
) | ) | ||||
for date_field in ("scheduled", "started", "ended"): | for date_field in ("scheduled", "started", "ended"): | ||||
Show All 24 Lines |