Merge branch 'master' into 9503/csvExportProjektÜbersicht

This commit is contained in:
OliiverHacker
2021-04-01 13:43:40 +02:00
4 changed files with 100 additions and 17 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ class Nation_widget extends DropdownWidget
{
// Nation
$this->load->model('codex/Nation_model', 'NationModel');
$this->NationModel->addOrder('nation_code');
$this->NationModel->addOrder('kurztext');
$this->addSelectToModel($this->NationModel, 'nation_code', 'kurztext');
+1 -1
View File
@@ -217,7 +217,7 @@ if ($num_rows > 0)
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
{
$vertrag = new vertrag();
if (!$vertrag->isVertragErteiltLV($row->lehrveranstaltung_id, $stdsem, $user))
if (!$vertrag->isVertragErteiltLE($row->lehreinheit_id, $stdsem, $user))
{
continue;
}
+21 -15
View File
@@ -1733,6 +1733,7 @@ else
$content .= "</tr>";
$content .= '</tfoot></table>';
$content .= "\n";
}
//Aufsplittungen für Mischformen holen
@@ -1744,28 +1745,32 @@ else
{
if ($db->db_num_rows($result) > 0)
{
$content .= "<br><br><h2>Aufsplittung Mischformen</h2><br>";
$content .= "\n<table class='liste table-autosort:0 table-stripeclass:alternate table-autostripe'>
<thead>
<tr>
<th class='table-sortable:default'>Studiengang</th>";
$content .= "<br><br>";
$content .= "<h2>Aufsplittung Mischformen</h2><br>";
$content .= "\n<table class='liste table-autosort:0 table-stripeclass:alternate table-autostripe'>";
$content .= "\n<thead>";
$content .= "\n<tr>";
$content .= "\n<th class='table-sortable:default'>Studiengang</th>";
foreach ($studenttypes as $heading)
{
$content .= "<th colspan=".$noOrgformen.">$heading</th>";
$content .= "\n<th colspan=".$noOrgformen.">$heading</th>";
}
$content .= "</tr><tr><th>&nbsp</th>";
$content .= "\n</tr>";
$content .= "\n<tr>\n<th></th>";
//orgformheadings (VZ, BB,...) ausgeben
for ($i = 0; $i < $noStudenttypes; $i++)
{
foreach ($orgform_arr as $row_orgform)
{
$content .= "<th align='center' class='table-sortable:numeric'>";
$content .= "\n<th align='center' class='table-sortable:numeric' nowrap>";
$content .= $row_orgform;
$content .= "</th>";
}
}
$content .= "</tr></thead><tbody>";
$content .= "\n</tr>";
$content .= "\n</thead>";
$content .= "\n<tbody>";
$sumarr = array();
@@ -1773,13 +1778,13 @@ else
{
$content .= "\n";
$content .= '<tr>';
$content .= "<td>".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)</td>";
$content .= "\n<td>".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)</td>";
foreach ($studenttypes as $key => $value)
{
foreach ($orgform_arr as $row_orgform)
{
$fullAlias = $key."_".mb_strtolower($row_orgform);
$content .= "<td align='center'>";
$content .= "\n<td align='center' nowrap>";
$content .= $row->{$fullAlias};
$content .= "</td>";
//Summe berechnen
@@ -1794,14 +1799,15 @@ else
}
}
}
$content .= "</tr>";
$content .= "\n</tr>";
$content .= "\n";
$content .= '</tbody><tfoot style="font-weight: bold;"><tr>';
$content .= "<td>Summe</td>";
$content .= "</tbody>";
$content .= '<tfoot style="font-weight: bold;"><tr>';
$content .= "\n<td>Summe</td>";
foreach ($sumarr as $sum)
{
$content .= "<td align='center'>".$sum."</td>";
$content .= "\n<td align='center'>".$sum."</td>";
}
$content .= "</tfoot></tr>";
$content .= '</table>';
+77
View File
@@ -1245,5 +1245,82 @@ class vertrag extends basis_db
return false;
}
}
/**
* Prueft ob ein Mitarbeiter einen erteilten Vertrag zu einer Lehreinheit besitzt.
* @param $lehreinheit ID der Lehreinheit
* @param $studiensemester_kurzbz Studiensemester das geprueft wird
* @param $mitarbeiter_uid UID des Mitarbeiters
*/
public function isVertragErteiltLE($lehreinheit_id, $studiensemester_kurzbz, $mitarbeiter_uid)
{
if (defined('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON')
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
{
// Liegt das Studiensemester vor dem Pruefdatum, wird die LV immer als Erteilt angezeigt
$qry = "
SELECT
tbl_studiensemester.start
FROM
public.tbl_studiensemester
WHERE
studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND tbl_studiensemester.start < (SELECT start
FROM public.tbl_studiensemester stsem WHERE
stsem.studiensemester_kurzbz=".$this->db_add_param(CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON)."
)";
if ($result = $this->db_query($qry))
{
if ($this->db_num_rows($result)>0)
{
// Wenn das Studiensemester vor dem Pruefdatum liegt, gilt der Vertrag immer als erteilt.
return true;
}
}
else
{
$this->errormsg = 'Fehler beim Laden des Studiensemesters';
return false;
}
}
$qry = "
SELECT
1
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_vertrag USING(vertrag_id)
JOIN lehre.tbl_vertrag_vertragsstatus USING(vertrag_id)
WHERE
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid)."
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND tbl_lehreinheit.lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
AND tbl_vertrag_vertragsstatus.vertragsstatus_kurzbz='erteilt'
AND NOT EXISTS(
SELECT 1 FROM lehre.tbl_vertrag_vertragsstatus vstatus
WHERE vstatus.vertrag_id = tbl_vertrag.vertrag_id
AND vstatus.vertragsstatus_kurzbz='storno'
)
";
if ($result = $this->db_query($qry))
{
if ($this->db_num_rows($result) > 0)
{
return true;
}
else
{
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>