From 70f9f856248381cc4d9f60d2429d824067cacd2c Mon Sep 17 00:00:00 2001 From: philipp lang Date: Tue, 5 Mar 2024 21:37:54 +0100 Subject: [PATCH] Remove assets --- assets/eventregistration-ausbildung.js | 145 -------------- assets/eventregistration-basteltag.js | 143 -------------- assets/eventregistration-bela.js | 174 ----------------- assets/eventregistration-georgstag.js | 152 --------------- assets/eventregistration-jfilmnacht.js | 148 --------------- assets/eventregistration-musik.js | 143 -------------- assets/eventregistration-tdw.js | 163 ---------------- assets/eventregistration-woeskalation.js | 163 ---------------- assets/eventregistration.js | 228 ----------------------- assets/scrollToElement.js | 30 --- jobs/ProcessSubmitJob.php | 10 +- 11 files changed, 7 insertions(+), 1492 deletions(-) delete mode 100644 assets/eventregistration-ausbildung.js delete mode 100644 assets/eventregistration-basteltag.js delete mode 100644 assets/eventregistration-bela.js delete mode 100644 assets/eventregistration-georgstag.js delete mode 100644 assets/eventregistration-jfilmnacht.js delete mode 100644 assets/eventregistration-musik.js delete mode 100644 assets/eventregistration-tdw.js delete mode 100644 assets/eventregistration-woeskalation.js delete mode 100644 assets/eventregistration.js delete mode 100644 assets/scrollToElement.js diff --git a/assets/eventregistration-ausbildung.js b/assets/eventregistration-ausbildung.js deleted file mode 100644 index d45f17e..0000000 --- a/assets/eventregistration-ausbildung.js +++ /dev/null @@ -1,145 +0,0 @@ -import scrollToElement from "./scrollToElement.js"; - -var toastedOptions = { - position: "bottom-right", - duration: 3000, - fitToScreen: false, - fullWidth: false, - theme: "material", -}; - -export default function (toasted) { - var toasted = new toasted(toastedOptions); - - return { - data: { - event_id: null, - gender: "", - firstname: "", - lastname: "", - birthday: "", - group: null, - phone: "", - email: "", - agegroup_leader: null, - food_preferences: [], - foto: false, - misc: "", - }, - loading: false, - finished: false, - submitRequest: null, - errorFields: [], - active: 0, - slides: ["Persönliches", "Veranstaltung", "Sonstiges"], - genders: [ - { id: "Männlich", name: "Männlich" }, - { id: "Weiblich", name: "Weiblich" }, - { id: "Divers", name: "Divers" }, - ], - groups: [ - { id: "Gallier", name: "Gallier (Wuppertal)" }, - { id: "Gandalf", name: "Gandalf (SG-Mangenberg)" }, - { id: "Gravenrode", name: "Gravenrode (SG-Gräfrath)" }, - { id: "Lennep", name: "Lennep (RS-Lennep)" }, - { id: "Silva", name: "Silva (SG-Wald)" }, - { id: "Sugambrer", name: "Sugambrer (SG-Höhscheid)" }, - { id: "Tenkterer", name: "Tenkterer (SG-Löhdorf)" }, - { id: "von Berg", name: "von Berg (SG-Ohligs)" }, - ], - agegroupLeaders: [ - { id: "Biber", name: "Biber" }, - { id: "Wölfling", name: "Wölfling" }, - { id: "Jungpfadfinder", name: "Jungpfadfinder" }, - { id: "Pfadfinder", name: "Pfadfinder" }, - { id: "Rover", name: "Rover" }, - ], - boolean: [ - { id: "Ja", name: "Ja" }, - { id: "Nein", name: "Nein" }, - ], - foodPreferences: [ - { id: "Fleisch", name: "Ich esse Fleisch" }, - { id: "Vegan", name: "Ich ernähre mich vegan" }, - { id: "Glutenfrei", name: "Ich vertrage kein Gluten" }, - { id: "Laktosefrei", name: "Ich vertrage keine Laktose" }, - ], - slideTo(e, index) { - if (e !== null) { - e.preventDefault(); - } - if (index < 0 || index > this.slides.length - 1) { - return; - } - this.scrollForm(this.$refs.form); - this.active = index; - this.$refs.slider.scrollLeft = - (this.$refs.slider.scrollWidth / this.slides.length) * index; - this.$refs.mobileSlider.scrollLeft = - (this.$refs.mobileSlider.scrollWidth / this.slides.length) * index; - }, - scrollForm(el) { - var margin = window.getComputedStyle(el).marginTop.replace("px", ""); - scrollToElement(el, 300, (margin ? margin : 0) * -1); - }, - submit() { - var _self = this; - _self.loading = true; - var promise = fetch(window.location.href, { - method: "POST", - headers: { - "Content-Type": "application/json", - Accept: "application/json", - "X-WINTER-REQUEST-HANDLER": this.submitRequest, - "X-WINTER-REQUEST-PARTIALS": [], - "X-Requested-With": "XMLHttpRequest", - }, - body: JSON.stringify(this.data), - }); - - promise.then(function (response) { - _self.loading = false; - if (response.status === 422) { - response.json().then((errors) => { - _self.scrollToFirstError(errors); - Object.keys(errors).forEach((field) => { - toasted.error(errors[field].join("
")); - }); - }); - } - if (response.status === 201) { - _self.finished = true; - _self.scrollForm(_self.$refs.form); - } - }); - }, - scrollToFirstError(errors) { - if (Object.keys(errors).length === 0) { - return; - } - - var firstField = Object.keys(errors)[0]; - var field = this.$refs.form.querySelector('[name="' + firstField + '"]'); - - if (field === null) { - return; - } - - var slideElement = field.closest(".slider-element"); - this.slideTo( - null, - Array.from(slideElement.parentNode.children).indexOf(slideElement) - ); - }, - prevButton: { - [":class"]() { - return this.active == 0 ? "opacity-40" : ""; - }, - }, - nextButton: { - [":class"]() { - return this.active == this.slides.length - 1 ? "opacity-40" : ""; - }, - }, - }; -} diff --git a/assets/eventregistration-basteltag.js b/assets/eventregistration-basteltag.js deleted file mode 100644 index dda11e2..0000000 --- a/assets/eventregistration-basteltag.js +++ /dev/null @@ -1,143 +0,0 @@ -import scrollToElement from './scrollToElement.js'; - -var toastedOptions = { - position: 'bottom-right', - duration: 3000, - fitToScreen: false, - fullWidth: false, - theme: 'material', -}; - -export default function (toasted) { - var toasted = new toasted(toastedOptions); - - return { - data: { - event_id: null, - gender: '', - firstname: '', - lastname: '', - birthday: '', - phone: '', - email: '', - group: null, - agegroup: null, - food_preferences: [], - misc: '', - parent: false, - foto: false, - }, - loading: false, - finished: false, - submitRequest: null, - errorFields: [], - active: 0, - slides: [ - 'Persönliches', - 'Veranstaltung', - 'Sonstiges' - ], - genders: [ - {"id": "Männlich", "name": "Männlich"}, - {"id": "Weiblich", "name": "Weiblich"}, - {"id": "Divers", "name": "Divers"}, - ], - groups: [ - {"id": "Gallier", "name": "Gallier (Wuppertal)"}, - {"id": "Gandalf", "name": "Gandalf (SG-Mangenberg)"}, - {"id": "Gravenrode", "name": "Gravenrode (SG-Gräfrath)"}, - {"id": "Lennep", "name": "Lennep (RS-Lennep)"}, - {"id": "Silva", "name": "Silva (SG-Wald)"}, - {"id": "Sugambrer", "name": "Sugambrer (SG-Höhscheid)"}, - {"id": "Tenkterer", "name": "Tenkterer (SG-Löhdorf)"}, - {"id": "von Berg", "name": "von Berg (SG-Ohligs)"}, - ], - agegroups: [ - {"id": "Rover", "name": "Rover"}, - {"id": "Leiter*in", "name": "Leiter*in"}, - ], - boolean: [ - {"id": "Ja", "name": "Ja"}, - {"id": "Nein", "name": "Nein"}, - ], - foodPreferences: [ - {"id": "Fleisch", "name": "Ich esse Fleisch"}, - {"id": "Vegan", "name": "Ich ernähre mich vegan"}, - {"id": "Glutenfrei", "name": "Ich vertrage kein Gluten"}, - {"id": "Laktosefrei", "name": "Ich vertrage keine Laktose"}, - ], - slideTo(e, index) { - if (e !== null) { - e.preventDefault(); - } - if (index < 0 || index > this.slides.length-1) { - return; - } - this.scrollForm(this.$refs.form); - this.active = index; - this.$refs.slider.scrollLeft = this.$refs.slider.scrollWidth / this.slides.length * index; - this.$refs.mobileSlider.scrollLeft = this.$refs.mobileSlider.scrollWidth / this.slides.length * index; - }, - scrollForm(el) { - var margin = window.getComputedStyle(el).marginTop.replace('px', ''); - scrollToElement(el, 300, (margin?margin:0) * -1); - }, - submit() { - var _self = this; - _self.loading = true; - var promise = fetch(window.location.href, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json', - 'X-WINTER-REQUEST-HANDLER': this.submitRequest, - 'X-WINTER-REQUEST-PARTIALS': [], - 'X-Requested-With': 'XMLHttpRequest', - }, - body: JSON.stringify(this.data), - }); - - promise.then(function(response) { - _self.loading = false; - if (response.status === 422) { - response.json().then((errors) => { - _self.scrollToFirstError(errors); - Object.keys(errors).forEach((field) => { - toasted.error(errors[field].join('
')); - }); - }); - } - if (response.status === 201) { - _self.finished = true; - _self.scrollForm(_self.$refs.form); - } - }); - }, - scrollToFirstError(errors) { - if (Object.keys(errors).length === 0) { - return; - } - - var firstField = Object.keys(errors)[0]; - var field = this.$refs.form.querySelector('[name="'+firstField+'"]'); - - if (field === null) { - return; - } - - var slideElement = field.closest('.slider-element'); - this.slideTo(null, Array.from(slideElement.parentNode.children).indexOf(slideElement)); - }, - prevButton: { - [':class']() { - return this.active == 0 ? 'opacity-40' : ''; - } - }, - nextButton: { - [':class']() { - return this.active == this.slides.length - 1 ? 'opacity-40' : ''; - } - }, - }; -} - diff --git a/assets/eventregistration-bela.js b/assets/eventregistration-bela.js deleted file mode 100644 index 967a7f2..0000000 --- a/assets/eventregistration-bela.js +++ /dev/null @@ -1,174 +0,0 @@ -import scrollToElement from './scrollToElement.js'; - -var toastedOptions = { - position: 'bottom-right', - duration: 3000, - fitToScreen: false, - fullWidth: false, - theme: 'material', -}; - -export default function (toasted) { - var toasted = new toasted(toastedOptions); - - return { - data: { - event_id: null, - firstname: '', - lastname: '', - address: '', - zip: '', - location: '', - food_preferences: [], - activity: 'Teilnehmer*in', - gender: '', - email: '', - birthday: '', - agegroup: '', - group: '', - agegroup_leader: '', - emergency_phone: '', - phone: '', - misc: '', - foto: false, - parent: false, - vorteam: false, - }, - loading: false, - finished: false, - submitRequest: null, - errorFields: [], - active: 0, - slides: [ - 'Persönliches', - 'Veranstaltung', - 'Sonstiges' - ], - activities: [ - {"id": "Orga", "name": "Orga"}, - {"id": "Teilnehmer*in", "name": "Teilnehmer*in"}, - ], - genders: [ - {"id": "Männlich", "name": "Männlich"}, - {"id": "Weiblich", "name": "Weiblich"}, - {"id": "Divers", "name": "Divers"}, - ], - groups: [ - {"id": "Gallier", "name": "Gallier (Wuppertal)"}, - {"id": "Gandalf", "name": "Gandalf (SG-Mangenberg)"}, - {"id": "Gravenrode", "name": "Gravenrode (SG-Gräfrath)"}, - {"id": "Lennep", "name": "Lennep (RS-Lennep)"}, - {"id": "Silva", "name": "Silva (SG-Wald)"}, - {"id": "Sugambrer", "name": "Sugambrer (SG-Höhscheid)"}, - {"id": "Tenkterer", "name": "Tenkterer (SG-Löhdorf)"}, - {"id": "von Berg", "name": "von Berg (SG-Ohligs)"}, - ], - agegroups: [ - {"id": "Biber", "name": "Biber"}, - {"id": "Wölfling", "name": "Wölfling"}, - {"id": "Jungpfadfinder", "name": "Jungpfadfinder"}, - {"id": "Pfadfinder", "name": "Pfadfinder"}, - {"id": "Rover", "name": "Rover"}, - {"id": "Leiter*in", "name": "Leiter*in"}, - ], - agegroupsroverleiter: [ - {"id": "Rover", "name": "Rover"}, - {"id": "Leiter*in", "name": "Leiter*in"}, - ], - agegroups_leaders: [ - {"id": "Biber", "name": "Biber"}, - {"id": "Wölfling", "name": "Wölfling"}, - {"id": "Jungpfadfinder", "name": "Jungpfadfinder"}, - {"id": "Pfadfinder", "name": "Pfadfinder"}, - {"id": "Rover", "name": "Rover"}, - ], - boolean: [ - {"id": "Ja", "name": "Ja"}, - {"id": "Nein", "name": "Nein"}, - ], - foodPreferences: [ - {"id": "Fleisch", "name": "Ich esse Fleisch"}, - {"id": "Vegan", "name": "Ich ernähre mich vegan"}, - {"id": "Glutenfrei", "name": "Ich vertrage kein Gluten"}, - {"id": "Laktosefrei", "name": "Ich vertrage keine Laktose"}, - ], - foodPreferencesVeg: [ - {"id": "Vegan", "name": "Ich ernähre mich vegan"}, - {"id": "Glutenfrei", "name": "Ich vertrage kein Gluten"}, - {"id": "Laktosefrei", "name": "Ich vertrage keine Laktose"}, - ], - slideTo(e, index) { - if (e !== null) { - e.preventDefault(); - } - if (index < 0 || index > this.slides.length-1) { - return; - } - this.scrollForm(this.$refs.form); - this.active = index; - this.$refs.slider.scrollLeft = this.$refs.slider.scrollWidth / this.slides.length * index; - this.$refs.mobileSlider.scrollLeft = this.$refs.mobileSlider.scrollWidth / this.slides.length * index; - }, - scrollForm(el) { - var margin = window.getComputedStyle(el).marginTop.replace('px', ''); - scrollToElement(el, 300, (margin?margin:0) * -1); - }, - submit() { - var _self = this; - _self.loading = true; - var promise = fetch(window.location.href, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json', - 'X-WINTER-REQUEST-HANDLER': this.submitRequest, - 'X-WINTER-REQUEST-PARTIALS': [], - 'X-Requested-With': 'XMLHttpRequest', - }, - body: JSON.stringify(this.data), - }); - - promise.then(function(response) { - _self.loading = false; - if (response.status === 422) { - response.json().then((errors) => { - _self.scrollToFirstError(errors); - Object.keys(errors).forEach((field) => { - toasted.error(errors[field].join('
')); - }); - }); - } - if (response.status === 201) { - _self.finished = true; - _self.scrollForm(_self.$refs.form); - } - }); - }, - scrollToFirstError(errors) { - if (Object.keys(errors).length === 0) { - return; - } - - var firstField = Object.keys(errors)[0]; - var field = this.$refs.form.querySelector('[name="'+firstField+'"]'); - - if (field === null) { - return; - } - - var slideElement = field.closest('.slider-element'); - this.slideTo(null, Array.from(slideElement.parentNode.children).indexOf(slideElement)); - }, - prevButton: { - [':class']() { - return this.active == 0 ? 'opacity-40' : ''; - } - }, - nextButton: { - [':class']() { - return this.active == this.slides.length - 1 ? 'opacity-40' : ''; - } - }, - }; -} - diff --git a/assets/eventregistration-georgstag.js b/assets/eventregistration-georgstag.js deleted file mode 100644 index 2927a3e..0000000 --- a/assets/eventregistration-georgstag.js +++ /dev/null @@ -1,152 +0,0 @@ -import scrollToElement from './scrollToElement.js'; - -var toastedOptions = { - position: 'bottom-right', - duration: 3000, - fitToScreen: false, - fullWidth: false, - theme: 'material', -}; - -export default function (toasted) { - var toasted = new toasted(toastedOptions); - - return { - data: { - event_id: null, - gender: '', - firstname: '', - lastname: '', - birthday: '', - address: '', - zip: '', - location: '', - phone: '', - email: '', - group: null, - agegroup: null, - food_preferences: [], - evening: false, - misc: '', - parent: false, - foto: false, - ticket: false, - }, - loading: false, - finished: false, - submitRequest: null, - errorFields: [], - active: 0, - slides: [ - 'Persönliches', - 'Veranstaltung', - 'Sonstiges' - ], - genders: [ - {"id": "Männlich", "name": "Männlich"}, - {"id": "Weiblich", "name": "Weiblich"}, - {"id": "Divers", "name": "Divers"}, - ], - groups: [ - {"id": "Gallier", "name": "Gallier (Wuppertal)"}, - {"id": "Gandalf", "name": "Gandalf (SG-Mangenberg)"}, - {"id": "Gravenrode", "name": "Gravenrode (SG-Gräfrath)"}, - {"id": "Lennep", "name": "Lennep (RS-Lennep)"}, - {"id": "Silva", "name": "Silva (SG-Wald)"}, - {"id": "Sugambrer", "name": "Sugambrer (SG-Höhscheid)"}, - {"id": "Tenkterer", "name": "Tenkterer (SG-Löhdorf)"}, - {"id": "von Berg", "name": "von Berg (SG-Ohligs)"}, - ], - agegroups: [ - {"id": "Biber", "name": "Biber"}, - {"id": "Wölfling", "name": "Wölfling"}, - {"id": "Jungpfadfinder", "name": "Jungpfadfinder"}, - {"id": "Pfadfinder", "name": "Pfadfinder"}, - {"id": "Rover", "name": "Rover"}, - {"id": "Leiter*in", "name": "Leiter*in"}, - ], - boolean: [ - {"id": "Ja", "name": "Ja"}, - {"id": "Nein", "name": "Nein"}, - ], - foodPreferences: [ - {"id": "Fleisch", "name": "Ich esse Fleisch"}, - {"id": "Vegan", "name": "Ich ernähre mich vegan"}, - {"id": "Glutenfrei", "name": "Ich vertrage kein Gluten"}, - {"id": "Laktosefrei", "name": "Ich vertrage keine Laktose"}, - ], - slideTo(e, index) { - if (e !== null) { - e.preventDefault(); - } - if (index < 0 || index > this.slides.length-1) { - return; - } - this.scrollForm(this.$refs.form); - this.active = index; - this.$refs.slider.scrollLeft = this.$refs.slider.scrollWidth / this.slides.length * index; - this.$refs.mobileSlider.scrollLeft = this.$refs.mobileSlider.scrollWidth / this.slides.length * index; - }, - scrollForm(el) { - var margin = window.getComputedStyle(el).marginTop.replace('px', ''); - scrollToElement(el, 300, (margin?margin:0) * -1); - }, - submit() { - var _self = this; - _self.loading = true; - var promise = fetch(window.location.href, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json', - 'X-WINTER-REQUEST-HANDLER': this.submitRequest, - 'X-WINTER-REQUEST-PARTIALS': [], - 'X-Requested-With': 'XMLHttpRequest', - }, - body: JSON.stringify(this.data), - }); - - promise.then(function(response) { - _self.loading = false; - if (response.status === 422) { - response.json().then((errors) => { - _self.scrollToFirstError(errors); - Object.keys(errors).forEach((field) => { - toasted.error(errors[field].join('
')); - }); - }); - } - if (response.status === 201) { - _self.finished = true; - _self.scrollForm(_self.$refs.form); - } - }); - }, - scrollToFirstError(errors) { - if (Object.keys(errors).length === 0) { - return; - } - - var firstField = Object.keys(errors)[0]; - var field = this.$refs.form.querySelector('[name="'+firstField+'"]'); - - if (field === null) { - return; - } - - var slideElement = field.closest('.slider-element'); - this.slideTo(null, Array.from(slideElement.parentNode.children).indexOf(slideElement)); - }, - prevButton: { - [':class']() { - return this.active == 0 ? 'opacity-40' : ''; - } - }, - nextButton: { - [':class']() { - return this.active == this.slides.length - 1 ? 'opacity-40' : ''; - } - }, - }; -} - diff --git a/assets/eventregistration-jfilmnacht.js b/assets/eventregistration-jfilmnacht.js deleted file mode 100644 index 2b2af8a..0000000 --- a/assets/eventregistration-jfilmnacht.js +++ /dev/null @@ -1,148 +0,0 @@ -import scrollToElement from './scrollToElement.js'; - -var toastedOptions = { - position: 'bottom-right', - duration: 3000, - fitToScreen: false, - fullWidth: false, - theme: 'material', -}; - -export default function (toasted) { - var toasted = new toasted(toastedOptions); - - return { - data: { - event_id: null, - gender: '', - firstname: '', - lastname: '', - birthday: '', - address: '', - zip: '', - location: '', - phone: '', - email: '', - group: '', - agegroup: '', - food_preferences: [], - allergies: '', - misc: '', - foto: false, - parent: false, - ab12: false, - }, - loading: false, - finished: false, - submitRequest: null, - errorFields: [], - active: 0, - slides: [ - 'Persönliches', - 'Veranstaltung', - 'Sonstiges' - ], - genders: [ - {"id": "Männlich", "name": "Männlich"}, - {"id": "Weiblich", "name": "Weiblich"}, - {"id": "Divers", "name": "Divers"}, - ], - groups: [ - {"id": "Gallier", "name": "Gallier (Wuppertal)"}, - {"id": "Gandalf", "name": "Gandalf (SG-Mangenberg)"}, - {"id": "Gravenrode", "name": "Gravenrode (SG-Gräfrath)"}, - {"id": "Lennep", "name": "Lennep (RS-Lennep)"}, - {"id": "Silva", "name": "Silva (SG-Wald)"}, - {"id": "Sugambrer", "name": "Sugambrer (SG-Höhscheid)"}, - {"id": "Tenkterer", "name": "Tenkterer (SG-Löhdorf)"}, - {"id": "von Berg", "name": "von Berg (SG-Ohligs)"}, - ], - agegroups: [ - {"id": "Jungpfadfinder", "name": "Jungpfadfinder"}, - {"id": "Leiter*in", "name": "Leiter*in"}, - ], - boolean: [ - {"id": "Ja", "name": "Ja"}, - {"id": "Nein", "name": "Nein"}, - ], - foodPreferences: [ - {"id": "Fleisch", "name": "Ich esse Fleisch"}, - {"id": "Vegan", "name": "Ich ernähre mich vegan"}, - {"id": "Glutenfrei", "name": "Ich vertrage kein Gluten"}, - {"id": "Laktosefrei", "name": "Ich vertrage keine Laktose"}, - ], - slideTo(e, index) { - if (e !== null) { - e.preventDefault(); - } - if (index < 0 || index > this.slides.length-1) { - return; - } - this.scrollForm(this.$refs.form); - this.active = index; - this.$refs.slider.scrollLeft = this.$refs.slider.scrollWidth / this.slides.length * index; - this.$refs.mobileSlider.scrollLeft = this.$refs.mobileSlider.scrollWidth / this.slides.length * index; - }, - scrollForm(el) { - var margin = window.getComputedStyle(el).marginTop.replace('px', ''); - scrollToElement(el, 300, (margin?margin:0) * -1); - }, - submit() { - var _self = this; - _self.loading = true; - var promise = fetch(window.location.href, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json', - 'X-WINTER-REQUEST-HANDLER': this.submitRequest, - 'X-WINTER-REQUEST-PARTIALS': [], - 'X-Requested-With': 'XMLHttpRequest', - }, - body: JSON.stringify(this.data), - }); - - promise.then(function(response) { - _self.loading = false; - if (response.status === 422) { - response.json().then((errors) => { - _self.scrollToFirstError(errors); - Object.keys(errors).forEach((field) => { - toasted.error(errors[field].join('
')); - }); - }); - } - if (response.status === 201) { - _self.finished = true; - _self.scrollForm(_self.$refs.form); - } - }); - }, - scrollToFirstError(errors) { - if (Object.keys(errors).length === 0) { - return; - } - - var firstField = Object.keys(errors)[0]; - var field = this.$refs.form.querySelector('[name="'+firstField+'"]'); - - if (field === null) { - return; - } - - var slideElement = field.closest('.slider-element'); - this.slideTo(null, Array.from(slideElement.parentNode.children).indexOf(slideElement)); - }, - prevButton: { - [':class']() { - return this.active == 0 ? 'opacity-40' : ''; - } - }, - nextButton: { - [':class']() { - return this.active == this.slides.length - 1 ? 'opacity-40' : ''; - } - }, - }; -} - diff --git a/assets/eventregistration-musik.js b/assets/eventregistration-musik.js deleted file mode 100644 index dda11e2..0000000 --- a/assets/eventregistration-musik.js +++ /dev/null @@ -1,143 +0,0 @@ -import scrollToElement from './scrollToElement.js'; - -var toastedOptions = { - position: 'bottom-right', - duration: 3000, - fitToScreen: false, - fullWidth: false, - theme: 'material', -}; - -export default function (toasted) { - var toasted = new toasted(toastedOptions); - - return { - data: { - event_id: null, - gender: '', - firstname: '', - lastname: '', - birthday: '', - phone: '', - email: '', - group: null, - agegroup: null, - food_preferences: [], - misc: '', - parent: false, - foto: false, - }, - loading: false, - finished: false, - submitRequest: null, - errorFields: [], - active: 0, - slides: [ - 'Persönliches', - 'Veranstaltung', - 'Sonstiges' - ], - genders: [ - {"id": "Männlich", "name": "Männlich"}, - {"id": "Weiblich", "name": "Weiblich"}, - {"id": "Divers", "name": "Divers"}, - ], - groups: [ - {"id": "Gallier", "name": "Gallier (Wuppertal)"}, - {"id": "Gandalf", "name": "Gandalf (SG-Mangenberg)"}, - {"id": "Gravenrode", "name": "Gravenrode (SG-Gräfrath)"}, - {"id": "Lennep", "name": "Lennep (RS-Lennep)"}, - {"id": "Silva", "name": "Silva (SG-Wald)"}, - {"id": "Sugambrer", "name": "Sugambrer (SG-Höhscheid)"}, - {"id": "Tenkterer", "name": "Tenkterer (SG-Löhdorf)"}, - {"id": "von Berg", "name": "von Berg (SG-Ohligs)"}, - ], - agegroups: [ - {"id": "Rover", "name": "Rover"}, - {"id": "Leiter*in", "name": "Leiter*in"}, - ], - boolean: [ - {"id": "Ja", "name": "Ja"}, - {"id": "Nein", "name": "Nein"}, - ], - foodPreferences: [ - {"id": "Fleisch", "name": "Ich esse Fleisch"}, - {"id": "Vegan", "name": "Ich ernähre mich vegan"}, - {"id": "Glutenfrei", "name": "Ich vertrage kein Gluten"}, - {"id": "Laktosefrei", "name": "Ich vertrage keine Laktose"}, - ], - slideTo(e, index) { - if (e !== null) { - e.preventDefault(); - } - if (index < 0 || index > this.slides.length-1) { - return; - } - this.scrollForm(this.$refs.form); - this.active = index; - this.$refs.slider.scrollLeft = this.$refs.slider.scrollWidth / this.slides.length * index; - this.$refs.mobileSlider.scrollLeft = this.$refs.mobileSlider.scrollWidth / this.slides.length * index; - }, - scrollForm(el) { - var margin = window.getComputedStyle(el).marginTop.replace('px', ''); - scrollToElement(el, 300, (margin?margin:0) * -1); - }, - submit() { - var _self = this; - _self.loading = true; - var promise = fetch(window.location.href, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json', - 'X-WINTER-REQUEST-HANDLER': this.submitRequest, - 'X-WINTER-REQUEST-PARTIALS': [], - 'X-Requested-With': 'XMLHttpRequest', - }, - body: JSON.stringify(this.data), - }); - - promise.then(function(response) { - _self.loading = false; - if (response.status === 422) { - response.json().then((errors) => { - _self.scrollToFirstError(errors); - Object.keys(errors).forEach((field) => { - toasted.error(errors[field].join('
')); - }); - }); - } - if (response.status === 201) { - _self.finished = true; - _self.scrollForm(_self.$refs.form); - } - }); - }, - scrollToFirstError(errors) { - if (Object.keys(errors).length === 0) { - return; - } - - var firstField = Object.keys(errors)[0]; - var field = this.$refs.form.querySelector('[name="'+firstField+'"]'); - - if (field === null) { - return; - } - - var slideElement = field.closest('.slider-element'); - this.slideTo(null, Array.from(slideElement.parentNode.children).indexOf(slideElement)); - }, - prevButton: { - [':class']() { - return this.active == 0 ? 'opacity-40' : ''; - } - }, - nextButton: { - [':class']() { - return this.active == this.slides.length - 1 ? 'opacity-40' : ''; - } - }, - }; -} - diff --git a/assets/eventregistration-tdw.js b/assets/eventregistration-tdw.js deleted file mode 100644 index 63fe119..0000000 --- a/assets/eventregistration-tdw.js +++ /dev/null @@ -1,163 +0,0 @@ -import scrollToElement from "./scrollToElement.js"; - -var toastedOptions = { - position: "bottom-right", - duration: 3000, - fitToScreen: false, - fullWidth: false, - theme: "material", -}; - -export default function (toasted) { - var toasted = new toasted(toastedOptions); - - return { - data: { - event_id: null, - firstname: "", - lastname: "", - address: "", - zip: "", - location: "", - ticket: false, - essen: [], - food_preferences: [], - essen_misc: '', - gender: "", - email: "", - birthday: "", - group: "", - emergency_phone: "", - phone: "", - misc: "", - foto: false, - parent: false, - vorteam: null, - }, - loading: false, - finished: false, - submitRequest: null, - errorFields: [], - active: 0, - slides: ["Persönliches", "Veranstaltung", "Sonstiges"], - activities: [ - { id: "Orga", name: "Orga" }, - { id: "Teilnehmer*in", name: "Teilnehmer*in" }, - ], - genders: [ - { id: "Männlich", name: "Männlich" }, - { id: "Weiblich", name: "Weiblich" }, - { id: "Divers", name: "Divers" }, - ], - essens: [ - // { id: "Rohkost", name: "Rohkost" }, - { id: "Pizzaschnecken", name: "Pizzaschnecken" }, - { id: "Brot / Brötchen", name: "Brot / Brötchen" }, - { id: "Muffins / Kuchen", name: "Muffins / Kuchen" }, - { id: "Dips", name: "Dips" }, - { id: "Frikadellen", name: "Frikadellen" }, - { id: "Sandwiches", name: "Sandwiches" }, - { id: "Zimtschnecken", name: "Zimtschnecken" }, - { id: "Gummibärchen", name: "Gummibärchen" }, - { id: "Obst", name: "Obst" }, - { id: "Käse", name: "Käse" } - ], - groups: [ - { id: "Gallier", name: "Gallier (Wuppertal)" }, - { id: "Gandalf", name: "Gandalf (SG-Mangenberg)" }, - { id: "Gravenrode", name: "Gravenrode (SG-Gräfrath)" }, - { id: "Lennep", name: "Lennep (RS-Lennep)" }, - { id: "Silva", name: "Silva (SG-Wald)" }, - { id: "Sugambrer", name: "Sugambrer (SG-Höhscheid)" }, - { id: "Tenkterer", name: "Tenkterer (SG-Löhdorf)" }, - { id: "von Berg", name: "von Berg (SG-Ohligs)" }, - ], - boolean: [ - { id: "Ja", name: "Ja" }, - { id: "Nein", name: "Nein" }, - ], - foodPreferences: [ - { id: "Fleisch", name: "Ich esse Fleisch" }, - { id: "Vegan", name: "Ich ernähre mich vegan" }, - { id: "Glutenfrei", name: "Ich vertrage kein Gluten" }, - { id: "Laktosefrei", name: "Ich vertrage keine Laktose" }, - ], - slideTo(e, index) { - if (e !== null) { - e.preventDefault(); - } - if (index < 0 || index > this.slides.length - 1) { - return; - } - this.scrollForm(this.$refs.form); - this.active = index; - this.$refs.slider.scrollLeft = - (this.$refs.slider.scrollWidth / this.slides.length) * index; - this.$refs.mobileSlider.scrollLeft = - (this.$refs.mobileSlider.scrollWidth / this.slides.length) * index; - }, - scrollForm(el) { - var margin = window.getComputedStyle(el).marginTop.replace("px", ""); - scrollToElement(el, 300, (margin ? margin : 0) * -1); - }, - submit() { - var _self = this; - _self.loading = true; - var promise = fetch(window.location.href, { - method: "POST", - headers: { - "Content-Type": "application/json", - Accept: "application/json", - "X-WINTER-REQUEST-HANDLER": this.submitRequest, - "X-WINTER-REQUEST-PARTIALS": [], - "X-Requested-With": "XMLHttpRequest", - }, - body: JSON.stringify(this.data), - }); - - promise.then(function (response) { - _self.loading = false; - if (response.status === 422) { - response.json().then((errors) => { - _self.scrollToFirstError(errors); - Object.keys(errors).forEach((field) => { - toasted.error(errors[field].join("
")); - }); - }); - } - if (response.status === 201) { - _self.finished = true; - _self.scrollForm(_self.$refs.form); - } - }); - }, - scrollToFirstError(errors) { - if (Object.keys(errors).length === 0) { - return; - } - - var firstField = Object.keys(errors)[0]; - var field = this.$refs.form.querySelector('[name="' + firstField + '"]'); - - if (field === null) { - return; - } - - var slideElement = field.closest(".slider-element"); - this.slideTo( - null, - Array.from(slideElement.parentNode.children).indexOf(slideElement) - ); - }, - prevButton: { - [":class"]() { - return this.active == 0 ? "opacity-40" : ""; - }, - }, - nextButton: { - [":class"]() { - return this.active == this.slides.length - 1 ? "opacity-40" : ""; - }, - }, - }; -} diff --git a/assets/eventregistration-woeskalation.js b/assets/eventregistration-woeskalation.js deleted file mode 100644 index 63fe119..0000000 --- a/assets/eventregistration-woeskalation.js +++ /dev/null @@ -1,163 +0,0 @@ -import scrollToElement from "./scrollToElement.js"; - -var toastedOptions = { - position: "bottom-right", - duration: 3000, - fitToScreen: false, - fullWidth: false, - theme: "material", -}; - -export default function (toasted) { - var toasted = new toasted(toastedOptions); - - return { - data: { - event_id: null, - firstname: "", - lastname: "", - address: "", - zip: "", - location: "", - ticket: false, - essen: [], - food_preferences: [], - essen_misc: '', - gender: "", - email: "", - birthday: "", - group: "", - emergency_phone: "", - phone: "", - misc: "", - foto: false, - parent: false, - vorteam: null, - }, - loading: false, - finished: false, - submitRequest: null, - errorFields: [], - active: 0, - slides: ["Persönliches", "Veranstaltung", "Sonstiges"], - activities: [ - { id: "Orga", name: "Orga" }, - { id: "Teilnehmer*in", name: "Teilnehmer*in" }, - ], - genders: [ - { id: "Männlich", name: "Männlich" }, - { id: "Weiblich", name: "Weiblich" }, - { id: "Divers", name: "Divers" }, - ], - essens: [ - // { id: "Rohkost", name: "Rohkost" }, - { id: "Pizzaschnecken", name: "Pizzaschnecken" }, - { id: "Brot / Brötchen", name: "Brot / Brötchen" }, - { id: "Muffins / Kuchen", name: "Muffins / Kuchen" }, - { id: "Dips", name: "Dips" }, - { id: "Frikadellen", name: "Frikadellen" }, - { id: "Sandwiches", name: "Sandwiches" }, - { id: "Zimtschnecken", name: "Zimtschnecken" }, - { id: "Gummibärchen", name: "Gummibärchen" }, - { id: "Obst", name: "Obst" }, - { id: "Käse", name: "Käse" } - ], - groups: [ - { id: "Gallier", name: "Gallier (Wuppertal)" }, - { id: "Gandalf", name: "Gandalf (SG-Mangenberg)" }, - { id: "Gravenrode", name: "Gravenrode (SG-Gräfrath)" }, - { id: "Lennep", name: "Lennep (RS-Lennep)" }, - { id: "Silva", name: "Silva (SG-Wald)" }, - { id: "Sugambrer", name: "Sugambrer (SG-Höhscheid)" }, - { id: "Tenkterer", name: "Tenkterer (SG-Löhdorf)" }, - { id: "von Berg", name: "von Berg (SG-Ohligs)" }, - ], - boolean: [ - { id: "Ja", name: "Ja" }, - { id: "Nein", name: "Nein" }, - ], - foodPreferences: [ - { id: "Fleisch", name: "Ich esse Fleisch" }, - { id: "Vegan", name: "Ich ernähre mich vegan" }, - { id: "Glutenfrei", name: "Ich vertrage kein Gluten" }, - { id: "Laktosefrei", name: "Ich vertrage keine Laktose" }, - ], - slideTo(e, index) { - if (e !== null) { - e.preventDefault(); - } - if (index < 0 || index > this.slides.length - 1) { - return; - } - this.scrollForm(this.$refs.form); - this.active = index; - this.$refs.slider.scrollLeft = - (this.$refs.slider.scrollWidth / this.slides.length) * index; - this.$refs.mobileSlider.scrollLeft = - (this.$refs.mobileSlider.scrollWidth / this.slides.length) * index; - }, - scrollForm(el) { - var margin = window.getComputedStyle(el).marginTop.replace("px", ""); - scrollToElement(el, 300, (margin ? margin : 0) * -1); - }, - submit() { - var _self = this; - _self.loading = true; - var promise = fetch(window.location.href, { - method: "POST", - headers: { - "Content-Type": "application/json", - Accept: "application/json", - "X-WINTER-REQUEST-HANDLER": this.submitRequest, - "X-WINTER-REQUEST-PARTIALS": [], - "X-Requested-With": "XMLHttpRequest", - }, - body: JSON.stringify(this.data), - }); - - promise.then(function (response) { - _self.loading = false; - if (response.status === 422) { - response.json().then((errors) => { - _self.scrollToFirstError(errors); - Object.keys(errors).forEach((field) => { - toasted.error(errors[field].join("
")); - }); - }); - } - if (response.status === 201) { - _self.finished = true; - _self.scrollForm(_self.$refs.form); - } - }); - }, - scrollToFirstError(errors) { - if (Object.keys(errors).length === 0) { - return; - } - - var firstField = Object.keys(errors)[0]; - var field = this.$refs.form.querySelector('[name="' + firstField + '"]'); - - if (field === null) { - return; - } - - var slideElement = field.closest(".slider-element"); - this.slideTo( - null, - Array.from(slideElement.parentNode.children).indexOf(slideElement) - ); - }, - prevButton: { - [":class"]() { - return this.active == 0 ? "opacity-40" : ""; - }, - }, - nextButton: { - [":class"]() { - return this.active == this.slides.length - 1 ? "opacity-40" : ""; - }, - }, - }; -} diff --git a/assets/eventregistration.js b/assets/eventregistration.js deleted file mode 100644 index 1365ed6..0000000 --- a/assets/eventregistration.js +++ /dev/null @@ -1,228 +0,0 @@ -import scrollToElement from "./scrollToElement.js"; - -var toastedOptions = { - position: "bottom-right", - duration: 3000, - fitToScreen: false, - fullWidth: false, - theme: "material", -}; - -export default function (toasted) { - var toasted = new toasted(toastedOptions); - - return { - data: { - event_id: null, - firstname: "", - lastname: "", - address: "", - zip: "", - location: "", - courses: [], - fcourses: [], - food_preferences: [], - activity: "Teilnehmer*in", - gender: "", - email: "", - birthday: "", - agegroup: "", - group: "", - agegroup_leader: "", - emergency_phone: "", - phone: "", - misc: "", - foto: false, - parent: false, - vorteam: null, - }, - finished: false, - submitRequest: null, - errorFields: [], - active: 0, - slides: ["Persönliches", "Veranstaltung", "Sonstiges"], - activities: [ - { id: "Orga", name: "Orga" }, - { id: "Teilnehmer*in", name: "Teilnehmer*in" }, - ], - genders: [ - { id: "Männlich", name: "Männlich" }, - { id: "Weiblich", name: "Weiblich" }, - { id: "Divers", name: "Divers" }, - ], - fcourses: [ - { - id: "Ich bin Samstags beim Abendprogramm dabei", - name: "Ich bin Samstags beim Abendprogramm dabei", - }, - { - id: "Ich esse sonntag Mittag mit", - name: "Ich esse sonntag Mittag mit", - }, - ], - groups: [ - { id: "Gallier", name: "Gallier (Wuppertal)" }, - { id: "Gandalf", name: "Gandalf (SG-Mangenberg)" }, - { id: "Gravenrode", name: "Gravenrode (SG-Gräfrath)" }, - { id: "Lennep", name: "Lennep (RS-Lennep)" }, - { id: "Silva", name: "Silva (SG-Wald)" }, - { id: "Sugambrer", name: "Sugambrer (SG-Höhscheid)" }, - { id: "Tenkterer", name: "Tenkterer (SG-Löhdorf)" }, - { id: "von Berg", name: "von Berg (SG-Ohligs)" }, - ], - agegroups: [ - { id: "Biber", name: "Biber" }, - { id: "Wölfling", name: "Wölfling" }, - { id: "Jungpfadfinder", name: "Jungpfadfinder" }, - { id: "Pfadfinder", name: "Pfadfinder" }, - { id: "Rover", name: "Rover" }, - { id: "Leiter*in", name: "Leiter*in" }, - ], - agegroupsroverleiter: [ - { id: "Rover", name: "Rover" }, - { id: "Leiter*in", name: "Leiter*in" }, - ], - agegroups_leaders: [ - { id: "Biber", name: "Biber" }, - { id: "Wölfling", name: "Wölfling" }, - { id: "Jungpfadfinder", name: "Jungpfadfinder" }, - { id: "Pfadfinder", name: "Pfadfinder" }, - { id: "Rover", name: "Rover" }, - ], - boolean: [ - { id: "Ja", name: "Ja" }, - { id: "Nein", name: "Nein" }, - ], - foodPreferences: [ - { id: "Fleisch", name: "Ich esse Fleisch" }, - { id: "Vegan", name: "Ich ernähre mich vegan" }, - { id: "Glutenfrei", name: "Ich vertrage kein Gluten" }, - { id: "Laktosefrei", name: "Ich vertrage keine Laktose" }, - ], - foodPreferencesVeg: [ - { id: "Vegan", name: "Ich ernähre mich vegan" }, - { id: "Glutenfrei", name: "Ich vertrage kein Gluten" }, - { id: "Laktosefrei", name: "Ich vertrage keine Laktose" }, - ], - updateCourses() { - this.data.courses.forEach((course) => { - let currentCourseOption = this.courses.find((c) => c.id === course); - currentCourseOption.without.forEach((c) => { - this.data.courses = this.data.courses.filter((tc) => tc !== c); - }); - }); - }, - get courses() { - return this.data.agegroup === "Rover" - ? [ - { - id: "s2", - name: "Schritt 2", - hint: "Sonntag, 10 - 18 Uhr", - without: ["3c", "2e"], - }, - ] - : [ - { - id: "2c", - name: "Baustein 2c", - hint: "Pfadfinderische Methodik - Samstag 10 - 18 Uhr", - without: [], - }, - { - id: "3c", - name: "Baustein 3c", - hint: "Finanzen, Haftung, Versicherung - Sonntag 10 - 13 Uhr", - without: ["s2"], - }, - { - id: "2e", - name: "Baustein 2e", - hint: "Präventionsschulung - Sonntag 14 - 17 Uhr", - without: ["s2"], - }, - { - id: "s2", - name: "Schritt 2", - hint: "Sonntag, 10 - 18 Uhr", - without: ["3c", "2e"], - }, - ]; - }, - slideTo(e, index) { - if (e !== null) { - e.preventDefault(); - } - if (index < 0 || index > this.slides.length - 1) { - return; - } - this.scrollForm(this.$refs.form); - this.active = index; - this.$refs.slider.scrollLeft = - (this.$refs.slider.scrollWidth / this.slides.length) * index; - this.$refs.mobileSlider.scrollLeft = - (this.$refs.mobileSlider.scrollWidth / this.slides.length) * index; - }, - scrollForm(el) { - var margin = window.getComputedStyle(el).marginTop.replace("px", ""); - scrollToElement(el, 300, (margin ? margin : 0) * -1); - }, - submit() { - var _self = this; - var promise = fetch(window.location.href, { - method: "POST", - headers: { - "Content-Type": "application/json", - Accept: "application/json", - "X-WINTER-REQUEST-HANDLER": this.submitRequest, - "X-WINTER-REQUEST-PARTIALS": [], - "X-Requested-With": "XMLHttpRequest", - }, - body: JSON.stringify(this.data), - }); - - promise.then(function (response) { - if (response.status === 422) { - response.json().then((errors) => { - _self.scrollToFirstError(errors); - Object.keys(errors).forEach((field) => { - toasted.error(errors[field].join("
")); - }); - }); - } - if (response.status === 201) { - _self.finished = true; - _self.scrollForm(_self.$refs.form); - } - }); - }, - scrollToFirstError(errors) { - if (Object.keys(errors).length === 0) { - return; - } - - var firstField = Object.keys(errors)[0]; - var field = this.$refs.form.querySelector('[name="' + firstField + '"]'); - - if (field === null) { - return; - } - - var slideElement = field.closest(".slider-element"); - this.slideTo( - null, - Array.from(slideElement.parentNode.children).indexOf(slideElement) - ); - }, - prevButton: { - [":class"]() { - return this.active == 0 ? "opacity-40" : ""; - }, - }, - nextButton: { - [":class"]() { - return this.active == this.slides.length - 1 ? "opacity-40" : ""; - }, - }, - }; -} diff --git a/assets/scrollToElement.js b/assets/scrollToElement.js deleted file mode 100644 index b043803..0000000 --- a/assets/scrollToElement.js +++ /dev/null @@ -1,30 +0,0 @@ -/* - * y: the y coordinate to scroll, 0 = top - * duration: scroll duration in milliseconds; default is 0 (no transition) - * element: the html element that should be scrolled ; default is the main scrolling element - */ -function scrollToY (y, duration = 0, element = document.scrollingElement) { - // cancel if already on target position - if (element.scrollTop === y) return; - - const cosParameter = (element.scrollTop - y) / 2; - let scrollCount = 0, oldTimestamp = null; - - function step (newTimestamp) { - if (oldTimestamp !== null) { - // if duration is 0 scrollCount will be Infinity - scrollCount += Math.PI * (newTimestamp - oldTimestamp) / duration; - if (scrollCount >= Math.PI) return element.scrollTop = y; - element.scrollTop = cosParameter + y + cosParameter * Math.cos(scrollCount); - } - oldTimestamp = newTimestamp; - window.requestAnimationFrame(step); - } - window.requestAnimationFrame(step); -} - -export default function(element, duration = 0, addedOffset = 0) { - const offset = Math.round(element.getBoundingClientRect().top); - scrollToY(document.scrollingElement.scrollTop + offset + addedOffset, duration); -} - diff --git a/jobs/ProcessSubmitJob.php b/jobs/ProcessSubmitJob.php index 3edb6e1..c1d59c6 100644 --- a/jobs/ProcessSubmitJob.php +++ b/jobs/ProcessSubmitJob.php @@ -59,15 +59,19 @@ class ProcessSubmitJob implements ShouldQueue $filesystem = app(Filesystem::class)->client(); $orderBy = collect($this->event->loadConfig('orderBy'))->map(fn ($order) => "{$order['key']} {$order['direction']}")->implode(','); $groupBy = $this->event->loadConfig('groupBy'); - $participants = Participant::where('event_id', $this->event->id)->orderByRaw($orderBy)->get()->groupBy(fn ($p) => data_get($p->payload, $groupBy)); + $s = $this->newSpreadsheet(); if ($this->event->loadConfig('groupAll')) { $this->makeSheet($s, 'Alle', Participant::where('event_id', $this->event->id)->orderByRaw($orderBy)->get()); } - foreach ($participants as $group => $groupParticipants) { - $this->makeSheet($s, $group, $groupParticipants); + if ($groupBy) { + $participants = Participant::where('event_id', $this->event->id)->orderByRaw($orderBy)->get()->groupBy(fn ($p) => data_get($p->payload, $groupBy)); + + foreach ($participants as $group => $groupParticipants) { + $this->makeSheet($s, $group, $groupParticipants); + } } $s = $this->addStat($s);