feat(MemberTransferService, MemberTransferDialog): clarify member transfer process and enhance UI feedback
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 44s
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 44s
- Updated MemberTransferService to explicitly load only active members with testMembership = false, improving clarity in the transfer logic. - Added a UI hint in MemberTransferDialog to inform users that only active members will be transferred, enhancing user experience and transparency.
This commit is contained in:
@@ -7,7 +7,7 @@ import { devLog, infoLog, errorLog } from '../utils/logger.js';
|
||||
|
||||
class MemberTransferService {
|
||||
/**
|
||||
* Überträgt alle aktiven Mitglieder mit testMembership = false an einen externen Endpoint
|
||||
* Überträgt nur aktive Mitglieder mit testMembership = false an einen externen Endpoint
|
||||
*
|
||||
* @param {string} userToken - User Token für Authentifizierung
|
||||
* @param {number} clubId - Club ID
|
||||
@@ -26,11 +26,12 @@ class MemberTransferService {
|
||||
try {
|
||||
await checkAccess(userToken, clubId);
|
||||
|
||||
// 1. Alle aktiven Mitglieder mit testMembership = false laden
|
||||
// 1. Alle Mitglieder (ohne Test-Mitglieder) laden.
|
||||
// Die aktive Selektion erfolgt explizit in der Validierung, damit
|
||||
// ausgeschlossene inaktive Mitglieder transparent gemeldet werden.
|
||||
const members = await Member.findAll({
|
||||
where: {
|
||||
clubId: clubId,
|
||||
active: true,
|
||||
testMembership: false
|
||||
}
|
||||
});
|
||||
@@ -53,6 +54,10 @@ class MemberTransferService {
|
||||
|
||||
for (const member of members) {
|
||||
const validationErrors = [];
|
||||
|
||||
if (!member.active) {
|
||||
validationErrors.push('Mitglied ist inaktiv');
|
||||
}
|
||||
|
||||
// Pflichtfelder prüfen
|
||||
if (!member.firstName || member.firstName.trim() === '') {
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
<div v-else>
|
||||
<div class="config-summary">
|
||||
<h4>{{ $t('memberTransferDialog.transferConfiguration') }}</h4>
|
||||
<p class="active-members-hint">Es werden nur aktive Mitglieder übertragen.</p>
|
||||
<div class="summary-info">
|
||||
<div class="summary-row">
|
||||
<span class="summary-label">{{ $t('memberTransferDialog.server') }}:</span>
|
||||
@@ -638,6 +639,15 @@ export default {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.active-members-hint {
|
||||
margin: 0 0 1rem 0;
|
||||
padding: 0.55rem 0.75rem;
|
||||
border-left: 3px solid #2f7a5f;
|
||||
background: #eef8f3;
|
||||
color: #1f5f49;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.summary-row {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
|
||||
Reference in New Issue
Block a user