Enhance error handling and logging in MemberTransferService and MemberTransferDialog
Updated the MemberTransferService to provide detailed error messages during bulk transfers, including identification of problematic members. Improved logging for error responses to facilitate debugging. In the MemberTransferDialog, implemented $nextTick to ensure login credentials are cleared properly upon loading and closing, enhancing user experience and preventing autofill issues.
This commit is contained in:
@@ -58,17 +58,27 @@
|
||||
<label>Login-Daten:</label>
|
||||
<div class="credentials-group">
|
||||
<div class="credential-row">
|
||||
<!-- Dummy-Felder, um Browser-Autofill zu verhindern (ausgeblendet) -->
|
||||
<input type="text" style="position: absolute; left: -9999px; opacity: 0;" tabindex="-1" autocomplete="off" />
|
||||
<input type="password" style="position: absolute; left: -9999px; opacity: 0;" tabindex="-1" autocomplete="off" />
|
||||
|
||||
<input
|
||||
type="text"
|
||||
v-model="loginCredentials.username"
|
||||
placeholder="Benutzername / Email"
|
||||
class="form-input"
|
||||
autocomplete="off"
|
||||
name="transfer-username"
|
||||
id="transfer-username"
|
||||
/>
|
||||
<input
|
||||
type="password"
|
||||
v-model="loginCredentials.password"
|
||||
placeholder="Passwort (leer lassen für gespeichertes)"
|
||||
class="form-input"
|
||||
autocomplete="new-password"
|
||||
name="transfer-password"
|
||||
id="transfer-password"
|
||||
/>
|
||||
</div>
|
||||
<div class="credential-row">
|
||||
@@ -77,12 +87,16 @@
|
||||
v-model="loginCredentials.additionalField1"
|
||||
:placeholder="additionalField1Placeholder"
|
||||
class="form-input"
|
||||
autocomplete="off"
|
||||
name="transfer-additional1"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
v-model="loginCredentials.additionalField2"
|
||||
:placeholder="additionalField2Placeholder"
|
||||
class="form-input"
|
||||
autocomplete="off"
|
||||
name="transfer-additional2"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -173,12 +187,15 @@ export default {
|
||||
modelValue(newVal) {
|
||||
if (newVal) {
|
||||
// WICHTIG: Felder sofort leeren, bevor Konfiguration geladen wird
|
||||
this.loginCredentials = {
|
||||
username: '',
|
||||
password: '',
|
||||
additionalField1: '',
|
||||
additionalField2: ''
|
||||
};
|
||||
// Verwende $nextTick, um sicherzustellen, dass Vue die Änderungen verarbeitet
|
||||
this.$nextTick(() => {
|
||||
this.loginCredentials = {
|
||||
username: '',
|
||||
password: '',
|
||||
additionalField1: '',
|
||||
additionalField2: ''
|
||||
};
|
||||
});
|
||||
this.loadSavedConfig();
|
||||
} else {
|
||||
// Beim Schließen auch leeren
|
||||
@@ -200,12 +217,15 @@ export default {
|
||||
}
|
||||
|
||||
// WICHTIG: Login-Credentials sofort leeren, damit sie nicht vorausgefüllt werden
|
||||
this.loginCredentials = {
|
||||
username: '',
|
||||
password: '',
|
||||
additionalField1: '',
|
||||
additionalField2: ''
|
||||
};
|
||||
// Verwende $nextTick, um sicherzustellen, dass Vue die Änderungen verarbeitet
|
||||
this.$nextTick(() => {
|
||||
this.loginCredentials = {
|
||||
username: '',
|
||||
password: '',
|
||||
additionalField1: '',
|
||||
additionalField2: ''
|
||||
};
|
||||
});
|
||||
|
||||
this.loadingConfig = true;
|
||||
try {
|
||||
@@ -235,12 +255,15 @@ export default {
|
||||
}
|
||||
} finally {
|
||||
// Sicherstellen, dass Login-Credentials leer sind
|
||||
this.loginCredentials = {
|
||||
username: '',
|
||||
password: '',
|
||||
additionalField1: '',
|
||||
additionalField2: ''
|
||||
};
|
||||
// Verwende $nextTick, um sicherzustellen, dass Vue die Änderungen verarbeitet
|
||||
this.$nextTick(() => {
|
||||
this.loginCredentials = {
|
||||
username: '',
|
||||
password: '',
|
||||
additionalField1: '',
|
||||
additionalField2: ''
|
||||
};
|
||||
});
|
||||
this.loadingConfig = false;
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user