mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into hotfix/DigitalerLehrauftrag_Sprache_umschalten
This commit is contained in:
@@ -352,8 +352,12 @@ function writePruefungsTable(e, data, anmeldung)
|
||||
var termin = d.von.split(" ");
|
||||
var time = termin[1].substring(0,5);
|
||||
termin = termin[0].split("-");
|
||||
var minimumFrist = new Date(termin[0], termin[1]-1,termin[2]);
|
||||
minimumFrist.setMonth(minimumFrist.getMonth() - 2);
|
||||
|
||||
// Wie viele Monate vor Prüfungen dürfen sich Studierende anmelden?
|
||||
// Sperre "deaktiviert" indem man sich 24 Monate vorher anmelden darf
|
||||
var minimumFrist = new Date(termin[0], termin[1]-1,termin[2]);
|
||||
minimumFrist.setMonth(minimumFrist.getMonth() - 24);
|
||||
|
||||
termin = new Date(termin[0], termin[1]-1,termin[2]);
|
||||
var frist = termin;
|
||||
termin = termin.getDate()+"."+(termin.getMonth()+1)+"."+termin.getFullYear();
|
||||
|
||||
@@ -465,7 +465,7 @@ if (!$ansicht)
|
||||
}
|
||||
*/
|
||||
}
|
||||
if (!$has_notfallkontakt)
|
||||
if (!$has_notfallkontakt && $type == 'mitarbeiter')
|
||||
echo '<tr><td>'.$p->t('profil/notfallkontakt').'</td><td colspan="3">'.$p->t('profil/notfallkontaktBekanntgeben').'</td></tr>';
|
||||
|
||||
echo '</table>';
|
||||
|
||||
@@ -305,8 +305,14 @@ else
|
||||
else
|
||||
$output = 'pdf';
|
||||
|
||||
// An der FHTW darf fas Studienblatt auch iin anderen Formaten exportiert werden
|
||||
if (CAMPUS_NAME == 'FH Technikum Wien' && ($xsl == 'Studienblatt' || $xsl == 'StudienblattEng'))
|
||||
// An der FHTW darf das Studienblatt und das Prüfungsprotokoll auch in anderen Formaten exportiert werden
|
||||
if (CAMPUS_NAME == 'FH Technikum Wien' &&
|
||||
($xsl == 'Studienblatt' ||
|
||||
$xsl == 'StudienblattEng' ||
|
||||
$xsl == 'PrProtBA' ||
|
||||
$xsl == 'PrProtBAEng' ||
|
||||
$xsl == 'PrProtMA' ||
|
||||
$xsl == 'PrProtMAEng'))
|
||||
{
|
||||
$output = $_GET['output'];
|
||||
}
|
||||
|
||||
@@ -741,5 +741,32 @@ class bisverwendung extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die vorhandenen Verwendungen
|
||||
*/
|
||||
public function getVerwendungCodex()
|
||||
{
|
||||
$qry = "SELECT * FROM bis.tbl_verwendung ORDER BY verwendung_code";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new StdClass();
|
||||
|
||||
$obj->verwendung_code = $row->verwendung_code;
|
||||
$obj->verwendungbez = $row->verwendungbez;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -460,7 +460,7 @@ class zeitaufzeichnung extends basis_db
|
||||
$where.= " AND start>(now() - INTERVAL '".$days." days')";
|
||||
|
||||
$qry = "SELECT
|
||||
*,
|
||||
*,
|
||||
CASE WHEN (ende IS NOT NULL AND ende > start)
|
||||
THEN to_char ((ende-start),'HH24:MI')
|
||||
ELSE '0'
|
||||
@@ -734,7 +734,7 @@ or not exists
|
||||
$where AND
|
||||
$where_sem AND
|
||||
l.lehreinheit_id = m.lehreinheit_id AND
|
||||
m.stundensatz * m.semesterstunden > 0 AND
|
||||
m.semesterstunden > 0 AND
|
||||
s.typ not in ('l') AND
|
||||
lv.studiengang_kz > 0
|
||||
UNION
|
||||
@@ -754,7 +754,7 @@ or not exists
|
||||
pb.projektarbeit_id = pa.projektarbeit_id AND
|
||||
pb.person_id = b.person_id AND
|
||||
b.uid = ".$this->db_add_param($user)." AND
|
||||
pb.stunden * pb.stundensatz > 0 AND
|
||||
pb.stunden > 0 AND
|
||||
s.typ not in ('l') AND
|
||||
lv.studiengang_kz > 0 AND
|
||||
$where_sem
|
||||
|
||||
@@ -34,4 +34,9 @@
|
||||
/* More space for header title (avoids triple points at the end) */
|
||||
.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title {
|
||||
overflow: initial;
|
||||
}
|
||||
|
||||
.btn-select-col-selected
|
||||
{
|
||||
background-color: #e6e6e6;
|
||||
}
|
||||
@@ -269,16 +269,8 @@ var FHC_TableWidget = {
|
||||
|
||||
tableWidgetDiv.find("#tableWidgetTabulator").tabulator('toggleColumn', selected);
|
||||
|
||||
$(this).toggleClass('active');
|
||||
|
||||
if(!$(this).hasClass('active'))
|
||||
{
|
||||
$(this).css('background-color', 'white');
|
||||
}
|
||||
else
|
||||
{
|
||||
$(this).css('background-color', '#e6e6e6');
|
||||
}
|
||||
// toggle class to color button as selected / deselected
|
||||
$(this).toggleClass('btn-select-col-selected').blur(); // blur removes automatic focus
|
||||
})
|
||||
}
|
||||
},
|
||||
@@ -809,7 +801,7 @@ function _renderTabulatorHeaderCollapseHTML(tableWidgetDiv){
|
||||
{
|
||||
var field = column.getField();
|
||||
var title = column.getDefinition().title;
|
||||
var active_status = column.getVisibility() ? 'active' : '';
|
||||
var btn_select_col_selected = column.getVisibility() ? 'btn-select-col-selected' : '';
|
||||
|
||||
// If certain columns should be excluded from the column picker (define them in a blacklist array)
|
||||
if (typeof tableWidgetBlacklistArray_columnUnselectable != 'undefined' &&
|
||||
@@ -818,13 +810,13 @@ function _renderTabulatorHeaderCollapseHTML(tableWidgetDiv){
|
||||
{
|
||||
if ($.inArray(field, tableWidgetBlacklistArray_columnUnselectable) < 0)
|
||||
{
|
||||
tabulatorHeaderCollapseHTML += '<button type="button" class="btn btn-default btn-sm btn-select-col ' + active_status +'" aria-pressed="true" id="btn-' + field + '" value="' + field + '">' + title + '</button>';
|
||||
tabulatorHeaderCollapseHTML += '<button type="button" class="btn btn-default btn-sm btn-select-col ' + btn_select_col_selected +'" aria-pressed="true" id="btn-' + field + '" value="' + field + '">' + title + '</button>';
|
||||
}
|
||||
}
|
||||
// Else provide all tabulator fields as pickable columns
|
||||
else
|
||||
{
|
||||
tabulatorHeaderCollapseHTML += '<button type="button" class="btn btn-default btn-sm btn-select-col ' + active_status +'" aria-pressed="true" id="btn-' + field + '" value="' + field + '">' + title + '</button>';
|
||||
tabulatorHeaderCollapseHTML += '<button type="button" class="btn btn-default btn-sm btn-select-col ' + btn_select_col_selected +'" aria-pressed="true" id="btn-' + field + '" value="' + field + '">' + title + '</button>';
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -92,6 +92,49 @@ if (!defined('BIS_FUNKTIONSCODE_6_ARR') || empty('BIS_FUNKTIONSCODE_6_ARR'))
|
||||
die('config var BIS_FUNKTIONSCODE_6_ARR fehlt');
|
||||
}
|
||||
|
||||
$codex_funktion = array(
|
||||
1 => "Vertretungsbefugte/r des Erhalters",
|
||||
2 => "Leiter/in des Kollegiums",
|
||||
3 => "stellv. Leiter/in des Kollegiums",
|
||||
4 => "Mitglied des Kollegiums",
|
||||
5 => "Studiengangsleiter/in",
|
||||
6 => "Leiter/in einer Organisationseinheit",
|
||||
7 => "Mitglied des Entwicklungsteams"
|
||||
);
|
||||
|
||||
$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1";
|
||||
|
||||
$codex_ba1 = array();
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if(isset($codex_ba1[$row->ba1code_bis]))
|
||||
$codex_ba1[$row->ba1code_bis] .= ' bzw '.$row->ba1kurzbz;
|
||||
else
|
||||
$codex_ba1[$row->ba1code_bis] = $row->ba1kurzbz;
|
||||
}
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM bis.tbl_beschaeftigungsart2";
|
||||
|
||||
$codex_ba2 = array();
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$codex_ba2[$row->ba2code] = $row->ba2bez;
|
||||
}
|
||||
}
|
||||
$codex_verwendung = array();
|
||||
|
||||
// Verwendungen holen
|
||||
$verwendungcodex = new bisverwendung();
|
||||
$verwendungcodex->getVerwendungCodex();
|
||||
foreach($verwendungcodex->result as $row)
|
||||
$codex_verwendung[$row->verwendung_code] = $row->verwendungbez;
|
||||
|
||||
// Prüfe Zeitraum zur Erstellung einer BIS-Meldung
|
||||
$studiensemester = new studiensemester();
|
||||
@@ -193,7 +236,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
|
||||
foreach ($bisverwendung_arr as $bisverwendung)
|
||||
{
|
||||
if (empty($verwendung_arr) || // wenn erster Durchlauf ODER
|
||||
(!(in_array($bisverwendung->ba1code, array_column($verwendung_arr, 'ba1code')) && // im verwendung_arr Beschaeftigungsart1 UND
|
||||
(!(in_array($bisverwendung->ba1code, array_column($verwendung_arr, 'ba1code')) && // im verwendung_arr Beschaeftigungsart1 UND
|
||||
in_array($bisverwendung->ba2code, array_column($verwendung_arr, 'ba2code')) && // Beschaeftigungsart2 UND
|
||||
in_array($bisverwendung->verwendung_code, array_column($verwendung_arr, 'verwendung_code'))))) // Verwendung_code noch NICHT vorhanden
|
||||
{
|
||||
@@ -406,7 +449,11 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
|
||||
$bisverwendung->vertragsstunden = BIS_VOLLZEIT_ARBEITSSTUNDEN;
|
||||
}
|
||||
|
||||
// Relatives Beschaeftigungsausmass / Anteilige JVZAE ermitteln
|
||||
/**
|
||||
* Relatives Beschaeftigungsausmass / Anteilige JVZAE ermitteln
|
||||
* Anteilige JVAE = Vertragsstunden relativ zu VZ Basis / Tage im Jahr * Vertragsdauer
|
||||
* Bsp Teilzeit 30h, BIS-Verwendungsdauer 120 Tage: 30 / 38,5 / 365 * 120
|
||||
*/
|
||||
$bisverwendung->beschaeftigungsausmass_relativ = round($bisverwendung->vertragsstunden / BIS_VOLLZEIT_ARBEITSSTUNDEN, 2);
|
||||
$bisverwendung->jvzae_anteilig = round($bisverwendung->beschaeftigungsausmass_relativ * $bisverwendung->gewichtung, 2);
|
||||
|
||||
@@ -438,7 +485,14 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
|
||||
// Verwendung erstellen
|
||||
list($tage_lehre_imSemester, $verwendung_lehre_obj) = _addVerwendung_fuerLehre_inkludiert($studsem, $bisverwendung);
|
||||
|
||||
// Relatives Beschaeftigungsausmass / Anteilige JVZAE ermitteln
|
||||
/*
|
||||
* Relatives Beschaeftigungsausmass / Anteilige JVZAE ermitteln
|
||||
* Anteilige JVAE = Lehre relativ zu VZ Basis * gewichtete Lehrtage auf das Halbjahr bezogen
|
||||
* Bsp: 7 SWS an 90 Tage gelehrt: 7 / 15 * (0,5 /(365 / 2) * 140)
|
||||
* NOTE: Halbjahr mit 0,5 gewichtet, da ein Studiensemester 50% eines Jahres entspricht;
|
||||
* Diese 50% werden dann auf die Tage eines Halbjahres heruntergebrochen und mit den Lehrtagen
|
||||
* multipliziert.
|
||||
*/
|
||||
$verwendung_lehre_obj->beschaeftigungsausmass_relativ = round($lehre_sws / BIS_VOLLZEIT_SWS_INKLUDIERTE_LEHRE, 2); // VZ-Basis fuer inkludierte Lehre
|
||||
$verwendung_lehre_obj->gewichtung = ($tage_lehre_imSemester == 182)
|
||||
? BIS_HALBJAHRES_GEWICHTUNG_SWS
|
||||
@@ -472,14 +526,34 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
|
||||
// -------------------------------------------------------------------------------------------------------------
|
||||
else if (!$has_vertragsstunden && $has_lehrtaetigkeit)
|
||||
{
|
||||
foreach (array($ss_kurzbz => $lehre_ss_sws, $ws_kurzbz => $lehre_ws_sws) as $studsem => $lehre_sws)
|
||||
/**
|
||||
* Verwendungen ergänzen, wenn die BIS-Verwendung als externer Mitarbeiter in Sommer- / Wintersemester
|
||||
* des BIS-Meldungsjahres faellt.
|
||||
* Es werden die gesamten SWS von SS + WS (d.h. WS jahresuebergreifend) gemeldet.
|
||||
*/
|
||||
$bisverwendung_beginn_BIS = new DateTime($bisverwendung->beginn_imBISMeldungsJahr);
|
||||
$bisverwendung_ende_BIS = new DateTime($bisverwendung->ende_imBISMeldungsJahr);
|
||||
|
||||
foreach (array($ss_kurzbz => $lehre_ss_sws, $ws_kurzbz => $lehre_ws_sws) as $studsem_kurzbz => $lehre_sws)
|
||||
{
|
||||
if (!is_null($lehre_sws))
|
||||
$studsem = new studiensemester($studsem_kurzbz);
|
||||
$studsem_start = new DateTime($studsem->start);
|
||||
$studsem_ende = new DateTime($studsem->ende);
|
||||
|
||||
// Wenn Lehrzeit in die BIS Verwendungszeit hineinfaellt, Verwendung erstellen
|
||||
if (!is_null($lehre_sws) &&
|
||||
(!($studsem_start > $bisverwendung_ende_BIS) &&
|
||||
!($studsem_ende < $bisverwendung_beginn_BIS)))
|
||||
{
|
||||
// Verwendungen erstellen
|
||||
$verwendung_lehre_obj = _addVerwendung_fuerLehre_Stundenbasis($bisverwendung);
|
||||
|
||||
// Relatives Beschaeftigungsausmass / Anteilige JVZAE ermitteln
|
||||
/**
|
||||
* Relatives Beschaeftigungsausmass / Anteilige JVZAE ermitteln
|
||||
* Anteilige JVAE = Lehre relativ zu VZ Basis * Halbjahresgewichtung
|
||||
* Bsp: 7 / 15 * 0,5
|
||||
* NOTE: Halbjahr mit 0,5 gewichtet, da ein Studiensemester 50% eines Jahres entspricht
|
||||
*/
|
||||
$verwendung_lehre_obj->beschaeftigungsausmass_relativ = round($lehre_sws / BIS_VOLLZEIT_SWS_EINZELSTUNDENBASIS, 2); // VZ-Basis nach BIS-Vorgabe fuer Stundenbasis
|
||||
$verwendung_lehre_obj->gewichtung = BIS_HALBJAHRES_GEWICHTUNG_SWS;
|
||||
$verwendung_lehre_obj->jvzae_anteilig = round($verwendung_lehre_obj->beschaeftigungsausmass_relativ * $verwendung_lehre_obj->gewichtung, 2);
|
||||
@@ -685,7 +759,7 @@ function _getFunktionscontainer_Funktionscode123456($bisfunktion_arr)
|
||||
// FunktionsCode 6 : Leitung Organisationseinheit der postsekundaeren Bildungseinrichtung
|
||||
$organisationseinheit = new Organisationseinheit($bisfunktion->oe_kurzbz);
|
||||
if (is_null($studiengang->studiengang_kz) &&
|
||||
!in_array($organisationseinheit->oetyp_bezeichnung, BIS_FUNKTIONSCODE_6_ARR)) // nicht Teamleitung
|
||||
!in_array($organisationseinheit->organisationseinheittyp_kurzbz, BIS_FUNKTIONSCODE_6_ARR)) // nicht Teamleitung
|
||||
{
|
||||
$funktion_code = 6;
|
||||
}
|
||||
@@ -935,6 +1009,11 @@ function _generateXML($person_arr)
|
||||
*/
|
||||
function _outputHTML($person_arr)
|
||||
{
|
||||
global $codex_funktion;
|
||||
global $codex_verwendung;
|
||||
global $codex_ba1;
|
||||
global $codex_ba2;
|
||||
|
||||
echo '<html>
|
||||
<head>
|
||||
<title>BIS - Meldung Personal</title>
|
||||
@@ -1023,9 +1102,9 @@ function _outputHTML($person_arr)
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.$verwendung->verwendung_code.'</td>
|
||||
<td>'.$verwendung->ba1code.'</td>
|
||||
<td>'.$verwendung->ba2code.'</td>
|
||||
<td>'.(isset($codex_verwendung[$verwendung->verwendung_code])?$codex_verwendung[$verwendung->verwendung_code]:'').' '.$verwendung->verwendung_code.'</td>
|
||||
<td><span title="'.(isset($codex_ba1[$verwendung->ba1code])?$codex_ba1[$verwendung->ba1code]:'').'">'.$verwendung->ba1code.'</span></td>
|
||||
<td><span title="'.(isset($codex_ba2[$verwendung->ba2code])?$codex_ba2[$verwendung->ba2code]:'').'">'.$verwendung->ba2code.'</span></td>
|
||||
<td>'.$verwendung->vzae.'</td>
|
||||
<td>'.$verwendung->jvzae.'</td>
|
||||
</tr>';
|
||||
@@ -1055,7 +1134,7 @@ function _outputHTML($person_arr)
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td>'. $funktion->funktionscode. '</td>
|
||||
<td>'.(isset($codex_funktion[$funktion->funktionscode])?$codex_funktion[$funktion->funktionscode]:'').' '.$funktion->funktionscode.'</td>
|
||||
<td>'. $funktion->besondereQualifikationCode. '</td>
|
||||
<td>';
|
||||
|
||||
|
||||
@@ -436,6 +436,7 @@ $tabelle="<H2>BIS-Meldungsübersicht: </H2><br>
|
||||
|
||||
$semester_arr = array(1,2,3,4,5,6,7,8,50,60);
|
||||
|
||||
sort($verwendete_orgformen);
|
||||
|
||||
$orgformen = implode('/',$verwendete_orgformen);
|
||||
|
||||
|
||||
@@ -2844,9 +2844,16 @@ else
|
||||
echo '<button type="button" class="btn btn-primary btn-xs" onclick="sendMail()" id="mailSendButton">Mail an alle senden</button>';
|
||||
echo '<button type="button" class="btn btn-primary btn-xs" onclick="checkAllWithResult()" id="checkAllResButton">Alle mit Ergebnis markieren</button>';
|
||||
echo '<button type="button" class="btn btn-primary btn-xs" id="showUebertragenOptionsButton">Punkte ins FAS übertragen...</button>';
|
||||
if (isset($_POST['reihungstest']) && count($_POST['reihungstest']) == 1)
|
||||
if ((isset($_POST['reihungstest']) && count($_POST['reihungstest']) == 1) || (isset($_GET['reihungstest']) && $_GET['reihungstest'] != ''))
|
||||
{
|
||||
echo ' <a href="'.APP_ROOT.'/addons/reports/cis/vorschau.php?statistik_kurzbz=TesttoolFortschritt&debug=true&ReihungstestID='.$_POST['reihungstest'][0].'" class="btn btn-default btn-xs" role="button" target="_blank">Testfortschritt ansehen</a>';
|
||||
if (isset($_POST['reihungstest']))
|
||||
{
|
||||
echo ' <a href="'.APP_ROOT.'/addons/reports/cis/vorschau.php?statistik_kurzbz=TesttoolFortschritt&debug=true&ReihungstestID='.$_POST['reihungstest'][0].'" class="btn btn-default btn-xs" role="button" target="_blank">Testfortschritt ansehen</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo ' <a href="'.APP_ROOT.'/addons/reports/cis/vorschau.php?statistik_kurzbz=TesttoolFortschritt&debug=true&ReihungstestID='.$_GET['reihungstest'].'" class="btn btn-default btn-xs" role="button" target="_blank">Testfortschritt ansehen</a>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user