Compare commits
	
		
			7 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 68c2c681f2 | |||
| 480fe3e0e5 | |||
| 59cb42c336 | |||
| 2d761ccd6d | |||
| 128c6abd73 | |||
| 094e731947 | |||
| 8d6f290fd5 | 
							
								
								
									
										17
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -2,12 +2,29 @@ | |||||||
|  |  | ||||||
| All notable changes to this project will be documented in this file. Dates are displayed in UTC. | All notable changes to this project will be documented in this file. Dates are displayed in UTC. | ||||||
|  |  | ||||||
|  | #### [1.4.2](https://git.odit.services/lfk/selfservice/compare/1.4.1...1.4.2) | ||||||
|  |  | ||||||
|  | - refactor(Profile): drop sponsor selfservice create from this branch [`2d761cc`](https://git.odit.services/lfk/selfservice/commit/2d761ccd6da7d9515fc0c2b65dc2ca0cff61e3bd) | ||||||
|  | - feat(Profile/sponsoring): show note for on-day cash donations [`59cb42c`](https://git.odit.services/lfk/selfservice/commit/59cb42c3364777f7b8aed1e90f48f5da015db118) | ||||||
|  | - fix(profile): Format total distance [`480fe3e`](https://git.odit.services/lfk/selfservice/commit/480fe3e0e568939507e5cc21c48e98634614d4e6) | ||||||
|  |  | ||||||
|  | #### [1.4.1](https://git.odit.services/lfk/selfservice/compare/1.4.0...1.4.1) | ||||||
|  |  | ||||||
|  | > 25 April 2025 | ||||||
|  |  | ||||||
|  | - chore(release): 1.4.1 [`128c6ab`](https://git.odit.services/lfk/selfservice/commit/128c6abd737654087100cfca8e72af9b14dd770c) | ||||||
|  | - fix(laptimes): Filter out invalid scans [`094e731`](https://git.odit.services/lfk/selfservice/commit/094e7319476bc571949a70b6f4c27539616f3634) | ||||||
|  | - fix(certificate): Provide selfservice url on certificate [`8d6f290`](https://git.odit.services/lfk/selfservice/commit/8d6f290fd5bad54094ba1228fa6d854ad77a561d) | ||||||
|  |  | ||||||
| #### [1.4.0](https://git.odit.services/lfk/selfservice/compare/1.3.1...1.4.0) | #### [1.4.0](https://git.odit.services/lfk/selfservice/compare/1.3.1...1.4.0) | ||||||
|  |  | ||||||
|  | > 28 March 2025 | ||||||
|  |  | ||||||
| - chore(deps): bump [`00c5181`](https://git.odit.services/lfk/selfservice/commit/00c5181855433893681351b53b1204b56990c3b3) | - chore(deps): bump [`00c5181`](https://git.odit.services/lfk/selfservice/commit/00c5181855433893681351b53b1204b56990c3b3) | ||||||
| - feat: improved registration ui [`4ccac8a`](https://git.odit.services/lfk/selfservice/commit/4ccac8a0b89396a9faf7066f096f6b9e66aa8894) | - feat: improved registration ui [`4ccac8a`](https://git.odit.services/lfk/selfservice/commit/4ccac8a0b89396a9faf7066f096f6b9e66aa8894) | ||||||
| - ci: only tagged for now [`347cfe0`](https://git.odit.services/lfk/selfservice/commit/347cfe03046bd2ed46720c60b0a893fc57c6c646) | - ci: only tagged for now [`347cfe0`](https://git.odit.services/lfk/selfservice/commit/347cfe03046bd2ed46720c60b0a893fc57c6c646) | ||||||
| - feat(register): org/team as badge ui [`6afe320`](https://git.odit.services/lfk/selfservice/commit/6afe3207fa0db631b5f079cf815584f4b8f963b2) | - feat(register): org/team as badge ui [`6afe320`](https://git.odit.services/lfk/selfservice/commit/6afe3207fa0db631b5f079cf815584f4b8f963b2) | ||||||
|  | - chore(release): 1.4.0 [`57600fa`](https://git.odit.services/lfk/selfservice/commit/57600fad7f3974a1ea8e8ffcb4bfbbd6ab77809a) | ||||||
| - ci: update release commit message [`421dedc`](https://git.odit.services/lfk/selfservice/commit/421dedcb8d6f03072c94786d1f543e0a85950e82) | - ci: update release commit message [`421dedc`](https://git.odit.services/lfk/selfservice/commit/421dedcb8d6f03072c94786d1f543e0a85950e82) | ||||||
| - chore(deps): bump [`6f5c5b4`](https://git.odit.services/lfk/selfservice/commit/6f5c5b4833d963169003923e2cf011c41cc92393) | - chore(deps): bump [`6f5c5b4`](https://git.odit.services/lfk/selfservice/commit/6f5c5b4833d963169003923e2cf011c41cc92393) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
| 	"name": "@odit/lfk-selfservice", | 	"name": "@odit/lfk-selfservice", | ||||||
| 	"version": "1.4.0", | 	"version": "1.4.2", | ||||||
| 	"type": "module", | 	"type": "module", | ||||||
| 	"scripts": { | 	"scripts": { | ||||||
| 		"dev": "vite", | 		"dev": "vite", | ||||||
|   | |||||||
| @@ -13,6 +13,7 @@ | |||||||
|     "current_total_amount_in_eur": "Aktueller Gesamtbetrag (in €)", |     "current_total_amount_in_eur": "Aktueller Gesamtbetrag (in €)", | ||||||
|     "delete_my_data": "Meine Daten löschen", |     "delete_my_data": "Meine Daten löschen", | ||||||
|     "distance": "Distanz", |     "distance": "Distanz", | ||||||
|  |     "donation_on_event_day": "Am Lauftag kann Bargeld in unsere Spendenbox gespendet werden 💶", | ||||||
|     "download_certificate": "Urkunde herunterladen", |     "download_certificate": "Urkunde herunterladen", | ||||||
|     "download_registrationcode": "Registrierungscode herunterladen", |     "download_registrationcode": "Registrierungscode herunterladen", | ||||||
|     "e_mail_adress": "E-Mail Adresse", |     "e_mail_adress": "E-Mail Adresse", | ||||||
| @@ -66,6 +67,7 @@ | |||||||
|     "registrierungscode_generiert": "Registrierungscode generiert!", |     "registrierungscode_generiert": "Registrierungscode generiert!", | ||||||
|     "registrierungscode_wird_generiert": "Registrierungscode wird generiert...", |     "registrierungscode_wird_generiert": "Registrierungscode wird generiert...", | ||||||
|     "resend_the_registration_mail": "Login-Link anfordern", |     "resend_the_registration_mail": "Login-Link anfordern", | ||||||
|  |     "spenden_info": "Spenden-Info", | ||||||
|     "sponsor_add_agree": "Mit dem Absenden bestätige ich, dass der Sponsor mit der Übermittlung seiner Daten einverstanden ist und ich dessen Berechtigung habe", |     "sponsor_add_agree": "Mit dem Absenden bestätige ich, dass der Sponsor mit der Übermittlung seiner Daten einverstanden ist und ich dessen Berechtigung habe", | ||||||
|     "sponsoring": "Sponsoring", |     "sponsoring": "Sponsoring", | ||||||
|     "sponsoring_pro_kilometer_in_eur": "Sponsoring pro Kilometer (in €)", |     "sponsoring_pro_kilometer_in_eur": "Sponsoring pro Kilometer (in €)", | ||||||
|   | |||||||
| @@ -13,6 +13,7 @@ | |||||||
|     "current_total_amount_in_eur": "Current total amount (in €)", |     "current_total_amount_in_eur": "Current total amount (in €)", | ||||||
|     "delete_my_data": "Delete my data", |     "delete_my_data": "Delete my data", | ||||||
|     "distance": "Distance", |     "distance": "Distance", | ||||||
|  |     "donation_on_event_day": "On race day, cash can be donated to our donation box 💶", | ||||||
|     "download_certificate": "Download certificate", |     "download_certificate": "Download certificate", | ||||||
|     "download_registrationcode": "Download registrationcode", |     "download_registrationcode": "Download registrationcode", | ||||||
|     "e_mail_adress": "mail address", |     "e_mail_adress": "mail address", | ||||||
| @@ -66,6 +67,7 @@ | |||||||
|     "registrierungscode_generiert": "created registration code!", |     "registrierungscode_generiert": "created registration code!", | ||||||
|     "registrierungscode_wird_generiert": "creating registration code...", |     "registrierungscode_wird_generiert": "creating registration code...", | ||||||
|     "resend_the_registration_mail": "Send me a login link", |     "resend_the_registration_mail": "Send me a login link", | ||||||
|  |     "spenden_info": "info for donations", | ||||||
|     "sponsor_add_agree": "By submitting, I confirm that the sponsor agrees to the transmission of his data and that I have his authorization", |     "sponsor_add_agree": "By submitting, I confirm that the sponsor agrees to the transmission of his data and that I have his authorization", | ||||||
|     "sponsoring": "Sponsoring", |     "sponsoring": "Sponsoring", | ||||||
|     "sponsoring_pro_kilometer_in_eur": "Sponsoring per Kilometer (in €)", |     "sponsoring_pro_kilometer_in_eur": "Sponsoring per Kilometer (in €)", | ||||||
|   | |||||||
| @@ -156,7 +156,7 @@ | |||||||
|                 <div class="w-full mx-auto"> |                 <div class="w-full mx-auto"> | ||||||
|                   <div v-if="state.scans.length > 0"> |                   <div v-if="state.scans.length > 0"> | ||||||
|                     <p class="mb-2"> |                     <p class="mb-2"> | ||||||
|                         {{ $t('total_distance') }}: {{ getReadableDistanceForUI() }} |                       {{ $t('total_distance') }}: {{ getTotalReadableDistance() }} | ||||||
|                     </p> |                     </p> | ||||||
|  |  | ||||||
|                     <table class="table-auto w-full text-left whitespace-no-wrap"> |                     <table class="table-auto w-full text-left whitespace-no-wrap"> | ||||||
| @@ -215,78 +215,29 @@ | |||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|         <div v-if="state.activetab === 'sponsorings'" class="tab-content block"> |         <div v-if="state.activetab === 'sponsorings'" class="tab-content block"> | ||||||
|             <div v-if="mode === 'add_sponsoring'"> |           <div | ||||||
|               <h1 class="text-3xl">{{ $t('add_sponsoring') }}</h1> |             class="bg-white border border-gray-200 rounded-lg shadow-lg p-4 dark:bg-neutral-800 dark:border-neutral-700 mt-2 font-medium" | ||||||
|               <form> |             role="alert" tabindex="-1" aria-labelledby="hs-discovery-label"> | ||||||
|                 <div class="mt-6 grid gap-4 lg:gap-6"> |  | ||||||
|                   <!-- Grid --> |  | ||||||
|                   <div class="grid grid-cols-1 sm:grid-cols-2 gap-4 lg:gap-6"> |  | ||||||
|                     <div> |  | ||||||
|                       <label for="sponsorvorname" |  | ||||||
|                         class="block mb-2 text-sm text-gray-700 font-medium dark:text-white">{{ |  | ||||||
|                           $t('vorname_des_sponsors') }}</label> |  | ||||||
|                       <input v-bind="newsponsor_vorname" type="text" name="sponsorvorname" id="sponsorvorname" |  | ||||||
|                         placeholder="Vorname des Sponsors" |  | ||||||
|                         class="py-2.5 sm:py-3 px-4 block w-full border-gray-200 rounded-lg border sm:text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-400 dark:placeholder-neutral-500 dark:focus:ring-neutral-600"> |  | ||||||
|                     </div> |  | ||||||
|  |  | ||||||
|                     <div> |  | ||||||
|                       <label for="sponsornachname" |  | ||||||
|                         class="block mb-2 text-sm text-gray-700 font-medium dark:text-white">{{ |  | ||||||
|                           $t('nachname_des_sponsors') }}</label> |  | ||||||
|                       <input v-bind="newsponsor_nachname" type="text" name="sponsornachname" id="sponsornachname" |  | ||||||
|                         placeholder="Nachname des Sponsors" |  | ||||||
|                         class="py-2.5 sm:py-3 px-4 block w-full border-gray-200 rounded-lg border sm:text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-400 dark:placeholder-neutral-500 dark:focus:ring-neutral-600"> |  | ||||||
|                     </div> |  | ||||||
|                   </div> |  | ||||||
|                   <div class="grid grid-cols-1 sm:grid-cols-2 gap-4 lg:gap-6"> |  | ||||||
|                     <!-- End Grid --> |  | ||||||
|  |  | ||||||
|                     <div> |  | ||||||
|                       <label for="sponsortel" class="block mb-2 text-sm text-gray-700 font-medium dark:text-white">{{ |  | ||||||
|                         $t('telefonnummer_des_sponsors') }}</label> |  | ||||||
|                       <input v-bind="newsponsor_tel" type="tel" name="sponsortel" id="sponsortel" autocomplete="tel" |  | ||||||
|                         class="py-2.5 sm:py-3 px-4 block w-full border-gray-200 rounded-lg border sm:text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-400 dark:placeholder-neutral-500 dark:focus:ring-neutral-600"> |  | ||||||
|                     </div> |  | ||||||
|  |  | ||||||
|                     <div> |  | ||||||
|                       <label for="sponsormail" class="block mb-2 text-sm text-gray-700 font-medium dark:text-white">{{ |  | ||||||
|                         $t('e_mail_des_sponsors') }}</label> |  | ||||||
|                       <input v-bind="newsponsor_mail" type="email" name="sponsormail" id="sponsormail" |  | ||||||
|                         class="py-2.5 sm:py-3 px-4 block w-full border-gray-200 rounded-lg border sm:text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-400 dark:placeholder-neutral-500 dark:focus:ring-neutral-600"> |  | ||||||
|                     </div> |  | ||||||
|  |  | ||||||
|                   </div> |  | ||||||
|                   <div> |  | ||||||
|                     <label for="eurokilometer" class="block mb-2 text-sm text-gray-700 font-medium dark:text-white">{{ |  | ||||||
|                       $t('sponsoring_pro_kilometer_in_eur') }}</label> |  | ||||||
|                     <input v-bind="newsponsor_value" type="number" name="eurokilometer" id="eurokilometer" |  | ||||||
|                       placeholder="z.B. 1€ ODER 0,50€" |  | ||||||
|                       class="py-2.5 sm:py-3 px-4 block w-full border-gray-200 rounded-lg border sm:text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-400 dark:placeholder-neutral-500 dark:focus:ring-neutral-600"> |  | ||||||
|                   </div> |  | ||||||
|                 </div> |  | ||||||
|               </form> |  | ||||||
|               <!-- End Grid --> |  | ||||||
|  |  | ||||||
|               <!-- Checkbox --> |  | ||||||
|               <div class="mt-3 flex"> |  | ||||||
|             <div class="flex"> |             <div class="flex"> | ||||||
|                   <input v-model="newsponsor_check" id="sponsor_agree" name="sponsor_agree" type="checkbox" |               <div class="shrink-0"> | ||||||
|                     class="shrink-0 mt-1.5 border-gray-200 rounded-sm text-blue-600 focus:ring-blue-500 dark:bg-neutral-800 dark:border-neutral-700 dark:checked:bg-blue-500 dark:checked:border-blue-500 dark:focus:ring-offset-gray-800"> |                 <svg class="shrink-0 size-4 text-blue-600 mt-1" xmlns="http://www.w3.org/2000/svg" width="24" | ||||||
|  |                   height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" | ||||||
|  |                   stroke-linecap="round" stroke-linejoin="round"> | ||||||
|  |                   <circle cx="12" cy="12" r="10"></circle> | ||||||
|  |                   <path d="M12 16v-4"></path> | ||||||
|  |                   <path d="M12 8h.01"></path> | ||||||
|  |                 </svg> | ||||||
|               </div> |               </div> | ||||||
|               <div class="ms-3"> |               <div class="ms-3"> | ||||||
|                   <label for="sponsor_agree" class="text-sm text-gray-600 dark:text-neutral-400">{{ |                 <h3 id="hs-discovery-label" class="text-gray-800 font-semibold dark:text-white"> | ||||||
|                     $t('sponsor_add_agree') }}</label> |                   {{ $t('spenden_info') }} | ||||||
|  |                 </h3> | ||||||
|  |                 <p class="mt-2 text-sm text-gray-700 dark:text-neutral-400"> | ||||||
|  |                   {{ $t('donation_on_event_day') }} | ||||||
|  |                 </p> | ||||||
|               </div> |               </div> | ||||||
|             </div> |             </div> | ||||||
|               <!-- End Checkbox --> |  | ||||||
|  |  | ||||||
|               <button :disabled="!newsponsor_check" @click="addSponsoring" type="button" |  | ||||||
|                 class="py-3 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-teal-100 text-teal-800 hover:bg-teal-200 focus:outline-hidden focus:bg-teal-200 disabled:opacity-50 disabled:pointer-events-none dark:text-teal-500 dark:bg-teal-800/30 dark:hover:bg-teal-800/20 dark:focus:bg-teal-800/20 mt-2 cursor-pointer"> |  | ||||||
|                 {{ $t('add_sponsoring') }} |  | ||||||
|               </button> |  | ||||||
|           </div> |           </div> | ||||||
|             <div v-else> |  | ||||||
|           <div class="py-4 w-full"> |           <div class="py-4 w-full"> | ||||||
|             <section class="dark:bg-gray-900 body-font"> |             <section class="dark:bg-gray-900 body-font"> | ||||||
|               <div class="mx-auto"> |               <div class="mx-auto"> | ||||||
| @@ -405,9 +356,6 @@ | |||||||
|                     ]" /> |                     ]" /> | ||||||
|                     {{ $t("no_sponsorings_for_you_were_recorded_yet") }} |                     {{ $t("no_sponsorings_for_you_were_recorded_yet") }} | ||||||
|                   </div> |                   </div> | ||||||
|                       <!-- <button |  | ||||||
|                         class="py-3 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-teal-100 text-teal-800 hover:bg-teal-200 focus:outline-hidden focus:bg-teal-200 disabled:opacity-50 disabled:pointer-events-none dark:text-teal-500 dark:bg-teal-800/30 dark:hover:bg-teal-800/20 dark:focus:bg-teal-800/20 mt-2" |  | ||||||
|                         @click="mode = 'add_sponsoring'">{{ $t('add_sponsoring') }}</button> --> |  | ||||||
|                 </div> |                 </div> | ||||||
|               </div> |               </div> | ||||||
|             </section> |             </section> | ||||||
| @@ -418,7 +366,6 @@ | |||||||
|   </div> |   </div> | ||||||
|   <!--  --> |   <!--  --> | ||||||
|   <Footer /> |   <Footer /> | ||||||
|   </div> |  | ||||||
| </template> | </template> | ||||||
|  |  | ||||||
| <script setup> | <script setup> | ||||||
| @@ -431,22 +378,6 @@ import { useI18n } from 'vue-i18n'; | |||||||
| import { TYPE, useToast } from "vue-toastification"; | import { TYPE, useToast } from "vue-toastification"; | ||||||
| const { t } = useI18n() | const { t } = useI18n() | ||||||
| const loadstate = ref("loading") | const loadstate = ref("loading") | ||||||
| const mode = ref("") |  | ||||||
| //  |  | ||||||
| const newsponsor_check = ref(false) |  | ||||||
| const newsponsor_value = ref("") |  | ||||||
| const newsponsor_mail = ref("") |  | ||||||
| const newsponsor_tel = ref("") |  | ||||||
| const newsponsor_vorname = ref("") |  | ||||||
| const newsponsor_nachname = ref("") |  | ||||||
|  |  | ||||||
| function shareSponsorLink() { |  | ||||||
|   navigator.share({ |  | ||||||
|     title: state.firstname, |  | ||||||
|     text: "Am 23.05.2025 findet der Lauf für Kaya! statt 🏃♂️🏃♀️\nWerde mein Sponsor beim Lauf für Kaya! 2025 und unterstütze mich pro gelaufenem Kilometer: https://lauf-fuer-kaya.de", |  | ||||||
|     // url: "https://lauf-fuer-kaya.de", |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function textToBase64Barcode(text) { | function textToBase64Barcode(text) { | ||||||
|   const canvas = document.createElement("canvas"); |   const canvas = document.createElement("canvas"); | ||||||
| @@ -489,8 +420,8 @@ const props = defineProps({ | |||||||
| }); | }); | ||||||
| const accesstoken = props.token; | const accesstoken = props.token; | ||||||
|  |  | ||||||
| function getReadableDistanceForUI() { | function getTotalReadableDistance() { | ||||||
|   return state.scans.reduce((accumulator, currentValue) => accumulator + currentValue.distance, 0) |   return getReadableDistance(state.scans.reduce((accumulator, currentValue) => accumulator + currentValue.distance, 0)); | ||||||
| } | } | ||||||
|  |  | ||||||
| function getReadableDistance(distance) { | function getReadableDistance(distance) { | ||||||
| @@ -522,6 +453,7 @@ runnerSelfServiceControllerGet({ path: { jwt: accesstoken } }).then(({ data }) = | |||||||
|   }); |   }); | ||||||
| runnerSelfServiceControllerGetScans({ path: { jwt: accesstoken } }).then(({ data }) => { | runnerSelfServiceControllerGetScans({ path: { jwt: accesstoken } }).then(({ data }) => { | ||||||
|   let counter = 0 |   let counter = 0 | ||||||
|  |   data = data.filter((s) => s.valid === true); | ||||||
|   data.map(function (s) { |   data.map(function (s) { | ||||||
|     if (counter === 0) { |     if (counter === 0) { | ||||||
|       s.lapTime_readable = t('first_lap') |       s.lapTime_readable = t('first_lap') | ||||||
| @@ -536,25 +468,11 @@ runnerSelfServiceControllerGetScans({ path: { jwt: accesstoken } }).then(({ data | |||||||
|     counter++; |     counter++; | ||||||
|     return s; |     return s; | ||||||
|   }); |   }); | ||||||
|   data.filter((s) => s.valid === true); |  | ||||||
|   state.scans = data; |   state.scans = data; | ||||||
| }) | }) | ||||||
|   .catch((error) => { |   .catch((error) => { | ||||||
|     toast.error(t('profil_konnte_nicht_geladen_werden')); |     toast.error(t('profil_konnte_nicht_geladen_werden')); | ||||||
|   }); |   }); | ||||||
| function addSponsoring() { |  | ||||||
|   const postdata = { |  | ||||||
|     "receiptNeeded": false, |  | ||||||
|     "firstname": newsponsor_vorname.value, |  | ||||||
|     "middlename": "", |  | ||||||
|     "lastname": newsponsor_nachname.value, |  | ||||||
|     "phone": newsponsor_tel.value, |  | ||||||
|     "email": newsponsor_mail.value, |  | ||||||
|     "address": {} |  | ||||||
|   } |  | ||||||
|   console.log(postdata); |  | ||||||
|   // TODO: implement: donationControllerPostDistance({body:{}}) |  | ||||||
| } |  | ||||||
| function delete_me() { | function delete_me() { | ||||||
|   toast.clear(); |   toast.clear(); | ||||||
|   toast(t('profil_wird_geloescht')); |   toast(t('profil_wird_geloescht')); | ||||||
| @@ -588,6 +506,7 @@ function get_certificate() { | |||||||
|         last_name: state.lastname, |         last_name: state.lastname, | ||||||
|         id: state.fullobject.id, |         id: state.fullobject.id, | ||||||
|         distance: state.fullobject.distance, |         distance: state.fullobject.distance, | ||||||
|  |         self_service_link: window.location.href, | ||||||
|         group: { |         group: { | ||||||
|           name: state.group, |           name: state.group, | ||||||
|           id: state.fullobject.group.id || 0, |           id: state.fullobject.group.id || 0, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user