Add export for all system default tasks
This commit is contained in:
@@ -24,6 +24,7 @@ from app.modules.services.bulk_imports import (
|
||||
import_due_date_extensions,
|
||||
)
|
||||
from app.modules.services.catalogue_export import build_service_catalogue_export
|
||||
from app.modules.services.default_tasks_export import build_default_tasks_export
|
||||
from app.modules.services.due_dates import (
|
||||
DUE_PERIOD_TYPES,
|
||||
DUE_YEAR_BASIS_CHOICES,
|
||||
@@ -1009,6 +1010,28 @@ def default_templates_catalogue_list(request: Request):
|
||||
db.close()
|
||||
|
||||
|
||||
@router.get('/defaults/export')
|
||||
def default_tasks_export(request: Request):
|
||||
db = CommonSessionLocal()
|
||||
try:
|
||||
user = get_current_user(request, db=db)
|
||||
if not user:
|
||||
return RedirectResponse(url='/login', status_code=303)
|
||||
require_permission(db, user, 'service_tasks.view')
|
||||
if not _is_system_admin(db, user):
|
||||
return _redirect_denied()
|
||||
|
||||
workbook_bytes = build_default_tasks_export(db)
|
||||
filename = f"system_default_tasks_export_{datetime.now(timezone.utc).strftime('%Y%m%d_%H%M%S')}.xlsx"
|
||||
return StreamingResponse(
|
||||
iter([workbook_bytes]),
|
||||
media_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
||||
headers={'Content-Disposition': f'attachment; filename="{filename}"'},
|
||||
)
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
|
||||
@router.get('/catalogue/{catalogue_id}/defaults')
|
||||
def default_templates_detail(request: Request, catalogue_id: int):
|
||||
db = CommonSessionLocal()
|
||||
|
||||
Reference in New Issue
Block a user