Add full sync retirement for missing system default tasks

This commit is contained in:
A R R R Associates
2026-09-19 14:13:16 +05:30
parent 2d6043962b
commit 7bd7f52278
6 changed files with 195 additions and 33 deletions
+5 -5
View File
@@ -2085,7 +2085,7 @@ def default_tasks_service_export(request: Request, catalogue_id: int):
finally: db.close()
@router.post('/catalogue/{catalogue_id}/defaults/import')
def default_tasks_service_import(request: Request, catalogue_id: int, file: UploadFile = File(...), csrf_token: str = Form(...)):
def default_tasks_service_import(request: Request, catalogue_id: int, file: UploadFile = File(...), full_sync: str | None = Form(None), csrf_token: str = Form(...)):
validate_csrf(request, csrf_token); db = CommonSessionLocal()
try:
user=get_current_user(request, db=db)
@@ -2094,9 +2094,9 @@ def default_tasks_service_import(request: Request, catalogue_id: int, file: Uplo
if not _is_system_admin(db,user): return _redirect_denied()
catalogue=get_catalogue(db,catalogue_id)
if not catalogue: return RedirectResponse(url='/services/defaults',status_code=303)
result=import_system_default_tasks(db,current_user=user,file_bytes=file.file.read(),update_existing=True,expected_service_code=catalogue.service_code)
result=import_system_default_tasks(db,current_user=user,file_bytes=file.file.read(),update_existing=True,expected_service_code=catalogue.service_code,full_sync=full_sync is not None)
if result.get('errors'): return RedirectResponse(url=f'/services/catalogue/{catalogue_id}/defaults?import_error=1',status_code=303)
return RedirectResponse(url=f'/services/catalogue/{catalogue_id}/defaults?imported=1&created={result.get("created",0)}&updated={result.get("updated",0)}',status_code=303)
return RedirectResponse(url=f'/services/catalogue/{catalogue_id}/defaults?imported=1&created={result.get("created",0)}&updated={result.get("updated",0)}&retired={result.get("retired",0)}&full_sync={1 if result.get("full_sync") else 0}',status_code=303)
finally: db.close()
@router.get('/templates/{catalogue_id}/export')
@@ -2516,7 +2516,7 @@ def upload_service_master(request: Request, file: UploadFile = File(...), update
@router.post("/bulk-imports/system-default-tasks")
def upload_system_default_tasks(request: Request, file: UploadFile = File(...), update_existing: str | None = Form(None), csrf_token: str = Form(...)):
def upload_system_default_tasks(request: Request, file: UploadFile = File(...), update_existing: str | None = Form(None), full_sync: str | None = Form(None), csrf_token: str = Form(...)):
validate_csrf(request, csrf_token)
db = CommonSessionLocal()
try:
@@ -2529,7 +2529,7 @@ def upload_system_default_tasks(request: Request, file: UploadFile = File(...),
require_permission(db, user, "service_tasks.create")
except Exception:
return _redirect_denied()
result = import_system_default_tasks(db, current_user=user, file_bytes=file.file.read(), update_existing=update_existing is not None)
result = import_system_default_tasks(db, current_user=user, file_bytes=file.file.read(), update_existing=update_existing is not None, full_sync=full_sync is not None)
return _render(request, "modules/services/templates/services/bulk_imports/result.html", db, user, title="System Default Tasks Import Result", result=result, back_url="/services/bulk-imports")
finally:
db.close()