feat: improved duplicate (#927)

* feat: improved duplicate

* feat: enhance item duplication process with transaction handling and error logging for attachments and fields

* feat: add error logging during transaction rollback in item duplication process for better debugging

* feat: don't try and rollback is the commit succeeded

* feat: add customizable duplication options for items, including prefix and field copying settings in API and UI

* fix: simplify duplication checks for custom fields, attachments, and maintenance entries in ItemsRepository duplication method

* refactor: import DuplicateSettings type from composables and sort import issues
This commit is contained in:
Tonya
2025-08-23 16:17:15 +01:00
committed by GitHub
parent 8b711eda99
commit 788d0b1c7e
18 changed files with 643 additions and 29 deletions

View File

@@ -305,6 +305,18 @@
<template>
<div>
<Dialog :dialog-id="DialogID.DuplicateSettings">
<DialogContent>
<DialogHeader>
<DialogTitle>{{ $t("items.duplicate.title") }}</DialogTitle>
</DialogHeader>
<ItemDuplicateSettings v-model="preferences.duplicateSettings" />
<p class="text-sm text-muted-foreground">
{{ $t("items.duplicate.override_instructions") }}
</p>
</DialogContent>
</Dialog>
<Dialog :dialog-id="DialogID.ChangePassword">
<DialogContent>
<DialogHeader>
@@ -376,6 +388,9 @@
{{ $t("profile.change_password") }}
</Button>
<Button variant="secondary" size="sm" @click="generateToken"> {{ $t("profile.gen_invite") }} </Button>
<Button variant="secondary" size="sm" @click="openDialog(DialogID.DuplicateSettings)">
{{ $t("items.duplicate.title") }}
</Button>
</div>
<div v-if="token" class="flex items-center gap-2 pl-1 pt-4">
<CopyText :text="tokenUrl" />