Adding sync with imported parts
This commit is contained in:
1 parent
00fb43c8ed
commit
c320595423
11 files changed
+300
-4
No files matched your search
@@ -22,6 +22,7 @@ from app.crud import user as user_crud
|
||||
from app.deps import get_current_web_user
|
||||
from app.models.unc_thread import UncSeries
|
||||
from app.models.user import User
|
||||
from app.services import augmented_part_sync as augmented_part_sync_service
|
||||
from app.services import odata as odata_service
|
||||
from app.web.templates import templates
|
||||
|
||||
@@ -1182,6 +1183,42 @@ async def create_augmented_part(
|
||||
)
|
||||
|
||||
|
||||
@router.post("/augmented-parts/sync", response_class=HTMLResponse)
|
||||
async def sync_augmented_parts(
|
||||
request: Request,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
actor: User = Depends(web_require("augmented_parts:write")),
|
||||
):
|
||||
try:
|
||||
result = await augmented_part_sync_service.sync(db)
|
||||
await audit_crud.log(
|
||||
db, actor=actor, action="update", resource_type="AugmentedPart",
|
||||
resource_id=None,
|
||||
description=(
|
||||
f"Sync: {result.created} created, {result.deleted} deleted, "
|
||||
f"{result.skipped} skipped (no type match)"
|
||||
),
|
||||
)
|
||||
sync_result = (
|
||||
f"Sync complete: {result.created} created, {result.deleted} deleted"
|
||||
+ (f", {result.skipped} skipped (type not recognised)" if result.skipped else "")
|
||||
+ "."
|
||||
)
|
||||
sync_error = None
|
||||
except Exception as exc:
|
||||
sync_result = None
|
||||
sync_error = f"Sync failed: {exc}"
|
||||
return templates.TemplateResponse(
|
||||
request,
|
||||
"admin/_augmented_parts_table.html",
|
||||
{
|
||||
"augmented_parts": await augmented_part_crud.list_all(db),
|
||||
"sync_result": sync_result,
|
||||
"sync_error": sync_error,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@router.get("/augmented-parts/{augmented_part_id}/edit", response_class=HTMLResponse)
|
||||
async def edit_augmented_part_row(
|
||||
request: Request,
|
||||
|
||||
Reference in new issue
Block a user