mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +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">
|
||||
<tr class="text-center">
|
||||
<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"><i class='fa fa-handshake-o'></i></td>
|
||||
</tr>
|
||||
<tr class="text-center">
|
||||
<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>Angenommen</b><br>Nur von Ihnen angenommene Lehraufträge</td>
|
||||
</tr>
|
||||
@@ -148,9 +146,6 @@ $this->load->view(
|
||||
<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>
|
||||
</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"
|
||||
data-toggle="tooltip" data-placement="left" title="Nur erteilte anzeigen">
|
||||
</button><!-- png img set in javascript -->
|
||||
@@ -196,7 +191,7 @@ $this->load->view(
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- end container -->
|
||||
</div><!-- end page-wrapper -->
|
||||
<br>
|
||||
|
||||
@@ -170,7 +170,7 @@ FROM
|
||||
/* filter active organisationseinheiten */
|
||||
AND oe.aktiv = TRUE
|
||||
/* 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
|
||||
|
||||
UNION
|
||||
@@ -182,8 +182,8 @@ FROM
|
||||
(SELECT
|
||||
uid
|
||||
FROM
|
||||
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
|
||||
ON tbl_benutzer.uid = ma.mitarbeiter_uid
|
||||
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
|
||||
ON tbl_benutzer.uid = ma.mitarbeiter_uid
|
||||
WHERE
|
||||
person_id = tmp_projektbetreuung.person_id
|
||||
ORDER BY aktiv DESC, updateaktivam DESC -- accept inactive as some person_ids have no active, but order them last
|
||||
@@ -285,8 +285,8 @@ FROM
|
||||
AND lv.aktiv = TRUE
|
||||
/* filter active organisationseinheiten */
|
||||
AND oe.aktiv = TRUE
|
||||
/* filter vertragsstatus to avoid showing before status is bestellt */
|
||||
AND vvs.vertragsstatus_kurzbz IN (\'bestellt\', \'erteilt\', \'akzeptiert\')
|
||||
/* filter vertragsstatus to avoid showing before status is erteilt */
|
||||
AND vvs.vertragsstatus_kurzbz IN (\'erteilt\', \'akzeptiert\')
|
||||
) tmp_projektbetreuung
|
||||
) auftraege
|
||||
ORDER BY "akzeptiert" NULLS FIRST, "erteilt" NULLS LAST, "bestellt"
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
|
||||
require_once('../../../include/vertrag.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
@@ -134,6 +134,17 @@
|
||||
{
|
||||
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!='')
|
||||
$lektoren.=', ';
|
||||
$lektoren .= $row_lkt->kurzbz;
|
||||
|
||||
@@ -33,6 +33,7 @@ require_once('../../../include/lvangebot.class.php');
|
||||
require_once('../../../include/benutzergruppe.class.php');
|
||||
require_once('../../../include/lehreinheit.class.php');
|
||||
require_once('../../../include/variable.class.php');
|
||||
require_once('../../../include/vertrag.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
@@ -316,6 +317,17 @@ $( document ).ready(function()
|
||||
$i=0;
|
||||
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++;
|
||||
if($user==$row_lector->uid)
|
||||
{
|
||||
@@ -327,9 +339,11 @@ $( document ).ready(function()
|
||||
$style='style="font-weight: bold"';
|
||||
else
|
||||
$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 '<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/addon.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/vertrag.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
@@ -211,6 +212,18 @@ require_once('../../../include/benutzerberechtigung.class.php');
|
||||
for ($i=0; $i<$num_rows; $i++)
|
||||
{
|
||||
$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();
|
||||
echo '<tr>';
|
||||
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__).'/../../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/phrasen.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/studiensemester.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/studiengang.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
|
||||
{
|
||||
@@ -187,6 +189,17 @@ class menu_addon_meinelv extends menu_addon
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
$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)
|
||||
{
|
||||
$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
|
||||
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
|
||||
define('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN', false);
|
||||
|
||||
|
||||
@@ -1168,5 +1168,82 @@ class vertrag extends basis_db
|
||||
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(){
|
||||
$('#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().akzeptiert == null && // AND NOT akzeptiert
|
||||
row.getData().status != 'Geändert') // AND NOT geändert
|
||||
.forEach((row => row.select()));
|
||||
row.getData().status != 'Geändert'
|
||||
;}) // AND NOT geändert
|
||||
.forEach((function(row){ return row.select();}));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -464,6 +465,17 @@ storniert_tooltip = function(cell){
|
||||
}
|
||||
|
||||
$(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").click(function(){
|
||||
$('#tableWidgetTabulator').tabulator('clearFilter');
|
||||
@@ -582,7 +594,7 @@ $(function() {
|
||||
// Print error message
|
||||
FHC_DialogLib.alertWarning(data.retval);
|
||||
}
|
||||
|
||||
|
||||
if (!data.error && data.retval != null)
|
||||
{
|
||||
// Update status 'Erteilt'
|
||||
|
||||
Reference in New Issue
Block a user