Merge branch 'cis40_2026-09_ma_rc' into demo-cis40

This commit is contained in:
Harald Bamberger
2026-10-13 07:57:53 +02:00
3 changed files with 108 additions and 17 deletions
@@ -181,7 +181,7 @@ class Zeitsperren extends FHCAPI_Controller
if($zeitsperretyp_kurzbz == 'ZA')
{
$res = $this->sendSanchoMailToVorgesetzten(
$this->sendSanchoMailToVorgesetzten(
'Sancho_Content_Zeitausgleich',
array(
'beschreibung' =>$zeitsperretyp_kurzbz,
@@ -330,7 +330,7 @@ class Zeitsperren extends FHCAPI_Controller
if($zeitsperretyp_kurzbz == 'ZA')
{
$res = $this->sendSanchoMailToVorgesetzten(
$this->sendSanchoMailToVorgesetzten(
'Sancho_Content_ZA_Aendern',
array(
'beschreibung' =>$zeitsperretyp_kurzbz,
@@ -424,26 +424,46 @@ class Zeitsperren extends FHCAPI_Controller
$fullname = getData($this->PersonModel->getFullName($mauid));
$vorgesetzte = (array) getData($this->MitarbeiterModel->getVorgesetzte($mauid));
$this->addMeta('bhvorgesetzte', $vorgesetzte);
$to = array();
$vorgesetzte_namen = array();
$mailsent = false;
$msg = $this->p->t('zeitsperren', 'konnteKeinFreigabemailVersendetWerden');
foreach($vorgesetzte as $vg)
if(count($vorgesetzte) > 0)
{
$to[] = $vg->vorgesetzter .'@' . DOMAIN;
$vorgesetzter_fullname = getData($this->PersonModel->getFullName($vg->vorgesetzter));
$vorgesetzte_namen[] = $vorgesetzter_fullname;
foreach($vorgesetzte as $vg)
{
$to[] = $vg->vorgesetzter .'@' . DOMAIN;
$vorgesetzter_fullname = getData($this->PersonModel->getFullName($vg->vorgesetzter));
$vorgesetzte_namen[] = $vorgesetzter_fullname;
}
$sancho_vorlage_data['vorgesetzter'] = implode(', ', $vorgesetzte_namen);
$sancho_vorlage_data['nameMitarbeiter'] = $fullname;
$mailsent = sendSanchoMail(
$sancho_vorlage_kurzbz,
$sancho_vorlage_data,
implode(',', $to),
$subject
);
if($mailsent)
{
$msg = $this->p->t('zeitsperren', 'VorgesetzteInformiert',
array('vorgesetzte' => $sancho_vorlage_data['vorgesetzter']));
}
else
{
$msg = $this->p->t('zeitsperren', 'fehlerBeimSendenAufgetreten',
array('vorgesetzte' => $sancho_vorlage_data['vorgesetzter']));
}
}
$sancho_vorlage_data['vorgesetzter'] = implode(', ', $vorgesetzte_namen);
$sancho_vorlage_data['nameMitarbeiter'] = $fullname;
return sendSanchoMail(
$sancho_vorlage_kurzbz,
$sancho_vorlage_data,
implode(',', $to),
$subject
$res = (object) array(
'mailsent' => $mailsent,
'msg' => $msg
);
$this->addMeta('mailstatus', $res);
}
}
@@ -91,6 +91,15 @@ export default {
.then(() => this.deleteZeitsperre(zeitsperre_id))
.catch(this.$fhcAlert.handleSystemError);
},
alertMailstatus(response) {
if(response?.meta?.mailstatus) {
if(response.meta.mailstatus.mailsent) {
this.$fhcAlert.alertInfo(response.meta.mailstatus.msg);
} else {
this.$fhcAlert.alertWarning(response.meta.mailstatus.msg);
}
}
},
saveZeitsperre(zeitsperreId = null) {
const isNew = !zeitsperreId;
@@ -109,8 +118,9 @@ export default {
return this.$refs.dataZeitsperre
.call(request)
.then(() => {
.then((response) => {
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
this.alertMailstatus(response);
this.reset();
this.reload();
@@ -122,6 +132,7 @@ export default {
.call(ApiTimelocks.deleteZeitsperre(zeitsperre_id))
.then(response => {
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete'));
this.alertMailstatus(response);
})
.catch(this.$fhcAlert.handleSystemError)
.finally(()=> {
+60
View File
@@ -68138,6 +68138,66 @@ I have been informed that I am under no obligation to consent to the transmissio
)
)
),
array(
'app' => 'core',
'category' => 'zeitsperren',
'phrase' => 'VorgesetzteInformiert',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Email wurde an {vorgesetzte} versandt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Email was sent to {vorgesetzte}',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'zeitsperren',
'phrase' => 'fehlerBeimSendenAufgetreten',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Fehler beim Senden des Freigabemails an {vorgesetzte}',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Error occured sending mail to {vorgesetzte}',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'zeitsperren',
'phrase' => 'konnteKeinFreigabemailVersendetWerden',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Es konnte kein Freigabemail versendet werden, da kein Vorgesetzter eingetragen ist!',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'An approval mail could not be sent because the “Superior” field was left blank!',
'description' => '',
'insertvon' => 'system'
)
)
),
// Zeitsperren Sancho Subjects end
);