diff --git a/public/js/components/Form/Input.js b/public/js/components/Form/Input.js
index 4ad555ab7..62c6217e6 100644
--- a/public/js/components/Form/Input.js
+++ b/public/js/components/Form/Input.js
@@ -29,7 +29,8 @@ export default {
label: String,
// NOTE(chris): remove these from $attrs array to prevent doubled event listeners
onInput: [Array, Function],
- 'onUpdate:modelValue': [Array, Function]
+ 'onUpdate:modelValue': [Array, Function],
+ titleActionButton: String
},
data() {
return {
@@ -317,6 +318,7 @@ export default {
:id="idCmp"
:name="name"
:class="validationClass"
+ :titleActionButton="titleActionButton"
@update:model-value="clearValidationForThisName"
>
diff --git a/public/js/components/Form/Upload/Image.js b/public/js/components/Form/Upload/Image.js
index b0b8d5b78..4b96d4c85 100644
--- a/public/js/components/Form/Upload/Image.js
+++ b/public/js/components/Form/Upload/Image.js
@@ -1,9 +1,14 @@
export default {
emits: [
- 'update:modelValue'
+ 'update:modelValue',
+ 'actionbutton-clicked'
],
props: {
- modelValue: String
+ modelValue: String,
+ titleActionButton: {
+ type: String,
+ default: ""
+ }
},
computed: {
valueAsBase64DataString() {
@@ -28,6 +33,9 @@ export default {
},
deleteImage() {
this.$emit('update:modelValue', '');
+ },
+ emitAction(){
+ this.$emit('actionbutton-clicked', this.modelValue);
}
},
template: `
@@ -42,6 +50,7 @@ export default {
+
diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Details.js b/public/js/components/Stv/Studentenverwaltung/Details/Details.js
index 3cd314fc1..9cd13c0a9 100644
--- a/public/js/components/Stv/Studentenverwaltung/Details/Details.js
+++ b/public/js/components/Stv/Studentenverwaltung/Details/Details.js
@@ -158,6 +158,16 @@ export default {
},
reload(){
this.updateStudent(this.modelValue);
+ },
+ sendInfomail(){
+ const subject = this.$p.t('person', 'betreffProfilfoto');
+ const subjectEncoded = encodeURIComponent(subject);
+
+ const body = this.$p.t('person', 'mailText_profilfoto');
+ const bodyWithNewLines = body.replace(/\\n/g, '\n');
+ const bodyEncoded = encodeURIComponent(bodyWithNewLines);
+
+ window.location.href = "mailto:" + this.modelValue.mail_intern + "?subject=" + subjectEncoded + "&body=" + bodyEncoded;
}
},
created() {
@@ -386,8 +396,10 @@ export default {
container-class="col stv-details-details-foto"
:label="$p.t('person', 'foto')"
type="UploadImage"
+ titleActionButton="Infomail"
v-model="data.foto"
name="foto"
+ @actionbutton-clicked="sendInfomail"
>
diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php
index 5f6269365..8a62867f8 100644
--- a/system/phrasesupdate.php
+++ b/system/phrasesupdate.php
@@ -53699,6 +53699,46 @@ and represent the current state of research on the topic. The prescribed citatio
)
)
),
+ array(
+ 'app' => 'core',
+ 'category' => 'person',
+ 'phrase' => 'mailText_profilfoto',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => "Hallo,\n\nIhr Profilbild wurde entfernt, da es nicht den aktuellen Bildrichtlinen entspricht. Bitte laden Sie unter CIS->Profil ein neues Profilbild hoch!\n\nDanke!",
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => "Hello,\n\nYour profile picture has been removed because it does not comply with the current image guidelines. Please upload a new profile picture under CIS->Profile!\n\nThank you!",
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'core',
+ 'category' => 'person',
+ 'phrase' => 'betreffProfilfoto',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Profilbild',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Profile picture',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
// FHC-4 Finetuning END
//**************************** CORE/search