Changeset View
Changeset View
Standalone View
Standalone View
swh/web/misc/origin_save.py
Show All 13 Lines | |||||
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 ( | ||||
create_save_origin_request, | create_save_origin_request, | ||||
get_savable_visit_types, | get_savable_visit_types, | ||||
get_save_origin_requests_from_queryset, | get_save_origin_requests_from_queryset, | ||||
get_save_origin_task_info, | |||||
) | ) | ||||
from swh.web.common.utils import EnforceCSRFAuthentication | from swh.web.common.utils import EnforceCSRFAuthentication | ||||
def _origin_save_view(request): | def _origin_save_view(request): | ||||
return render( | return render( | ||||
request, | request, | ||||
"misc/origin-save.html", | "misc/origin-save.html", | ||||
▲ Show 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | def _origin_save_requests_list(request, status): | ||||
table_data["recordsFiltered"] = len(save_requests) | table_data["recordsFiltered"] = len(save_requests) | ||||
paginator = Paginator(save_requests, length) | paginator = Paginator(save_requests, length) | ||||
table_data["data"] = paginator.page(page).object_list | table_data["data"] = paginator.page(page).object_list | ||||
table_data_json = json.dumps(table_data, separators=(",", ": ")) | table_data_json = json.dumps(table_data, separators=(",", ": ")) | ||||
return HttpResponse(table_data_json, content_type="application/json") | return HttpResponse(table_data_json, content_type="application/json") | ||||
def _save_origin_task_info(request, save_request_id): | |||||
request_info = get_save_origin_task_info( | |||||
save_request_id, full_info=request.user.is_staff | |||||
) | |||||
for date_field in ("scheduled", "started", "ended"): | |||||
if date_field in request_info and request_info[date_field] is not None: | |||||
request_info[date_field] = request_info[date_field].isoformat() | |||||
return HttpResponse(json.dumps(request_info), content_type="application/json") | |||||
urlpatterns = [ | urlpatterns = [ | ||||
url(r"^save/$", _origin_save_view, name="origin-save"), | url(r"^save/$", _origin_save_view, name="origin-save"), | ||||
url( | url( | ||||
r"^save/(?P<visit_type>.+)/url/(?P<origin_url>.+)/$", | r"^save/(?P<visit_type>.+)/url/(?P<origin_url>.+)/$", | ||||
_origin_save_request, | _origin_save_request, | ||||
name="origin-save-request", | name="origin-save-request", | ||||
), | ), | ||||
url(r"^save/types/list/$", _visit_save_types_list, name="origin-save-types-list"), | url(r"^save/types/list/$", _visit_save_types_list, name="origin-save-types-list"), | ||||
url( | url( | ||||
r"^save/requests/list/(?P<status>.+)/$", | r"^save/requests/list/(?P<status>.+)/$", | ||||
_origin_save_requests_list, | _origin_save_requests_list, | ||||
name="origin-save-requests-list", | name="origin-save-requests-list", | ||||
), | ), | ||||
url( | |||||
r"^save/task/info/(?P<save_request_id>.+)/", | |||||
_save_origin_task_info, | |||||
name="origin-save-task-info", | |||||
), | |||||
] | ] |