Changeset View
Changeset View
Standalone View
Standalone View
swh/web/admin/origin_save.py
Show All 14 Lines | |||||
from swh.web.admin.adminurls import admin_route | from swh.web.admin.adminurls import admin_route | ||||
from swh.web.common.models import ( | from swh.web.common.models import ( | ||||
SaveAuthorizedOrigin, SaveUnauthorizedOrigin, SaveOriginRequest | SaveAuthorizedOrigin, SaveUnauthorizedOrigin, SaveOriginRequest | ||||
) | ) | ||||
from swh.web.common.origin_save import ( | from swh.web.common.origin_save import ( | ||||
create_save_origin_request, | create_save_origin_request, get_save_origin_task_info, | ||||
SAVE_REQUEST_PENDING, SAVE_REQUEST_REJECTED | SAVE_REQUEST_PENDING, SAVE_REQUEST_REJECTED | ||||
) | ) | ||||
@admin_route(r'origin/save/', view_name='admin-origin-save') | @admin_route(r'origin/save/', view_name='admin-origin-save') | ||||
@staff_member_required(login_url=settings.LOGIN_URL) | @staff_member_required(login_url=settings.LOGIN_URL) | ||||
def _admin_origin_save(request): | def _admin_origin_save(request): | ||||
return render(request, 'admin/origin-save.html') | return render(request, 'admin/origin-save.html') | ||||
▲ Show 20 Lines • Show All 155 Lines • ▼ Show 20 Lines | def _admin_origin_save_request_remove(request, sor_id): | ||||
try: | try: | ||||
entry = SaveOriginRequest.objects.get(id=sor_id) | entry = SaveOriginRequest.objects.get(id=sor_id) | ||||
except ObjectDoesNotExist: | except ObjectDoesNotExist: | ||||
status_code = 404 | status_code = 404 | ||||
else: | else: | ||||
entry.delete() | entry.delete() | ||||
status_code = 200 | status_code = 200 | ||||
return HttpResponse(status=status_code) | return HttpResponse(status=status_code) | ||||
@admin_route(r'origin/save/task/info/(?P<save_request_id>.+)/', | |||||
view_name='admin-origin-save-task-info') | |||||
@staff_member_required(login_url=settings.LOGIN_URL) | |||||
def _save_origin_task_info(request, save_request_id): | |||||
request_info = get_save_origin_task_info(save_request_id) | |||||
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') |