From bb4f490bb1023170750b617e86b77743e19639df Mon Sep 17 00:00:00 2001 From: Torsten Schulz Date: Wed, 7 May 2025 11:55:27 +0200 Subject: [PATCH] Added rendering of Event Images --- .gitignore | 1 + controllers/eventController.js | 2 +- models/event.js | 8 +++++ src/components/EventForm.vue | 7 +++++ src/components/EventRender.vue | 56 +++++++++++++++++++++++++++++----- vue.config.js | 4 +-- 6 files changed, 67 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index f5115c1..1d78bca 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ node_modules server.key server.cert +public/images/uploads/1ba24ea7-f52c-4179-896f-1909269cab58.jpg diff --git a/controllers/eventController.js b/controllers/eventController.js index ae285c1..c1e9a94 100644 --- a/controllers/eventController.js +++ b/controllers/eventController.js @@ -61,7 +61,7 @@ const filterEvents = async (req, res) => { { model: Institution, as: 'institution' }, { model: EventPlace, as: 'eventPlace' }, { model: EventType, as: 'eventType' }, - { model: ContactPerson, as: 'contactPersons', through: { attributes: [] } } + { model: ContactPerson, as: 'contactPersons', through: { attributes: [] } }, ], order: ['name', 'date', 'time'] }); diff --git a/models/event.js b/models/event.js index 500041b..b8814b1 100644 --- a/models/event.js +++ b/models/event.js @@ -41,6 +41,10 @@ module.exports = (sequelize) => { alsoOnHomepage: { type: DataTypes.INTEGER, allowNull: false + }, + relatedImage: { + type: DataTypes.STRING, + allowNull: true } }, { tableName: 'events', @@ -66,6 +70,10 @@ module.exports = (sequelize) => { otherKey: 'contact_person_id', as: 'contactPersons' }); + Event.belongsTo(models.Image, { + foreignKey: 'relatedImage', + as: 'relatedImageAssociation' + }) }; return Event; diff --git a/src/components/EventForm.vue b/src/components/EventForm.vue index 235eee0..7fbfad6 100644 --- a/src/components/EventForm.vue +++ b/src/components/EventForm.vue @@ -94,6 +94,13 @@ > + + + + + Zugewiesenes Bild: + + diff --git a/src/components/EventRender.vue b/src/components/EventRender.vue index f6e2d30..bea3d6d 100644 --- a/src/components/EventRender.vue +++ b/src/components/EventRender.vue @@ -3,24 +3,33 @@ -
+
{{ event.name }}
{{ formatDateOrDay(event.date, event.dayOfWeek) }}
-
{{ formatTime(event.time) }} - {{ formatTime(event.endTime) }} Uhr
+
{{ formatTime(event.time) }} - {{ + formatTime(event.endTime) }} Uhr
{{ event.eventPlace?.name }}
{{ event.description }}
-
{{ event.contactPersons.map(cp => cp.name).join(', ') }}
+
{{event.contactPersons.map(cp => cp.name).join(', ')}} +
{{ event.institution?.name }}
{{ event.eventType?.caption }}
-
+ +
+
{{ events[0].name }}
{{ formatDateOrDay(events[0].date, events[0].dayOfWeek) }}
-
{{ formatTime(events[0].time) }} - {{ formatTime(events[0].endTime) }} Uhr
+
{{ formatTime(events[0].time) }} - {{ + formatTime(events[0].endTime) }} Uhr
{{ events[0].eventPlace?.name }}
{{ events[0].description }}
-
{{ events[0].contactPersons.map(cp => cp.name).join(', ') }}
+
{{events[0].contactPersons.map(cp => cp.name).join(', ')}} +
{{ events[0].institution?.name }}
{{ events[0].eventType?.caption }}
@@ -29,7 +38,7 @@