Refactor saveMember function to enhance duplicate member handling, allowing updates to existing duplicates and improving error handling for member existence checks.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 51s
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 51s
This commit is contained in:
@@ -244,7 +244,7 @@ export async function saveMember(memberData) {
|
||||
if (memberData.id) {
|
||||
// Update existing manual member if present.
|
||||
// If the ID belongs to a login-only member shown in the merged list,
|
||||
// create a manual overlay with the same ID so editable fields can be stored.
|
||||
// update an existing manual duplicate or create a manual overlay.
|
||||
const index = members.findIndex(m => m.id === memberData.id)
|
||||
const duplicate = findDuplicateMember(
|
||||
members.filter(m => m.id !== memberData.id),
|
||||
@@ -253,12 +253,19 @@ export async function saveMember(memberData) {
|
||||
memberData.geburtsdatum
|
||||
)
|
||||
|
||||
if (duplicate) {
|
||||
if (duplicate && index !== -1) {
|
||||
throw new Error('Ein Mitglied mit diesem Namen und Geburtsdatum existiert bereits.')
|
||||
}
|
||||
|
||||
if (index !== -1) {
|
||||
members[index] = { ...members[index], ...memberData }
|
||||
} else if (duplicate) {
|
||||
const duplicateIndex = members.findIndex(m => m.id === duplicate.id)
|
||||
members[duplicateIndex] = {
|
||||
...members[duplicateIndex],
|
||||
...memberData,
|
||||
id: members[duplicateIndex].id
|
||||
}
|
||||
} else {
|
||||
members.push({
|
||||
...memberData,
|
||||
|
||||
Reference in New Issue
Block a user