Added test membership

This commit is contained in:
Torsten Schulz
2024-10-21 18:33:21 +02:00
parent 17c40093ca
commit 0232202f8d
4 changed files with 16 additions and 5 deletions

View File

@@ -33,10 +33,11 @@ const getWaitingApprovals = async(req, res) => {
const setClubMembers = async (req, res) => {
try {
const { id: memberId, firstname: firstName, lastname: lastName, street, city, birthdate, phone, email, active } = req.body;
const { id: memberId, firstname: firstName, lastname: lastName, street, city, birthdate, phone, email, active, testMembership } = 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, active);
const addResult = await MemberService.setClubMember(userToken, clubId, memberId, firstName, lastName, street, city, birthdate,
phone, email, active, testMembership);
res.status(addResult.status || 500).json(addResult.response);
} catch (error) {
console.error('[setClubMembers] - Error:', error);

View File

@@ -111,6 +111,11 @@ const Member = sequelize.define('User', {
type: DataTypes.BOOLEAN,
allowNull: false,
default: true,
},
testMembership: {
type: DataTypes.BOOLEAN,
allowNull: false,
default: false,
}
}, {
underscored: true,

View File

@@ -53,7 +53,7 @@ class MemberService {
});
}
async setClubMember(userToken, clubId, memberId, firstName, lastName, street, city, birthdate, phone, email, active = true) {
async setClubMember(userToken, clubId, memberId, firstName, lastName, street, city, birthdate, phone, email, active = true, testMembership = false) {
try {
console.log('[setClubMembers] - Check access');
await checkAccess(userToken, clubId);
@@ -73,6 +73,7 @@ class MemberService {
member.phone = phone;
member.email = email;
member.active = active;
member.testMembership = testMembership
await member.save();
} else {
await Member.create({
@@ -84,7 +85,8 @@ class MemberService {
phone: phone,
email: email,
clubId: clubId,
active: active
active: active,
testMembership: testMembership
});
}
console.log('[setClubMembers] - return response');

View File

@@ -18,6 +18,7 @@
<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>
<label><span>Testmitgliedschaft:</span> <input type="checkbox" v-model="testMembership"</label>
<label><span>Bild:</span> <input type="file" @change="onFileSelected"></label>
<div v-if="memberImagePreview">
<img :src="memberImagePreview" alt="Vorschau des Mitgliedsbildes"
@@ -118,6 +119,7 @@ export default {
showNotesModal: false,
showImageModal: false,
selectedImageUrl: null,
testMembership: false,
}
},
async mounted() {
@@ -183,6 +185,7 @@ export default {
email: this.newEmail,
active: this.newActive,
id: this.memberToEdit ? this.memberToEdit.id : null,
testMembership: this.testMembership
};
let response;
@@ -222,6 +225,7 @@ export default {
this.newPhone = member.phone;
this.newEmail = member.email;
this.newActive = member.active;
this.testMembership = member.testMembership;
try {
const response = await apiClient.get(`/clubmembers/image/${member.id}`, {
responseType: 'blob'
@@ -231,7 +235,6 @@ export default {
console.error("Fehler beim Laden des Bildes:", error);
this.memberImagePreview = null;
}
},
resetToNewMember() {
this.memberToEdit = null;