mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
Merge branch 'merge-6336-into-6339-optimize-event-create-and-update' of github.com:Ocelot-Social-Community/Ocelot-Social into 6379-fix-event-teaser-date-from-start-to-end
This commit is contained in:
commit
f55464f957
@ -1,29 +1,32 @@
|
|||||||
import { UserInputError } from 'apollo-server'
|
import { UserInputError } from 'apollo-server'
|
||||||
|
|
||||||
export const validateEventParams = (params) => {
|
export const validateEventParams = (params) => {
|
||||||
|
let locationName = null
|
||||||
if (params.postType && params.postType === 'Event') {
|
if (params.postType && params.postType === 'Event') {
|
||||||
const { eventInput } = params
|
const { eventInput } = params
|
||||||
validateEventDate(eventInput.eventStart)
|
validateEventDate(eventInput.eventStart)
|
||||||
params.eventStart = eventInput.eventStart
|
params.eventStart = eventInput.eventStart
|
||||||
|
|
||||||
|
if (eventInput.eventEnd) {
|
||||||
validateEventEnd(eventInput.eventStart, eventInput.eventEnd)
|
validateEventEnd(eventInput.eventStart, eventInput.eventEnd)
|
||||||
params.eventEnd = eventInput.eventEnd
|
params.eventEnd = eventInput.eventEnd
|
||||||
|
} else {
|
||||||
|
params.eventEnd = null
|
||||||
|
}
|
||||||
|
|
||||||
if (eventInput.eventLocationName && !eventInput.eventVenue) {
|
if (eventInput.eventLocationName && !eventInput.eventVenue) {
|
||||||
throw new UserInputError('Event venue must be present if event location is given!')
|
throw new UserInputError('Event venue must be present if event location is given!')
|
||||||
}
|
}
|
||||||
params.eventVenue = eventInput.eventVenue
|
params.eventVenue = eventInput.eventVenue
|
||||||
params.eventLocationName = eventInput.eventLocationName
|
params.eventLocationName = eventInput.eventLocationName && eventInput.eventLocationName.trim()
|
||||||
params.eventIsOnline = !!eventInput.eventIsOnline
|
if (params.eventLocationName) {
|
||||||
}
|
|
||||||
delete params.eventInput
|
|
||||||
let locationName
|
|
||||||
if (params.eventLocationName.trim()) {
|
|
||||||
locationName = params.eventLocationName
|
locationName = params.eventLocationName
|
||||||
} else {
|
} else {
|
||||||
params.eventLocationName = null
|
params.eventLocationName = null
|
||||||
locationName = null
|
|
||||||
}
|
}
|
||||||
|
params.eventIsOnline = !!eventInput.eventIsOnline
|
||||||
|
}
|
||||||
|
delete params.eventInput
|
||||||
return locationName
|
return locationName
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +41,6 @@ const validateEventDate = (dateString) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const validateEventEnd = (start, end) => {
|
const validateEventEnd = (start, end) => {
|
||||||
if (end === null) return
|
|
||||||
const endDate = new Date(end)
|
const endDate = new Date(end)
|
||||||
if (endDate.toString() === 'Invalid Date')
|
if (endDate.toString() === 'Invalid Date')
|
||||||
throw new UserInputError('Event end date must be a valid date!')
|
throw new UserInputError('Event end date must be a valid date!')
|
||||||
|
|||||||
@ -307,6 +307,7 @@ export default {
|
|||||||
min: 3,
|
min: 3,
|
||||||
max: 100,
|
max: 100,
|
||||||
validator: (_, value = '') => {
|
validator: (_, value = '') => {
|
||||||
|
if (this.formData.eventIsOnline) return []
|
||||||
if (!value.trim()) {
|
if (!value.trim()) {
|
||||||
return [new Error(this.$t('common.validations.eventLocationNameNotEmpty'))]
|
return [new Error(this.$t('common.validations.eventLocationNameNotEmpty'))]
|
||||||
}
|
}
|
||||||
@ -329,7 +330,7 @@ export default {
|
|||||||
eventVenue: this.formData.eventVenue,
|
eventVenue: this.formData.eventVenue,
|
||||||
eventEnd: this.formData.eventEnd,
|
eventEnd: this.formData.eventEnd,
|
||||||
eventIsOnline: this.formData.eventIsOnline,
|
eventIsOnline: this.formData.eventIsOnline,
|
||||||
eventLocationName: this.formData.eventLocationName,
|
eventLocationName: !this.formData.eventIsOnline ? this.formData.eventLocationName : null,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return undefined
|
return undefined
|
||||||
|
|||||||
@ -115,9 +115,9 @@
|
|||||||
"validations": {
|
"validations": {
|
||||||
"categories": "es müssen eine bis drei Themen ausgewählt werden",
|
"categories": "es müssen eine bis drei Themen ausgewählt werden",
|
||||||
"email": "muss eine gültige E-Mail-Adresse sein",
|
"email": "muss eine gültige E-Mail-Adresse sein",
|
||||||
"eventLocationNameLength": "Mindestens {min} Maximal {max}",
|
"eventLocationNameLength": "Minimum {min}, Maximum {max} Zeichen",
|
||||||
"eventLocationNameNotEmpty": "es dürfen nicht nur Freizeichen eingetragen werden",
|
"eventLocationNameNotEmpty": "es dürfen nicht nur Freizeichen eingetragen werden",
|
||||||
"eventVenueLength": "Mindestens {min} Maximal {max}",
|
"eventVenueLength": "Minimum {min}, Maximum {max} Zeichen",
|
||||||
"eventVenueNotEmpty": "es dürfen nicht nur Freizeichen eingetragen werden",
|
"eventVenueNotEmpty": "es dürfen nicht nur Freizeichen eingetragen werden",
|
||||||
"url": "muss eine gültige URL sein"
|
"url": "muss eine gültige URL sein"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -115,9 +115,9 @@
|
|||||||
"validations": {
|
"validations": {
|
||||||
"categories": "at least one and at most three topics must be selected",
|
"categories": "at least one and at most three topics must be selected",
|
||||||
"email": "must be a valid e-mail address",
|
"email": "must be a valid e-mail address",
|
||||||
"eventLocationNameLength": "minimal {min} maximal {max}",
|
"eventLocationNameLength": "minimum {min} or maximum {max} characters",
|
||||||
"eventLocationNameNotEmpty": "only empty characters are not allowed",
|
"eventLocationNameNotEmpty": "only empty characters are not allowed",
|
||||||
"eventVenueLength": "minimal {min} maximal {max}",
|
"eventVenueLength": "minimum {min} or maximum {max} characters",
|
||||||
"eventVenueNotEmpty": "only empty characters are not allowed",
|
"eventVenueNotEmpty": "only empty characters are not allowed",
|
||||||
"url": "must be a valid URL"
|
"url": "must be a valid URL"
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user