2022-10-20 02:15:28 +02:00
< template >
2023-06-01 15:02:35 +02:00
< page -layout >
< setting -layout >
< form id = "mailmansettingform" class = "grow p-6 grid grid-cols-2 gap-3 items-start content-start" @submit.prevent ="submit" >
< f -save -button form = "mailmansettingform" > < / f - s a v e - b u t t o n >
< div class = "col-span-full text-gray-100 mb-3" >
< p class = "text-sm" >
Scoutrobot kann automatisch Mailinglisten erstellen , wenn es mit einem existierenden
< a href = "https://docs.mailman3.org/en/latest/" > Mailman Server < / a > verbunden wird . Mailman ist ein OpenSource - Mailinglisten - System , um E - Mails an mehrere Leute zu senden .
< / p >
< p class = "text-sm mt-1" > Scoutrobot wird nach der Ersteinrichtung deine Mitglieder zu bestehenden E - Mail - Verteilern hinzufügen . < / p >
< / div >
< div >
< f -switch id = "is_active" v-model ="inner.is_active" label="Mailman-Synchronisation aktiv" > < / f -switch >
< / div >
< div class = "flex h-full items-center" >
< svg -sprite :src ="stateDisplay.icon" :class ="stateDisplay.text" class = "w-5 h-5" > < / s v g - s p r i t e >
< span class = "ml-3" :class ="stateDisplay.text" v-text ="stateDisplay.label" > < / span >
< / div >
< f -text label = "URL" hint = "URL der Mailman Api" name = "base_url" id = "base_url" v-model ="inner.base_url" > < / f -text >
< f -text label = "Benutzername" name = "username" id = "username" v-model ="inner.username" > < / f -text >
< f -text type = "password" label = "Passwort" name = "password" id = "password" v-model ="inner.password" > < / f -text >
< f -select label = "Liste für alle Mitglieder" name = "all_list" id = "all_list" v-model ="inner.all_list" :options ="lists" > < / f -select >
< f -select label = "Liste für Eltern" name = "all_parents_list" id = "all_parents_list" v-model ="inner.all_parents_list" :options ="lists" > < / f -select >
< f -select label = "Liste für aktive Leiter" name = "active_leaders_list" id = "active_leaders_list" v-model ="inner.active_leaders_list" :options ="lists" > < / f -select >
< f -select label = "Liste für passive Leiter" name = "passive_leaders_list" id = "passive_leaders_list" v-model ="inner.passive_leaders_list" :options ="lists" > < / f -select >
< div > < / div >
< / form >
< / s e t t i n g - l a y o u t >
< / p a g e - l a y o u t >
2022-10-20 02:15:28 +02:00
< / template >
< script >
import SettingLayout from './Layout.vue' ;
export default {
data : function ( ) {
return {
2023-06-01 15:02:35 +02:00
inner : { ... this . data } ,
2022-10-20 02:15:28 +02:00
} ;
} ,
props : {
data : { } ,
2022-10-20 03:22:50 +02:00
state : { } ,
2022-10-20 12:01:57 +02:00
lists : { } ,
2022-10-20 03:22:50 +02:00
} ,
computed : {
stateDisplay ( ) {
if ( this . state === null ) {
return {
text : 'text-gray-500' ,
icon : 'disabled' ,
label : 'Deaktiviert' ,
} ;
}
return this . state
? {
text : 'text-green-500' ,
icon : 'check' ,
label : 'Verbindung erfolgreich.' ,
}
: {
text : 'text-red-500' ,
icon : 'close' ,
label : 'Verbindung fehlgeschlagen.' ,
} ;
} ,
2022-10-20 02:15:28 +02:00
} ,
2022-10-20 03:22:50 +02:00
2022-10-20 02:15:28 +02:00
methods : {
submit ( ) {
2022-10-20 03:22:50 +02:00
var _self = this ;
this . $inertia . post ( '/setting/mailman' , this . inner , {
onSuccess ( page ) {
_self . inner = page . props . data ;
} ,
} ) ;
2022-10-20 02:15:28 +02:00
} ,
} ,
2023-06-01 15:02:35 +02:00
components : {
SettingLayout ,
2022-10-20 02:15:28 +02:00
} ,
} ;
< / script >