Merge branch 'master' into feature-5707/DigitalerLehrauftrag_PDF-Download_Akzeptierte_Lehrauftraege

This commit is contained in:
Cris
2020-03-26 14:31:49 +01:00
13 changed files with 312 additions and 89 deletions
+2
View File
@@ -18,6 +18,8 @@ $config['ou_receivers'] = array('ass');
$config['ou_receivers_no_notice'] = array('infocenter');
// Organization units that will not send the notice email to the internal account, but to the private one
$config['ou_receivers_private'] = array('eac', 'ewu', 'scs');
//
$config['ou_function_whitelist'] = array('ass', 'Leitung', 'fachzuordnung', 'oezuordnung');
$config['message_redirect_url'] = array();
$config['message_redirect_url']['fallback'] = site_url('system/messages/ViewMessage/writeReply');
+9 -1
View File
@@ -15,6 +15,7 @@ class MessageLib
const CFG_OU_RECEIVERS = 'ou_receivers';
const CFG_OU_RECEIVERS_NO_NOTICE = 'ou_receivers_no_notice';
const CFG_OU_RECEIVERS_PRIVATE = 'ou_receivers_private';
const CFG_OU_FUNCTION_WHITELIST = 'ou_function_whitelist';
const CFG_REDIRECT_VIEW_MESSAGE_URL = 'redirect_view_message_url';
// Templates names
@@ -229,7 +230,14 @@ class MessageLib
$ouArray = array();
// Copies organisation units in $ouArray array
foreach (getData($benutzer) as $val) $ouArray[] = $val->oe_kurzbz;
foreach (getData($benutzer) as $val)
{
// If the function is in the white list then get the organisation unit
if (in_array($val->funktion_kurzbz, $this->_ci->config->item(self::CFG_OU_FUNCTION_WHITELIST)))
{
$ouArray[] = $val->oe_kurzbz;
}
}
return success($ouArray);
}
@@ -125,12 +125,12 @@ class Organisationseinheit_model extends DB_Model
public function getChilds($oe_kurzbz, $includeinactive = false)
{
$query = "
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
(
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
WHERE oe_kurzbz=? %s
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz %s
)
SELECT oe_kurzbz
@@ -150,12 +150,12 @@ class Organisationseinheit_model extends DB_Model
public function getParents($oe_kurzbz, $includeinactive = false)
{
$query=
"WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
"WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
(
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
WHERE oe_kurzbz=? %s
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_kurzbz=oes.oe_parent_kurzbz %s
)
SELECT oe_kurzbz
@@ -177,7 +177,7 @@ class Organisationseinheit_model extends DB_Model
{
$condition = '
oe_kurzbz = (
SELECT
SELECT
oe_parent_kurzbz
FROM
public.tbl_organisationseinheit
+48 -21
View File
@@ -11,9 +11,9 @@ class Vorlage_widget extends DropdownWidget
$vorlage = null;
// If the user is an admin
if ($idAdmin === true)
if ($idAdmin)
{
// Get all the vorlage with mimetype = text/html
// Get all the vorlage with mimetype = text/html
$vorlage = $this->_getAllHTMLVorlage();
}
else
@@ -39,7 +39,7 @@ class Vorlage_widget extends DropdownWidget
private function _getAllHTMLVorlage()
{
$this->load->model('system/Vorlage_model', 'VorlageModel');
$this->VorlageModel->addOrder('vorlage_kurzbz');
$this->VorlageModel->addOrder('bezeichnung');
$this->addSelectToModel($this->VorlageModel, 'vorlage_kurzbz', 'bezeichnung');
@@ -59,15 +59,31 @@ class Vorlage_widget extends DropdownWidget
$vorlage = success(array()); // Default value
$table = '(
SELECT v.vorlage_kurzbz, v.bezeichnung, vs.version, vs.oe_kurzbz, vs.aktiv, vs.subject, vs.text, v.mimetype
FROM tbl_vorlagestudiengang vs INNER JOIN tbl_vorlage v USING(vorlage_kurzbz)
SELECT v.vorlage_kurzbz,
v.bezeichnung,
vs.version,
vs.oe_kurzbz,
vs.aktiv,
vs.subject,
vs.text,
v.mimetype
FROM tbl_vorlagestudiengang vs
JOIN tbl_vorlage v USING(vorlage_kurzbz)
) templates';
$alias = 'templates';
$fields = array("templates.vorlage_kurzbz AS id", "templates.bezeichnung AS description");
$fields = array(
'templates.vorlage_kurzbz AS id',
'templates.bezeichnung || \' (\' || UPPER(templates.oe_kurzbz) || \')\' AS description'
);
$where = 'templates.aktiv = TRUE
AND templates.subject IS NOT NULL
AND templates.text IS NOT NULL
AND templates.mimetype = \'text/html\'';
AND templates.subject IS NOT NULL
AND templates.text IS NOT NULL
AND templates.mimetype = \'text/html\'
GROUP BY 1, 2, 3';
$order_by = 'description ASC';
if (!is_array($oe_kurzbz))
@@ -99,30 +115,41 @@ class Vorlage_widget extends DropdownWidget
if (hasData($tmpVorlage))
{
// If it's the first vorlage copy it
if (count($vorlage->retval) == 0)
if (!hasData($vorlage))
{
for ($j = 0; $j < count($tmpVorlage->retval); $j++)
for ($j = 0; $j < count(getData($tmpVorlage)); $j++)
{
if ($tmpVorlage->retval[$j]->id != '')
if (getData($tmpVorlage)[$j]->id != '')
{
array_push($vorlage->retval, $tmpVorlage->retval[$j]);
array_push($vorlage->retval, getData($tmpVorlage)[$j]);
}
}
}
else // checks for duplicates, if it's not already present push it into the array $vorlage->retval
else // checks for duplicates, if it's not already present push it into the array getData($vorlage)
{
for ($i = 0; $i < count($vorlage->retval); $i++)
for ($j = 0; $j < count(getData($tmpVorlage)); $j++)
{
for ($j = 0; $j < count($tmpVorlage->retval); $j++)
$found = false;
$currentTmpVorlageData = null;
for ($i = 0; $i < count(getData($vorlage)); $i++)
{
if ($tmpVorlage->retval[$j]->id != ''
&& $vorlage->retval[$i]->_pk != $tmpVorlage->retval[$j]->_pk
&& $vorlage->retval[$i]->_ppk != $tmpVorlage->retval[$j]->_ppk
&& $vorlage->retval[$i]->_jtpk != $tmpVorlage->retval[$j]->_jtpk)
$currentTmpVorlageData = getData($tmpVorlage)[$j];
if (getData($vorlage)[$i]->id == getData($tmpVorlage)[$j]->id
&& getData($vorlage)[$i]->_pk == getData($tmpVorlage)[$j]->_pk
&& getData($vorlage)[$i]->_ppk == getData($tmpVorlage)[$j]->_ppk
&& getData($vorlage)[$i]->_jtpk == getData($tmpVorlage)[$j]->_jtpk)
{
array_push($vorlage->retval, $tmpVorlage->retval[$j]);
$found = true;
break;
}
}
if (!$found && $currentTmpVorlageData->id != '')
{
array_push($vorlage->retval, $currentTmpVorlageData);
}
}
}
}
+6
View File
@@ -427,6 +427,7 @@ if (!$ansicht)
usort($kontakt->result, "sortKontakt");
echo '<table>';
$has_notfallkontakt = false;
foreach($kontakt->result as $k)
{
if ($k->kontakttyp != 'firmenhandy' && $k->kontakttyp != 'hidden')
@@ -441,6 +442,8 @@ if (!$ansicht)
echo '<td>'.$k->anmerkung.'</td>';
echo '<td>'.$zustellung.'</td>';
echo '</tr>';
if ($k->kontakttyp == 'notfallkontakt')
$has_notfallkontakt = true;
}
/*
if ($k->zustellung === TRUE)
@@ -462,6 +465,9 @@ if (!$ansicht)
}
*/
}
if (!$has_notfallkontakt)
echo '<tr><td>'.$p->t('profil/notfallkontakt').'</td><td colspan="3">'.$p->t('profil/notfallkontaktBekanntgeben').'</td></tr>';
echo '</table>';
}
+7
View File
@@ -135,6 +135,9 @@ define('FAS_REIHUNGSTEST_AUFNAHMEGRUPPEN',false);
// Legt fest, ob Vertragsdetails zum Lehrauftrag im Reiter LektorInnenzuteilung angezeigt werden
define('FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN', false);
// Legt fest ob bei Fixangestellten Lektoren der Stundensatz vorgeschlagen wird
define('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ', true);
// Gibt an, ob/ab welchen Studiensemester eine zusätzliche Vertragspruefung der Lektoren erfolgt.
// Ab diesem Semester wird die Lektorenzuordnung nur angezeigt wenn ein erteilter Vertrag vorhanden ist
define('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON', '');
@@ -259,6 +262,10 @@ define('FAS_KONTO_SHOW_CREDIT_POINTS','false');
// Bei "default" wird der Standard-Stundensatz des Lektors (aus tbl_mitarbeiter) ermittelt, und dieser eingetragen.
// Wenn numerisch, wird dieser Wert bei allen LektorInnen eingetragen.
// Wenn nicht definiert, wird der Stundensatz des Vorjahres übernommen.
// Bei "nachbeschaeftigungsart" wird
// bei echten Dienstvertraegen mit voller inkludierter Lehre (-1) der Stundensatz auf null gesetzt
// bei echten Dienstvertraegen mit teilweise oder nicht inkludierter Lehre der Default Stundensatz gesetzt
// bei sonstigen Dienstvertraegen der Default Stundensatz gesetzt
define('VILESCI_STUNDENSATZ_VORRUECKUNG', '');
// Wenn true, werden die Content-Aufrufe des CIS in der tbl_webservicelog mitgeloggt. Zuvor manuell einen neuen Webservicetyp "content" anlegen!
+73 -21
View File
@@ -36,6 +36,7 @@
// ****************************************
require_once('../../config/vilesci.config.inc.php');
require_once('../../config/global.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/lehreinheit.class.php');
require_once('../../include/lehreinheitmitarbeiter.class.php');
@@ -52,6 +53,7 @@ require_once('../../include/lehrveranstaltung.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/vertrag.class.php');
require_once('../../include/benutzergruppe.class.php');
require_once('../../include/bisverwendung.class.php');
$user = get_uid();
$db = new basis_db();
@@ -440,11 +442,18 @@ if(!$error)
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_add')
{
//neue Lehreinheitmitarbeiterzuteilung anlegen
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER);
$qry = "SELECT
tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
lehrfach.oe_kurzbz as lehrfach_oe_kurzbz
FROM
lehre.tbl_lehrveranstaltung,
lehre.tbl_lehreinheit,
lehre.tbl_lehrveranstaltung as lehrfach
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id
AND tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id
AND lehreinheit_id = ".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER);
if($db->db_query($qry))
{
if($row = $db->db_fetch_object())
@@ -454,8 +463,8 @@ if(!$error)
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz) &&
!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz))
!$rechte->isBerechtigtMultipleOe('assistenz', $row->lehrfach_oe_kurzbz, 'suid') &&
!$rechte->isBerechtigtMultipleOe('admin', $row->lehrfach_oe_kurzbz, 'suid'))
{
$error = true;
$return = false;
@@ -496,29 +505,47 @@ if(!$error)
$fixangestellt=false;
//Stundensatz aus tbl_mitarbeiter holen
$qry = "SELECT stundensatz, fixangestellt FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=".$db->db_add_param($_POST['mitarbeiter_uid']);
if($result = $db->db_query($qry))
$mitarbeiter = new mitarbeiter();
if ($mitarbeiter->load($_POST['mitarbeiter_uid']))
{
if($row = $db->db_fetch_object($result))
$fixangestellt = $mitarbeiter->fixangestellt;
$lem->stundensatz = $mitarbeiter->stundensatz;
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
{
if($row->stundensatz!='')
$lem->stundensatz = $row->stundensatz;
else
$lem->stundensatz = '0';
$fixangestellt = ($row->fixangestellt=='t'?true:false);
$stsem = new studiensemester();
$stsem->load($semester_aktuell);
$bisverwendung = new bisverwendung();
$data = $mitarbeiter->stundensatz;
if(!$bisverwendung->getVerwendungRange($mitarbeiter->uid, $stsem->start, $stsem->ende))
{
$bisverwendung->getLastAktVerwendung($mitarbeiter->uid);
$bisverwendung->result[] = $bisverwendung;
}
foreach($bisverwendung->result as $row_verwendung)
{
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
// geliefert da dies im Vertrag inkludiert ist.
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
{
$fixangestellt = true;
$lem->stundensatz = '';
break;
}
}
}
else
{
$error=true;
$return=false;
$errormsg='Mitarbeiter '.$db->convert_html_chars($_POST['mitarbeiter_uid']).' wurde nicht gefunden';
$lem->stundensatz = $mitarbeiter->stundensatz;
}
}
else
{
$error=true;
$return=false;
$errormsg='Fehler bei einer Datenbankabfrage:'.$db->db_last_error();
$errormsg='Mitarbeiter '.$db->convert_html_chars($_POST['mitarbeiter_uid']).' wurde nicht gefunden';
}
$maxstunden=9999;
@@ -1381,7 +1408,32 @@ if(!$error)
$mitarbeiter = new mitarbeiter();
if($mitarbeiter->load($_POST['mitarbeiter_uid']))
{
$data = $mitarbeiter->stundensatz;
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
{
$stsem = new studiensemester();
$stsem->load($semester_aktuell);
$bisverwendung = new bisverwendung();
$data = $mitarbeiter->stundensatz;
if(!$bisverwendung->getVerwendungRange($mitarbeiter->uid, $stsem->start, $stsem->ende))
{
$bisverwendung->getLastAktVerwendung($mitarbeiter->uid);
$bisverwendung->result[] = $bisverwendung;
}
foreach($bisverwendung->result as $row_verwendung)
{
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
// geliefert da dies im Vertrag inkludiert ist.
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
{
$data = '';
break;
}
}
}
else
$data = $mitarbeiter->stundensatz;
$return = true;
}
else
@@ -1814,7 +1866,7 @@ if(!$error)
}
else
{
$errormsg = 'VertragsID und MitarbeiterUID müssen uebergeben werden';
$errormsg = 'Sie haben keine Berechtigung für diese Aktion.';
$return = false;
}
}
+76 -14
View File
@@ -404,8 +404,8 @@ class bisverwendung extends basis_db
$obj->verwendung_code = $row->verwendung_code;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->hauptberufcode = $row->hauptberufcode;
$obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$obj->habilitation = $this->db_parse_bool($row->habilitation);
$obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$obj->habilitation = $this->db_parse_bool($row->habilitation);
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->updatevon = $row->updatevon;
@@ -513,8 +513,8 @@ class bisverwendung extends basis_db
$this->verwendung_code = $row->verwendung_code;
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->hauptberufcode = $row->hauptberufcode;
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$this->habilitation = $this->db_parse_bool($row->habilitation);
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$this->habilitation = $this->db_parse_bool($row->habilitation);
$this->beginn = $row->beginn;
$this->ende = $row->ende;
$this->updatevon = $row->updatevon;
@@ -566,8 +566,8 @@ class bisverwendung extends basis_db
$this->verwendung_code = $row->verwendung_code;
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->hauptberufcode = $row->hauptberufcode;
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$this->habilitation = $this->db_parse_bool($row->habilitation);
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$this->habilitation = $this->db_parse_bool($row->habilitation);
$this->beginn = $row->beginn;
$this->ende = $row->ende;
$this->updatevon = $row->updatevon;
@@ -589,6 +589,70 @@ class bisverwendung extends basis_db
}
/**
* Laedt alle Verwendungen eines Mitarbeiters die in einen Datumsbereich fallen
* @param $uid UID des Mitarbeiters
* @param $von
* @param $bis
* @return true wenn ok, false wenn Fehler
*/
public function getVerwendungRange($uid, $von, $bis)
{
$datum_obj = new datum();
//laden des Datensatzes
$qry = "
SELECT
*
FROM
bis.tbl_bisverwendung
WHERE
mitarbeiter_uid=".$this->db_add_param($uid)."
AND
(
".$this->db_add_param($datum_obj->formatDatum($von,'Y-m-d'))." BETWEEN COALESCE(beginn,'1970-01-01') AND COALESCE(ende,'2999-12-31')
OR
".$this->db_add_param($datum_obj->formatDatum($bis,'Y-m-d'))." BETWEEN COALESCE(beginn,'1970-01-01') AND COALESCE(ende,'2999-12-31')
)
ORDER BY ende desc;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new bisverwendung();
$obj->bisverwendung_id = $row->bisverwendung_id;
$obj->ba1code = $row->ba1code;
$obj->ba2code = $row->ba2code;
$obj->beschausmasscode = $row->beschausmasscode;
$obj->verwendung_code = $row->verwendung_code;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->hauptberufcode = $row->hauptberufcode;
$obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$obj->habilitation = $this->db_parse_bool($row->habilitation);
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->updatevon = $row->updatevon;
$obj->updateamum = $row->updateamum;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->vertragsstunden = $row->vertragsstunden;
$obj->dv_art = $row->dv_art;
$obj->inkludierte_lehre = $row->inkludierte_lehre;
$obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
/*
* Prueft, ob Mitarbeiter habilitiert ist
* @param $uid UID des Mitarbeiters
* @return bool
@@ -596,13 +660,13 @@ class bisverwendung extends basis_db
public function isHabilitiert($uid)
{
$qry = '
SELECT
SELECT
*
FROM
FROM
bis.tbl_bisverwendung
WHERE
WHERE
mitarbeiter_uid = '. $this->db_add_param($uid). '
AND
AND
habilitation = true;
';
@@ -625,10 +689,10 @@ class bisverwendung extends basis_db
$bismeldung_jahr = $datetime->format('Y');
$qry = '
SELECT
SELECT
*,
CASE
WHEN (beginn is null OR beginn < make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1))
WHEN (beginn is null OR beginn < make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1))
THEN make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1)
ELSE beginn
END as beginn_imBISMeldungsJahr,
@@ -667,8 +731,6 @@ class bisverwendung extends basis_db
$obj->beginn_imBISMeldungsJahr = $row->beginn_imbismeldungsjahr;
$obj->ende_imBISMeldungsJahr = $row->ende_imbismeldungsjahr;
$this->result[] = $obj;
}
return true;
+2
View File
@@ -84,4 +84,6 @@ $this->phrasen['profil/gueltigbis']='Gültig bis';
$this->phrasen['profil/wochenstunden']='Wochenstunden';
$this->phrasen['profil/vertragsstunden']='Vertragsstunden';
$this->phrasen['profil/zukuenftigeFunktionen']='Zukünftige Funktionen';
$this->phrasen['profil/notfallkontakt']='Notfallkontakt';
$this->phrasen['profil/notfallkontaktBekanntgeben']='Bitte geben Sie einen Notfallkontakt bekannt!';
?>
+2
View File
@@ -82,4 +82,6 @@ $this->phrasen['profil/gueltigbis']='Valid to';
$this->phrasen['profil/wochenstunden']='week hours';
$this->phrasen['profil/vertragsstunden']='contract hours';
$this->phrasen['profil/zukuenftigeFunktionen']='Future functions';
$this->phrasen['profil/notfallkontakt']='Emergency contact';
$this->phrasen['profil/notfallkontaktBekanntgeben']='Please provide an emergency contact!';
?>
+8 -24
View File
@@ -48,12 +48,16 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
tbl_person.vorname, tbl_person.nachname,tbl_person.gebdatum,
tbl_studiensemester.bezeichnung as sembezeichnung,
tbl_studiengang.english as bezeichnung_englisch,
tbl_studiengang.typ, tbl_studiengang.orgform_kurzbz, tbl_person.matr_nr
tbl_studiengang.typ, tbl_studiengang.orgform_kurzbz,
tbl_studiengangstyp.bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache='German')] as studiengangstypbezeichnung,
tbl_studiengangstyp.bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache='English')] as studiengangstypbezeichnung_englisch,
tbl_person.matr_nr
FROM
public.tbl_person, public.tbl_student, public.tbl_studiengang, public.tbl_benutzer,
public.tbl_person, public.tbl_student, public.tbl_studiengang, public.tbl_studiengangstyp, public.tbl_benutzer,
public.tbl_studentlehrverband, public.tbl_studiensemester
WHERE
tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz
and tbl_studiengang.typ = tbl_studiengangstyp.typ
and tbl_student.student_uid = tbl_benutzer.uid
and tbl_benutzer.person_id = tbl_person.person_id
and tbl_student.student_uid = ".$db->db_add_param($uid)."
@@ -69,27 +73,6 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
else
return false;
switch($row->typ)
{
case 'b':
$studTyp = 'Bachelor';
break;
case 'm':
$studTyp = 'Master';
break;
case 'd':
$studTyp = 'Diplom';
break;
case 'l':
$studTyp = 'Lehrgang';
break;
case 'k':
$studTyp = 'Kurzstudium';
break;
default:
$studTyp ='';
}
$studiensemester = new studiensemester();
$studiensemester_aktuell = $studiensemester->getNearest();
$student = new student();
@@ -180,7 +163,8 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
$xml .= " <studiengang_englisch><![CDATA[".$row->bezeichnung_englisch."]]></studiengang_englisch>";
$xml .= " <studiengang_bezeichnung_sto><![CDATA[".$studiengang_bezeichnung_sto."]]></studiengang_bezeichnung_sto>";
$xml .= " <studiengang_bezeichnung_sto_englisch><![CDATA[".$studiengang_bezeichnung_sto_englisch."]]></studiengang_bezeichnung_sto_englisch>";
$xml .= " <studiengang_typ>".$studTyp."</studiengang_typ>";
$xml .= " <studiengang_typ>".$row->studiengangstypbezeichnung."</studiengang_typ>";
$xml .= " <studiengang_typ_englisch>".$row->studiengangstypbezeichnung_englisch."</studiengang_typ_englisch>";
$xml .= " <studiengang_kz>".$studiengang_kz."</studiengang_kz>";
$xml .= " <titelpre><![CDATA[".$row->titelpre."]]></titelpre>";
$xml .= " <titelpost><![CDATA[".$row->titelpost."]]></titelpost>";
+28 -1
View File
@@ -3842,6 +3842,33 @@ if ($result = $db->db_query("SELECT 1 FROM pg_class WHERE relname = 'unq_idx_abl
}
}
// Spalte bezeichnung_mehrsprachig in public.tbl_studiengangstyp
if(!$result = @$db->db_query("SELECT bezeichnung_mehrsprachig FROM public.tbl_studiengangstyp LIMIT 1"))
{
$qry = "ALTER TABLE public.tbl_studiengangstyp ADD COLUMN bezeichnung_mehrsprachig varchar(255)[];";
if(!$db->db_query($qry))
echo '<strong>public.tbl_studiengangstyp '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_studiengangstyp: Spalte bezeichnung_mehrsprachig hinzugefuegt!<br>';
// Bezeichnung_mehrsprachig aus existierender Bezeichnung vorausfuellen. Ein Eintrag fuer jede Sprache mit Content aktiv.
$qry_help = "SELECT index FROM public.tbl_sprache WHERE content=TRUE;";
if(!$result = $db->db_query($qry_help))
echo '<strong>tbl_studiengangstyp bezeichnung_mehrsprachig: Fehler beim ermitteln der Sprachen: '.$db->db_last_error().'</strong>';
else
{
$qry='';
while($row = $db->db_fetch_object($result))
$qry.= "UPDATE public.tbl_studiengangstyp set bezeichnung_mehrsprachig[".$row->index."] = bezeichnung;";
if(!$db->db_query($qry))
echo '<strong>Setzen der bezeichnung_mehrsprachig fehlgeschlagen: '.$db->db_last_error().'</strong><br>';
else
echo 'bis.tbl_studiengangstyp: bezeichnung_mehrprachig automatisch aus existierender Bezeichnung uebernommen<br>';
}
}
/**
* Anpassungen fuer BIS Personalmeldung 6.8
*/
@@ -4172,7 +4199,7 @@ $tabellen=array(
"public.tbl_student" => array("student_uid","matrikelnr","prestudent_id","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_studentlehrverband" => array("student_uid","studiensemester_kurzbz","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_studiengang" => array("studiengang_kz","kurzbz","kurzbzlang","typ","bezeichnung","english","farbe","email","telefon","max_semester","max_verband","max_gruppe","erhalter_kz","bescheid","bescheidbgbl1","bescheidbgbl2","bescheidgz","bescheidvom","orgform_kurzbz","titelbescheidvom","aktiv","ext_id","zusatzinfo_html","moodle","sprache","testtool_sprachwahl","studienplaetze","oe_kurzbz","lgartcode","mischform","projektarbeit_note_anzeige", "onlinebewerbung"),
"public.tbl_studiengangstyp" => array("typ","bezeichnung","beschreibung"),
"public.tbl_studiengangstyp" => array("typ","bezeichnung","beschreibung","bezeichnung_mehrsprachig"),
"public.tbl_studienjahr" => array("studienjahr_kurzbz","bezeichnung"),
"public.tbl_studiensemester" => array("studiensemester_kurzbz","bezeichnung","start","ende","studienjahr_kurzbz","ext_id","beschreibung","onlinebewerbung"),
"public.tbl_tag" => array("tag"),
@@ -32,6 +32,7 @@ require_once('../../include/lehreinheitgruppe.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/mitarbeiter.class.php');
require_once('../../include/gruppe.class.php');
require_once('../../include/bisverwendung.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -162,6 +163,14 @@ elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
Alle Lehraufträge werden mit dem aktuell hinterlegten Standard-Stundensatz der/des Lehrenden vorgerückt
</span>';
}
elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
&& VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart')
{
echo '<br><span style="color: blue">
Stundensätze werden abhängig von der Beschaeftigungsart aktualisiert.
</span>';
}
else
{
echo '<br><span style="color: blue">
@@ -219,6 +228,9 @@ if ($studiengang_kz != '' && $stsem_von != '' && $stsem_nach != '')
}
}
$stsem_nach_obj = new studiensemester();
$stsem_nach_obj->load($stsem_nach);
if ($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
@@ -314,6 +326,38 @@ if ($studiengang_kz != '' && $stsem_von != '' && $stsem_nach != '')
$stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid);
$lem_obj->stundensatz = $stundensatz->stundensatz;
}
// Wenn VILESCI_STUNDENSATZ_VORRUECKUNG nachbeschaeftigungsart ist, wird
// bei echten Dienstvertraegen mit voller inkludierter Lehre (-1) der Stundensatz auf null gesetzt
// bei echten Dienstvertraegen mit teilweise oder nicht inkludierter Lehre der Default Stundensatz gesetzt
// bei sonstigen Dienstvertraegen der Default Stundensatz gesetzt
elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
&& VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart')
{
if ($lem_obj->stundensatz != '0')
{
$stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid);
$lem_obj->stundensatz = $stundensatz->stundensatz;
$bisverwendung = new bisverwendung();
if(!$bisverwendung->getVerwendungRange($row_lem->mitarbeiter_uid, $stsem_nach_obj->start, $stsem_nach_obj->ende))
{
$bisverwendung->getLastAktVerwendung($row_lem->mitarbeiter_uid);
$bisverwendung->result[] = $bisverwendung;
}
foreach($bisverwendung->result as $row_verwendung)
{
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
// geliefert da dies im Vertrag inkludiert ist.
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
{
$lem_obj->stundensatz = '';
break;
}
}
}
}
$lem_obj->insertamum = date('Y-m-d H:i:s');
$lem_obj->insertvon = 'Vorrueckung_'.$user;
$lem_obj->ext_id = '';