From 0b1d84788220bc3ea9c218e73b4bceaefbb975e6 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 26 Mar 2020 14:16:37 +0100 Subject: [PATCH] Added Download PDF of accepted Lehrauftraege (seperated by FH /Lehrgaenge) Lectors can now download as pfd all their accepted Lehrauftraege. Therefore two buttons are available for seperate download of Lehrauftraege on FH or Lehrgaenge. The queries are proofing now if a contract exists and if the status is 'akzeptiert'. --- .../lehre/lehrauftrag/acceptLehrauftrag.php | 1 + cis/private/pdfExport.php | 9 +++-- .../js/lehre/lehrauftrag/acceptLehrauftrag.js | 33 +++++++++++++++++++ rdf/lehrauftrag.xml.php | 32 ++++++++++++++++-- 4 files changed, 70 insertions(+), 5 deletions(-) diff --git a/application/views/lehre/lehrauftrag/acceptLehrauftrag.php b/application/views/lehre/lehrauftrag/acceptLehrauftrag.php index a4116e8d0..dbf54deda 100644 --- a/application/views/lehre/lehrauftrag/acceptLehrauftrag.php +++ b/application/views/lehre/lehrauftrag/acceptLehrauftrag.php @@ -111,6 +111,7 @@ $this->load->view(
+
widgetlib->widget( diff --git a/cis/private/pdfExport.php b/cis/private/pdfExport.php index 851c0c6c8..f5322d1ff 100644 --- a/cis/private/pdfExport.php +++ b/cis/private/pdfExport.php @@ -37,6 +37,7 @@ require_once('../../include/studiengang.class.php'); require_once('../../include/student.class.php'); require_once('../../include/prestudent.class.php'); require_once('../../include/dokument_export.class.php'); +require_once('../../include/person.class.php'); if (!$db = new basis_db()) die('Fehler beim Oeffnen der Datenbankverbindung'); @@ -135,6 +136,8 @@ if (isset($_GET['typ'])) $params .= '&typ='.$_GET['typ']; if (isset($_GET['all'])) $params .= '&all=1'; +if (isset($_GET['xsl_oe_kurzbz'])) + $params .= '&xsl_oe_kurzbz='. $_GET['xsl_oe_kurzbz']; //OE fuer Output ermitteln @@ -166,7 +169,7 @@ else $konto = new konto(); -if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) +if (((isset($_GET["uid"]) && $user == $_GET["uid"])) || $rechte->isBerechtigt('admin')) { $buchungstypen = array(); if (defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN")) @@ -232,7 +235,9 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) $filename .= '-'.$studienordnung->studiengangkurzbzlang; break; default: - $filename = $xsl; + $person = new Person(); + $person->getPersonFromBenutzer($user); + $filename = $xsl. '_'. $person->nachname; } $dokument->setFilename($filename); diff --git a/public/js/lehre/lehrauftrag/acceptLehrauftrag.js b/public/js/lehre/lehrauftrag/acceptLehrauftrag.js index da041c232..dc4fbe97e 100644 --- a/public/js/lehre/lehrauftrag/acceptLehrauftrag.js +++ b/public/js/lehre/lehrauftrag/acceptLehrauftrag.js @@ -19,6 +19,8 @@ const ICON_LEHRAUFTRAG_APPROVED = ''; const ICON_LEHRAUFTRAG_CANCELLED = ''; +const APP_ROOT = FHC_JS_DATA_STORAGE_OBJECT.app_root; + // ----------------------------------------------------------------------------------------------------------------- // Mutators - setter methods to manipulate table data when entering the tabulator // ----------------------------------------------------------------------------------------------------------------- @@ -265,6 +267,8 @@ function func_footerElement(){ footer_html += ''; @@ -288,6 +292,35 @@ function footer_downloadCSV(){ $('#tableWidgetTabulator').tabulator("download", "csv", "data.csv", {bom:true}); // BOM for correct UTF-8 char output } +// Performs download PDF accepted Lehrauftraege +function footer_downloadPDF_LehrauftraegeFHTW() { + var uid = $("#uid").val(); + var studiensemester = $('#studiensemester').val(); + + window.open(APP_ROOT + '/cis/private/pdfExport.php' + + '?xml=lehrauftrag.xml.php' + + '&xsl=Lehrauftrag' + + '&xsl_oe_kurzbz=etw' + + '&stg_kz=' + + '&uid=' + uid + + '&ss=' + studiensemester, '_parent' + ); +} + +function footer_downloadPDF_LehrauftraegeLehrgaenge() { + var uid = $("#uid").val(); + var studiensemester = $('#studiensemester').val(); + + window.open(APP_ROOT + '/cis/private/pdfExport.php' + + '?xml=lehrauftrag.xml.php' + + '&xsl=Lehrauftrag' + + '&xsl_oe_kurzbz=lehrgang' + + '&stg_kz=' + + '&uid=' + uid + + '&ss=' + studiensemester, '_parent' + ); +} + /* * Performs select all * Select all (filtered) rows and ignore rows that are bestellt and erteilt diff --git a/rdf/lehrauftrag.xml.php b/rdf/lehrauftrag.xml.php index 8d65f0a38..6c29f5f5a 100644 --- a/rdf/lehrauftrag.xml.php +++ b/rdf/lehrauftrag.xml.php @@ -31,6 +31,7 @@ require_once('../include/lehreinheit.class.php'); require_once('../include/organisationseinheit.class.php'); require_once('../include/mitarbeiter.class.php'); require_once('../include/bisverwendung.class.php'); +require_once('../include/person.class.php'); if (isset($_SERVER['REMOTE_USER'])) { @@ -65,6 +66,8 @@ if (isset($_GET['ss'])) else die('Fehlerhafte Parameteruebergabe'); +$xsl_oe_kurzbz = isset($_GET['xsl_oe_kurzbz']) && !empty($_GET['xsl_oe_kurzbz']) ? $_GET['xsl_oe_kurzbz'] : ''; + // GENERATE XML $xml = ''; $stg_arr = array(); @@ -149,6 +152,7 @@ function drawLehrauftrag($uid) { global $studiengang; global $studiengang_kz; + global $xsl_oe_kurzbz; global $oe_arr; global $stg_arr; global $ss; @@ -270,12 +274,31 @@ function drawLehrauftrag($uid) * FROM campus.vw_lehreinheit + JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id, mitarbeiter_uid) + JOIN lehre.tbl_vertrag_vertragsstatus vvst USING (vertrag_id) WHERE mitarbeiter_uid=".$db->db_add_param($uid)." - AND studiensemester_kurzbz=".$db->db_add_param($ss); + AND studiensemester_kurzbz=".$db->db_add_param($ss). " + AND lema.vertrag_id IS NOT NULL + AND vertragsstatus_kurzbz = 'akzeptiert'"; if ($studiengang_kz != '') //$studiengang_kz!='0' && - $qry .= "AND lv_studiengang_kz=".$db->db_add_param($studiengang_kz); + { + $qry .= " AND lv_studiengang_kz=".$db->db_add_param($studiengang_kz); + } + elseif (!empty($xsl_oe_kurzbz)) + { + if ($xsl_oe_kurzbz == 'etw') + { + $qry .= " AND lv_studiengang_kz > 0"; + } + + if ($xsl_oe_kurzbz == 'lehrgang') + { + $qry .= " AND lv_studiengang_kz <= 0"; + } + } + $qry .= " ORDER BY lv_orgform_kurzbz, lv_bezeichnung, lehreinheit_id"; $lv = array(); $anzahl_lvs = 0; @@ -367,7 +390,7 @@ function drawLehrauftrag($uid) $gesamtstunden = $gesamtstunden + $stunden; } } - $qry = "SELECT tbl_projektarbeit.projektarbeit_id + $qry = "SELECT DISTINCT tbl_projektarbeit.projektarbeit_id ,tbl_projektbetreuer.faktor ,tbl_projektbetreuer.stunden ,tbl_projektbetreuer.stundensatz @@ -385,7 +408,10 @@ function drawLehrauftrag($uid) ,public.tbl_benutzer ,lehre.tbl_projektarbeit ,campus.vw_student + ,lehre.tbl_vertrag_vertragsstatus WHERE tbl_projektbetreuer.person_id = tbl_benutzer.person_id + AND tbl_projektbetreuer.vertrag_id IS NOT NULL + AND tbl_vertrag_vertragsstatus.vertragsstatus_kurzbz = 'akzeptiert' AND tbl_benutzer.uid = ".$db->db_add_param($uid)." AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id AND student_uid = vw_student.uid