Added active for members

This commit is contained in:
Torsten Schulz
2024-09-04 12:11:43 +02:00
parent 6d31c0f86e
commit c65c629210
3 changed files with 17 additions and 7 deletions

View File

@@ -29,11 +29,11 @@ const getWaitingApprovals = async(req, res) => {
}
}
const setClubMembers = async(req, res) => {
const { id: memberId, firstname: firstName, lastname: lastName, street, city, birthdate, phone, email} = req.body;
const setClubMembers = async (req, res) => {
const { id: memberId, firstname: firstName, lastname: lastName, street, city, birthdate, phone, email, active } = req.body;
const { id: clubId } = req.params;
const { authcode: userToken } = req.headers;
const addResult = await MemberService.setClubMember(userToken, clubId, memberId, firstName, lastName, street, city, birthdate, phone, email);
const addResult = await MemberService.setClubMember(userToken, clubId, memberId, firstName, lastName, street, city, birthdate, phone, email, active);
res.status(addResult.status || 500).json(addResult.response);
}

View File

@@ -30,7 +30,7 @@ class MemberService {
return members;
}
async setClubMember(userToken, clubId, memberId, firstName, lastName, street, city, birthdate, phone, email) {
async setClubMember(userToken, clubId, memberId, firstName, lastName, street, city, birthdate, phone, email, active = true) {
try {
console.log('[setClubMembers] - Check access');
await checkAccess(userToken, clubId);
@@ -38,7 +38,7 @@ class MemberService {
let member = null;
console.log('[setClubMembers] - load member if possible');
if (memberId) {
member = await Member.findOne({ where: { id: memberId }});
member = await Member.findOne({ where: { id: memberId } });
}
console.log('[setClubMembers] - set member');
if (member) {
@@ -49,6 +49,7 @@ class MemberService {
member.birthDate = birthdate;
member.phone = phone;
member.email = email;
member.active = active; // Active status setzen
await member.save();
} else {
await Member.create({
@@ -60,6 +61,7 @@ class MemberService {
phone: phone,
email: email,
clubId: clubId,
active: active // Active status setzen
});
}
console.log('[setClubMembers] - load club members');

View File

@@ -3,8 +3,9 @@
<h2>Mitglieder</h2>
<div class="newmember">
<div class="toggle-new-member"><span @click="toggleNewMember"><span class="add">{{ memberFormIsOpen ? '-' :
'+' }}</span>{{ memberToEdit === null ? "Neues Mitglied" : "Mitglied bearbeiten" }}</span>
<button v-if="memberToEdit !== null" @click="resetToNewMember">Neues Mitglied anlegen</button></div>
'+' }}</span>{{ memberToEdit === null ? "Neues Mitglied" : "Mitglied bearbeiten" }}</span>
<button v-if="memberToEdit !== null" @click="resetToNewMember">Neues Mitglied anlegen</button>
</div>
<div v-if="memberFormIsOpen" class="new-member-form">
<label><span>Vorname:</span> <input type="text" v-model="newFirstname"></label>
<label><span>Nachname:</span> <input type="text" v-model="newLastname"></label>
@@ -13,6 +14,7 @@
<label><span>Geburtsdatum:</span> <input type="date" v-model="newBirthdate"></label>
<label><span>Telefon-Nr.:</span> <input type="text" v-model="newPhone"></label>
<label><span>Email-Adresse:</span> <input type="email" v-model="newEmail"></label>
<label><span>Aktiv:</span> <input type="checkbox" v-model="newActive"></label>
<div>
<button @click="addNewMember">Anlegen</button>
<button @click="resetNewMember" v-if="memberToEdit === null">Felder leeren</button>
@@ -62,7 +64,9 @@ export default {
newStreet: '',
newCity: '',
newBirthdate: '01.01.2010',
newPhone: '',
newEmail: '',
newActive: true, // Neues Feld für Active-Status
memberToEdit: null
}
},
@@ -85,6 +89,7 @@ export default {
this.newBirthdate = '01.01.2010';
this.newPhone = '';
this.newEmail = '';
this.newActive = true; // Standardmäßig aktiv
},
async addNewMember() {
const response = await apiClient.post(`/clubmembers/${this.currentClub}`, {
@@ -95,6 +100,7 @@ export default {
birthdate: this.newBirthdate,
phone: this.newPhone,
email: this.newEmail,
active: this.newActive, // Übermitteln des Active-Status
id: this.memberToEdit ? this.memberToEdit.id : null,
});
this.members = response.data;
@@ -110,6 +116,7 @@ export default {
this.newCity = member.city;
this.newPhone = member.phone;
this.newEmail = member.email;
this.newActive = member.active; // Den aktuellen Status laden
},
resetToNewMember() {
this.memberToEdit = null;
@@ -120,6 +127,7 @@ export default {
this.newBirthdate = '01.01.2010';
this.newPhone = '';
this.newEmail = '';
this.newActive = true; // Standardmäßig aktiv
}
}
}