mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-10-12 15:04:04 +00:00
- Config hinzugefügt um Lektorenzuordnungen im CIS nur anzuzeigen wenn der Vertrag erteilt wurde
- Verträge werden erst ab Status erteilt für Lektoren angezeigt
This commit is contained in:
@@ -69,13 +69,11 @@ $this->load->view(
|
|||||||
<table class="table table-bordered">
|
<table class="table table-bordered">
|
||||||
<tr class="text-center">
|
<tr class="text-center">
|
||||||
<td class="col-xs-1"><i class='fa fa-users'></i></td>
|
<td class="col-xs-1"><i class='fa fa-users'></i></td>
|
||||||
<td class="col-xs-1"><img src="../../../public/images/icons/fa-user-tag.png" style="height: 30px; width: 30px;"></td>
|
|
||||||
<td class="col-xs-1"><img src="../../../public/images/icons/fa-user-check.png" style="height: 30px; width: 30px;"></td>
|
<td class="col-xs-1"><img src="../../../public/images/icons/fa-user-check.png" style="height: 30px; width: 30px;"></td>
|
||||||
<td class="col-xs-1"><i class='fa fa-handshake-o'></i></td>
|
<td class="col-xs-1"><i class='fa fa-handshake-o'></i></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="text-center">
|
<tr class="text-center">
|
||||||
<td><b>Alle</b><br>Alle Lehraufträge mit jedem Status</td>
|
<td><b>Alle</b><br>Alle Lehraufträge mit jedem Status</td>
|
||||||
<td><b>Bestellt</b><br>Nur bestellte UND bestellte Lehraufträge, die in Bearbeitung sind</td>
|
|
||||||
<td><b>Erteilt</b><br>Nur erteilte UND geänderte Lehraufträge, die in Bearbeitung sind</td>
|
<td><b>Erteilt</b><br>Nur erteilte UND geänderte Lehraufträge, die in Bearbeitung sind</td>
|
||||||
<td><b>Angenommen</b><br>Nur von Ihnen angenommene Lehraufträge</td>
|
<td><b>Angenommen</b><br>Nur von Ihnen angenommene Lehraufträge</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -148,9 +146,6 @@ $this->load->view(
|
|||||||
<button id="show-all" class="btn btn-default btn-lehrauftrag active focus" type="button"
|
<button id="show-all" class="btn btn-default btn-lehrauftrag active focus" type="button"
|
||||||
data-toggle="tooltip" data-placement="left" title="Alle anzeigen"><i class='fa fa-users'></i>
|
data-toggle="tooltip" data-placement="left" title="Alle anzeigen"><i class='fa fa-users'></i>
|
||||||
</button>
|
</button>
|
||||||
<button id="show-ordered" class="btn btn-default btn-lehrauftrag" type="button"
|
|
||||||
data-toggle="tooltip" data-placement="left" title="Nur bestellte anzeigen">
|
|
||||||
</button><!-- png img set in javascript -->
|
|
||||||
<button id="show-approved" class="btn btn-default btn-lehrauftrag" type="button"
|
<button id="show-approved" class="btn btn-default btn-lehrauftrag" type="button"
|
||||||
data-toggle="tooltip" data-placement="left" title="Nur erteilte anzeigen">
|
data-toggle="tooltip" data-placement="left" title="Nur erteilte anzeigen">
|
||||||
</button><!-- png img set in javascript -->
|
</button><!-- png img set in javascript -->
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ FROM
|
|||||||
/* filter active organisationseinheiten */
|
/* filter active organisationseinheiten */
|
||||||
AND oe.aktiv = TRUE
|
AND oe.aktiv = TRUE
|
||||||
/* filter vertragsstatus to avoid showing before status is bestellt */
|
/* filter vertragsstatus to avoid showing before status is bestellt */
|
||||||
AND vvs.vertragsstatus_kurzbz IN (\'bestellt\', \'erteilt\', \'akzeptiert\')
|
AND vvs.vertragsstatus_kurzbz IN (\'erteilt\', \'akzeptiert\')
|
||||||
) tmp_lehrauftraege
|
) tmp_lehrauftraege
|
||||||
|
|
||||||
UNION
|
UNION
|
||||||
@@ -285,8 +285,8 @@ FROM
|
|||||||
AND lv.aktiv = TRUE
|
AND lv.aktiv = TRUE
|
||||||
/* filter active organisationseinheiten */
|
/* filter active organisationseinheiten */
|
||||||
AND oe.aktiv = TRUE
|
AND oe.aktiv = TRUE
|
||||||
/* filter vertragsstatus to avoid showing before status is bestellt */
|
/* filter vertragsstatus to avoid showing before status is erteilt */
|
||||||
AND vvs.vertragsstatus_kurzbz IN (\'bestellt\', \'erteilt\', \'akzeptiert\')
|
AND vvs.vertragsstatus_kurzbz IN (\'erteilt\', \'akzeptiert\')
|
||||||
) tmp_projektbetreuung
|
) tmp_projektbetreuung
|
||||||
) auftraege
|
) auftraege
|
||||||
ORDER BY "akzeptiert" NULLS FIRST, "erteilt" NULLS LAST, "bestellt"
|
ORDER BY "akzeptiert" NULLS FIRST, "erteilt" NULLS LAST, "bestellt"
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
require_once('../../../include/studiengang.class.php');
|
require_once('../../../include/studiengang.class.php');
|
||||||
require_once('../../../include/lehrveranstaltung.class.php');
|
require_once('../../../include/lehrveranstaltung.class.php');
|
||||||
require_once('../../../include/phrasen.class.php');
|
require_once('../../../include/phrasen.class.php');
|
||||||
|
require_once('../../../include/vertrag.class.php');
|
||||||
|
|
||||||
$sprache = getSprache();
|
$sprache = getSprache();
|
||||||
$p=new phrasen($sprache);
|
$p=new phrasen($sprache);
|
||||||
@@ -134,6 +134,17 @@
|
|||||||
{
|
{
|
||||||
while($row_lkt = $db->db_fetch_object($result_lkt))
|
while($row_lkt = $db->db_fetch_object($result_lkt))
|
||||||
{
|
{
|
||||||
|
// Lektor wird erst angezeigt wenn der Auftrag erteilt wurde
|
||||||
|
if (defined('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON')
|
||||||
|
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
|
||||||
|
{
|
||||||
|
$vertrag = new vertrag();
|
||||||
|
if (!$vertrag->isVertragErteiltLV($lvid, $stsem, $row_lkt->mitarbeiter_uid))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if($lektoren!='')
|
if($lektoren!='')
|
||||||
$lektoren.=', ';
|
$lektoren.=', ';
|
||||||
$lektoren .= $row_lkt->kurzbz;
|
$lektoren .= $row_lkt->kurzbz;
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ require_once('../../../include/lvangebot.class.php');
|
|||||||
require_once('../../../include/benutzergruppe.class.php');
|
require_once('../../../include/benutzergruppe.class.php');
|
||||||
require_once('../../../include/lehreinheit.class.php');
|
require_once('../../../include/lehreinheit.class.php');
|
||||||
require_once('../../../include/variable.class.php');
|
require_once('../../../include/variable.class.php');
|
||||||
|
require_once('../../../include/vertrag.class.php');
|
||||||
|
|
||||||
$sprache = getSprache();
|
$sprache = getSprache();
|
||||||
$p = new phrasen($sprache);
|
$p = new phrasen($sprache);
|
||||||
@@ -316,6 +317,17 @@ $( document ).ready(function()
|
|||||||
$i=0;
|
$i=0;
|
||||||
while($row_lector = $db->db_fetch_object($result))
|
while($row_lector = $db->db_fetch_object($result))
|
||||||
{
|
{
|
||||||
|
// Lektor wird erst angezeigt wenn der Auftrag erteilt wurde
|
||||||
|
if (defined('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON')
|
||||||
|
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
|
||||||
|
{
|
||||||
|
$vertrag = new vertrag();
|
||||||
|
if (!$vertrag->isVertragErteiltLV($lvid, $angezeigtes_stsem, $row_lector->uid))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
if($user==$row_lector->uid)
|
if($user==$row_lector->uid)
|
||||||
{
|
{
|
||||||
@@ -327,9 +339,11 @@ $( document ).ready(function()
|
|||||||
$style='style="font-weight: bold"';
|
$style='style="font-weight: bold"';
|
||||||
else
|
else
|
||||||
$style='';
|
$style='';
|
||||||
echo '<a href="mailto:'.$row_lector->uid.'@'.DOMAIN.'" '.$style.'>'.$row_lector->vorname.' '.$row_lector->nachname.'</a>';
|
|
||||||
if($i!=$num_rows_result)
|
if ($i != 1)
|
||||||
echo ', ';
|
echo ', ';
|
||||||
|
echo '<a href="mailto:'.$row_lector->uid.'@'.DOMAIN.'" '.$style.'>'.$row_lector->vorname.' '.$row_lector->nachname.'</a>';
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ require_once('../../../include/datum.class.php');
|
|||||||
require_once('../../../include/lvangebot.class.php');
|
require_once('../../../include/lvangebot.class.php');
|
||||||
require_once('../../../include/addon.class.php');
|
require_once('../../../include/addon.class.php');
|
||||||
require_once('../../../include/benutzerberechtigung.class.php');
|
require_once('../../../include/benutzerberechtigung.class.php');
|
||||||
|
require_once('../../../include/vertrag.class.php');
|
||||||
|
|
||||||
if (!$db = new basis_db())
|
if (!$db = new basis_db())
|
||||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||||
@@ -211,6 +212,18 @@ require_once('../../../include/benutzerberechtigung.class.php');
|
|||||||
for ($i=0; $i<$num_rows; $i++)
|
for ($i=0; $i<$num_rows; $i++)
|
||||||
{
|
{
|
||||||
$row=$db->db_fetch_object($result);
|
$row=$db->db_fetch_object($result);
|
||||||
|
|
||||||
|
// Nur erteilte Vertraege anzeigen wenn dies im Config hinterlegt ist.
|
||||||
|
if (defined('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON')
|
||||||
|
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
|
||||||
|
{
|
||||||
|
$vertrag = new vertrag();
|
||||||
|
if (!$vertrag->isVertragErteiltLV($row->lehrveranstaltung_id, $stdsem, $user))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$lvangebot = new lvangebot();
|
$lvangebot = new lvangebot();
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
if(!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
|
if(!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
|
||||||
|
|||||||
@@ -24,11 +24,13 @@
|
|||||||
*/
|
*/
|
||||||
require_once(dirname(__FILE__).'/menu_addon.class.php');
|
require_once(dirname(__FILE__).'/menu_addon.class.php');
|
||||||
require_once(dirname(__FILE__).'/../../config/cis.config.inc.php');
|
require_once(dirname(__FILE__).'/../../config/cis.config.inc.php');
|
||||||
|
require_once(dirname(__FILE__).'/../../config/global.config.inc.php');
|
||||||
require_once(dirname(__FILE__).'/../../include/functions.inc.php');
|
require_once(dirname(__FILE__).'/../../include/functions.inc.php');
|
||||||
require_once(dirname(__FILE__).'/../../include/phrasen.class.php');
|
require_once(dirname(__FILE__).'/../../include/phrasen.class.php');
|
||||||
require_once(dirname(__FILE__).'/../../include/studiensemester.class.php');
|
require_once(dirname(__FILE__).'/../../include/studiensemester.class.php');
|
||||||
require_once(dirname(__FILE__).'/../../include/studiengang.class.php');
|
require_once(dirname(__FILE__).'/../../include/studiengang.class.php');
|
||||||
require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php');
|
require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php');
|
||||||
|
require_once(dirname(__FILE__).'/../../include/vertrag.class.php');
|
||||||
|
|
||||||
class menu_addon_meinelv extends menu_addon
|
class menu_addon_meinelv extends menu_addon
|
||||||
{
|
{
|
||||||
@@ -187,6 +189,17 @@ class menu_addon_meinelv extends menu_addon
|
|||||||
$lv_obj = new lehrveranstaltung();
|
$lv_obj = new lehrveranstaltung();
|
||||||
$lv_obj->load($row->lehrveranstaltung_id);
|
$lv_obj->load($row->lehrveranstaltung_id);
|
||||||
|
|
||||||
|
// Nur erteilte Vertraege anzeigen wenn dies im Config hinterlegt ist.
|
||||||
|
if (defined('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON')
|
||||||
|
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
|
||||||
|
{
|
||||||
|
$vertrag = new vertrag();
|
||||||
|
if (!$vertrag->isVertragErteiltLV($lv_obj->lehrveranstaltung_id, $stsem, $user))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if($row->studiengang_kz==0 AND $row->semester==0)
|
if($row->studiengang_kz==0 AND $row->semester==0)
|
||||||
{
|
{
|
||||||
$this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
|
$this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
|
||||||
|
|||||||
@@ -132,6 +132,10 @@ define('FAS_REIHUNGSTEST_AUFNAHMEGRUPPEN',false);
|
|||||||
// Legt fest, ob Vertragsdetails zum Lehrauftrag im Reiter LektorInnenzuteilung angezeigt werden
|
// Legt fest, ob Vertragsdetails zum Lehrauftrag im Reiter LektorInnenzuteilung angezeigt werden
|
||||||
define('FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN', false);
|
define('FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN', false);
|
||||||
|
|
||||||
|
// 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', '');
|
||||||
|
|
||||||
// Legt fest, ob Vertragsdetails zum Projektauftrag im Reiter Projektarbeit angezeigt werden
|
// Legt fest, ob Vertragsdetails zum Projektauftrag im Reiter Projektarbeit angezeigt werden
|
||||||
define('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN', false);
|
define('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN', false);
|
||||||
|
|
||||||
|
|||||||
@@ -1168,5 +1168,82 @@ class vertrag extends basis_db
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prueft ob ein Mitarbeiter einen erteilten Vertrag zu einer Lehrveranstaltung besitzt.
|
||||||
|
* @param $lehrveranstaltung_id ID der Lehrveranstaltung
|
||||||
|
* @param $studiensemester_kurzbz Studiensemester das geprueft wird
|
||||||
|
* @param $mitarbeiter_uid UID des Mitarbeiters
|
||||||
|
*/
|
||||||
|
public function isVertragErteiltLV($lehrveranstaltung_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.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_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;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -294,11 +294,12 @@ function footer_downloadCSV(){
|
|||||||
*/
|
*/
|
||||||
function footer_selectAll(){
|
function footer_selectAll(){
|
||||||
$('#tableWidgetTabulator').tabulator('getRows', true)
|
$('#tableWidgetTabulator').tabulator('getRows', true)
|
||||||
.filter(row => row.getData().bestellt != null && // bestellt
|
.filter(function(row){ return row.getData().bestellt != null && // bestellt
|
||||||
row.getData().erteilt != null && // AND erteilt
|
row.getData().erteilt != null && // AND erteilt
|
||||||
row.getData().akzeptiert == null && // AND NOT akzeptiert
|
row.getData().akzeptiert == null && // AND NOT akzeptiert
|
||||||
row.getData().status != 'Geändert') // AND NOT geändert
|
row.getData().status != 'Geändert'
|
||||||
.forEach((row => row.select()));
|
;}) // AND NOT geändert
|
||||||
|
.forEach((function(row){ return row.select();}));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -464,6 +465,17 @@ storniert_tooltip = function(cell){
|
|||||||
}
|
}
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
|
|
||||||
|
// Pruefen ob Promise unterstuetzt wird
|
||||||
|
// Tabulator funktioniert nicht mit IE
|
||||||
|
var canPromise = !! window.Promise;
|
||||||
|
if(!canPromise)
|
||||||
|
{
|
||||||
|
alert("Diese Seite kann mit ihrem Browser nicht angezeigt werden. Bitte verwenden Sie Firefox, Chrome oder Edge um die Seite anzuzeigen");
|
||||||
|
window.location.href='about:blank';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Show all rows
|
// Show all rows
|
||||||
$("#show-all").click(function(){
|
$("#show-all").click(function(){
|
||||||
$('#tableWidgetTabulator').tabulator('clearFilter');
|
$('#tableWidgetTabulator').tabulator('clearFilter');
|
||||||
|
|||||||
Reference in New Issue
Block a user