Added STG mail receiver to be addressed, when lector changes Zeitwunsch...

...and when lector has already been assigned to a course.

Only addressing Studiengaenge that are concerned by Zeitwunsch change
of lector.
LV must be assigned in the selected Studiensemester, but not in the past
This commit is contained in:
Cris
2021-12-20 11:52:26 +01:00
parent 8ab62e4779
commit f73f26c668
3 changed files with 68 additions and 3 deletions
+66 -1
View File
@@ -32,10 +32,12 @@ require_once('../../../include/datum.class.php');
require_once('../../../include/zeitwunsch.class.php');
require_once('../../../include/zeitwunsch_gueltigkeit.class.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/studiengang.class.php');
require_once('../../../include/zeitaufzeichnung_gd.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/mitarbeiter.class.php');
require_once('../../../include/lehrveranstaltung.class.php');
require_once('../../../include/lehreinheit.class.php');
require_once('../../../include/lehrstunde.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/sprache.class.php');
@@ -354,6 +356,64 @@ function checkIsVerplant($uid, $studiensemester_kurzbz)
return empty($lstd->result) ? false : true;
}
/**
* Get Studiengaenge of STG assigend to LVs, to which lector is alredy assigend in
* the given Studiensemester.
*
* @param $uid
* @param $studiensemester_kurzbz
* @return array|void
*/
function getStgOfVerplant($uid, $studiensemester_kurzbz)
{
$stg_arr = array(); // Mail data for Studiengang
// Get Stundenplan entries of lector of Studiensemester concerned by Zeitwunschgueltigkeit
$lstd = new Lehrstunde();
if (!$lstd->getStundenplanData(
'stundenplandev',
null,
$studiensemester_kurzbz,
null,
$uid,
null,
true)) //...but only from now on
{
die($lstd->errormsg);
}
// Loop through Stundenplan entries
foreach ($lstd->result as $row)
{
// Get LE of Stundenplan entry
$le = new Lehreinheit($row->lehreinheit_id);
// GET LV by LE of Stundenplan entry
$lv = new Lehrveranstaltung($le->lehrveranstaltung_id);
// Build Studiengang array
$stg_arr[] = $lv->studiengang_kz;
}
// Make Studiengang array unique
return array_unique($stg_arr);
}
/**
* Get Studiengang eMail Addresses.
* @param $stgKz_arr // Studiengang Kennzeichen Array
* @return array
*/
function getStgMail($stgKz_arr)
{
$stgMail_arr = array();
foreach($stgKz_arr as $stgKz)
{
$stg = new Studiengang($stgKz);
$stgMail_arr[]= $stg->email;
}
return $stgMail_arr;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
@@ -664,11 +724,16 @@ function checkIsVerplant($uid, $studiensemester_kurzbz)
echo '</div>'; // end divCopyZWG
echo '<div id="divIsVerplant" class="'. $divIsVerplantHidden . '">';
// Mail Adressen der Studiengaenge, wo Lektor ueber eine LV bereits verplant ist
$stgKzOfVerplant_arr = getStgOfVerplant($uid, $selected_ss);
$stgMail_arr = getStgMail($stgKzOfVerplant_arr);
echo '<div class="col-xs-9">';
echo '<div class="panel panel-danger">';
echo '<div class="panel-body">';
echo '<span class="text-danger"><b>'. $p->t("zeitwunsch/bearbeitungDeaktiviert"). ': </b></span>';
echo $p->t("zeitwunsch/bearbeitungDeaktiviertText", array($selected_ss, $p->t('global/studiengangsmanagement'))). '
echo $p->t("zeitwunsch/bearbeitungDeaktiviertText", array($selected_ss, implode($stgMail_arr, '; '))). '
<a id="bearbeitung-aktivieren" style="cursor:pointer;">'. $p->t("zeitwunsch/bearbeitungAktivieren"). '</a><br>
<span><b>'. $p->t("zeitwunsch/kompetenzfeldWirdInformiert") . '</b></span>
</span>';
+1 -1
View File
@@ -37,7 +37,7 @@ $this->phrasen['zeitwunsch/stundenBereitsVerplant']='Stunden für %s bereits ver
$this->phrasen['zeitwunsch/fuer']='Zeitwunsch f&uuml;r %s &ensp;';
$this->phrasen['zeitwunsch/bearbeitungDeaktiviert']='Bearbeitung deaktiviert';
$this->phrasen['zeitwunsch/bearbeitungDeaktiviertText']='Ihnen wurden im %s bereits Lehrveranstaltung(en) zugeteilt.<br>
Bitte stimmen Sie sich vor einer &Auml;nderung mit dem %s ab.<br>
Bitte stimmen Sie sich vor einer &Auml;nderung <a href="mailto:%s">per Mail</a> mit den betroffenen Studieng&auml;ngen ab.<br>
M&ouml;chten Sie trotzdem ohne Abstimmung bzw. nach bereits erfolgter Abstimmung fortsetzen?';
$this->phrasen['zeitwunsch/bearbeitungAktivieren']='Bearbeitung aktivieren';
$this->phrasen['zeitwunsch/kompetenzfeldWirdInformiert']= 'INFO: Kompetenzfeld wird &uuml;ber die &Auml;nderung per Mail informiert';
+1 -1
View File
@@ -37,7 +37,7 @@ $this->phrasen['zeitwunsch/stundenBereitsVerplant']='Hours already scheduled for
$this->phrasen['zeitwunsch/fuer']='Preferred time for %s &ensp;';
$this->phrasen['zeitwunsch/bearbeitungDeaktiviert']='Editing disabled';
$this->phrasen['zeitwunsch/bearbeitungDeaktiviertText']='You have already been assigned to course(s) in %s.</span><br>
Please agree with %s</a> before making a change.<br>
Please agree <a href="mailto:%s">per Mail</a> with the degree programs concerned, before making a change.<br>
Would you still like to continue without agreement or after having agreed?';
$this->phrasen['zeitwunsch/bearbeitungAktivieren']='Enable editing';
$this->phrasen['zeitwunsch/kompetenzfeldWirdInformiert']= 'INFO: The field of competence will be informed of your changes by email';