mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 18:02:18 +00:00
add Compatibility Mode for SOGO
add logic for BCC to default Mail Client Version add phrases
This commit is contained in:
@@ -1,7 +1,14 @@
|
|||||||
|
import { splitMailsHelper } from "../../../../helpers/EmailHelpers.js";
|
||||||
import { splitMailLinks } from "../../../../helpers/EmailHelpers.js";
|
import { splitMailLinks } from "../../../../helpers/EmailHelpers.js";
|
||||||
|
import FormInput from "../../../Form/Input.js";
|
||||||
|
import FormForm from "../../../Form/Form.js";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Kontaktieren",
|
name: "Kontaktieren",
|
||||||
|
components: {
|
||||||
|
FormInput,
|
||||||
|
FormForm
|
||||||
|
},
|
||||||
computed: {
|
computed: {
|
||||||
internMails() {
|
internMails() {
|
||||||
if (this.modelValue.mail_intern)
|
if (this.modelValue.mail_intern)
|
||||||
@@ -31,20 +38,21 @@ export default {
|
|||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
mailLinks: [],
|
mailLinks: [],
|
||||||
showMailDialog: false
|
showMailDialog: false,
|
||||||
|
showDivKomp: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
internMail(event) {
|
internMail(event) {
|
||||||
if (this.internMails.length)
|
if (this.internMails.length)
|
||||||
{
|
{
|
||||||
splitMailsHelper(this.internMails, event, null, this.$fhcAlert, this.$p)
|
splitMailsHelper(this.internMails, event, null, this.$fhcAlert, this.$p, this.authUid)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
privateMail(event) {
|
privateMail(event) {
|
||||||
if (this.privateMails.length)
|
if (this.privateMails.length)
|
||||||
{
|
{
|
||||||
splitMailsHelper(this.privateMails, event, null, this.$fhcAlert, this.$p)
|
splitMailsHelper(this.privateMails, event, null, this.$fhcAlert, this.$p, this.authUid)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
createMailLinks(event, mailGroup){
|
createMailLinks(event, mailGroup){
|
||||||
@@ -63,67 +71,108 @@ export default {
|
|||||||
},
|
},
|
||||||
reset(){
|
reset(){
|
||||||
this.showMailDialog = false;
|
this.showMailDialog = false;
|
||||||
|
},
|
||||||
|
onSwitchChange(){
|
||||||
|
if (this.showDivKomp) {
|
||||||
|
console.log("zeigen");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log("nicht zeigen");
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
showKompatiblitymode(){
|
||||||
|
this.showDivKomp = !this.showDivKomp;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
template: `
|
template: `
|
||||||
<div class="core-kontaktieren>
|
<div class="core-kontaktieren>
|
||||||
<div id="elementID"></div>
|
<div id="elementID"></div>
|
||||||
|
|
||||||
<div v-if="!showMailDialog" class="row">
|
<div class="d-flex justify-content-end pb-3">
|
||||||
<div class="col-lg-2">
|
<form-input
|
||||||
<button class="btn btn-primary mb-2" @click="createMailLinks($event, 'intern')" :title="$p.t('stv', 'bccEMail')">
|
container-class="form-switch mb-0"
|
||||||
<i class="fa-solid fa-mail"></i> {{$p.t('stv', 'internEMail')}}
|
type="checkbox"
|
||||||
</button>
|
:label="$p.t('ui/kompatibilityMode_Sogo')"
|
||||||
|
v-model="showDivKomp"
|
||||||
|
@change="onSwitchChange"
|
||||||
|
>
|
||||||
|
</form-input>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="!showDivKomp">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-2">
|
||||||
|
<button class="btn btn-primary mb-2" @click="internMail($event)" :title="$p.t('stv', 'bccEMail')">
|
||||||
|
<i class="fa-solid fa-mail"></i> {{$p.t('stv', 'internEMail')}}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-2">
|
||||||
|
<button class="btn btn-primary mb-2" @click="privateMail($event)" :title="$p.t('stv', 'bccEMail')">
|
||||||
|
<i class="fa-solid fa-mail"></i> {{$p.t('stv', 'privateEMail')}}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="!showMailDialog" class="row">
|
<div v-if="showDivKomp">
|
||||||
<div class="col-lg-2">
|
|
||||||
<button class="btn btn-primary mb-2" @click="createMailLinks($event, 'private')" :title="$p.t('stv', 'bccEMail')">
|
<div v-if="!showMailDialog" class="row">
|
||||||
<i class="fa-solid fa-mail"></i> {{$p.t('stv', 'privateEMail')}}
|
<div class="col-lg-2">
|
||||||
</button>
|
<button class="btn btn-secondary mb-2" @click="createMailLinks($event, 'intern')" :title="$p.t('stv', 'bccEMail')">
|
||||||
|
<i class="fa-solid fa-mail"></i> {{$p.t('stv', 'internEMail')}} (SOGO)
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-if="!showMailDialog" class="row">
|
||||||
|
<div class="col-lg-2">
|
||||||
|
<button class="btn btn-secondary mb-2" @click="createMailLinks($event, 'private')" :title="$p.t('stv', 'bccEMail')">
|
||||||
|
<i class="fa-solid fa-mail"></i> {{$p.t('stv', 'privateEMail')}} (SOGO)
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="showMailDialog" class="mt-3">
|
<div v-if="showMailDialog" class="mt-3">
|
||||||
<div v-if="mailLinks.length > 1" class="mt-2">
|
<div v-if="mailLinks.length > 1" class="mt-2">
|
||||||
<p>{{$p.t('stv', 'zuvieleEMails')}}</p>
|
<p>{{$p.t('stv', 'zuvieleEMails')}}</p>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
v-for="(link,index) in mailLinks"
|
v-for="(link,index) in mailLinks"
|
||||||
:key="index"
|
:key="index"
|
||||||
class="mb-2">
|
class="mb-2">
|
||||||
|
<a
|
||||||
<a
|
:href="link"
|
||||||
:href="link"
|
@click.prevent="handleMailLink"
|
||||||
@click.prevent="handleMailLink"
|
>
|
||||||
>
|
Email {{ index + 1 }}
|
||||||
Email {{ index + 1 }}
|
</a>
|
||||||
</a>
|
</div>
|
||||||
|
<a
|
||||||
|
class="btn btn-outline-secondary m-2"
|
||||||
|
@click.prevent="reset"
|
||||||
|
>
|
||||||
|
<span class="fa-solid fa-rotate-right" :title="this.$p.t('ui','zurueck')" ></span>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<a
|
<div v-else>
|
||||||
class="btn btn-outline-secondary m-2"
|
<a
|
||||||
@click.prevent="reset"
|
:href="mailLinks[0]"
|
||||||
>
|
@click.prevent="handleMailLink"
|
||||||
<span class="fa-solid fa-rotate-right" :title="this.$p.t('ui','zurueck')" ></span>
|
class="btn btn-primary m-2"
|
||||||
</a>
|
>
|
||||||
</div>
|
{{$p.t('ui', 'openInMailClient')}}
|
||||||
<div v-else>
|
</a>
|
||||||
<a
|
<a
|
||||||
:href="mailLinks[0]"
|
class="btn btn-outline-secondary m-2"
|
||||||
@click.prevent="handleMailLink"
|
@click.prevent="reset"
|
||||||
class="btn btn-primary m-2"
|
>
|
||||||
>
|
<span class="fa-solid fa-rotate-right" :title="this.$p.t('ui','zurueck')" ></span>
|
||||||
{{$p.t('ui', 'openInMailClient')}}
|
</a>
|
||||||
</a>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<a
|
|
||||||
class="btn btn-outline-secondary m-2"
|
|
||||||
@click.prevent="reset"
|
|
||||||
>
|
|
||||||
<span class="fa-solid fa-rotate-right" :title="this.$p.t('ui','zurueck')" ></span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
`
|
`
|
||||||
};
|
};
|
||||||
@@ -1,4 +1,7 @@
|
|||||||
export async function splitMailsHelper(mails, event, subject, alertPluginRef, phrasenPluginRef) {
|
|
||||||
|
|
||||||
|
|
||||||
|
export async function splitMailsHelper(mails, event, subject, alertPluginRef, phrasenPluginRef, uidCC= "") {
|
||||||
let splititem = ",";
|
let splititem = ",";
|
||||||
let maillist = mails.join(splititem);
|
let maillist = mails.join(splititem);
|
||||||
let mailto = "";
|
let mailto = "";
|
||||||
@@ -26,7 +29,9 @@ export async function splitMailsHelper(mails, event, subject, alertPluginRef, ph
|
|||||||
maillist = "";
|
maillist = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
let mailLink = useBcc ? `mailto:?bcc=${mailto}` : `mailto:${mailto}`;
|
let mailadressUid = uidCC + '@technikum-wien.at';
|
||||||
|
|
||||||
|
let mailLink = useBcc ? `mailto:${mailadressUid}?cc=${mailadressUid}&bcc=${mailto}` : `mailto:${mailto}`;
|
||||||
if(subject && typeof subject === 'string') mailLink += `?subject=${subject}`
|
if(subject && typeof subject === 'string') mailLink += `?subject=${subject}`
|
||||||
if (firstrun)
|
if (firstrun)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -58217,6 +58217,26 @@ I have been informed that I am under no obligation to consent to the transmissio
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ui',
|
||||||
|
'phrase' => 'kompatibilityMode_Sogo',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Kompatibilitätsmodus für SOGO',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Open in Compatibility mode (SOGO)',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user