Mitgliedermeldung jetzt wieder möglich
This commit is contained in:
@@ -82,6 +82,14 @@
|
||||
</div>
|
||||
<div class="member-preview-actions">
|
||||
<button type="button" class="btn-primary" @click="editMember(selectedMemberPreview)">{{ $t('members.editMember') }}</button>
|
||||
<button
|
||||
v-if="canShowClickTtRegistration(selectedMemberPreview)"
|
||||
type="button"
|
||||
@click="requestClickTtRegistration(selectedMemberPreview)"
|
||||
:disabled="isClickTtRegistrationPending(selectedMemberPreview)"
|
||||
>
|
||||
{{ isClickTtRegistrationPending(selectedMemberPreview) ? 'Anmeldung läuft…' : 'HTTV-Anmeldung' }}
|
||||
</button>
|
||||
<button type="button" @click="openOrdersDialog(selectedMemberPreview)">{{ $t('orders.title') }}</button>
|
||||
<button type="button" @click="openImageModal(selectedMemberPreview)">{{ $t('members.memberImages') }}</button>
|
||||
<button type="button" @click="openNotesModal(selectedMemberPreview)">{{ $t('members.notes') }}</button>
|
||||
@@ -359,6 +367,27 @@
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="memberToEdit && canManageMembers" class="contact-section member-clicktt-section">
|
||||
<label><span>HTTV-/click-TT</span></label>
|
||||
<div class="member-clicktt-actions">
|
||||
<button
|
||||
v-if="canShowClickTtRegistration(memberToEdit)"
|
||||
type="button"
|
||||
class="member-clicktt-button"
|
||||
@click="requestClickTtRegistration(memberToEdit)"
|
||||
:disabled="isClickTtRegistrationPending(memberToEdit)"
|
||||
>
|
||||
{{ isClickTtRegistrationPending(memberToEdit) ? 'Anmeldung läuft…' : 'Spielberechtigung / Anmeldung übermitteln' }}
|
||||
</button>
|
||||
<div v-else class="member-clicktt-hint">
|
||||
{{ clickTtRegistrationAvailabilityText(memberToEdit) }}
|
||||
</div>
|
||||
<div v-if="memberToEdit.clickTtApplicationSubmitted" class="member-clicktt-status">
|
||||
Antrag bereits an click-TT übermittelt.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label><span>{{ $t('members.image') }}:</span>
|
||||
<div style="display: flex; gap: 10px; align-items: center;">
|
||||
@@ -715,6 +744,10 @@ export default {
|
||||
return this.hasPermission('members', 'write');
|
||||
},
|
||||
|
||||
canManageMembers() {
|
||||
return this.hasPermission('members', 'write');
|
||||
},
|
||||
|
||||
trainingGroupFilterOptions() {
|
||||
const groups = new Map();
|
||||
this.members.forEach((member) => {
|
||||
@@ -1631,6 +1664,39 @@ export default {
|
||||
this.clickTtPendingMemberIds = this.clickTtPendingMemberIds.filter(id => id !== member.id);
|
||||
}
|
||||
},
|
||||
isClickTtRegistrationPending(member) {
|
||||
return !!member?.id && this.clickTtPendingMemberIds.includes(member.id);
|
||||
},
|
||||
canShowClickTtRegistration(member) {
|
||||
if (!this.canManageMembers || !member?.id) {
|
||||
return false;
|
||||
}
|
||||
if (!member.active) {
|
||||
return false;
|
||||
}
|
||||
if (member.clickTtApplicationSubmitted) {
|
||||
return false;
|
||||
}
|
||||
if (member.ttr || member.qttr) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
clickTtRegistrationAvailabilityText(member) {
|
||||
if (!member?.id) {
|
||||
return 'Die HTTV-Anmeldung ist erst für gespeicherte Mitglieder verfügbar.';
|
||||
}
|
||||
if (!member.active) {
|
||||
return 'Die HTTV-Anmeldung ist nur für aktive Mitglieder verfügbar.';
|
||||
}
|
||||
if (member.clickTtApplicationSubmitted) {
|
||||
return 'Für dieses Mitglied wurde bereits ein Antrag an click-TT übermittelt.';
|
||||
}
|
||||
if (member.ttr || member.qttr) {
|
||||
return 'Für dieses Mitglied sind bereits TTR/QTTR-Daten vorhanden.';
|
||||
}
|
||||
return 'Die HTTV-Anmeldung kann hier direkt ausgelöst werden.';
|
||||
},
|
||||
toggleNewMember() {
|
||||
this.memberFormIsOpen = !this.memberFormIsOpen;
|
||||
if (!this.memberFormIsOpen && this.memberToEdit) {
|
||||
@@ -4179,6 +4245,33 @@ table td {
|
||||
font-size: 0.88rem;
|
||||
}
|
||||
|
||||
.member-clicktt-section {
|
||||
border: 1px solid #d7dee6;
|
||||
border-radius: 10px;
|
||||
background: #f8fbfd;
|
||||
}
|
||||
|
||||
.member-clicktt-actions {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.member-clicktt-button {
|
||||
align-self: flex-start;
|
||||
}
|
||||
|
||||
.member-clicktt-hint,
|
||||
.member-clicktt-status {
|
||||
color: #51606f;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.member-clicktt-status {
|
||||
color: #12427a;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@keyframes pulse-warning {
|
||||
0%, 100% {
|
||||
opacity: 1;
|
||||
|
||||
Reference in New Issue
Block a user