diff --git a/CHANGELOG.md b/CHANGELOG.md index 42e898deb..2d712a143 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,7 +48,8 @@ lehre.tbl_zeugnis, fue.tbl_scrumsprint, fue.tbl_scrumteam, wawi.tbl_aufteilung, wawi.tbl_aufteilung_default, testtool.tbl_kategorie, testtool.tbl_kriterien, public.tbl_prestudent.rt_punkte1, public.tbl_prestudent.rt_punkte2 public.tbl_prestudent.rt_punkte3, public.tbl_prestudent.anmeldungreihungstest, public.tbl_prestudent.reihungstest_id - public.tbl_prestudent.ausstellungsstaat, public.tbl_prestudent.aufnahmeschluessel, lehre.tbl_lehrveranstaltung.old_lehrfach_id + public.tbl_prestudent.ausstellungsstaat, public.tbl_prestudent.aufnahmeschluessel, lehre.tbl_lehrveranstaltung.old_lehrfach_id, lehre.tbl_projektarbeit.gesamtstunden, lehre.tbl_projektarbeit.faktor, + lehre.tbl_projektarbeit.stundensatz - **[CORE]** LV-Infos werden mit der kommenden Version aus dem Core entfernt - Dies ist jetzt ein Addon - **[CORE]** WaWi wird mit der kommenden Version aus dem Core entfernt- Dies ist jetzt ein Addon - **[CIS]** Benotungstool/Kreuzerltool wird mit der kommenden Version aus dem Core entfernt diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index fdd45d9a6..b13cf4d9b 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -1463,7 +1463,7 @@ class InfoCenter extends Auth_Controller $data = array ( 'interessentbez' => $interessentbez, - 'studiengangbez' => $prestudent->studiengangbezeichnung, + 'studiengangbez' => $prestudentstatus->studiengangbezeichnung, 'studiengangtypbez' => $prestudent->studiengangtyp_bez, 'orgform' => $orgform, 'studiensemester' => $prestudentstatus->studiensemester_kurzbz, @@ -1487,7 +1487,7 @@ class InfoCenter extends Auth_Controller $this->load->library('LogLib'); $this->load->helper('hlp_sancho'); - $subject = ($person->geschlecht == 'm' ? 'Interessent ' : 'Interessentin ').$person->vorname.' '.$person->nachname.' für '.$prestudent->studiengangbezeichnung.$orgform.' freigegeben'; + $subject = ($person->geschlecht == 'm' ? 'Interessent ' : 'Interessentin ').$person->vorname.' '.$person->nachname.' für '.$prestudentstatus->studiengangbezeichnung.$orgform.' freigegeben'; $receiver = $prestudent->studiengangmail; diff --git a/application/helpers/hlp_sancho_helper.php b/application/helpers/hlp_sancho_helper.php index dfcebe809..6f5ef8c24 100644 --- a/application/helpers/hlp_sancho_helper.php +++ b/application/helpers/hlp_sancho_helper.php @@ -74,7 +74,7 @@ function sendSanchoMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerIm $body = _parseMailContent('Sancho_Mail_Template', $layout); // Send mail - $ci->maillib->send($from, $to, $subject, $body, $alias = '', $cc = null, $bcc = null, $altMessage = '', $bulk = true, $autogenerated = true); + $ci->maillib->send($from, $to, $subject, $body, $alias = '', $cc, $bcc, $altMessage = '', $bulk = true, $autogenerated = true); } /** diff --git a/application/models/crm/Reihungstest_model.php b/application/models/crm/Reihungstest_model.php index d0efb8bc8..6102c2b5e 100644 --- a/application/models/crm/Reihungstest_model.php +++ b/application/models/crm/Reihungstest_model.php @@ -473,11 +473,30 @@ class Reihungstest_model extends DB_Model return $this->execQuery($query, array($reihungstest_id)); } + /** + * Loads the date of the next placement test to the given degree program + * @param integer $studiengang_kz Kennzahl of degree program to load the next placement test date + * @return string Returns date of the next placement test + */ + public function getNextPlacementtestDate($studiengang_kz) + { + $query = ' + SELECT * + FROM PUBLIC.tbl_reihungstest + WHERE studiengang_kz = ? + AND datum > now() + ORDER BY datum ASC + LIMIT 1 + '; + + return $this->execQuery($query, array($studiengang_kz)); + } + /** * Loads all placement tests of the given day and optional degree program * @param string $date Date of the tests to be loaded (YYYY-MM-DD) * @param integer $studiengang_kz Optional. Kennzahl of degree program to load - * @return array Returns object array with data of applicants. + * @return array Returns object array with data of placement tests */ public function getTestsOnDate($date, $studiengang_kz = null) { diff --git a/application/models/education/Lehreinheit_model.php b/application/models/education/Lehreinheit_model.php index 737d482f8..7dba40153 100644 --- a/application/models/education/Lehreinheit_model.php +++ b/application/models/education/Lehreinheit_model.php @@ -14,6 +14,7 @@ class Lehreinheit_model extends DB_Model $this->load->model('education/lehrveranstaltung_model', 'LehrveranstaltungModel'); $this->load->model('education/lehreinheitgruppe_model', 'LehreinheitgruppeModel'); $this->load->model('education/lehreinheitmitarbeiter_model', 'LehreinheitmitarbeiterModel'); + $this->load->model('organisation/studiengang_model', 'StudiengangModel'); } /** @@ -57,13 +58,22 @@ class Lehreinheit_model extends DB_Model { foreach ($lehreinheitgruppen->retval as $lehreinheitgruppe) { - $letoadd->lehreinheitgruppen[] = array( - 'semester' => $lehreinheitgruppe->semester, - 'verband' => $lehreinheitgruppe->verband, - 'gruppe' => $lehreinheitgruppe->gruppe, - 'gruppe_kurzbz' => $lehreinheitgruppe->gruppe_kurzbz, - 'direktinskription' => $lehreinheitgruppe->direktinskription - ); + $studiengangresponse = $this->StudiengangModel->load($lehreinheitgruppe->studiengang_kz); + if (hasData($studiengangresponse)) + { + $studiengang = $studiengangresponse->retval[0]; + $stgkuerzel = mb_strtoupper($studiengang->typ . $studiengang->kurzbz); + + $letoadd->lehreinheitgruppen[] = array( + 'semester' => $lehreinheitgruppe->semester, + 'verband' => $lehreinheitgruppe->verband, + 'gruppe' => $lehreinheitgruppe->gruppe, + 'gruppe_kurzbz' => $lehreinheitgruppe->gruppe_kurzbz, + 'direktinskription' => $lehreinheitgruppe->direktinskription, + 'studiengang_kz' => $lehreinheitgruppe->studiengang_kz, + 'studiengang_kuerzel' => $stgkuerzel + ); + } } } diff --git a/application/models/education/Lehrveranstaltung_model.php b/application/models/education/Lehrveranstaltung_model.php index 3c4bae1e3..1685ddf81 100644 --- a/application/models/education/Lehrveranstaltung_model.php +++ b/application/models/education/Lehrveranstaltung_model.php @@ -203,4 +203,65 @@ class Lehrveranstaltung_model extends DB_Model return $this->execQuery($qry, $params); } + + /** + * Gets valid Lehrveranstaltungen with incoming places for a Studiensemester. + * Only + * 1. Lvs with incoming places > 0 + * 2. Studienplan valid in current semester or with Lehrauftrag (i.e. assigned Lehreinheit) + * @param $studiensemester_kurzbz + * @return object + */ + public function getLvsWithIncomingPlaces($studiensemester_kurzbz) + { + $this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel'); + + $studsemres = $this->StudiensemesterModel->load($studiensemester_kurzbz); + + if (!hasData($studsemres)) + return success(array()); + + $parametersarray = array($studiensemester_kurzbz, $studsemres->retval[0]->studienjahr_kurzbz, $studiensemester_kurzbz, $studiensemester_kurzbz); + + $query = " + SELECT * FROM ( + SELECT DISTINCT ON (lv.lehrveranstaltung_id) lv.lehrveranstaltung_id, lv.bezeichnung AS lv_bezeichnung, lv.kurzbz AS lv_kurzbz, lv.sprache, lv.ects, lv.lehre, + lv.lehreverzeichnis, lv.sws, lv.lvs, lv.alvs, lv.lvps, lv.las, lv.incoming, lv.lehrform_kurzbz, lv.orgform_kurzbz AS lv_orgform, lv.semester, + ? AS studiensemester_kurzbz, ? AS studienjahr_kurzbz, UPPER(stg.typ::VARCHAR(1) || stg.kurzbz) AS studiengang_kuerzel, + stg.bezeichnung AS studiengang_bezeichnung, stg.english AS studiengang_bezeichnung_english, stg.typ, stg.orgform_kurzbz AS studiengang_orgform, + tbl_sprache.locale, CASE WHEN lv.orgform_kurzbz NOTNULL THEN lv.orgform_kurzbz ELSE stg.orgform_kurzbz END AS orgform_kurzbz + FROM lehre.tbl_lehrveranstaltung lv + JOIN public.tbl_studiengang stg ON lv.studiengang_kz = stg.studiengang_kz + JOIN public.tbl_sprache ON lv.sprache = tbl_sprache.sprache + WHERE lv.lehrtyp_kurzbz != 'modul' + AND ( + EXISTS + ( + WITH gueltige_studienplaene AS ( + SELECT studienplan_id, semester + FROM lehre.tbl_studienplan + JOIN lehre.tbl_studienplan_semester USING(studienplan_id) + WHERE tbl_studienplan.aktiv + AND lehre.tbl_studienplan_semester.studiensemester_kurzbz = ? + ) + SELECT 1 + FROM lehre.tbl_studienplan_lehrveranstaltung + WHERE tbl_studienplan_lehrveranstaltung.studienplan_id IN (SELECT studienplan_id FROM gueltige_studienplaene) + AND tbl_studienplan_lehrveranstaltung.semester IN + (SELECT semester FROM gueltige_studienplaene + WHERE gueltige_studienplaene.studienplan_id = tbl_studienplan_lehrveranstaltung.studienplan_id) + AND tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id = lv.lehrveranstaltung_id + AND tbl_studienplan_lehrveranstaltung.export + ) + OR EXISTS (SELECT 1 FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = lv.lehrveranstaltung_id AND studiensemester_kurzbz = ?) + ) + AND lv.incoming > 0 + AND lv.aktiv + AND (stg.typ IN ('b', 'm') OR stg.studiengang_kz = 10006)-- ECI Studiengang Campus International + ) lvs + ORDER BY studiengang_kuerzel, orgform_kurzbz, lv_bezeichnung, lehrform_kurzbz, lehrveranstaltung_id; + "; + + return $this->execQuery($query, $parametersarray); + } } diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index d3919d25e..cc551b600 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -805,18 +805,32 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1)) $neuenoten = 0; $studlist = " - - - - "; + "; - if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE) - { - $studlist .= "\n"; + // entweder personenbezogene Daten einbinden + if (defined('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE') && CIS_GESAMTNOTE_FREIGABEMAIL_NOTE) + { + $studlist .= " + + + + "; + + if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE) + { + $studlist .= "\n"; + } + $studlist .= "\n"; + + $studlist .= "\n"; + } + // oder anonymisiert nur die UIDs einbinden + else + { + $studlist .= " + \n + "; } - $studlist .= "\n"; - - $studlist .= "\n"; // studentenquery $qry_stud = "SELECT @@ -842,23 +856,30 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1)) $lvgesamtnote->freigabevon_uid = $user; $lvgesamtnote->save(); - $studlist .= ""; - $studlist .= ""; - $studlist .= ""; - - if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE) + if (defined('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE') && CIS_GESAMTNOTE_FREIGABEMAIL_NOTE) { - $studlist .= "\n"; - } - $studlist .= ""; + $studlist .= ""; + $studlist .= ""; + $studlist .= ""; - $studlist .= "\n"; + if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE) + { + $studlist .= "\n"; + } + $studlist .= ""; + + $studlist .= "\n"; + } + else + { + $studlist .= "\n"; + } $neuenoten ++; } @@ -896,8 +917,7 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1))
eingetragen.\n

Die Noten können jetzt ins Zeugnis übernommen werden.\n"; - if (defined('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE') && CIS_GESAMTNOTE_FREIGABEMAIL_NOTE) - $htmlcontent.= $studlist; + $htmlcontent .= $studlist; $htmlcontent.= "
Anzahl der Noten:" . $neuenoten . " diff --git a/cis/private/lehre/fotoliste.pdf.php b/cis/private/lehre/fotoliste.pdf.php index 3f4a79d9b..8054955ca 100644 --- a/cis/private/lehre/fotoliste.pdf.php +++ b/cis/private/lehre/fotoliste.pdf.php @@ -109,7 +109,7 @@ if ($result = $db->db_query($qry)) { $stg_typ = $row->stg_typ; //collect all gruppenkürzel if ($row->gruppe_kurzbz == '') - $gruppen_string = trim($row->kuerzel . '-' . $row->semester); + $gruppen_string = trim($row->kuerzel . '-' . $row->semester . $row->verband . $row->gruppe); else $gruppen_string = $row->gruppe_kurzbz; diff --git a/cis/private/lehre/lehrtaetigkeit.pdf.php b/cis/private/lehre/lehrtaetigkeit.pdf.php new file mode 100644 index 000000000..d99f2bf6b --- /dev/null +++ b/cis/private/lehre/lehrtaetigkeit.pdf.php @@ -0,0 +1,276 @@ +. + */ + +require_once('../../../config/cis.config.inc.php'); +require_once('../../../include/dokument_export.class.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/person.class.php'); +require_once('../../../include/lehreinheitmitarbeiter.class.php'); +require_once('../../../include/lehreinheit.class.php'); +require_once('../../../include/projektbetreuer.class.php'); +require_once('../../../include/projektarbeit.class.php'); +require_once('../../../include/bisverwendung.class.php'); +require_once('../../../include/studiensemester.class.php'); +require_once('../../../include/phrasen.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); + +$user = get_uid(); +$sprache = getSprache(); +$p = new phrasen($sprache); + +$doc = new dokument_export('Lehrtaetigkeit'); + + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +// Check permission +$berechtigung = new benutzerberechtigung(); +$berechtigung->getBerechtigungen($user); +if (!$berechtigung->isBerechtigt('admin') && + !$berechtigung->isBerechtigt('mitarbeiter')) + die('Sie muessen das Recht "ADMIN" oder "MITARBEITER" haben, um diese Seite aufrufen zu koennen'); + +// Get GET params +$uid = (isset($_GET['uid']) && is_string($_GET['uid'])) ? $_GET['uid'] : die($p->t('global/fehlerBeimErmittelnDerUID')); +$output = (isset($_GET['output']) && ($_GET['output'] == 'odt' || $_GET['output'] == 'doc')) ? $_GET['output'] : 'pdf'; + +// Personal data of lector +$person = new Person(); +$person->getPersonFromBenutzer($uid); +$person_id = $person->person_id; +$anrede = $person->anrede; +$fullname = $person->getFullName(); +$birthday_date = new DateTime($person->gebdatum); + +// Get the lectors lehreinheiten-semesterstunden per semester +$semesterstunden_per_semester = array(); +$le_ma = new Lehreinheitmitarbeiter(); + +// * get all semester of the lector where he was teaching actively +$active_semester_arr = $le_ma->getSemesterZuLektor($uid); +$active_semester_arr = array_keys($active_semester_arr); + +// * for each semester: +foreach($active_semester_arr as $active_semester) +{ + // * get all the lectors lehreinheiten + $le_id_arr = array(); + $le_array = $le_ma->getLehreinheiten($uid, $active_semester); + foreach($le_array as $le) + { + $le_id_arr[]= $le->lehreinheit_id; + } + + // * get begin- and end date of studiensemester + $ss = new Studiensemester($active_semester); + $studiensemester_start_date = $ss->start; + $studiensemester_end_date = $ss->ende; + + // * get total amount of semesterstunden of the lehreinheiten, where stundensatz > 0 + $total_semesterstunden = 0; + foreach ($le_id_arr as $le_id) + { + $le_ma = new Lehreinheitmitarbeiter($le_id, $uid); + if ($le_ma && (!is_null ($le_ma->stundensatz) && $le_ma->stundensatz > 0)) + { + $total_semesterstunden = $total_semesterstunden + $le_ma->semesterstunden; + } + } + + // * store data only if semesterstunden > 0 + if ($total_semesterstunden > 0) + { + $semesterstunden_per_semester []= ( + array( + 'studiensemester_kurzbz'=> $active_semester, + 'total_semesterstunden' => $total_semesterstunden, + 'studiensemester_start_date' => $studiensemester_start_date, + 'studiensemester_end_date' => $studiensemester_end_date + ) + ); + } +} + +// Get the lectors projektarbeitstunden per semester +$projektstunden_per_semester = array(); +$pb = new Projektbetreuer(); +$pb->getAllProjects($person_id); +$project_arr = $pb->result; + +// * for each project +foreach ($project_arr as $project) +{ + $pa_id = $project->projektarbeit_id; + $projektstunden = $project->stunden; + + // * get studiensemester + $pa = new Projektarbeit($pa_id); + $le = new Lehreinheit($pa->lehreinheit_id); + $studiensemester_kurzbz = $le->studiensemester_kurzbz; + + // * get begin- and end date of studiensemester + $ss = new Studiensemester($studiensemester_kurzbz); + $studiensemester_start_date = $ss->start; + $studiensemester_end_date = $ss->ende; + + // Get total amount of semesterstunden by studiensemester + // * check if studiensemester already exists. If so, get array index. + $studiensemester_index = array_search($studiensemester_kurzbz, array_map(function($val) { + return $val['studiensemester_kurzbz']; + }, $projektstunden_per_semester + )); + + // * if studiensemester exists, sum up hours of projektarbeit, where stundensatz > 0 + if ($studiensemester_index !== false) + { + $projektstunden_per_semester [$studiensemester_index]['total_semesterstunden'] = $projektstunden_per_semester [$studiensemester_index]['total_semesterstunden'] + $projektstunden; + } + // * if not, create new index + else + { + $projektstunden_per_semester []= ( + array( + 'studiensemester_kurzbz'=> $studiensemester_kurzbz, + 'total_semesterstunden' => $projektstunden, + 'studiensemester_start_date' => $studiensemester_start_date, + 'studiensemester_end_date' => $studiensemester_end_date + ) + ); + } +} + +// Merge lehreinheit- and projektarbeitstunden arrays +foreach ($projektstunden_per_semester as $item) +{ + // check if studiensemester already exists in projektstunden-per-term-array. If so, get array index. + $studiensemester_index = array_search($item['studiensemester_kurzbz'], array_map(function($val) { + return $val['studiensemester_kurzbz']; + }, $semesterstunden_per_semester + )); + + // * if studiensemester exists, merge lehreinheit- and projektarbeit hours + if ($studiensemester_index !== false) + { + $semesterstunden_per_semester [$studiensemester_index]['total_semesterstunden'] = $semesterstunden_per_semester [$studiensemester_index]['total_semesterstunden'] + $item['total_semesterstunden']; + } + // * if not, create new index + else + { + $semesterstunden_per_semester []= ( + array( + 'studiensemester_kurzbz'=> $item['studiensemester_kurzbz'], + 'total_semesterstunden' => intval($item['total_semesterstunden']), + 'studiensemester_start_date' => $item['studiensemester_start_date'], + 'studiensemester_end_date' => $item['studiensemester_end_date'] + ) + ); + } +} + +// Sort lehreinheit- and projektarbeitstunden array by date +usort($semesterstunden_per_semester, function($a, $b) +{ + return strtotime($a['studiensemester_start_date']) - strtotime($b['studiensemester_start_date']); +}); + +// Split studiensemester array into actual studiensemester array and former studiensemester array +// * get actual studiensemester +$ss = new Studiensemester(); +$actual_studiensemester = $ss->getakt(); +$actual_studiensemester_index = array_search($actual_studiensemester, array_map(function($val) { + return $val['studiensemester_kurzbz']; +}, $semesterstunden_per_semester +)); + +// * if lector is teaching actually, split former teaching activities from actual teaching activities of actual studiensemester +$semesterstunden_of_actual_semester = array(); +if ($actual_studiensemester_index !== false) +{ + $semesterstunden_of_actual_semester = array_slice($semesterstunden_per_semester, $actual_studiensemester_index); // array with actual + future semester + $semesterstunden_per_semester = array_slice($semesterstunden_per_semester, 0, $actual_studiensemester_index); // array with all former semester +} + +// Semester begin and ending date of lehreinheit- and projektarbeit studiensemester +// * begin date of first lehreinheit- and projektarbeit studiensemester +$earliest_ss = current($semesterstunden_per_semester)['studiensemester_start_date']; +$begin_date = !is_null($earliest_ss) ? new DateTime($earliest_ss) : null; + +// * end date of last lehreinheit- and projektarbeit studiensemester +// * if lector is teaching on actual studiensemester, get end date of actual studiensemester +$latest_ss = !empty($semesterstunden_of_actual_semester) + ? current($semesterstunden_of_actual_semester)['studiensemester_end_date'] +// * else get end date of the last of his teaching studiensemester + : end($semesterstunden_per_semester)['studiensemester_end_date']; +$end_date = !is_null($latest_ss) ? new DateTime($latest_ss) : null; + +$actual_date = new DateTime(); + +// if the lector is still employed, reset the end date to null +if ($end_date > $actual_date) +{ + $end_date = null; +} + +$data = array ( + 'anrede' => $anrede, + 'full_name' => $fullname, + 'birthday' => $birthday_date->format('d.m.Y'), + 'begin_date' => !is_null($begin_date) ? $begin_date->format('d.m.Y') : '', + 'end_date' => !is_null($end_date) ? $end_date->format('d.m.Y') : '', // empty, if lector is still employed + 'total_ss_actual_semester' => current($semesterstunden_of_actual_semester), // empty, if lector has no lehreinheit- or projektarbeitsstunden at the actual studiensemester + 'actual_date' => $actual_date->format('d.m.Y') +); + +// Put semesterstunden per semester array in correct format for xsl template +if (!empty($semesterstunden_per_semester)) +{ + foreach ($semesterstunden_per_semester as &$item) + { + $data[]= array('total_ss_per_semester'=> + array( + 'studiensemester_kurzbz'=> $item['studiensemester_kurzbz'], + 'total_semesterstunden' => $item['total_semesterstunden'] + ) + ); + } +} +else +{ + $data[]= array('total_ss_per_semester'=> ''); // empty if lector has no lehreinheit- or projektarbeitsstunden in the past (before the actual studiensemester) +} + +// Add data to lehrtaetigkeit.xsl +$doc->addDataArray($data, 'lehrtaetigkeit'); + +// Set doc name +$doc->setFilename('Lehrtaetigkeit_'. rtrim($fullname, '.')); + +// Create doc in format required +if (!$doc->create($output)) + die($doc->errormsg); + +// Download doc +$doc->output(); + +// unlink doc from tmp-folder +$doc->close(); + + diff --git a/cis/private/tools/ampelverwaltung.php b/cis/private/tools/ampelverwaltung.php index c3135b71e..893ac8764 100644 --- a/cis/private/tools/ampelverwaltung.php +++ b/cis/private/tools/ampelverwaltung.php @@ -124,10 +124,10 @@ if ($is_popup) $user_ampel_arr, $cnt_ueberfaellig_und_verpflichtend) = //counts mandatory, overdue (not expired), unconfirmed, not before vorlaufzeit getPopupUserAmpelData($user_ampel_arr); -} +} //filter ampeln of actual term (if radiobutton is set to aktuell) -if ($show == 'aktuell') +if (!$is_popup && $show == 'aktuell') $user_ampel_arr = getActualUserAmpelData($user_ampel_arr, $semester_start); @@ -361,7 +361,7 @@ function typeWrite(span){
sancho_verpflichtende_ampeln
-



'; +



'; } } ?> @@ -401,7 +401,7 @@ function typeWrite(span){ $cnt_active++; } - if ($cnt_active == 0) + if ($cnt_active == 0 && !$is_popup) { echo '
diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index d763c0f73..a644f9b77 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -91,12 +91,12 @@ $fieldheadings = array( if ($rechte->isBerechtigt('basis/servicezeitaufzeichnung')) { $za_simple = 0; - $activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'LehreIntern', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe'); + $activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'Lehre', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe'); } else { $za_simple = 1; - $activities = array('Arbeit', 'Pause', 'LehreIntern', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe'); + $activities = array('Arbeit', 'Pause', 'Lehre', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe'); } $activities_str = "'".implode("','", $activities)."'"; @@ -534,6 +534,8 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum ('.$data[2].')
'; else { + if ($data[1] == 'LehreIntern') + $data[1] = 'Lehre'; $zeit->new = true; $zeit->insertamum = date('Y-m-d H:i:s'); $zeit->updateamum = date('Y-m-d H:i:s'); @@ -1041,7 +1043,7 @@ if($projekt->getProjekteMitarbeiter($user, true)) $sem_akt = $stsem->getakt(); $lehre = new zeitaufzeichnung(); $l_arr = $lehre->getLehreForUser($user, $sem_akt); - if ($l_arr["LehreAuftraege"]>0 || $l_arr["LehreIntern"] > 0 || $l_arr["LehreExtern"] > 0) + if ($l_arr["LehreAuftraege"]>0 || $l_arr["Lehre"] > 0 || $l_arr["LehreExtern"] > 0) { if ($lehre_inkludiert == -1) { @@ -1056,8 +1058,8 @@ if($projekt->getProjekteMitarbeiter($user, true)) echo '
'; echo ''; echo ''; - if ($lehre_inkludiert > 0 || $l_arr["LehreIntern"] > 0) - echo ''; + if ($lehre_inkludiert > 0 || $l_arr["Lehre"] > 0) + echo ''; if ($l_extern_soll > 0 || $l_arr["LehreExtern"] > 0) echo ''; diff --git a/cis/testtool/menu.php b/cis/testtool/menu.php index ed63324a3..cb1feb67e 100644 --- a/cis/testtool/menu.php +++ b/cis/testtool/menu.php @@ -193,7 +193,8 @@ if (isset($_SESSION['pruefling_id'])) ) - SELECT DISTINCT + SELECT DISTINCT ON + (gebiet_id, semester) semester, gebiet_id, bezeichnung, @@ -252,6 +253,7 @@ if (isset($_SESSION['pruefling_id'])) ORDER BY semester, + gebiet_id, reihung "; diff --git a/cms/dms.php b/cms/dms.php index bc9c13035..3b56a3a23 100644 --- a/cms/dms.php +++ b/cms/dms.php @@ -64,7 +64,7 @@ if($doc->isLocked($id)) //und person_id Besitzer des Dokuments ist (person_id aus tbl_akte) //und das Dokument in der Onlinebewerbung hochgeladen werden kann //darf das Dokument heruntergeladen werden - if($person_id!='' && $akte_id!='') + if($person_id != '' && $akte_id != '') { $akte = new akte(); $akte->load($akte_id); @@ -102,15 +102,15 @@ if($doc->isLocked($id)) // dann darf nur mit diesem Recht darauf zugegriffen werden $kategorie = new dms(); $kategorie->loadKategorie($doc->kategorie_kurzbz); - if($kategorie->berechtigung_kurzbz!='') + if($kategorie->berechtigung_kurzbz != '') { if(!$rechte->isBerechtigt($kategorie->berechtigung_kurzbz)) - die('Sie haben keinen Zugriff auf dieses Dokument'); + die($rechte->errormsg); } //Globales DMS recht pruefen if(!$rechte->isBerechtigt('basis/dms')) - die('Sie haben keinen Zugriff auf dieses Dokument'); + die($rechte->errormsg); } } } diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index 06fec388f..1ab74d1a9 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -106,7 +106,7 @@ define('FAS_REIHUNGSTEST_PUNKTE', false); // Legt fest, welche Reihungstestgebiete bei der Berechnung der Gesamtpunkte NICHT einbezogen werden. // array(gebiet_id1, gebiet_id2,...) -define('FAS_REIHUNGSTEST_EXCLUDE_GEBIETE', array()); +define('FAS_REIHUNGSTEST_EXCLUDE_GEBIETE', serialize(array())); // Legt fest ob Messages im FAS angezeigt werden true|false define('FAS_MESSAGES',false); diff --git a/content/fas.xul.php b/content/fas.xul.php index d61aba624..85deaa818 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -173,7 +173,6 @@ foreach($addon_obj->result as $addon) - @@ -899,12 +898,6 @@ foreach($addon_obj->result as $addon) label = "&menu-help-manual.label;" command = "menu-help-manual:command" accesskey = "&menu-help-manual.accesskey;"/> - write($zeile, ++$i, $row->interessenten_w, $$format); if (strlen($row->interessenten_w) > $maxlength[$i]) $maxlength[$i] = mb_strlen($row->interessenten_w); - $worksheet2->write($zeile, ++$i, "k.A.", $$format); - if (strlen("k.A.") > $maxlength[$i]) - $maxlength[$i] = mb_strlen("k.A."); - $worksheet2->write($zeile, ++$i, "k.A.", $$format); - if (strlen("k.A.") > $maxlength[$i]) - $maxlength[$i] = mb_strlen("k.A."); - $worksheet2->write($zeile, ++$i, "k.A.", $$format); - if (strlen("k.A.") > $maxlength[$i]) - $maxlength[$i] = mb_strlen("k.A."); + $worksheet2->write($zeile, ++$i, "k.A.*", $$format); + if (strlen("k.A.*") > $maxlength[$i]) + $maxlength[$i] = mb_strlen("k.A.*"); + $worksheet2->write($zeile, ++$i, "k.A.*", $$format); + if (strlen("k.A.*") > $maxlength[$i]) + $maxlength[$i] = mb_strlen("k.A.*"); + $worksheet2->write($zeile, ++$i, "k.A.*", $$format); + if (strlen("k.A.*") > $maxlength[$i]) + $maxlength[$i] = mb_strlen("k.A.*"); $worksheet2->write($zeile, ++$i, $row->interessentenrtanmeldung, $$format); if (strlen($row->interessentenrtanmeldung) > $maxlength[$i]) $maxlength[$i] = mb_strlen($row->interessentenrtanmeldung); @@ -1188,15 +1188,15 @@ if (isset($_GET['excel'])) $worksheet2->write($zeile, ++$i, $interessenten_w_sum, $format_bold); if (strlen($interessenten_w_sum) > $maxlength[$i]) $maxlength[$i] = mb_strlen($interessenten_w_sum); - $worksheet2->write($zeile, ++$i, "k.A.", $format_bold); - if (strlen("k.A.") > $maxlength[$i]) - $maxlength[$i] = mb_strlen("k.A."); - $worksheet2->write($zeile, ++$i, "k.A.", $format_bold); - if (strlen("k.A.") > $maxlength[$i]) - $maxlength[$i] = mb_strlen("k.A."); - $worksheet2->write($zeile, ++$i, "k.A.", $format_bold); - if (strlen("k.A.") > $maxlength[$i]) - $maxlength[$i] = mb_strlen("k.A."); + $worksheet2->write($zeile, ++$i, "k.A.*", $format_bold); + if (strlen("k.A.*") > $maxlength[$i]) + $maxlength[$i] = mb_strlen("k.A.*"); + $worksheet2->write($zeile, ++$i, "k.A.*", $format_bold); + if (strlen("k.A.*") > $maxlength[$i]) + $maxlength[$i] = mb_strlen("k.A.*"); + $worksheet2->write($zeile, ++$i, "k.A.*", $format_bold); + if (strlen("k.A.*") > $maxlength[$i]) + $maxlength[$i] = mb_strlen("k.A.*"); $worksheet2->write($zeile, ++$i, $interessentenrtanmeldung_sum, $format_bold); if (strlen($interessentenrtanmeldung_sum) > $maxlength[$i]) $maxlength[$i] = mb_strlen($interessentenrtanmeldung_sum); @@ -1253,7 +1253,9 @@ if (isset($_GET['excel'])) $maxlength[$i] = mb_strlen($student3sem_w_sum); } //Verteilung - $zeile = $zeile + 3; + $zeile = $zeile + 2; + $worksheet2->write($zeile, 0, '* für ZGV liegen zum Stichtag keine historischen Daten vor'); + $zeile = $zeile + 2; $i = 0; $worksheet2->write($zeile, 0, 'Verteilung'.$stsem, $format_bold); $worksheet2->mergeCells($zeile, $i, $zeile, $i + 1); @@ -2060,7 +2062,7 @@ else - + @@ -2099,7 +2101,7 @@ else $content .= ''; $content .= ""; $content .= ""; - $content .= ""; + $content .= ""; $content .= ""; $content .= ""; $content .= ""; @@ -2136,7 +2138,7 @@ else $content .= ''; $content .= ""; $content .= ""; - $content .= ""; + $content .= ""; $content .= ""; $content .= ""; $content .= ""; @@ -2146,6 +2148,7 @@ else $content .= ""; $content .= '
" . $p->t('global/personenkz') . "" . $p->t('global/nachname') . "" . $p->t('global/vorname') . "
" . $p->t('benotungstool/punkte') . "" . $p->t('global/personenkz') . "" . $p->t('global/nachname') . "" . $p->t('global/vorname') . "" . $p->t('benotungstool/punkte') . "" . $p->t('benotungstool/note') . "" . $p->t('benotungstool/bearbeitetvon') . "
" . $p->t('global/uid') . "
" . $p->t('benotungstool/note') . "" . $p->t('benotungstool/bearbeitetvon') . "
" . trim($row_stud->matrikelnr) . "" . trim($row_stud->nachname) . "" . trim($row_stud->vorname) . ""; - if ($lvgesamtnote->punkte != '') - $studlist .= trim(number_format($lvgesamtnote->punkte, 2)); - $studlist .= "" . $noten_array[trim($lvgesamtnote->note)]['bezeichnung_mehrsprachig'][$sprache] . "
" . trim($row_stud->matrikelnr) . "" . trim($row_stud->nachname) . "" . trim($row_stud->vorname) . "" . $lvgesamtnote->mitarbeiter_uid; - if ($lvgesamtnote->updatevon != '') - $studlist .= " (" . $lvgesamtnote->updatevon . ")"; - $studlist .= "
"; + if ($lvgesamtnote->punkte != '') + $studlist .= trim(number_format($lvgesamtnote->punkte, 2)); + $studlist .= "" . $noten_array[trim($lvgesamtnote->note)]['bezeichnung_mehrsprachig'][$sprache] . "" . $lvgesamtnote->mitarbeiter_uid; + if ($lvgesamtnote->updatevon != '') + $studlist .= " (" . $lvgesamtnote->updatevon . ")"; + $studlist .= "
" . trim($row_stud->uid) . "

Übersicht Lehre '.$sem_akt.'

(in Stunden)
beauftragt (LE)gebucht
LehreIntern:'.$lehre_inkludiert_norm.' ('.$lehre_inkludiert.')'.$l_arr["LehreIntern"].'
Lehre:'.$lehre_inkludiert_norm.' ('.$lehre_inkludiert.')'.$l_arr["Lehre"].'
LehreExtern:'.$l_extern_soll_norm.' ('.$l_extern_soll.')'.$l_arr["LehreExtern"].'
Studiengang InteressentInnen (m/w)InteressentInnen mit ZGV (m/w)InteressentInnen mit ZGV (m/w) * InteressentInnen mit RT Anmeldung (m/w) BewerberIn (m/w) Aufgenommene (m/w)
".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)$row->interessenten ($row->interessenten_m / $row->interessenten_w)k.A.k.A.*$row->interessentenrtanmeldung ($row->interessentenrtanmeldung_m / $row->interessentenrtanmeldung_w)$row->bewerber ($row->bewerber_m / $row->bewerber_w)$row->aufgenommener ($row->aufgenommener_m / $row->aufgenommener_w)
Summe$interessenten_sum ($interessenten_m_sum / $interessenten_w_sum)k.A.k.A.*$interessentenrt_sum ($interessentenrt_m_sum / $interessentenrt_w_sum)$bewerber_sum ($bewerber_m_sum / $bewerber_w_sum)$aufgenommener_sum ($aufgenommener_m_sum / $aufgenommener_w_sum)
'; + $content .= "
* für ZGV liegen zum Stichtag keine historischen Daten vor"; //Verteilung $content .= '

Verteilung '.$stsem.'


'; $qry = "SELECT diff --git a/content/statistik/lehrauftragsliste_mail.xls.php b/content/statistik/lehrauftragsliste_mail.xls.php index 15541867e..e2a7000cf 100644 --- a/content/statistik/lehrauftragsliste_mail.xls.php +++ b/content/statistik/lehrauftragsliste_mail.xls.php @@ -173,6 +173,10 @@ if($result_stg = $db->db_query($qry_stg)) $gesamt->write($gesamtsheet_row,$i,"Familienname", $format_bold); $worksheet->write(2,++$i,"Fixangestellt", $format_bold); $gesamt->write($gesamtsheet_row,$i,"Fixangestellt", $format_bold); + $worksheet->write(2,++$i,"Disz. Zuordnung", $format_bold); + $gesamt->write($gesamtsheet_row,$i,"Disz. Zuordnung", $format_bold); + $worksheet->write(2,++$i,"Department", $format_bold); + $gesamt->write($gesamtsheet_row,$i,"Department", $format_bold); $worksheet->write(2,++$i,"LV-Stunden", $format_bold); $gesamt->write($gesamtsheet_row,$i,"LV-Stunden", $format_bold); $worksheet->write(2,++$i,"LV-Kosten", $format_bold); @@ -187,27 +191,103 @@ if($result_stg = $db->db_query($qry_stg)) $gesamt->write($gesamtsheet_row,$i,"Gesamtkosten", $format_bold); //Daten holen - $qry = "SELECT - tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre, - tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid, - tbl_lehreinheitmitarbeiter.faktor as faktor, tbl_lehreinheitmitarbeiter.stundensatz as stundensatz, - tbl_lehreinheitmitarbeiter.semesterstunden as semesterstunden, - CASE WHEN tbl_mitarbeiter.fixangestellt = true THEN 'Ja' ELSE 'Nein' END as fixangestellt, - CASE WHEN COALESCE(tbl_lehreinheitmitarbeiter.updateamum, tbl_lehreinheitmitarbeiter.insertamum)>now()-interval '31 days' THEN 't' ELSE 'f' END as geaendert - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_mitarbeiter, - public.tbl_benutzer, public.tbl_person, lehre.tbl_lehrveranstaltung - WHERE - tbl_person.person_id = tbl_benutzer.person_id AND - tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid AND - tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND - tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND - studiengang_kz=".$db->db_add_param($studiengang_kz)." AND studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND - tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND tbl_lehreinheitmitarbeiter.semesterstunden is not null - AND tbl_lehreinheitmitarbeiter.stundensatz<>0 AND tbl_lehreinheitmitarbeiter.faktor<>0 - AND EXISTS (SELECT lehreinheit_id FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id) - ORDER BY nachname, vorname, tbl_mitarbeiter.mitarbeiter_uid"; + $qry = "SELECT tbl_lehreinheit.*, + tbl_person.vorname, + tbl_person.nachname, + tbl_person.titelpre, + tbl_mitarbeiter.personalnummer, + tbl_person.person_id, + tbl_mitarbeiter.mitarbeiter_uid, + tbl_lehreinheitmitarbeiter.faktor AS faktor, + tbl_lehreinheitmitarbeiter.stundensatz AS stundensatz, + tbl_lehreinheitmitarbeiter.semesterstunden AS semesterstunden, + CASE + WHEN tbl_mitarbeiter.fixangestellt = true + THEN 'Ja' + ELSE 'Nein' + END AS fixangestellt, + ( + SELECT tbl_organisationseinheit.organisationseinheittyp_kurzbz || ' ' || tbl_organisationseinheit.bezeichnung + FROM PUBLIC.tbl_benutzerfunktion + JOIN PUBLIC.tbl_organisationseinheit USING (oe_kurzbz) + WHERE funktion_kurzbz = 'oezuordnung' + AND ( + datum_von IS NULL + OR datum_von <= now() + ) + AND ( + datum_bis IS NULL + OR datum_bis >= now() + ) + AND tbl_benutzerfunktion.uid = tbl_benutzer.uid LIMIT 1 + ) AS oezuordnung, + ( + WITH RECURSIVE meine_oes(oe_kurzbz, oe_parent_kurzbz, organisationseinheittyp_kurzbz) AS ( + SELECT oe_kurzbz, + oe_parent_kurzbz, + organisationseinheittyp_kurzbz + FROM PUBLIC.tbl_organisationseinheit + WHERE oe_kurzbz IN ( + SELECT oe_kurzbz + FROM PUBLIC.tbl_benutzerfunktion + WHERE funktion_kurzbz = 'oezuordnung' + AND ( + datum_von IS NULL + OR datum_von <= now() + ) + AND ( + datum_bis IS NULL + OR datum_bis >= now() + ) + AND tbl_benutzerfunktion.uid = tbl_benutzer.uid LIMIT 1 + ) + AND aktiv = true + + UNION ALL + + SELECT o.oe_kurzbz, + o.oe_parent_kurzbz, + o.organisationseinheittyp_kurzbz + FROM PUBLIC.tbl_organisationseinheit o, + meine_oes + WHERE o.oe_kurzbz = meine_oes.oe_parent_kurzbz + AND aktiv = true + ) + SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT tbl_organisationseinheit.bezeichnung), ', ') + FROM meine_oes + JOIN PUBLIC.tbl_organisationseinheit USING (oe_kurzbz) + WHERE meine_oes.organisationseinheittyp_kurzbz = 'Department' + ) AS department, + CASE + WHEN COALESCE(tbl_lehreinheitmitarbeiter.updateamum, tbl_lehreinheitmitarbeiter.insertamum) > now() - interval '31 days' + THEN 't' + ELSE 'f' + END AS geaendert + FROM lehre.tbl_lehreinheit, + lehre.tbl_lehreinheitmitarbeiter, + PUBLIC.tbl_mitarbeiter, + PUBLIC.tbl_benutzer, + PUBLIC.tbl_person, + lehre.tbl_lehrveranstaltung + WHERE tbl_person.person_id = tbl_benutzer.person_id + AND tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid + AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid = tbl_mitarbeiter.mitarbeiter_uid + AND tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id + AND tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id + AND studiengang_kz = ".$db->db_add_param($studiengang_kz)." + AND studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." + AND tbl_lehreinheitmitarbeiter.semesterstunden <> 0 + AND tbl_lehreinheitmitarbeiter.semesterstunden IS NOT NULL + AND tbl_lehreinheitmitarbeiter.stundensatz <> 0 + AND tbl_lehreinheitmitarbeiter.faktor <> 0 + AND EXISTS ( + SELECT lehreinheit_id + FROM lehre.tbl_lehreinheitgruppe + WHERE lehreinheit_id = tbl_lehreinheit.lehreinheit_id + ) + ORDER BY nachname, + vorname, + tbl_mitarbeiter.mitarbeiter_uid"; if($result = $db->db_query($qry)) { @@ -237,6 +317,8 @@ if($result_stg = $db->db_query($qry_stg)) $liste[$row->mitarbeiter_uid]['vorname'] = $row->vorname; $liste[$row->mitarbeiter_uid]['nachname'] = $row->nachname; $liste[$row->mitarbeiter_uid]['fixangestellt'] = $row->fixangestellt; + $liste[$row->mitarbeiter_uid]['oezuordnung'] = $row->oezuordnung; + $liste[$row->mitarbeiter_uid]['department'] = $row->department; $liste[$row->mitarbeiter_uid]['betreuergesamtstunden'] = 0; $liste[$row->mitarbeiter_uid]['betreuergesamtkosten'] = 0; if($row->geaendert=='t') @@ -245,7 +327,52 @@ if($result_stg = $db->db_query($qry_stg)) //Alle holen die eine Betreuung aber keinen Lehrauftrag haben $qry = "SELECT - distinct personalnummer, titelpre, vorname, nachname, uid, CASE WHEN fixangestellt = true THEN 'Ja' ELSE 'Nein' END as fixangestellt + distinct personalnummer, titelpre, vorname, nachname, uid, CASE WHEN fixangestellt = true THEN 'Ja' ELSE 'Nein' END as fixangestellt, + (SELECT tbl_organisationseinheit.organisationseinheittyp_kurzbz||' '||tbl_organisationseinheit.bezeichnung + FROM public.tbl_benutzerfunktion + JOIN public.tbl_organisationseinheit USING (oe_kurzbz) + WHERE funktion_kurzbz='oezuordnung' + AND (datum_von IS NULL OR datum_von <= now()) + AND (datum_bis IS NULL OR datum_bis >= now()) + AND tbl_benutzerfunktion.uid = tbl_benutzer.uid + LIMIT 1) AS oezuordnung, + ( + WITH RECURSIVE meine_oes(oe_kurzbz, oe_parent_kurzbz, organisationseinheittyp_kurzbz) AS ( + SELECT oe_kurzbz, + oe_parent_kurzbz, + organisationseinheittyp_kurzbz + FROM PUBLIC.tbl_organisationseinheit + WHERE oe_kurzbz IN ( + SELECT oe_kurzbz + FROM PUBLIC.tbl_benutzerfunktion + WHERE funktion_kurzbz = 'oezuordnung' + AND ( + datum_von IS NULL + OR datum_von <= now() + ) + AND ( + datum_bis IS NULL + OR datum_bis >= now() + ) + AND tbl_benutzerfunktion.uid = tbl_benutzer.uid LIMIT 1 + ) + AND aktiv = true + + UNION ALL + + SELECT o.oe_kurzbz, + o.oe_parent_kurzbz, + o.organisationseinheittyp_kurzbz + FROM PUBLIC.tbl_organisationseinheit o, + meine_oes + WHERE o.oe_kurzbz = meine_oes.oe_parent_kurzbz + AND aktiv = true + ) + SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT tbl_organisationseinheit.bezeichnung), ', ') + FROM meine_oes + JOIN PUBLIC.tbl_organisationseinheit USING (oe_kurzbz) + WHERE meine_oes.organisationseinheittyp_kurzbz = 'Department' + ) AS department FROM lehre.tbl_projektbetreuer, public.tbl_person, public.tbl_benutzer, public.tbl_mitarbeiter, lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, @@ -286,6 +413,8 @@ if($result_stg = $db->db_query($qry_stg)) $liste[$row->uid]['vorname'] = $row->vorname; $liste[$row->uid]['nachname'] = $row->nachname; $liste[$row->uid]['fixangestellt'] = $row->fixangestellt; + $liste[$row->uid]['oezuordnung'] = $row->oezuordnung; + $liste[$row->uid]['department'] = $row->department; $liste[$row->uid]['geaendert']=false; $liste[$row->uid]['gesamtstunden'] = 0; $liste[$row->uid]['gesamtkosten'] = 0; @@ -370,6 +499,12 @@ if($result_stg = $db->db_query($qry_stg)) //Fixangestellt $worksheet->write($zeile,++$i,$row['fixangestellt'], $format); $gesamt->write($gesamtsheet_row,$i,$row['fixangestellt'], $format); + //OE-Zuordnung + $worksheet->write($zeile,++$i,$row['oezuordnung'], $format); + $gesamt->write($gesamtsheet_row,$i,$row['oezuordnung'], $format); + //Department der OE-Zuordnung + $worksheet->write($zeile,++$i,$row['department'], $format); + $gesamt->write($gesamtsheet_row,$i,$row['department'], $format); //LVStunden $lvstunden = str_replace(',', '.', $row['lvstunden']); $worksheet->write($zeile,++$i,$lvstunden, $format); diff --git a/content/statistik/lvplanung.xls.php b/content/statistik/lvplanung.xls.php index 05b1260d8..5e23fae10 100644 --- a/content/statistik/lvplanung.xls.php +++ b/content/statistik/lvplanung.xls.php @@ -102,41 +102,66 @@ $stg_obj = new studiengang(); $stg_obj->getAll('typ, kurzbz', false); $qry = " -SELECT - lehrfach.bezeichnung as lf_bezeichnung, tbl_lehrveranstaltung.studiengang_kz, lehrfach.oe_kurzbz as lehrfach_oe_kurzbz, +SELECT tbl_lehrveranstaltung.bezeichnung AS lf_bezeichnung, + tbl_lehrveranstaltung.studiengang_kz, + tbl_lehrveranstaltung.oe_kurzbz AS lv_oe_kurzbz, tbl_lehreinheitmitarbeiter.mitarbeiter_uid, - tbl_lehrveranstaltung.semester as lv_semester, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheitmitarbeiter.faktor, + tbl_lehrveranstaltung.semester AS lv_semester, + tbl_lehreinheit.lehreinheit_id, + tbl_lehreinheitmitarbeiter.faktor, tbl_lehreinheitmitarbeiter.stundensatz, - tbl_lehreinheitmitarbeiter.semesterstunden lemss, tbl_lehreinheitmitarbeiter.planstunden, - tbl_lehreinheit.stundenblockung, tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.raumtyp, tbl_lehreinheit.raumtypalternativ, - tbl_lehreinheitmitarbeiter.anmerkung - ,tbl_lehreinheit.studiensemester_kurzbz - ,tbl_lehrveranstaltung.ects - ,tbl_lehrveranstaltung.semesterstunden - ,tbl_lehrveranstaltung.semesterstunden as sws - ,tbl_lehrveranstaltung.lehrform_kurzbz - ,tbl_lehrveranstaltung.lehrveranstaltung_id - ,(SELECT nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) - WHERE uid=(SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehre.tbl_lehreinheitmitarbeiter.lehreinheit_id=lehre.tbl_lehreinheit.lehreinheit_id and lehre.tbl_lehreinheitmitarbeiter.lehrfunktion_kurzbz='LV-Leitung' LIMIT 1) - )as lv_leitung - ,(SELECT vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) - WHERE uid=(SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehre.tbl_lehreinheitmitarbeiter.lehreinheit_id=lehre.tbl_lehreinheit.lehreinheit_id and lehre.tbl_lehreinheitmitarbeiter.lehrfunktion_kurzbz='LV-Leitung' LIMIT 1) - )as lv_leitung_vorname - ,(SELECT bezeichnung FROM lehre.tbl_lehrform WHERE lehre.tbl_lehrform.lehrform_kurzbz=tbl_lehrveranstaltung.lehrform_kurzbz LIMIT 1) as lv_type - ,tbl_lehrveranstaltung.lehrform_kurzbz -FROM - lehre.tbl_lehrveranstaltung - JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) - JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) -WHERE - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz); + tbl_lehreinheitmitarbeiter.semesterstunden lemss, + tbl_lehreinheitmitarbeiter.planstunden, + tbl_lehreinheit.stundenblockung, + tbl_lehreinheit.wochenrythmus, + tbl_lehreinheit.raumtyp, + tbl_lehreinheit.raumtypalternativ, + tbl_lehreinheit.anmerkung, + tbl_lehreinheit.studiensemester_kurzbz, + tbl_lehrveranstaltung.ects, + tbl_lehrveranstaltung.semesterstunden, + tbl_lehrveranstaltung.semesterstunden AS sws, + tbl_lehrveranstaltung.lehrform_kurzbz, + tbl_lehrveranstaltung.lehrveranstaltung_id, + ( + SELECT nachname + FROM PUBLIC.tbl_person + JOIN PUBLIC.tbl_benutzer USING (person_id) + WHERE uid = ( + SELECT mitarbeiter_uid + FROM lehre.tbl_lehreinheitmitarbeiter + WHERE lehre.tbl_lehreinheitmitarbeiter.lehreinheit_id = lehre.tbl_lehreinheit.lehreinheit_id + AND lehre.tbl_lehreinheitmitarbeiter.lehrfunktion_kurzbz = 'LV-Leitung' LIMIT 1 + ) + ) AS lv_leitung, + ( + SELECT vorname + FROM PUBLIC.tbl_person + JOIN PUBLIC.tbl_benutzer USING (person_id) + WHERE uid = ( + SELECT mitarbeiter_uid + FROM lehre.tbl_lehreinheitmitarbeiter + WHERE lehre.tbl_lehreinheitmitarbeiter.lehreinheit_id = lehre.tbl_lehreinheit.lehreinheit_id + AND lehre.tbl_lehreinheitmitarbeiter.lehrfunktion_kurzbz = 'LV-Leitung' LIMIT 1 + ) + ) AS lv_leitung_vorname, + ( + SELECT bezeichnung + FROM lehre.tbl_lehrform + WHERE lehre.tbl_lehrform.lehrform_kurzbz = tbl_lehrveranstaltung.lehrform_kurzbz LIMIT 1 + ) AS lv_type, + tbl_lehrveranstaltung.lehrform_kurzbz +FROM lehre.tbl_lehrveranstaltung +JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id) +JOIN lehre.tbl_lehreinheitmitarbeiter USING (lehreinheit_id) +--JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) +WHERE tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz); if($studiengang_kz!='') $qry.=" AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if($oe_kurzbz!='') - $qry.=" AND lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz); + $qry.=" AND tbl_lehrveranstaltung.oe_kurzbz=".$db->db_add_param($oe_kurzbz); if($semester!='') $qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER); @@ -172,21 +197,23 @@ $spalte=0; $worksheet->write($zeile,$spalte,"Studiengang", $format_bold); $maxlength[$spalte]=11; $worksheet->write($zeile,++$spalte,"Organisationseinheit", $format_bold); -$maxlength[$spalte]=8; +$maxlength[$spalte]=25; $worksheet->write($zeile,++$spalte,"Lektor", $format_bold); $maxlength[$spalte]=6; -$worksheet->write($zeile,++$spalte,"Lehrfach", $format_bold); -$maxlength[$spalte]=8; +$worksheet->write($zeile,++$spalte,"Bezeichnung", $format_bold); +$maxlength[$spalte]=25; $worksheet->write($zeile,++$spalte,"Semester", $format_bold); $maxlength[$spalte]=8; $worksheet->write($zeile,++$spalte,"Gruppen", $format_bold); -$maxlength[$spalte]=7; -$worksheet->write($zeile,++$spalte,"Stunden", $format_bold); -$maxlength[$spalte]=7; +$maxlength[$spalte]=20; +$worksheet->write($zeile,++$spalte,"Semesterstunden", $format_bold); +$maxlength[$spalte]=12; +$worksheet->write($zeile,++$spalte,"Stundensatz", $format_bold); +$maxlength[$spalte]=12; $worksheet->write($zeile,++$spalte,"Kosten", $format_bold); -$maxlength[$spalte]=6; +$maxlength[$spalte]=7; $worksheet->write($zeile,++$spalte,"Planstunden", $format_bold); -$maxlength[$spalte]=11; +$maxlength[$spalte]=10; $worksheet->write($zeile,++$spalte,"Stundenblockung", $format_bold); $maxlength[$spalte]=15; $worksheet->write($zeile,++$spalte,"Wochenrhythmus", $format_bold); @@ -232,18 +259,20 @@ if($result = $db->db_query($qry)) $maxlength[$spalte]=mb_strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]); //Organisationseinheit - $worksheet->write($zeile,++$spalte,$oe_arr[$row->lehrfach_oe_kurzbz]); - if($maxlength[$spalte]lehrfach_oe_kurzbz])) - $maxlength[$spalte]=mb_strlen($oe_arr[$row->lehrfach_oe_kurzbz]); + $worksheet->write($zeile,++$spalte,$oe_arr[$row->lv_oe_kurzbz]); + //if($maxlength[$spalte]lv_oe_kurzbz])) + //$maxlength[$spalte]=mb_strlen($oe_arr[$row->lv_oe_kurzbz]); //Lektor $worksheet->write($zeile,++$spalte,$mitarbeiter->nachname.' '.$mitarbeiter->vorname); if($maxlength[$spalte]nachname.' '.$mitarbeiter->vorname)) $maxlength[$spalte]=mb_strlen($mitarbeiter->nachname.' '.$mitarbeiter->vorname); + //Lehrfach $worksheet->write($zeile,++$spalte,$row->lf_bezeichnung); - if($maxlength[$spalte]lf_bezeichnung)) - $maxlength[$spalte]=mb_strlen($row->lf_bezeichnung); + //if($maxlength[$spalte]lf_bezeichnung)) + //$maxlength[$spalte]=mb_strlen($row->lf_bezeichnung); + //Semester $worksheet->write($zeile,++$spalte,$row->lv_semester); if($maxlength[$spalte]lv_semester)) @@ -264,16 +293,21 @@ if($result = $db->db_query($qry)) //Gruppen $worksheet->write($zeile,++$spalte,$gruppe); - if($maxlength[$spalte]write($zeile,++$spalte,$row->lemss); if($maxlength[$spalte]lemss)) $maxlength[$spalte]=mb_strlen($row->lemss); - $kosten = ($row->stundensatz*$row->lemss*$row->faktor); + //Stundensatz + $worksheet->write($zeile,++$spalte,$row->stundensatz); + if($maxlength[$spalte]stundensatz)) + $maxlength[$spalte]=mb_strlen($row->stundensatz); //Kosten + $kosten = ($row->stundensatz*$row->lemss); $worksheet->write($zeile,++$spalte,$kosten); if($maxlength[$spalte]db_query($qry)) $worksheet->write($zeile,++$spalte,$row->planstunden); if($maxlength[$spalte]planstunden)) $maxlength[$spalte]=mb_strlen($row->planstunden); + //Stundenblockung $worksheet->write($zeile,++$spalte,$row->stundenblockung); if($maxlength[$spalte]stundenblockung)) @@ -299,8 +334,8 @@ if($result = $db->db_query($qry)) $maxlength[$spalte]=mb_strlen($row->raumtypalternativ); //Anmerkung $worksheet->write($zeile,++$spalte,$row->anmerkung); - if($maxlength[$spalte]anmerkung)) - $maxlength[$spalte]=mb_strlen($row->anmerkung); + //if($maxlength[$spalte]anmerkung)) + //$maxlength[$spalte]=mb_strlen($row->anmerkung); //LV-Leitung $worksheet->write($zeile,++$spalte,$row->lv_leitung.' '.$row->lv_leitung_vorname); @@ -314,7 +349,7 @@ if($result = $db->db_query($qry)) //Semesterstunden $semesterstunden = $row->semesterstunden; - if ($row->stundensatz==0 || $row->lemss==0 || $row->faktor==0) + if ($row->stundensatz==0 || $row->lemss==0) $semesterstunden = 0; $worksheet->write($zeile,++$spalte,$semesterstunden); @@ -336,22 +371,28 @@ if($result = $db->db_query($qry)) } //Betreuungen - $qry = "SELECT - tbl_lehrveranstaltung.studiengang_kz, lehrfach.oe_kurzbz as lehrfach_oe_kurzbz, - nachname, vorname, lehrfach.bezeichnung, - tbl_lehrveranstaltung.semester, student_uid, stunden, tbl_projektbetreuer.stundensatz, + $qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, + tbl_lehrveranstaltung.oe_kurzbz AS lv_oe_kurzbz, + nachname, + vorname, + tbl_lehrveranstaltung.bezeichnung, + tbl_lehrveranstaltung.semester, + student_uid, + stunden, + tbl_projektbetreuer.stundensatz, tbl_projektbetreuer.faktor - FROM - lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, - lehre.tbl_projektbetreuer, public.tbl_person, lehre.tbl_lehrveranstaltung as lehrfach - WHERE - tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND - tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND - tbl_person.person_id=tbl_projektbetreuer.person_id AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND - (tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0 + FROM lehre.tbl_projektarbeit, + lehre.tbl_lehreinheit, + lehre.tbl_lehrveranstaltung, + lehre.tbl_projektbetreuer, + PUBLIC.tbl_person + WHERE tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id + AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id + AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id + --AND tbl_lehreinheit.lehrfach_id = tbl_lehrveranstaltung.lehrveranstaltung_id + AND tbl_person.person_id = tbl_projektbetreuer.person_id + AND tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz)." + AND (tbl_projektbetreuer.stundensatz * tbl_projektbetreuer.stunden) > 0 "; if($uid!=='') @@ -361,7 +402,7 @@ if($result = $db->db_query($qry)) } if($oe_kurzbz!='') - $qry.=" AND lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz); + $qry.=" AND tbl_lehrveranstaltung.oe_kurzbz=".$db->db_add_param($oe_kurzbz); if($studiengang_kz!='') $qry.=" AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); @@ -384,18 +425,20 @@ if($result = $db->db_query($qry)) $maxlength[$spalte]=mb_strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]); //Organisationseinheit - $worksheet->write($zeile,++$spalte,$oe_arr[$row->lehrfach_oe_kurzbz]); - if($maxlength[$spalte]lehrfach_oe_kurzbz])) - $maxlength[$spalte]=mb_strlen($oe_arr[$row->lehrfach_oe_kurzbz]); + $worksheet->write($zeile,++$spalte,$oe_arr[$row->lv_oe_kurzbz]); + //if($maxlength[$spalte]lv_oe_kurzbz])) + //$maxlength[$spalte]=mb_strlen($oe_arr[$row->lv_oe_kurzbz]); //Lektor $worksheet->write($zeile,++$spalte,$row->nachname.' '.$row->vorname); - if($maxlength[$spalte]nachname.' '.$row->vorname)) - $maxlength[$spalte]=mb_strlen($row->nachname.' '.$row->vorname); + //if($maxlength[$spalte]nachname.' '.$row->vorname)) + //$maxlength[$spalte]=mb_strlen($row->nachname.' '.$row->vorname); + //Lehrfach $worksheet->write($zeile,++$spalte,$row->bezeichnung); - if($maxlength[$spalte]bezeichnung)) - $maxlength[$spalte]=mb_strlen($row->bezeichnung); + //if($maxlength[$spalte]bezeichnung)) + //$maxlength[$spalte]=mb_strlen($row->bezeichnung); + //Semester $worksheet->write($zeile,++$spalte,$row->semester); if($maxlength[$spalte]semester)) @@ -403,18 +446,24 @@ if($result = $db->db_query($qry)) $benutzer = new benutzer(); $benutzer->load($row->student_uid); + //Student $worksheet->write($zeile,++$spalte,$benutzer->nachname.' '.$benutzer->vorname); - if($maxlength[$spalte]nachname.' '.$benutzer->vorname)) - $maxlength[$spalte]=mb_strlen($benutzer->nachname.' '.$benutzer->vorname); + //if($maxlength[$spalte]nachname.' '.$benutzer->vorname)) + //$maxlength[$spalte]=mb_strlen($benutzer->nachname.' '.$benutzer->vorname); + //Stunden $worksheet->write($zeile,++$spalte,$row->stunden); if($maxlength[$spalte]stunden)) $maxlength[$spalte]=mb_strlen($row->stunden); + //Stundensatz + $worksheet->write($zeile,++$spalte,$row->stundensatz); + if($maxlength[$spalte]stundensatz)) + $maxlength[$spalte]=mb_strlen($row->stundensatz); //Kosten - $worksheet->write($zeile,++$spalte,$row->stunden*$row->stundensatz*$row->faktor); - if($maxlength[$spalte]stunden*$row->stundensatz*$row->faktor)) - $maxlength[$spalte]=mb_strlen($row->stunden*$row->stundensatz*$row->faktor); + $worksheet->write($zeile,++$spalte,$row->stunden*$row->stundensatz); + if($maxlength[$spalte]stunden*$row->stundensatz)) + $maxlength[$spalte]=mb_strlen($row->stunden*$row->stundensatz); } } diff --git a/content/student/aufnahmetermine.js.php b/content/student/aufnahmetermine.js.php index d1ffda1e1..e77980654 100644 --- a/content/student/aufnahmetermine.js.php +++ b/content/student/aufnahmetermine.js.php @@ -262,7 +262,7 @@ function AufnahmeTermineAuswahl() document.getElementById('aufnahmetermine-textbox-endpunkte-exkl-gebiete').value = endpunkte_exkl_gebiete; // Sichtbarkeit der RT-Vergleichsergebnispunkte (ohne Quereinsteiger) - var basisgebiet_punkte_anzeigen = ; + var basisgebiet_punkte_anzeigen = ; // * Generell Anzeige nur wenn über config-Datei gesetzt ist if (basisgebiet_punkte_anzeigen) diff --git a/include/dokument.class.php b/include/dokument.class.php index 633908749..05497f744 100644 --- a/include/dokument.class.php +++ b/include/dokument.class.php @@ -826,6 +826,7 @@ class dokument extends basis_db { return true; } + return false; } } diff --git a/include/lehreinheitmitarbeiter.class.php b/include/lehreinheitmitarbeiter.class.php index 85493cd9e..e1933cfa7 100644 --- a/include/lehreinheitmitarbeiter.class.php +++ b/include/lehreinheitmitarbeiter.class.php @@ -474,7 +474,7 @@ class lehreinheitmitarbeiter extends basis_db public function getLehreinheiten($mitarbeiter_uid, $studiensemester_kurzbz) { $qry = 'SELECT - DISTINCT lehreinheit_id, lv_bezeichnung, lv_kurzbz, unr, lv_lehrform_kurzbz, stg_kurzbzlang, + DISTINCT lehreinheit_id, lehrveranstaltung_id, lv_bezeichnung, lv_kurzbz, unr, lv_lehrform_kurzbz, stg_kurzbzlang, lv_semester, lehrform_kurzbz FROM campus.vw_lehreinheit diff --git a/include/projektbetreuer.class.php b/include/projektbetreuer.class.php index 72dcffe8f..e962b2d0a 100644 --- a/include/projektbetreuer.class.php +++ b/include/projektbetreuer.class.php @@ -1,337 +1,395 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/** - * Klasse projektbetreuer - * @create 08-02-2007 - */ -require_once(dirname(__FILE__).'/basis_db.class.php'); - -class projektbetreuer extends basis_db -{ - public $new; // boolean - public $result = array(); // adresse Objekt - - //Tabellenspalten - public $person_id; // integer - public $projektarbeit_id; // integer - public $note; // integer - public $betreuerart_kurzbz;// varchar - public $faktor; // numeric(3,2) - public $name; // string - public $punkte; // numeric(6,2) - public $stunden; // numeric(8,4) - public $stundensatz; // numeric(6,2) - public $ext_id; // integer - public $insertamum; // timestamp - public $insertvon; // bigint - public $updateamum; // timestamp - public $updatevon; // bigint - public $vertrag_id; // bigint - - public $person_id_old; - - /** - * Konstruktor - * @param $person_id, $projektarbeit ID des Projektbetreuers, der geladen werden soll (Default=null) - */ - public function __construct($person_id=null, $projektarbeit_id=null) - { - parent::__construct(); - - if($projektarbeit_id != null && $person_id!=null) - $this->load($person_id, $projektarbeit_id); - } - - /** - * Laedt die Funktion mit der ID $person_id, $projektarbeit_id - * @param $person_id ID der zu ladenden Funktion - * @param $projektarbeit_id ID der zu ladenden Funktion - * @return true wenn ok, false im Fehlerfall - */ - public function load($person_id, $projektarbeit_id, $betreuerart_kurzbz) - { - if(!is_numeric($person_id)) - { - $this->errormsg = 'Person_id muss eine gueltige Zahl sein'; - return false; - } - - if(!is_numeric($projektarbeit_id)) - { - $this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT - * - FROM - lehre.tbl_projektbetreuer - WHERE - person_id=".$this->db_add_param($person_id, FHC_INTEGER)." - AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." - AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz); - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->person_id = $row->person_id; - $this->projektarbeit_id = $row->projektarbeit_id; - $this->note = $row->note; - $this->betreuerart_kurzbz = $row->betreuerart_kurzbz; - $this->faktor = $row->faktor; - $this->name = $row->name; - $this->punkte = $row->punkte; - $this->stunden = $row->stunden; - $this->stundensatz = $row->stundensatz; - $this->updateamum = $row->updateamum; - $this->updatevon = $row->updatevon; - $this->insertamum = $row->insertamum; - $this->insertvon = $row->insertvon; - $this->ext_id = $row->ext_id; - $this->vertrag_id = $row->vertrag_id; - $this->new=false; - return true; - } - else - { - $this->errormsg = 'Datensatz wurde nicht gefunden'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - - /** - * Prueft die Variablen auf Gueltigkeit - * @return true wenn ok, false im Fehlerfall - */ - protected function validate() - { - if($this->betreuerart_kurzbz=='') - { - $this->errormsg = 'Betreuerart muss eingegeben werden'; - return false; - } - if(mb_strlen($this->betreuerart_kurzbz)>16) - { - $this->errormsg = 'betreuerart darf nicht länger als 16 Zeichen sein'; - return false; - } - if(mb_strlen($this->name)>32) - { - $this->errormsg = 'Name darf nicht länger als 32 Zeichen sein'; - return false; - } - - if($this->note!='' && !is_numeric($this->note)) - { - $this->errormsg = 'Note muss ein numerischer Wert sein'; - return false; - } - if($this->punkte!='' && !is_numeric($this->punkte)) - { - $this->errormsg = 'Punkte muss ein numerischer Wert sein'; - } - if($this->faktor!='' && !is_numeric($this->faktor)) - { - $this->errormsg = 'Faktor muss ein numerischer Wert sein'; - return false; - } - if($this->stundensatz!='' && !is_numeric($this->stundensatz)) - { - $this->errormsg = 'Stundensatz muss ein numerischer Wert sein'; - return false; - } - - //Pruefen ob projektarbeit_id eine gueltige Zahl ist - if(!is_numeric($this->projektarbeit_id)) - { - $this->errormsg = 'projektarbeit_id muss eine gueltige Zahl sein'; - return false; - } - - //Pruefen ob person_id eine gueltige Zahl ist - if(!is_numeric($this->person_id)) - { - $this->errormsg = 'person_id muss eine gueltige Zahl sein'; - return false; - } - $this->errormsg = ''; - return true; - } - - /** - * Speichert den aktuellen Datensatz in die Datenbank - * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - * andernfalls wird der Datensatz aktualisiert - * @return true wenn ok, false im Fehlerfall - */ - public function save($new=null) - { - if($new==null) - $new = $this->new; - - //Variablen pruefen - if(!$this->validate()) - return false; - - if($new) - { - //Neuen Datensatz einfuegen - $qry='INSERT INTO lehre.tbl_projektbetreuer (person_id, projektarbeit_id, note, betreuerart_kurzbz, faktor, name, - punkte, stunden, stundensatz, insertamum, insertvon, updateamum, updatevon, vertrag_id) VALUES('. - $this->db_add_param($this->person_id).', '. - $this->db_add_param($this->projektarbeit_id).', '. - $this->db_add_param($this->note).', '. - $this->db_add_param($this->betreuerart_kurzbz).', '. - $this->db_add_param($this->faktor).', '. - $this->db_add_param($this->name).', '. - $this->db_add_param($this->punkte).', '. - $this->db_add_param($this->stunden).', '. - $this->db_add_param($this->stundensatz).', now(), '. - $this->db_add_param($this->insertvon).', now(), '. - $this->db_add_param($this->updatevon).', '. - $this->db_add_param($this->vertrag_id).');'; - } - else - { - //Updaten des bestehenden Datensatzes - if($this->person_id_old=='') - $this->person_id_old = $this->person_id; - - if(!isset($this->betreuerart_kurzbz_old) || $this->betreuerart_kurzbz_old=='') - $this->betreuerart_kurzbz_old = $this->betreuerart_kurzbz; - - $qry='UPDATE lehre.tbl_projektbetreuer SET '. - 'person_id='.$this->db_add_param($this->person_id).', '. - 'note='.$this->db_add_param($this->note).', '. - 'betreuerart_kurzbz='.$this->db_add_param($this->betreuerart_kurzbz).', '. - 'faktor='.$this->db_add_param($this->faktor).', '. - 'name='.$this->db_add_param($this->name).', '. - 'punkte='.$this->db_add_param($this->punkte).', '. - 'stunden='.$this->db_add_param($this->stunden).', '. - 'stundensatz='.$this->db_add_param($this->stundensatz).', '. - 'updateamum='.$this->db_add_param($this->updateamum).', '. - 'updatevon='.$this->db_add_param($this->updatevon).', '. - 'vertrag_id='.$this->db_add_param($this->vertrag_id).' '. - "WHERE projektarbeit_id=".$this->db_add_param($this->projektarbeit_id, FHC_INTEGER,false). - " AND person_id=".$this->db_add_param($this->person_id_old, FHC_INTEGER,false). - " AND betreuerart_kurzbz=".$this->db_add_param($this->betreuerart_kurzbz_old).";"; - } - - if($this->db_query($qry)) - { - return true; - } - else - { - $this->errormsg = 'Fehler beim Speichern der Daten'; - return false; - } - } - - /** - * Loescht den Datenensatz mit der ID die uebergeben wird - * @param $person_id ID die geloescht werden soll - * @param $projektarbeit_id ID die geloescht werden soll - * @return true wenn ok, false im Fehlerfall - */ - public function delete($person_id, $projektarbeit_id, $betreuerart_kurzbz) - { - if(!is_numeric($person_id)) - { - $this->errormsg = 'Person_id muss eine gueltige Zahl sein'; - return false; - } - - if(!is_numeric($projektarbeit_id)) - { - $this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz).";"; - - if($this->db_query($qry)) - { - return true; - } - else - { - $this->errormsg = 'Fehler beim Loeschen des Datensatzes'; - return false; - } - } - - /** - * Liefert alle Betreuer zu einer Projektarbeit - * @param projektarbeit_id - */ - public function getProjektbetreuer($projektarbeit_id) - { - if(!is_numeric($projektarbeit_id)) - { - $this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." ORDER BY name"; - - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { - $obj = new projektbetreuer(); - - $obj->person_id = $row->person_id; - $obj->projektarbeit_id = $row->projektarbeit_id; - $obj->note = $row->note; - $obj->betreuerart_kurzbz = $row->betreuerart_kurzbz; - $obj->faktor = $row->faktor; - $obj->name = $row->name; - $obj->punkte = $row->punkte; - $obj->stunden = $row->stunden; - $obj->stundensatz = $row->stundensatz; - $obj->updateamum = $row->updateamum; - $obj->updatevon = $row->updatevon; - $obj->insertamum = $row->insertamum; - $obj->insertvon = $row->insertvon; - $obj->ext_id = $row->ext_id; - $obj->vertrag_id = $row->vertrag_id; - - $this->result[] = $obj; - } - return true; - } - else - { - $this->errormsg = 'Fehler bei einer Abfrage'; - return false; - } - } -} -?> +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/** + * Klasse projektbetreuer + * @create 08-02-2007 + */ +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class projektbetreuer extends basis_db +{ + public $new; // boolean + public $result = array(); // adresse Objekt + + //Tabellenspalten + public $person_id; // integer + public $projektarbeit_id; // integer + public $note; // integer + public $betreuerart_kurzbz;// varchar + public $faktor; // numeric(3,2) + public $name; // string + public $punkte; // numeric(6,2) + public $stunden; // numeric(8,4) + public $stundensatz; // numeric(6,2) + public $ext_id; // integer + public $insertamum; // timestamp + public $insertvon; // bigint + public $updateamum; // timestamp + public $updatevon; // bigint + public $vertrag_id; // bigint + + public $person_id_old; + + /** + * Konstruktor + * @param $person_id, $projektarbeit ID des Projektbetreuers, der geladen werden soll (Default=null) + */ + public function __construct($person_id=null, $projektarbeit_id=null) + { + parent::__construct(); + + if($projektarbeit_id != null && $person_id!=null) + $this->load($person_id, $projektarbeit_id); + } + + /** + * Laedt die Funktion mit der ID $person_id, $projektarbeit_id + * @param $person_id ID der zu ladenden Funktion + * @param $projektarbeit_id ID der zu ladenden Funktion + * @return true wenn ok, false im Fehlerfall + */ + public function load($person_id, $projektarbeit_id, $betreuerart_kurzbz) + { + if(!is_numeric($person_id)) + { + $this->errormsg = 'Person_id muss eine gueltige Zahl sein'; + return false; + } + + if(!is_numeric($projektarbeit_id)) + { + $this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT + * + FROM + lehre.tbl_projektbetreuer + WHERE + person_id=".$this->db_add_param($person_id, FHC_INTEGER)." + AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." + AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz); + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->person_id = $row->person_id; + $this->projektarbeit_id = $row->projektarbeit_id; + $this->note = $row->note; + $this->betreuerart_kurzbz = $row->betreuerart_kurzbz; + $this->faktor = $row->faktor; + $this->name = $row->name; + $this->punkte = $row->punkte; + $this->stunden = $row->stunden; + $this->stundensatz = $row->stundensatz; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->ext_id = $row->ext_id; + $this->vertrag_id = $row->vertrag_id; + $this->new=false; + return true; + } + else + { + $this->errormsg = 'Datensatz wurde nicht gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + /** + * Prueft die Variablen auf Gueltigkeit + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() + { + if($this->betreuerart_kurzbz=='') + { + $this->errormsg = 'Betreuerart muss eingegeben werden'; + return false; + } + if(mb_strlen($this->betreuerart_kurzbz)>16) + { + $this->errormsg = 'betreuerart darf nicht länger als 16 Zeichen sein'; + return false; + } + if(mb_strlen($this->name)>32) + { + $this->errormsg = 'Name darf nicht länger als 32 Zeichen sein'; + return false; + } + + if($this->note!='' && !is_numeric($this->note)) + { + $this->errormsg = 'Note muss ein numerischer Wert sein'; + return false; + } + if($this->punkte!='' && !is_numeric($this->punkte)) + { + $this->errormsg = 'Punkte muss ein numerischer Wert sein'; + } + if($this->faktor!='' && !is_numeric($this->faktor)) + { + $this->errormsg = 'Faktor muss ein numerischer Wert sein'; + return false; + } + if($this->stundensatz!='' && !is_numeric($this->stundensatz)) + { + $this->errormsg = 'Stundensatz muss ein numerischer Wert sein'; + return false; + } + + //Pruefen ob projektarbeit_id eine gueltige Zahl ist + if(!is_numeric($this->projektarbeit_id)) + { + $this->errormsg = 'projektarbeit_id muss eine gueltige Zahl sein'; + return false; + } + + //Pruefen ob person_id eine gueltige Zahl ist + if(!is_numeric($this->person_id)) + { + $this->errormsg = 'person_id muss eine gueltige Zahl sein'; + return false; + } + $this->errormsg = ''; + return true; + } + + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) + { + if($new==null) + $new = $this->new; + + //Variablen pruefen + if(!$this->validate()) + return false; + + if($new) + { + //Neuen Datensatz einfuegen + $qry='INSERT INTO lehre.tbl_projektbetreuer (person_id, projektarbeit_id, note, betreuerart_kurzbz, faktor, name, + punkte, stunden, stundensatz, insertamum, insertvon, updateamum, updatevon, vertrag_id) VALUES('. + $this->db_add_param($this->person_id).', '. + $this->db_add_param($this->projektarbeit_id).', '. + $this->db_add_param($this->note).', '. + $this->db_add_param($this->betreuerart_kurzbz).', '. + $this->db_add_param($this->faktor).', '. + $this->db_add_param($this->name).', '. + $this->db_add_param($this->punkte).', '. + $this->db_add_param($this->stunden).', '. + $this->db_add_param($this->stundensatz).', now(), '. + $this->db_add_param($this->insertvon).', now(), '. + $this->db_add_param($this->updatevon).', '. + $this->db_add_param($this->vertrag_id).');'; + } + else + { + //Updaten des bestehenden Datensatzes + if($this->person_id_old=='') + $this->person_id_old = $this->person_id; + + if(!isset($this->betreuerart_kurzbz_old) || $this->betreuerart_kurzbz_old=='') + $this->betreuerart_kurzbz_old = $this->betreuerart_kurzbz; + + $qry='UPDATE lehre.tbl_projektbetreuer SET '. + 'person_id='.$this->db_add_param($this->person_id).', '. + 'note='.$this->db_add_param($this->note).', '. + 'betreuerart_kurzbz='.$this->db_add_param($this->betreuerart_kurzbz).', '. + 'faktor='.$this->db_add_param($this->faktor).', '. + 'name='.$this->db_add_param($this->name).', '. + 'punkte='.$this->db_add_param($this->punkte).', '. + 'stunden='.$this->db_add_param($this->stunden).', '. + 'stundensatz='.$this->db_add_param($this->stundensatz).', '. + 'updateamum='.$this->db_add_param($this->updateamum).', '. + 'updatevon='.$this->db_add_param($this->updatevon).', '. + 'vertrag_id='.$this->db_add_param($this->vertrag_id).' '. + "WHERE projektarbeit_id=".$this->db_add_param($this->projektarbeit_id, FHC_INTEGER,false). + " AND person_id=".$this->db_add_param($this->person_id_old, FHC_INTEGER,false). + " AND betreuerart_kurzbz=".$this->db_add_param($this->betreuerart_kurzbz_old).";"; + } + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern der Daten'; + return false; + } + } + + /** + * Loescht den Datenensatz mit der ID die uebergeben wird + * @param $person_id ID die geloescht werden soll + * @param $projektarbeit_id ID die geloescht werden soll + * @return true wenn ok, false im Fehlerfall + */ + public function delete($person_id, $projektarbeit_id, $betreuerart_kurzbz) + { + if(!is_numeric($person_id)) + { + $this->errormsg = 'Person_id muss eine gueltige Zahl sein'; + return false; + } + + if(!is_numeric($projektarbeit_id)) + { + $this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz).";"; + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Loeschen des Datensatzes'; + return false; + } + } + + /** + * Liefert alle Betreuer zu einer Projektarbeit + * @param projektarbeit_id + */ + public function getProjektbetreuer($projektarbeit_id) + { + if(!is_numeric($projektarbeit_id)) + { + $this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." ORDER BY name"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new projektbetreuer(); + + $obj->person_id = $row->person_id; + $obj->projektarbeit_id = $row->projektarbeit_id; + $obj->note = $row->note; + $obj->betreuerart_kurzbz = $row->betreuerart_kurzbz; + $obj->faktor = $row->faktor; + $obj->name = $row->name; + $obj->punkte = $row->punkte; + $obj->stunden = $row->stunden; + $obj->stundensatz = $row->stundensatz; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->ext_id = $row->ext_id; + $obj->vertrag_id = $row->vertrag_id; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler bei einer Abfrage'; + return false; + } + } + + /** + * Retrieves all projektarbeiten by person (only with stundensatz > 0) + * @param $person_id + * @return boolean If succeeded true and result-array with objects of each projektarbeit of the person. + */ + public function getAllProjects($person_id) + { + if (isset($person_id) && is_numeric($person_id)) + { + $qry = ' + SELECT + * + FROM + lehre.tbl_projektbetreuer + WHERE + (stundensatz IS NOT NULL) AND (stundensatz > 0) + AND + person_id =' . $this->db_add_param($person_id, FHC_INTEGER); + + if ($this->db_query($qry)) + { + while ($row = $this->db_fetch_object()) + { + $obj = new projektbetreuer(); + + $obj->person_id = $row->person_id; + $obj->projektarbeit_id = $row->projektarbeit_id; + $obj->note = $row->note; + $obj->betreuerart_kurzbz = $row->betreuerart_kurzbz; + $obj->faktor = $row->faktor; + $obj->name = $row->name; + $obj->punkte = $row->punkte; + $obj->stunden = $row->stunden; + $obj->stundensatz = $row->stundensatz; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->ext_id = $row->ext_id; + $obj->vertrag_id = $row->vertrag_id; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler bei einer Abfrage'; + return false; + } + } + else + { + $this->errormsg = 'Person_id fehlt oder nicht numerisch.'; + return false; + } + } +} +?> diff --git a/include/pruefling.class.php b/include/pruefling.class.php index 7e56d4bf0..999efc7f2 100644 --- a/include/pruefling.class.php +++ b/include/pruefling.class.php @@ -331,7 +331,7 @@ class pruefling extends basis_db FROM testtool.vw_auswertung_ablauf JOIN - public.tbl_studiengang ON vw_auswertung_ablauf.stg_kurzbz = tbl_studiengang.kurzbzlang + public.tbl_studiengang USING (studiengang_kz) WHERE reihungstest_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER); @@ -363,7 +363,8 @@ class pruefling extends basis_db { if (defined('FAS_REIHUNGSTEST_EXCLUDE_GEBIETE') && !empty(FAS_REIHUNGSTEST_EXCLUDE_GEBIETE)) { - $exclude_gebiet_id_arr = FAS_REIHUNGSTEST_EXCLUDE_GEBIETE; + $excluded_gebiete = unserialize(FAS_REIHUNGSTEST_EXCLUDE_GEBIETE); + $exclude_gebiet_id_arr = $excluded_gebiete; $exclude_gebiet_id_toString = implode(', ', $exclude_gebiet_id_arr); $qry .= " AND @@ -399,13 +400,10 @@ class pruefling extends basis_db tbl_rt_person.rt_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER)." AND tbl_prestudentstatus.status_kurzbz='Interessent' - AND - (tbl_reihungstest.stufe = 1 OR tbl_reihungstest.stufe IS NULL) ORDER BY tbl_reihungstest.datum desc LIMIT 1 ) "; - if($result = $this->db_query($qry)) { // Wenn keine Eintraege vorhanden dann false diff --git a/include/reihungstest.class.php b/include/reihungstest.class.php index 132ec78fa..38e4d328f 100644 --- a/include/reihungstest.class.php +++ b/include/reihungstest.class.php @@ -29,28 +29,28 @@ require_once(dirname(__FILE__).'/basis_db.class.php'); class reihungstest extends basis_db { - public $new=true; // boolean - public $done = false; // boolean + public $new = true; // boolean + public $done = false; // boolean public $result = array(); //Tabellenspalten public $reihungstest_id;// integer - public $studiengang_kz; // integer - public $ort_kurzbz; // string - public $anmerkung; // string - public $datum; // date - public $uhrzeit; // time without time zone - public $ext_id; // integer - public $insertamum; // timestamp - public $insertvon; // bigint - public $updateamum; // timestamp - public $updatevon; // bigint - public $freigeschaltet = false; // boolean - public $oeffentlich = false; // boolean - public $max_teilnehmer; // integer + public $studiengang_kz; // integer + public $ort_kurzbz; // string + public $anmerkung; // string + public $datum; // date + public $uhrzeit; // time without time zone + public $ext_id; // integer + public $insertamum; // timestamp + public $insertvon; // bigint + public $updateamum; // timestamp + public $updatevon; // bigint + public $freigeschaltet = false; // boolean + public $oeffentlich = false; // boolean + public $max_teilnehmer; // integer public $studiensemester_kurzbz; //string - public $stufe; //smallint - public $anmeldefrist; //date + public $stufe; //smallint + public $anmeldefrist; //date public $aufnahmegruppe_kurzbz; // varchar(32) /** @@ -62,7 +62,9 @@ class reihungstest extends basis_db parent::__construct(); if (!is_null($reihungstest_id)) + { $this->load($reihungstest_id); + } } /** @@ -130,7 +132,9 @@ class reihungstest extends basis_db { $qry = "SELECT * FROM public.tbl_reihungstest "; if ($datum != null) + { $qry .= " WHERE datum>=".$this->db_add_param($datum); + } $qry .= " ORDER BY datum DESC, uhrzeit"; if ($this->db_query($qry)) @@ -206,7 +210,9 @@ class reihungstest extends basis_db public function save() { if (!$this->__validate()) + { return false; + } if ($this->new) { @@ -299,12 +305,18 @@ class reihungstest extends basis_db $qry = "SELECT * FROM public.tbl_reihungstest WHERE 1=1 "; if (is_numeric($studiengang_kz) && $studiengang_kz != '') + { $qry .= " AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER, false); + } if ($studiensemester_kurzbz != null) + { $qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING, false); + } if ($order != null) + { $qry .= " ORDER BY ".$order; + } $qry .= ";"; @@ -436,10 +448,10 @@ class reihungstest extends basis_db public function getStgZukuenftige($stg) { $qry = "SELECT * ". - "FROM public.tbl_reihungstest ". - "WHERE studiengang_kz = ".$this->db_add_param($stg, FHC_INTEGER)." ". - "AND datum>=now()-'1 days'::interval ". - "AND oeffentlich;"; + "FROM public.tbl_reihungstest ". + "WHERE studiengang_kz = ".$this->db_add_param($stg, FHC_INTEGER)." ". + "AND datum>=now()-'1 days'::interval ". + "AND oeffentlich;"; if ($result = $this->db_query($qry)) { @@ -471,7 +483,9 @@ class reihungstest extends basis_db return true; } else + { return false; + } } /** @@ -506,13 +520,13 @@ class reihungstest extends basis_db return false; } } - + /** * Laedt die Anzahl an verfügbaren Plätzen bei einem Reihungstest. * Wenn max_teilnehmer gesetzt ist, wird dieser Wert zurückgegeben. - * Ansonsten wird die Anzahl der verfügbaren Arbeitspläte aus den zugeteilten Räumen ermittelt. - * Hier kann optional ein Prozentanteil für den Schwund übergeben werden, der von den verfügbaren Plätzen abgezogen wird. - * + * Ansonsten wird die Anzahl der verfügbaren Arbeitspläte aus den zugeteilten Räumen ermittelt. + * Hier kann optional ein Prozentanteil für den Schwund übergeben werden, der von den verfügbaren Plätzen abgezogen wird. + * * @param integer $reihungstest_id ID des Reihungstests. * @param integer $anteilSchwund Prozentanteil für den Schwund, der herausgerechnet werden soll * @return integer Anzahl der Teilnehmer oder false im Fehlerfall @@ -534,23 +548,23 @@ class reihungstest extends basis_db ELSE ("; if ($anteilSchwund != '' && is_numeric($anteilSchwund)) { - $qry .= " SELECT sum(arbeitsplaetze) - (round((sum(arbeitsplaetze)::FLOAT / 100)::FLOAT * " . $anteilSchwund . ")) AS arbeitsplaetze + $qry .= " SELECT sum(arbeitsplaetze) - (round((sum(arbeitsplaetze)::FLOAT / 100)::FLOAT * ".$anteilSchwund.")) AS arbeitsplaetze FROM PUBLIC.tbl_rt_ort JOIN PUBLIC.tbl_ort USING (ort_kurzbz) WHERE rt_id = rt.reihungstest_id"; } else { - $qry .= " SELECT sum(arbeitsplaetze) AS arbeitsplaetze + $qry .= " SELECT sum(arbeitsplaetze) AS arbeitsplaetze FROM PUBLIC.tbl_rt_ort JOIN PUBLIC.tbl_ort USING (ort_kurzbz) WHERE rt_id = rt.reihungstest_id"; } - $qry .= " ) + $qry .= " ) END ) AS anzahl_plaetze FROM PUBLIC.tbl_reihungstest rt WHERE reihungstest_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER); - + if ($result = $this->db_query($qry)) { if ($row = $this->db_fetch_object($result)) @@ -621,10 +635,10 @@ class reihungstest extends basis_db $this->teilgenommen = $this->db_parse_bool($row->teilgenommen); $this->ort_kurzbz = $row->ort_kurzbz; $this->punkte = $row->punkte; - $this->insertamum = $row->insertamum; - $this->insertvon = $row->insertvon; - $this->updateamum =$row->updateamum; - $this->updatevon = $row->updatevon; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; $this->new = false; return true; } @@ -669,13 +683,13 @@ class reihungstest extends basis_db public.tbl_reihungstest ON (rt_id=reihungstest_id) WHERE tbl_rt_person.person_id=".$this->db_add_param($person_id); - + if ($studiensemester_kurzbz != '') { $qry .= " AND tbl_reihungstest.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz); } $qry .= " ORDER BY datum, uhrzeit ASC"; - + if ($result = $this->db_query($qry)) { while ($row = $this->db_fetch_object($result)) @@ -692,7 +706,7 @@ class reihungstest extends basis_db $obj->punkte = $row->punkte; $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; - $obj->updateamum =$row->updateamum; + $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; $obj->studiengang_kz = $row->studiengang_kz; $obj->anmerkung = $row->anmerkung; @@ -721,9 +735,10 @@ class reihungstest extends basis_db * Liefert die Zuordnung einer Person zu einem Reihungstest * @param int $person_id ID der Person. * @param int $reihungstest_id ID des Reihungstests. + * @param int $studienplan_id Optional. Studienplan ID * @return boolean true wenn erfolgreich, false im Fehlerfall */ - public function getPersonReihungstest($person_id, $reihungstest_id) + public function getPersonReihungstest($person_id, $reihungstest_id, $studienplan_id = null) { $qry = "SELECT * @@ -732,6 +747,11 @@ class reihungstest extends basis_db WHERE tbl_rt_person.person_id=".$this->db_add_param($person_id)." AND rt_id=".$this->db_add_param($reihungstest_id); + + if ($studienplan_id != '') + { + $qry .= " AND studienplan_id = ".$this->db_add_param($studienplan_id); + } if ($result = $this->db_query($qry)) { if ($row = $this->db_fetch_object($result)) @@ -744,11 +764,11 @@ class reihungstest extends basis_db $this->teilgenommen = $this->db_parse_bool($row->teilgenommen); $this->ort_kurzbz = $row->ort_kurzbz; $this->punkte = $row->punkte; - $this->insertamum = $row->insertamum; - $this->insertvon = $row->insertvon; - $this->updateamum =$row->updateamum; - $this->updatevon = $row->updatevon; - + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + return true; } else @@ -793,10 +813,10 @@ class reihungstest extends basis_db $obj->teilgenommen = $this->db_parse_bool($row->teilgenommen); $obj->ort_kurzbz = $row->ort_kurzbz; $obj->punkte = $row->punkte; - $obj->insertamum = $row->insertamum; - $obj->insertvon = $row->insertvon; - $obj->updateamum =$row->updateamum; - $obj->updatevon = $row->updatevon; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; $this->result[] = $obj; } @@ -826,21 +846,21 @@ class reihungstest extends basis_db $this->db_add_param($this->teilgenommen, FHC_BOOLEAN).','. $this->db_add_param($this->ort_kurzbz).','. $this->db_add_param($this->punkte).','. - $this->db_add_param($this->insertamum).','. - $this->db_add_param($this->insertvon).');'; + $this->db_add_param($this->insertamum).','. + $this->db_add_param($this->insertvon).');'; } else { $qry = "UPDATE public.tbl_rt_person SET ". - ' rt_id = '.$this->db_add_param($this->reihungstest_id).','. - ' studienplan_id = '.$this->db_add_param($this->studienplan_id).','. - ' anmeldedatum='.$this->db_add_param($this->anmeldedatum).','. - ' teilgenommen='.$this->db_add_param($this->teilgenommen, FHC_BOOLEAN).','. - ' ort_kurzbz='.$this->db_add_param($this->ort_kurzbz).','. - ' punkte='.$this->db_add_param($this->punkte).','. - ' updateamum='.$this->db_add_param($this->updateamum).','. - ' updatevon='.$this->db_add_param($this->updatevon).' '. - ' WHERE rt_person_id='.$this->db_add_param($this->rt_person_id, FHC_INTEGER).';'; + ' rt_id = '.$this->db_add_param($this->reihungstest_id).','. + ' studienplan_id = '.$this->db_add_param($this->studienplan_id).','. + ' anmeldedatum='.$this->db_add_param($this->anmeldedatum).','. + ' teilgenommen='.$this->db_add_param($this->teilgenommen, FHC_BOOLEAN).','. + ' ort_kurzbz='.$this->db_add_param($this->ort_kurzbz).','. + ' punkte='.$this->db_add_param($this->punkte).','. + ' updateamum='.$this->db_add_param($this->updateamum).','. + ' updatevon='.$this->db_add_param($this->updatevon).' '. + ' WHERE rt_person_id='.$this->db_add_param($this->rt_person_id, FHC_INTEGER).';'; } if ($this->db_query($qry)) @@ -948,9 +968,9 @@ class reihungstest extends basis_db if ($this->new) { $qry = "INSERT INTO public.tbl_rt_ort(rt_id, ort_kurzbz, uid) VALUES(". - $this->db_add_param($this->reihungstest_id, FHC_INTEGER).','. - $this->db_add_param($this->ort_kurzbz).','. - $this->db_add_param($this->uid).');'; + $this->db_add_param($this->reihungstest_id, FHC_INTEGER).','. + $this->db_add_param($this->ort_kurzbz).','. + $this->db_add_param($this->uid).');'; } else { @@ -1006,15 +1026,15 @@ class reihungstest extends basis_db if ($this->new) { $qry = "INSERT INTO public.tbl_rt_studienplan(reihungstest_id, studienplan_id) VALUES(". - $this->db_add_param($this->reihungstest_id, FHC_INTEGER).','. - $this->db_add_param($this->studienplan_id).');'; + $this->db_add_param($this->reihungstest_id, FHC_INTEGER).','. + $this->db_add_param($this->studienplan_id).');'; } else { $qry = "UPDATE public.tbl_rt_studienplan SET ". - ' studienplan_id='.$this->db_add_param($this->studienplan_id).' '. - ' WHERE reihungstest_id='.$this->db_add_param($this->reihungstest_id, FHC_INTEGER).' AND '. - ' studienplan_id='.$this->db_add_param($this->studienplan_id); + ' studienplan_id='.$this->db_add_param($this->studienplan_id).' '. + ' WHERE reihungstest_id='.$this->db_add_param($this->reihungstest_id, FHC_INTEGER).' AND '. + ' studienplan_id='.$this->db_add_param($this->studienplan_id); } if ($this->db_query($qry)) @@ -1092,7 +1112,7 @@ class reihungstest extends basis_db * @param array $include_ids Array mit ReihungstestIDs die zusaetzlich geladen werden sollen. * @return boolean true wenn erfolgreich, false im Fehlerfall. */ - public function getReihungstestStudienplan($studienplan_arr, $include_ids=null) + public function getReihungstestStudienplan($studienplan_arr, $include_ids = null) { $qry = "SELECT distinct a.*, @@ -1105,11 +1125,11 @@ class reihungstest extends basis_db JOIN public.tbl_rt_studienplan USING(reihungstest_id) WHERE studienplan_id IN(".$this->db_implode4Sql($studienplan_arr).")"; - if(!is_null($include_ids) && is_array($include_ids) && count($include_ids)>0) + if (!is_null($include_ids) && is_array($include_ids) && count($include_ids) > 0) { - $qry .=" OR reihungstest_id in(".$this->db_implode4SQL($include_ids).")"; + $qry .= " OR reihungstest_id in(".$this->db_implode4SQL($include_ids).")"; } - $qry.=" ORDER BY a.datum DESC"; + $qry .= " ORDER BY a.datum DESC"; if ($this->db_query($qry)) { @@ -1165,9 +1185,13 @@ class reihungstest extends basis_db datum=".$this->db_add_param($datum); if (!is_null($studiensemester_kurzbz)) + { $qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz); + } if (!is_null($stufe)) + { $qry .= " AND stufe=".$this->db_add_param($stufe); + } $qry .= " ORDER BY reihungstest_id"; if ($result = $this->db_query($qry)) @@ -1223,9 +1247,9 @@ class reihungstest extends basis_db WHERE tbl_prestudent.prestudent_id = ".$this->db_add_param($prestudent_id)." AND tbl_reihungstest.datum=".$this->db_add_param($datum); - if($result = $this->db_query($qry)) + if ($result = $this->db_query($qry)) { - while($row = $this->db_fetch_object($result)) + while ($row = $this->db_fetch_object($result)) { $obj = new stdClass(); @@ -1237,10 +1261,10 @@ class reihungstest extends basis_db $obj->teilgenommen = $this->db_parse_bool($row->teilgenommen); $obj->ort_kurzbz = $row->ort_kurzbz; $obj->punkte = $row->punkte; - $obj->insertamum = $row->insertamum; - $obj->insertvon = $row->insertvon; - $obj->updateamum =$row->updateamum; - $obj->updatevon = $row->updatevon; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; $this->result[] = $obj; @@ -1270,9 +1294,9 @@ class reihungstest extends basis_db WHERE tbl_rt_ort.rt_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER); - if($result = $this->db_query($qry)) + if ($result = $this->db_query($qry)) { - if($row = $this->db_fetch_object($result)) + if ($row = $this->db_fetch_object($result)) { return $row->anzahl; } @@ -1288,7 +1312,7 @@ class reihungstest extends basis_db return false; } } - + /** * Liefert die Raeume mit den Aufsichtspersonen (uid aus tbl_rt_ort), die den Kriterien $uid entsprechen * @param string|array $uid Optional. Default NULL. UID oder array von UIDs deren Aufsichtszuteilungen geladen werden sollen @@ -1298,10 +1322,14 @@ class reihungstest extends basis_db public function getOrteByUid($uid = null, $studiengang_kz = null) { if ($uid != null && is_array($uid)) + { $uid = $this->db_implode4SQL($include_ids); + } elseif ($uid != null) + { $uid = $this->db_add_param($uid); - + } + $qry = " SELECT tbl_rt_ort.ort_kurzbz AS ort, * @@ -1312,18 +1340,22 @@ class reihungstest extends basis_db WHERE datum>=now()"; if ($uid != null) + { $qry .= " AND uid IN (".$uid.")"; - - + } + + if ($studiengang_kz != null) + { $qry .= " AND studiengang_kz = ".$this->db_add_param($studiengang_kz); - + } + if ($result = $this->db_query($qry)) { while ($row = $this->db_fetch_object($result)) { $obj = new stdClass(); - + $obj->reihungstest_id = $row->rt_id; $obj->ort_kurzbz = $row->ort; $obj->uid = $row->uid; @@ -1344,7 +1376,7 @@ class reihungstest extends basis_db $obj->stufe = $row->stufe; $obj->anmeldefrist = $row->anmeldefrist; $obj->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz; - + $this->result[] = $obj; } return true; @@ -1355,7 +1387,7 @@ class reihungstest extends basis_db return false; } } - + /** * Prueft ob eine Person-Reihungstest-Studienplan zuteilung existiert (Muss in der DB unique sein) * @param int $person_id ID der Person. @@ -1373,12 +1405,16 @@ class reihungstest extends basis_db tbl_rt_person.person_id=".$this->db_add_param($person_id)." AND tbl_rt_person.rt_id=".$this->db_add_param($rt_id)." AND tbl_rt_person.studienplan_id=".$this->db_add_param($studienplan_id); - if($result = $this->db_query($qry)) + if ($result = $this->db_query($qry)) { - if($this->db_num_rows($result) > 0) + if ($this->db_num_rows($result) > 0) + { return true; + } else + { return false; + } } else { @@ -1386,7 +1422,7 @@ class reihungstest extends basis_db return false; } } - + /** * Laedt alle person_ids, die einem Reihungstest zugeteilt sind * @param integer $reihungstest_id ID des Reihungstests. @@ -1407,9 +1443,9 @@ class reihungstest extends basis_db while ($row = $this->db_fetch_object($result)) { $obj = new stdClass(); - + $obj->person_id = $row->person_id; - + $this->result[] = $obj; } return true; diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php index bbc418c1b..8d9ee0e9c 100644 --- a/include/wochenplan.class.php +++ b/include/wochenplan.class.php @@ -1231,11 +1231,18 @@ class wochenplan extends basis_db //Wenn eine Zeitsperre eingetragen ist, dann diese im Tooltiptext anzeigen $zeitsperre = new zeitsperre(); $zeitsperre->getSperreByDate($this->pers_uid, date('Y-m-d',$datum), $j); + $datum_obj = new datum(); foreach($zeitsperre->result as $sperren) { if ($tooltip!='') $tooltip.=', '; - $tooltip.=$sperren->zeitsperretyp_kurzbz.' - '.$sperren->bezeichnung; + $aenderungsdatum = $sperren->insertamum; + if($sperren->updateamum>$sperren->insertamum) + $aenderungsdatum = $sperren->updateamum; + $updateinfo = ''; + if ($aenderungsdatum != '') + $updateinfo = ' (letzte Änderung: '.$datum_obj->formatDatum($aenderungsdatum,'d.m.Y H:i').')'; + $tooltip.=$sperren->zeitsperretyp_kurzbz.' - '.$sperren->bezeichnung.$updateinfo; } } } diff --git a/include/zeitaufzeichnung.class.php b/include/zeitaufzeichnung.class.php index 509444d39..3c99c59a4 100644 --- a/include/zeitaufzeichnung.class.php +++ b/include/zeitaufzeichnung.class.php @@ -674,10 +674,10 @@ or not exists { $where = "uid=".$this->db_add_param($user); $where_sem = "studiensemester_kurzbz=".$this->db_add_param($sem); - $lehre_arr = array("LehreIntern"=>0, "LehreExtern"=>0, "LehreAuftraege"=>0); + $lehre_arr = array("Lehre"=>0, "LehreExtern"=>0, "LehreAuftraege"=>0); $qry = " - select sum(extract(epoch from ende-start))/3600 as lehre, aktivitaet_kurzbz from campus.tbl_zeitaufzeichnung where $where and aktivitaet_kurzbz in ('LehreIntern', 'LehreExtern') and start > (select start from public.tbl_studiensemester where $where_sem) group by aktivitaet_kurzbz + select sum(extract(epoch from ende-start))/3600 as lehre, aktivitaet_kurzbz from campus.tbl_zeitaufzeichnung where $where and aktivitaet_kurzbz in ('Lehre', 'LehreExtern') and start > (select start from public.tbl_studiensemester where $where_sem) group by aktivitaet_kurzbz "; if($result = $this->db_query($qry)) diff --git a/include/zeugnisnote.class.php b/include/zeugnisnote.class.php index 05d231955..f045e99c2 100644 --- a/include/zeugnisnote.class.php +++ b/include/zeugnisnote.class.php @@ -281,6 +281,7 @@ class zeugnisnote extends basis_db vw_student_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, vw_student_lehrveranstaltung.bezeichnung_english as lehrveranstaltung_bezeichnung_english, tbl_note.bezeichnung as note_bezeichnung, + tbl_note.positiv as note_positiv, tbl_zeugnisnote.bemerkung as bemerkung, vw_student_lehrveranstaltung.sort, vw_student_lehrveranstaltung.zeugnis, @@ -301,7 +302,7 @@ class zeugnisnote extends basis_db SELECT lehre.tbl_lehrveranstaltung.lehrveranstaltung_id,student_uid AS uid,studiensemester_kurzbz, note, punkte, uebernahmedatum, benotungsdatum,lehre.tbl_lehrveranstaltung.ects,lehre.tbl_lehrveranstaltung.semesterstunden, tbl_zeugnisnote.updateamum, tbl_zeugnisnote.updatevon, tbl_zeugnisnote.insertamum, tbl_zeugnisnote.insertvon, tbl_zeugnisnote.ext_id, lehre.tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, lehre.tbl_lehrveranstaltung.bezeichnung_english as lehrveranstaltung_bezeichnung_english, - tbl_note.bezeichnung as note_bezeichnung, tbl_zeugnisnote.bemerkung as bemerkung, tbl_lehrveranstaltung.sort, tbl_lehrveranstaltung.zeugnis, tbl_lehrveranstaltung.studiengang_kz, + tbl_note.bezeichnung as note_bezeichnung, tbl_note.positiv as note_positiv, tbl_zeugnisnote.bemerkung as bemerkung, tbl_lehrveranstaltung.sort, tbl_lehrveranstaltung.zeugnis, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrform_kurzbz as lv_lehrform_kurzbz, tbl_lehrveranstaltung.sws FROM lehre.tbl_zeugnisnote @@ -329,6 +330,7 @@ class zeugnisnote extends basis_db $obj->insertvon = $row->insertvon; $obj->ext_id = $row->ext_id; $obj->note_bezeichnung = $row->note_bezeichnung; + $obj->note_positiv = $this->db_parse_bool($row->note_positiv); $obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung; $obj->lehrveranstaltung_bezeichnung_english = $row->lehrveranstaltung_bezeichnung_english; $obj->bemerkung = $row->bemerkung; diff --git a/locale/de-AT/fas.dtd b/locale/de-AT/fas.dtd index 1fb4fde7f..6662cb355 100644 --- a/locale/de-AT/fas.dtd +++ b/locale/de-AT/fas.dtd @@ -426,13 +426,9 @@ - + - - - - diff --git a/rdf/diplomasupplement.xml.php b/rdf/diplomasupplement.xml.php index 029f58773..e646de618 100644 --- a/rdf/diplomasupplement.xml.php +++ b/rdf/diplomasupplement.xml.php @@ -240,13 +240,13 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") switch($row->orgform_kurzbz) { case 'BB': echo ' Berufsbegleitendes Studium / Part-time degree programm'; - break; + break; case 'VZ': echo ' Vollzeitstudium / Full-time degree programm'; - break; + break; case 'DL': echo ' Fernstudium / Distance Learning'; - break; + break; default: echo ' '; - break; + break; } if($row->typ=='d') @@ -606,7 +606,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $sqlStudent = new student(); - echo " Semester $start | $semester_kurzbz"; + echo " Semester $start"; // alle lvs im semester holen // Ohne LVs an denen ein Auslandssemester haengt. Diese werden spaeter separat geholt @@ -617,7 +617,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") tbl_lehrveranstaltung.bezeichnung, COALESCE(tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.bezeichnung) as bezeichnung_english, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.semesterstunden, tbl_lehrveranstaltung.ects, zeugnis.studiensemester_kurzbz, - zeugnis.note, note.bezeichnung note_bezeichnung, note.anmerkung, note.offiziell, sort, tbl_lehrveranstaltung.sws + zeugnis.note, note.bezeichnung note_bezeichnung, note.anmerkung, note.offiziell, note.positiv, sort, tbl_lehrveranstaltung.sws FROM lehre.tbl_zeugnisnote zeugnis JOIN lehre.tbl_note note USING(note) @@ -654,6 +654,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['sws_lv'] = $row_stud->sws; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['studiensemester_kurzbz'] = $row_stud->studiensemester_kurzbz; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note'] = $db->db_parse_bool($row_stud->offiziell) ? $row_stud->anmerkung : ""; + $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note_positiv'] = $db->db_parse_bool($row_stud->positiv); $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['sort'] = $row_stud->sort; $ects_total += $row_stud->ects; $semester_ects +=$row_stud->ects; @@ -677,6 +678,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['sws_lv'] = $row_stud->sws; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['studiensemester_kurzbz'] = $row_stud->studiensemester_kurzbz; $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note'] = $db->db_parse_bool($row_stud->offiziell) ? $row_stud->anmerkung : ""; + $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['note_positiv'] = $db->db_parse_bool($row_stud->positiv); $arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['sort'] = $row_stud->sort; } } @@ -716,9 +718,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") { while($row_lehrform = $db->db_fetch_object($result_lehrform)) { if($y != 0) - $lehrform_kurzbz = $lehrform_kurzbz.', '.$row_lehrform->lehrform_kurzbz; - else - $lehrform_kurzbz = $row_lehrform->lehrform_kurzbz; + $lehrform_kurzbz = $lehrform_kurzbz.', '.$row_lehrform->lehrform_kurzbz; + else + $lehrform_kurzbz = $row_lehrform->lehrform_kurzbz; $y++; } } @@ -807,38 +809,39 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $note_eintragen->load($row_stud->note); $test = false; - } } + } - foreach($arrayLvAusbildungssemester as $lv_test) - { - $sws = number_format(sprintf('%.1F',$lv_test['sws']),2); - $sws_lv = number_format(sprintf('%.1F',$lv_test['sws_lv']),2); + foreach($arrayLvAusbildungssemester as $lv_test) + { + $sws = number_format(sprintf('%.1F',$lv_test['sws']),2); + $sws_lv = number_format(sprintf('%.1F',$lv_test['sws_lv']),2); - if($sws == '0.0') - $sws = ''; - if($sws_lv == '0.0') - $sws_lv = ''; + if($sws == '0.0') + $sws = ''; + if($sws_lv == '0.0') + $sws_lv = ''; - echo ' - '.$lv_test['lehrform_kurzbz'].' - '.$lv_test['benotungsdatum'].' - '.$sws.' - '.$sws_lv.' - '.$lv_test['semester'].' - '.$lv_test['kurzbz'].' - '.$lv_test['studiensemester_kurzbz'].' - - - '.$lv_test['ects'].' - '.$lv_test['semesterstunden'].' - '.$lv_test['note'].' - '.$lv_test['lehrveranstaltung_id'].' - '; - } + echo ' + '.$lv_test['lehrform_kurzbz'].' + '.$lv_test['benotungsdatum'].' + '.$sws.' + '.$sws_lv.' + '.$lv_test['semester'].' + '.$lv_test['kurzbz'].' + '.$lv_test['studiensemester_kurzbz'].' + + + '.$lv_test['ects'].' + '.$lv_test['semesterstunden'].' + '.$lv_test['note'].' + '.$lv_test['note_positiv'].' + '.$lv_test['lehrveranstaltung_id'].' + '; + } - // Ist er Outgoing in diesem semester - $qry_outgoing = " + // Ist er Outgoing in diesem semester + $qry_outgoing = " SELECT studiensemester_kurzbz, ort, ects, semesterstunden, von, bis, universitaet, lehrveranstaltung_id, tbl_lehrveranstaltung.sws, @@ -852,20 +855,20 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") WHERE student_uid = ".$db->db_add_param($uid_arr[$i]); - if($result_outgoing = $db->db_query($qry_outgoing)) + if($result_outgoing = $db->db_query($qry_outgoing)) + { + if($row_outgoing = $db->db_fetch_object($result_outgoing)) { - if($row_outgoing = $db->db_fetch_object($result_outgoing)) + // Outgoing eintrag ist vorhanden + if(in_array($row_outgoing->studiensemester_kurzbz, $aktuellesSemester)) { - // Outgoing eintrag ist vorhanden - if(in_array($row_outgoing->studiensemester_kurzbz, $aktuellesSemester)) - { - $note_outgoing = 'ar'; - $benotungsdatum_outgoing = ''; - $lehrform_kurzbz_outgoing = ''; + $note_outgoing = 'ar'; + $benotungsdatum_outgoing = ''; + $lehrform_kurzbz_outgoing = ''; - $qry_outgoing_note = " + $qry_outgoing_note = " SELECT - anmerkung, offiziell, benotungsdatum, lehrform_kurzbz + anmerkung, offiziell, positiv, benotungsdatum, lehrform_kurzbz FROM lehre.tbl_zeugnisnote JOIN tbl_lehrveranstaltung using(lehrveranstaltung_id) @@ -874,53 +877,54 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") lehrveranstaltung_id = ".$db->db_add_param($row_outgoing->lehrveranstaltung_id)." AND student_uid = ".$db->db_add_param($uid_arr[$i]); - if($result_outgoing_note = $db->db_query($qry_outgoing_note)) + if($result_outgoing_note = $db->db_query($qry_outgoing_note)) + { + if($row_outgoing_note = $db->db_fetch_object($result_outgoing_note)) { - if($row_outgoing_note = $db->db_fetch_object($result_outgoing_note)) - { - $note_outgoing = $db->db_parse_bool($row_outgoing_note->offiziell) ? $row_outgoing_note->anmerkung : ""; - $benotungsdatum_outgoing = $datum->formatDatum($row_outgoing_note->benotungsdatum,'d/m/Y'); - $lehrform_kurzbz_outgoing = $row_outgoing_note->lehrform_kurzbz; - } + $note_outgoing = $db->db_parse_bool($row_outgoing_note->offiziell) ? $row_outgoing_note->anmerkung : ""; + $note_positiv_outgoing = $db->db_parse_bool($row_outgoing_note->positiv); + $benotungsdatum_outgoing = $datum->formatDatum($row_outgoing_note->benotungsdatum,'d/m/Y'); + $lehrform_kurzbz_outgoing = $row_outgoing_note->lehrform_kurzbz; } + } - $datum = new datum(); - $datum_von = $datum->formatDatum($row_outgoing->von, 'Y.m.d'); - $datum_bis = $datum->formatDatum($row_outgoing->bis, 'Y.m.d'); - $auslandssemester_start = 'th'; //Zur englischen Nummerierung der Semester (1st, 2nd, 3rd, 4th, ...) + $datum = new datum(); + $datum_von = $datum->formatDatum($row_outgoing->von, 'Y.m.d'); + $datum_bis = $datum->formatDatum($row_outgoing->bis, 'Y.m.d'); + $auslandssemester_start = 'th'; //Zur englischen Nummerierung der Semester (1st, 2nd, 3rd, 4th, ...) - $sws = number_format(sprintf('%.1F',($row_outgoing->semesterstunden/$wochen)),2); - if($sws == '0.0') - $sws = ''; + $sws = number_format(sprintf('%.1F',($row_outgoing->semesterstunden/$wochen)),2); + if($sws == '0.0') + $sws = ''; - $sws_lv = number_format(sprintf('%.1F',($row_outgoing->sws)),2); - if($sws_lv == '0.0') - $sws_lv = ''; + $sws_lv = number_format(sprintf('%.1F',($row_outgoing->sws)),2); + if($sws_lv == '0.0') + $sws_lv = ''; - switch ($start) - { - case '1': - $auslandssemester_start = 'st'; - break; - case '2': - $auslandssemester_start = 'nd'; - break; - case '3': - $auslandssemester_start = 'rd'; - break; - default: - $auslandssemester_start = 'th'; - break; - } + switch ($start) + { + case '1': + $auslandssemester_start = 'st'; + break; + case '2': + $auslandssemester_start = 'nd'; + break; + case '3': + $auslandssemester_start = 'rd'; + break; + default: + $auslandssemester_start = 'th'; + break; + } - if($row_outgoing->projektarbeitstitel != '') - { - $projektarbeitszusatz = 'Thesis: "'.$row_outgoing->projektarbeitstitel.'"'; - } - else - $projektarbeitszusatz = ''; + if($row_outgoing->projektarbeitstitel != '') + { + $projektarbeitszusatz = 'Thesis: "'.$row_outgoing->projektarbeitstitel.'"'; + } + else + $projektarbeitszusatz = ''; - echo ' + echo ' '.$benotungsdatum_outgoing.' '.$sws.' @@ -933,23 +937,24 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") '.$row_outgoing->ects.' '.$row_outgoing->semesterstunden.' '.$note_outgoing.' + '.$note_positiv_outgoing.' '; - $ects_total +=$row_outgoing->ects; - $semester_ects+=$row_outgoing->ects; - } + $ects_total +=$row_outgoing->ects; + $semester_ects+=$row_outgoing->ects; } } - echo ''.$semester_ects.''; - echo ""; } - echo ""; - echo " $ects_total"; - echo ' '; + echo ''.$semester_ects.''; + echo ""; } + echo ""; + echo " $ects_total"; + echo ' '; + } } - echo ""; +echo ""; // die beiden noten werden verglichen und die mit höherer priorität(niedrigerer index) wird genommen // return true wenn neue note genommen werden soll diff --git a/rdf/projektarbeit.rdf.php b/rdf/projektarbeit.rdf.php index 618f2816e..cd9f52fa9 100644 --- a/rdf/projektarbeit.rdf.php +++ b/rdf/projektarbeit.rdf.php @@ -33,6 +33,7 @@ require_once('../config/vilesci.config.inc.php'); require_once('../include/projektarbeit.class.php'); require_once('../include/datum.class.php'); require_once('../include/lehreinheit.class.php'); +require_once('../include/functions.inc.php'); $rdf_url='http://www.technikum-wien.at/projektarbeit'; @@ -76,8 +77,8 @@ function draw_content($row) projektarbeit_id.']]> projekttyp_kurzbz.']]> bezeichnung.']]> - titel.']]> - titel_english.']]> + titel).']]> + titel_english).']]> lehreinheit_id.']]> studiensemester_kurzbz.']]> lehrveranstaltung_id.']]> @@ -106,4 +107,4 @@ function draw_content($row) } ?> - \ No newline at end of file + diff --git a/rdf/studienerfolg.rdf.php b/rdf/studienerfolg.rdf.php index f8d21f481..f4599933b 100644 --- a/rdf/studienerfolg.rdf.php +++ b/rdf/studienerfolg.rdf.php @@ -242,6 +242,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz) $xml .= " lehrveranstaltung_bezeichnung_english."]]>"; $xml .= " ".$note.""; $xml .= " ".$row->note.""; + $xml .= " ".$row->note_positiv.""; $sws = sprintf('%.1F',$row->semesterstunden/$wochen); $xml .= " ".$sws.""; $sws_lv = sprintf('%.1F',$row->sws); diff --git a/rdf/zeugnis.rdf.php b/rdf/zeugnis.rdf.php index d7cfff1ea..cfc259a4d 100644 --- a/rdf/zeugnis.rdf.php +++ b/rdf/zeugnis.rdf.php @@ -385,6 +385,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $xml .= "\n "; $xml .= " "; $xml .= " "; + $xml .= " note_positiv."]]>"; $xml .= " "; $xml .= " semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1))."]]>"; $xml .= " sws==0?'':number_format(sprintf('%.1F',$row->sws),1))."]]>"; diff --git a/skin/images/sancho/sancho_footer.jpg b/skin/images/sancho/sancho_footer.jpg index ecf234021..cfd1fec34 100644 Binary files a/skin/images/sancho/sancho_footer.jpg and b/skin/images/sancho/sancho_footer.jpg differ diff --git a/skin/images/sancho/sancho_footer_DEFAULT.jpg b/skin/images/sancho/sancho_footer_DEFAULT.jpg index 94274de92..89f643e1f 100644 Binary files a/skin/images/sancho/sancho_footer_DEFAULT.jpg and b/skin/images/sancho/sancho_footer_DEFAULT.jpg differ diff --git a/skin/images/sancho/sancho_footer_DEFAULT_bw.jpg b/skin/images/sancho/sancho_footer_DEFAULT_bw.jpg index ffa2a241f..1ce8a0e3b 100644 Binary files a/skin/images/sancho/sancho_footer_DEFAULT_bw.jpg and b/skin/images/sancho/sancho_footer_DEFAULT_bw.jpg differ diff --git a/skin/images/sancho/sancho_footer_min_bw.jpg b/skin/images/sancho/sancho_footer_min_bw.jpg index 7cde838cb..1431b1ee8 100644 Binary files a/skin/images/sancho/sancho_footer_min_bw.jpg and b/skin/images/sancho/sancho_footer_min_bw.jpg differ diff --git a/soap/datenverbund_client.php b/soap/datenverbund_client.php index 898e0f734..a5f141cd1 100644 --- a/soap/datenverbund_client.php +++ b/soap/datenverbund_client.php @@ -251,7 +251,7 @@ if (isset($_REQUEST['submit'])) if ($reservierteNummern !== false) echo '
Reservierte Nummern:'.print_r($reservierteNummern, true); else - echo '
Fehlgeschlagen:'.$data->errormsg; + echo '
Fehlgeschlagen:'.$result->errormsg; } break; @@ -264,7 +264,7 @@ if (isset($_REQUEST['submit'])) if ($kontingent !== false) echo '
Kontingent:'.print_r($kontingent, true); else - echo '
Fehlgeschlagen:'.$data->errormsg; + echo '
Fehlgeschlagen:'.$result->errormsg; } break; @@ -285,7 +285,7 @@ if (isset($_REQUEST['submit'])) if (ErrorHandler::isSuccess($result)) echo '
Erfolgreich gemeldet'; else - echo '
Fehlgeschlagen:'.$data->errormsg; + echo '
Fehlgeschlagen:'.$result->errormsg; break; case 'assignMatrikelnummer': @@ -295,7 +295,7 @@ if (isset($_REQUEST['submit'])) echo '
OK'; } else - echo '
Fehlgeschlagen:'.$data->errormsg; + echo '
Fehlgeschlagen:'.$result->errormsg; break; case 'getBPK': diff --git a/system/checkStudenten.php b/system/checkStudenten.php index 1a660d45f..8af76dd12 100644 --- a/system/checkStudenten.php +++ b/system/checkStudenten.php @@ -662,7 +662,7 @@ if ($result = $db->db_query($qry)) } /* - * Nation der Adresse ist ungleich Österreicher, die Gemeinde ist aber in der Gemeinde Tabelle enthalten + * Nation der Adresse ist ungleich Österreich, die Gemeinde ist aber in der Gemeinde Tabelle enthalten */ $text .= "

Adressnation ausserhalb Österreich mit Gemeinde in Gemeindetabelle

"; $lastSem = $studiensemester->getPreviousFrom($aktSem); @@ -692,6 +692,47 @@ if ($result = $db->db_query($qry)) } } +/* + * Personen ohne Abschlussstatus + */ +$text .= "

Suche Personen ohne Abschlussstatus.

"; + +$qry = " +SELECT + distinct tbl_prestudent.prestudent_id, tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz as studiengang +FROM + public.tbl_prestudent + JOIN public.tbl_person USING(person_id) +WHERE + NOT EXISTS( + SELECT + 1 + FROM + public.tbl_prestudentstatus ps + JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) + WHERE + prestudent_id=tbl_prestudent.prestudent_id + AND tbl_studiensemester.ende>now() + ) + AND '2018-01-01'<(SELECT max(datum) FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id) + AND NOT EXISTS(SELECT 1 FROM public.tbl_prestudentstatus ps + WHERE + prestudent_id=tbl_prestudent.prestudent_id + AND status_kurzbz IN('Abbrecher','Abgewiesener','Absolvent','Incoming') + )"; + +if ($studiengang_kz != '') + $qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); + +if ($result = $db->db_query($qry)) +{ + while ($row = $db->db_fetch_object($result)) + { + $ausgabe[$row->studiengang][17][] = $row->vorname.' '.$row->nachname.' (PreStudent '.$row->prestudent_id.')'; + $text .= $row->vorname.' '.$row->nachname.' (PreStudent '.$row->prestudent_id.")
"; + } +} + // Ausgabe der Studenten foreach ($ausgabe as $stg_kz => $value) @@ -869,6 +910,15 @@ foreach ($ausgabe as $stg_kz => $value) Folgende Personen haben eine Adresse mit Nation Österreichs, die Gemeinde liegt aber in Österreich "; break; + case 17: + echo " + +   + + + Folgende Personen haben keinen Endstatus (Absolvent, Abbrecher oder Abgewiesener) (nicht BIS relevant) + "; + break; default: echo " Ungültiger Code"; break; diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 2fa4dc950..6a2eb5137 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -656,6 +656,62 @@ if(!@$db->db_query("SELECT updateamum FROM public.tbl_rt_person LIMIT 1")) echo '
Spalte updateamum in public.tbl_rt_person hinzugefügt'; } +// ADD COLUMN studiengang_kz to testtool.vw_auswertung_ablauf +if(!$result = @$db->db_query("SELECT studiengang_kz FROM testtool.vw_auswertung_ablauf LIMIT 1")) +{ + // CREATE OR REPLACE VIEW testtool.vw_auswertung_ablauf and grants privileges + $qry = ' + CREATE OR REPLACE VIEW testtool.vw_auswertung_ablauf AS ( + SELECT + tbl_gebiet.gebiet_id, + tbl_gebiet.bezeichnung AS gebiet, + tbl_ablauf.reihung, + tbl_gebiet.maxpunkte, + tbl_pruefling.pruefling_id, + tbl_pruefling.prestudent_id, + tbl_person.vorname, + tbl_person.nachname, + tbl_person.gebdatum, + tbl_person.geschlecht, + tbl_pruefling.semester, + upper(tbl_studiengang.typ::character varying(1)::text || tbl_studiengang.kurzbz::text) AS stg_kurzbz, + tbl_studiengang.bezeichnung AS stg_bez, + tbl_pruefling.registriert, + tbl_pruefling.idnachweis, + ( SELECT sum(tbl_vorschlag.punkte) AS sum + FROM testtool.tbl_vorschlag + JOIN testtool.tbl_antwort USING (vorschlag_id) + JOIN testtool.tbl_frage USING (frage_id) + WHERE tbl_antwort.pruefling_id = tbl_pruefling.pruefling_id AND tbl_frage.gebiet_id = tbl_gebiet.gebiet_id + ) AS punkte, + tbl_rt_person.rt_id AS reihungstest_id, + tbl_ablauf.gewicht, + tbl_studiengang.studiengang_kz + FROM + testtool.tbl_pruefling + JOIN testtool.tbl_ablauf ON tbl_ablauf.studiengang_kz = tbl_pruefling.studiengang_kz + JOIN testtool.tbl_gebiet USING (gebiet_id) + JOIN public.tbl_prestudent USING (prestudent_id) + JOIN public.tbl_person USING (person_id) + JOIN public.tbl_rt_person USING (person_id) + JOIN lehre.tbl_studienplan ON tbl_studienplan.studienplan_id = tbl_rt_person.studienplan_id + JOIN lehre.tbl_studienordnung ON tbl_studienordnung.studienordnung_id = tbl_studienplan.studienordnung_id + JOIN public.tbl_studiengang ON tbl_prestudent.studiengang_kz = tbl_studiengang.studiengang_kz + WHERE NOT (tbl_ablauf.gebiet_id IN + ( + SELECT tbl_kategorie.gebiet_id + FROM testtool.tbl_kategorie + ) + ) AND tbl_studienordnung.studiengang_kz = tbl_pruefling.studiengang_kz + )'; + + if(!$db->db_query($qry)) + echo 'testtool.vw_auswertung_ablauf: '.$db->db_last_error().'
'; + else + echo '
testtool.vw_auswertung_ablauf view created'; +} + + // ADD COLUMN updatevon to public.tbl_rt_person if(!@$db->db_query("SELECT updatevon FROM public.tbl_rt_person LIMIT 1")) { @@ -2767,6 +2823,32 @@ if(!$result = @$db->db_query("SELECT * FROM public.tbl_servicekategorie LIMIT 1" echo '
Servicekategorie zu Services hinzugefügt'; } +$qry_column_desc = " + SELECT + pgd.description + FROM + pg_catalog.pg_statio_all_tables as st + JOIN pg_catalog.pg_description pgd ON (pgd.objoid=st.relid) + JOIN information_schema.columns c ON (pgd.objsubid=c.ordinal_position AND c.table_schema=st.schemaname AND c.table_name=st.relname) + WHERE + table_schema = 'lehre' AND table_name = 'tbl_projektarbeit' AND column_name='faktor'"; +if($result = $db->db_query($qry_column_desc)) +{ + if($db->db_num_rows($result)==0) + { + $qry = " + COMMENT ON COLUMN lehre.tbl_projektarbeit.faktor IS 'DEPRECATED'; + COMMENT ON COLUMN lehre.tbl_projektarbeit.stundensatz IS 'DEPRECATED'; + COMMENT ON COLUMN lehre.tbl_projektarbeit.gesamtstunden IS 'DEPRECATED'; + "; + + if(!$db->db_query($qry)) + echo 'tbl_projektarbeit Comment: '.$db->db_last_error().'
'; + else + echo '
tbl_projektarbeit: faktor, stundensatz und gesamtstunden als deprecated markiert'; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; diff --git a/system/vorlage_zip/Lehrtaetigkeit.odt b/system/vorlage_zip/Lehrtaetigkeit.odt new file mode 100644 index 000000000..f5a01b46b Binary files /dev/null and b/system/vorlage_zip/Lehrtaetigkeit.odt differ diff --git a/system/vorlage_zip/fotoliste.odt b/system/vorlage_zip/fotoliste.odt index b8ce90639..866e4e1ea 100644 Binary files a/system/vorlage_zip/fotoliste.odt and b/system/vorlage_zip/fotoliste.odt differ diff --git a/system/xsl/ZeugnisEngNeu_0.xsl b/system/xsl/ZeugnisEngNeu_0.xsl deleted file mode 100644 index b0e620da3..000000000 --- a/system/xsl/ZeugnisEngNeu_0.xsl +++ /dev/null @@ -1,669 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vienna, - - - - - - - - - - - Place, Date - - - - - - - Program Director - - - - - - - - - - - Transcript of Records - - - - - - - - - - st - - - nd - - - rd - - - th - - - Semester ( - - ) - - - - - - - - Bachelor's - - - Master's - - - - - Degree Program - - - - - - Student ID: - Program Code: - - - - First Name/Last Name: - - - - Date of Birth: - - - - - - - Course - - - SP/W1 - - - ECTS - - - Grade2 - - - - - - Total - - - - - - - - - - - - - - - - - ¹ 1 Semester period per week = 45 minutes - ² Grades:excellent (1), very good (2), good (3), satisfactory (4), fail (5), not graded (nb), Credit based on previous experience/work (ar), - - Participated with success (met), passed (b), successfully completed (ea), not successfully completed (nea), did not participate (nt), participated(tg) - - - - - - - - Final Examination - - - - - - - Bachelor's Examination on - - - Master's Examination on - - - - - - - - - - Grades:Passed with distinction, Passed with merit, Passed - - - - - - - - - - International Semester Abroad: -, at , - All credits earned during the International Semester Abroad (ISA) are fully credited for the - - - - st - - - nd - - - rd - - - th - - - semester at the UAS Technikum Wien. (see Transcript of Records) - - - - - - - - - [ACHTUNG: Keine englische Bezeichung für "" in der Datenbank!] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Subject Area: - - - - - - - - - - - - - - Bachelor's Thesis: - - - Master's Thesis: - - - - - - - - - - - - - - - - - - - - - - - - Bachelor's Thesis: - - - Master's Thesis: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/system/xsl/ZeugnisEngNeu_Lehrgaenge.xsl b/system/xsl/ZeugnisEngNeu_Lehrgaenge.xsl deleted file mode 100644 index cf53e3d79..000000000 --- a/system/xsl/ZeugnisEngNeu_Lehrgaenge.xsl +++ /dev/null @@ -1,657 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vienna, - - - - - - - - - - - Place, Date - - - - - - - Director of Certificate Program - - - - - - - - - - - Transcript of Records - - - - - - - - - - st - - - nd - - - rd - - - th - - - Semester ( - - ) - - - - - Certificate Program for Further Education subjected to § 9 FHStG - - - - - Student ID: - Program Code: - - - - First Name/Last Name: - - - - Date of Birth: - - - - - - - Course - - - SP/W1 - - - ECTS - - - Grade2 - - - - - - Total - - - - - - - - - - - - - - - - - ¹ 1 Semester period per week = 45 minutes - ² Grades:excellent (1), very good (2), good (3), satisfactory (4), fail (5), not graded (nb), Credit based on previous experience/work (ar), - - Participated with success (met), passed (b), successfully completed (ea), not successfully completed (nea), did not participate (nt), participated(tg) - - - - - - - - Final Examination - - - - - - - Bachelor's Examination on - - - Master's Examination on - - - - - - - - - - Grades:Passed with distinction, Passed with merit, Passed - - - - - - - - - - International Semester Abroad: -, at , - All credits earned during the International Semester Abroad (ISA) are fully credited for the - - - - st - - - nd - - - rd - - - th - - - semester at the UAS Technikum Wien. (see Transcript of Records) - - - - - - - - - [ACHTUNG: Keine englische Bezeichung für "" in der Datenbank!] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Subject Area: - - - - - - - - - - - - - - Bachelor's Thesis: - - - Master's Thesis: - - - - - - - - - - - - - - - - - - - - - - - - Bachelor's Thesis: - - - Master's Thesis: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/system/xsl/ZeugnisEng_0.xsl b/system/xsl/ZeugnisEng_0.xsl index b997a53e9..3f291824c 100644 --- a/system/xsl/ZeugnisEng_0.xsl +++ b/system/xsl/ZeugnisEng_0.xsl @@ -488,9 +488,9 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn ¹ 1 Semester period per week = 45 minutes - ² Grades:excellent (1), good (2), satisfactory (3), sufficient (4), insufficient (5), not graded (nb), Credit based on previous experience/work (ar), + ² Grades:excellent (1), good (2), satisfactory (3), sufficient (4), Credit based on previous experience/work (ar), Participated with success (met), passed (b), - Participated with success (met), passed (b), successfully completed (ea), not successfully completed (nea), did not participate (nt), participated(tg) + successfully completed (ea), participated (tg) @@ -530,68 +530,70 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - International Semester Abroad: -, at , - All credits earned during the International Semester Abroad (ISA) are fully credited for the - - - - st - - - nd - - - rd - - - th - - - semester at the UAS Technikum Wien. (see Transcript of Records) - - - - - - - - - [ACHTUNG: Keine englische Bezeichung für "" in der Datenbank!] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + International Semester Abroad: -, at , + All credits earned during the International Semester Abroad (ISA) are fully credited for the + + + + st + + + nd + + + rd + + + th + + + semester at the UAS Technikum Wien. (see Transcript of Records) + + + + + + + + + [ACHTUNG: Keine englische Bezeichung für "" in der Datenbank!] + + + + + + + + + + - + + + + + + + + - + + + + + + + + - + + + + + + diff --git a/system/xsl/ZeugnisEng_Lehrgaenge.xsl b/system/xsl/ZeugnisEng_Lehrgaenge.xsl index 9f93d78cb..99308abcd 100644 --- a/system/xsl/ZeugnisEng_Lehrgaenge.xsl +++ b/system/xsl/ZeugnisEng_Lehrgaenge.xsl @@ -476,9 +476,9 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn ¹ 1 Semester period per week = 45 minutes - ² Grades:excellent (1), good (2), satisfactory (3), sufficient (4), insufficient (5), not graded (nb), Credit based on previous experience/work (ar), + ² Grades:excellent (1), good (2), satisfactory (3), sufficient (4), Credit based on previous experience/work (ar), Participated with success (met), passed (b), - Participated with success (met), passed (b), successfully completed (ea), not successfully completed (nea), did not participate (nt), participated(tg) + successfully completed (ea), participated (tg) @@ -519,68 +519,70 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - International Semester Abroad: -, at , - All credits earned during the International Semester Abroad (ISA) are fully credited for the - - - - st - - - nd - - - rd - - - th - - - semester at the UAS Technikum Wien. (see Transcript of Records) - - - - - - - - - [ACHTUNG: Keine englische Bezeichung für "" in der Datenbank!] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + International Semester Abroad: -, at , + All credits earned during the International Semester Abroad (ISA) are fully credited for the + + + + st + + + nd + + + rd + + + th + + + semester at the UAS Technikum Wien. (see Transcript of Records) + + + + + + + + + [ACHTUNG: Keine englische Bezeichung für "" in der Datenbank!] + + + + + + + + + + - + + + + + + + + - + + + + + + + + - + + + + + + diff --git a/system/xsl/ZeugnisNeu_0.xsl b/system/xsl/ZeugnisNeu_0.xsl deleted file mode 100644 index 9d531ab1b..000000000 --- a/system/xsl/ZeugnisNeu_0.xsl +++ /dev/null @@ -1,562 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wien, am - - - - - - - - - - - Ort, Datum - - - - - - - Studiengangsleitung - - - - - - - - - - - ZEUGNIS - - - - - - - - ( - - ) - - - - - -Studiengang - - - - - Personenkennzeichen: - Kennzahl des Studienganges: - - - - Vorname/Familienname: - - - - Geburtsdatum: - - - - - - - Lehrveranstaltung - - - SWS - - - ECTS - - - Note - - - - - - Gesamt - - - - - - - - - - - - - - - - - Notenstufen:Sehr gut (1), Gut (2), Befriedigend (3), Genügend (4), Nicht genügend (5), mit Erfolg teilgenommen (met), nicht teilgenommen (nt), teilgenommen(tg), - - angerechnet (ar), nicht beurteilt (nb), bestanden (b), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea) - - - - - - - - Kommissionelle Abschlussprüfung - - - - - - - Bachelorprüfung vom - - - Masterprüfung vom - - - - - - - - - - Notenstufen:mit ausgezeichnetem Erfolg bestanden, mit gutem Erfolg bestanden, bestanden - - - - - - - - - - Auslandsaufenthalt: -, , - Die im Ausland absolvierten Lehrveranstaltungen werden für das . Semester des Studiums an der Fachhochschule Technikum Wien angerechnet (Details siehe Transcript of Records der Gasthochschule). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Themenbereich: - - - - : - - - - - - : - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/system/xsl/ZeugnisNeu_Lehrgaenge.xsl b/system/xsl/ZeugnisNeu_Lehrgaenge.xsl deleted file mode 100644 index 1974c4671..000000000 --- a/system/xsl/ZeugnisNeu_Lehrgaenge.xsl +++ /dev/null @@ -1,562 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wien, am - - - - - - - - - - - Ort, Datum - - - - - - - Lehrgangsleitung - - - - - - - - - - - ZEUGNIS - - - - - - - - ( - - ) - - - - - Lehrgang zur Weiterbildung nach §9 FHStG idgF - - - - - Personenkennzeichen: - Lehrgangsnummer: - - - - Vorname/Familienname: - - - - Geburtsdatum: - - - - - - - Lehrveranstaltung - - - SWS - - - ECTS - - - Note - - - - - - Gesamt - - - - - - - - - - - - - - - - - Notenstufen:Sehr gut (1), Gut (2), Befriedigend (3), Genügend (4), Nicht genügend (5), mit Erfolg teilgenommen (met), nicht teilgenommen (nt), teilgenommen(tg), - - angerechnet (ar), nicht beurteilt (nb), bestanden (b), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea) - - - - - - - - Kommissionelle Abschlussprüfung - - - - - - - Bachelorprüfung vom - - - Masterprüfung vom - - - - - - - - - - Notenstufen:mit ausgezeichnetem Erfolg bestanden, mit gutem Erfolg bestanden, bestanden - - - - - - - - - - Auslandsaufenthalt: -, , - Die im Ausland absolvierten Lehrveranstaltungen werden für das . Semester des Studiums an der Fachhochschule Technikum Wien angerechnet (Details siehe Transcript of Records der Gasthochschule). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Themenbereich: - - - - : - - - - - - : - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/system/xsl/Zeugnis_0.xsl b/system/xsl/Zeugnis_0.xsl index 5b224ad5e..8d1bbd275 100644 --- a/system/xsl/Zeugnis_0.xsl +++ b/system/xsl/Zeugnis_0.xsl @@ -459,9 +459,12 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Notenstufen:Sehr gut (1), Gut (2), Befriedigend (3), Genügend (4), Nicht genügend (5), mit Erfolg teilgenommen (met), nicht teilgenommen (nt), teilgenommen(tg), + Notenstufen:Sehr gut (1), Gut (2), Befriedigend (3), Genügend (4), mit Erfolg teilgenommen (met), teilgenommen (tg), + angerechnet (ar), bestanden (b), + - angerechnet (ar), nicht beurteilt (nb), bestanden (b), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea) + erfolgreich absolviert (ea) + @@ -481,7 +484,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Masterprüfung vom - + @@ -502,43 +505,45 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - Auslandsaufenthalt: -, , - Die im Ausland absolvierten Lehrveranstaltungen werden für das . Semester des Studiums an der Fachhochschule Technikum Wien angerechnet (Details siehe Transcript of Records der Gasthochschule). - - - - - - - - - - - - - - - - - - + + + + + + Auslandsaufenthalt: -, , + Die im Ausland absolvierten Lehrveranstaltungen werden für das . Semester des Studiums an der Fachhochschule Technikum Wien angerechnet (Details siehe Transcript of Records der Gasthochschule). + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + - + + + + + + + + - + + + + + + diff --git a/system/xsl/Zeugnis_Lehrgaenge.xsl b/system/xsl/Zeugnis_Lehrgaenge.xsl index d2dfa6680..3e99d4729 100644 --- a/system/xsl/Zeugnis_Lehrgaenge.xsl +++ b/system/xsl/Zeugnis_Lehrgaenge.xsl @@ -458,9 +458,12 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Notenstufen:Sehr gut (1), Gut (2), Befriedigend (3), Genügend (4), Nicht genügend (5), mit Erfolg teilgenommen (met), nicht teilgenommen (nt), teilgenommen(tg), + Notenstufen:Sehr gut (1), Gut (2), Befriedigend (3), Genügend (4), mit Erfolg teilgenommen (met), teilgenommen (tg), + angerechnet (ar), bestanden (b), + - angerechnet (ar), nicht beurteilt (nb), bestanden (b), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea) + erfolgreich absolviert (ea) + @@ -501,43 +504,45 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - Auslandsaufenthalt: -, , - Die im Ausland absolvierten Lehrveranstaltungen werden für das . Semester des Studiums an der Fachhochschule Technikum Wien angerechnet (Details siehe Transcript of Records der Gasthochschule). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + Auslandsaufenthalt: -, , + Die im Ausland absolvierten Lehrveranstaltungen werden für das . Semester des Studiums an der Fachhochschule Technikum Wien angerechnet (Details siehe Transcript of Records der Gasthochschule). + + + + + + + + + + - + + + + + + + + - + + + + + + + + - + + + + + + diff --git a/system/xsl/diplomaSupp_0.xsl b/system/xsl/diplomaSupp_0.xsl index 3048dc4d3..e1c63c37b 100644 --- a/system/xsl/diplomaSupp_0.xsl +++ b/system/xsl/diplomaSupp_0.xsl @@ -1104,7 +1104,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + @@ -1278,7 +1278,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + @@ -2381,15 +2381,15 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Neben den ordentlichen Studien, die oben beschrieben wurden, gibt es auch außerordentliche Studien, die an Universitäten entweder ein Universitätslehrgang oder der Besuch einzelner Lehrveranstaltungen, im Fachhochschulbereich ein Lehrgang zur Weiterbildung oder der Besuch einzelner Lehrveranstaltungen und an Pädagogischen Hochschulen ein Hochschullehrgang sein können. Bachelorstudium - Die Zulassung zu einem Bachelorstudium erfolgt auf der Grundlage eines österreichischen oder gleichwertigen ausländischen Reifezeugnisses, eines Zeugnisses über die Studienberechtigungsprüfung oder eines Zeugnisses über die Berufsreifeprüfung, in künstlerischen Studien auf der Grundlage einer Zulassungsprüfung. Die Zulassung zu einem Fachhochschul-Bachelorstudiengang kann auch auf der Grundlage einer einschlägigen beruflichen Qualifikation erfolgen. In einigen Bachelorstudien an Universitäten, in den meisten Fachhochschul-Bachelorstudiengängen und in Bachelorstudien an Pädagogischen Hochschulen findet ein Auswahlverfahren statt. + Die Zulassung zu einem Bachelorstudium erfolgt auf der Grundlage eines österreichischen oder gleichwertigen ausländischen Reifezeugnisses, eines Zeugnisses über die Studienberechtigungsprüfung oder eines Zeugnisses über die Berufsreifeprüfung, in künstlerischen Studien auf der Grundlage einer Zulassungsprüfung. Die Zulassung zu einem Fachhochschul-Bachelorstudiengang kann auch auf der Grundlage einer einschlägigen beruflichen Qualifikation erfolgen. In einigen Bachelorstudien an Universitäten, in den meisten Fachhochschul-Bachelorstudiengängen und in Bachelorstudien an Pädagogischen Hochschulen findet ein Auswahlverfahren statt. Die Fächer/Module und ihre Inhalte sind im Curriculum festgelegt. In der Regel sind zwei Bachelorarbeiten im Rahmen von Lehrveranstaltungen abzufassen. Fachhochschul-Bachelorstudiengänge, Bachelorstudien an Pädagogischen Hochschulen und einige Bachelorstudien an Universitäten umfassen ein angeleitetes Praktikum. Das Studium kann mit einer Bachelorprüfung abgeschlossen werden. Masterstudium - Die Zulassung zu einem Masterstudium erfolgt auf der Grundlage eines abgeschlossenen facheinschlägigen Bachelorstudiums oder gleichwertigen postsekundären Abschlusses. In einigen Studien findet ein Auswahlverfahren statt + Die Zulassung zu einem Masterstudium erfolgt auf der Grundlage eines abgeschlossenen facheinschlägigen Bachelorstudiums oder gleichwertigen postsekundären Abschlusses. In einigen Studien findet ein Auswahlverfahren statt Die Fächer/Module und ihre Inhalte sind im Curriculum festgelegt. Ein Schwerpunkt des Studiums liegt auf der Erstellung der Masterarbeit. Das Studium wird mit einer Masterprüfung abgeschlossen. Die Zulassung zur Masterprüfung setzt die Approbation der Masterarbeit voraus. Diplomstudium - Die Zulassung zu einem Diplomstudium erfolgt auf der Grundlage eines österreichischen oder gleichwertigen ausländischen Reifezeugnisses, eines Zeugnisses über die Studienberechtigungsprüfung oder eines Zeugnisses über die Berufsreifeprüfung, in künstlerischen Studien auf der Grundlage einer Zulassungsprüfung. Die Zulassung zu einem Fachhochschul-Diplomstudiengang kann auch auf der Grundlage einer einschlägigen beruflichen Qualifikation erfolgen. In einigen Studien (z.B. Humanmedizin und Zahnmedizin sowie in Fachhochschul-Diplomstudiengängen) findet ein Auswahlverfahren statt. + Die Zulassung zu einem Diplomstudium erfolgt auf der Grundlage eines österreichischen oder gleichwertigen ausländischen Reifezeugnisses, eines Zeugnisses über die Studienberechtigungsprüfung oder eines Zeugnisses über die Berufsreifeprüfung, in künstlerischen Studien auf der Grundlage einer Zulassungsprüfung. Die Zulassung zu einem Fachhochschul-Diplomstudiengang kann auch auf der Grundlage einer einschlägigen beruflichen Qualifikation erfolgen. In einigen Studien (z.B. Humanmedizin und Zahnmedizin sowie in Fachhochschul-Diplomstudiengängen) findet ein Auswahlverfahren statt. Das Studium kann in Studienabschnitte unterteilt sein. Die Dauer jedes Studienabschnitts, die Fächer und ihre Inhalte sind im Curriculum festgelegt. Sie gliedern sich in Pflichtfächer und Wahlfächer. Jeder Studienabschnitt wird mit einer Diplomprüfung abgeschlossen. Fachhochschul-Diplomstudiengänge und einige Diplomstudien an Universitäten umfassen ein angeleitetes Praktikum. Die Zulassung zur letzten Diplomprüfung setzt die Approbation der Diplomarbeit voraus. @@ -2567,13 +2567,13 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn The new system is based on the distinction between undergraduate and graduate studies. Upon completion of an undergraduate programme (Bachelorstudium at universities and university colleges of education or, respectively, Fachhochschul-Bachelorstudiengang at universities of applied sciences, comprising 180 to 240 ECTS credits), a bachelor’s degree (designation: "Bachelor of/in ..." ) is awarded. Upon completion of a graduate program (Masterstudium at universities and university colleges of education or, respectively, Fachhochschul-Masterstudiengang at universities of applied sciences, comprising 60 to 120 ECTS credits), a master’s degree (designation: "Master of/in ..." ) is awarded. In the fields of engineering, the designation of the master’s degree can also be "Diplom-Ingenieur/in". - Under the auspices of the older system of diploma degree programmes (Diplomstudien), the first degree awarded is the diploma degree (Diplomgrad). An Austrian higher secondary school leaving certificate or its equivalent is the general qualification necessary for enrolling in a diploma degree programme; conclusion of a diploma degree programme entitles degree holders to enrol in doctoral programmes. A diploma degree (Diplomgrad) is awarded by Austrian universities after a course of study consisting of 240 to 360 ECTS credits. Full degree titles are gender specific designations: Magister for men; Magistra for women. Degree titles also include a general description of the field of study in which they were obtained, e.g. Magister philosophiae. In the fields of engineering, the degree titles are Diplom-Ingenieur/in. + Under the auspices of the older system of diploma degree programmes (Diplomstudien), the first degree awarded is the diploma degree (Diplomgrad). An Austrian higher secondary school leaving certificate or its equivalent is the general qualification necessary for enrolling in a diploma degree programme; conclusion of a diploma degree programme entitles degree holders to enrol in doctoral programmes. A diploma degree (Diplomgrad) is awarded by Austrian universities after a course of study consisting of 240 to 360 ECTS credits. Full degree titles are gender specific designations: Magister for men; Magistra for women. Degree titles also include a general description of the field of study in which they were obtained, e.g. Magister philosophiae. In the fields of engineering, the degree titles are Diplom-Ingenieur/in. Degrees awarded in medicine and dentistry are exceptions to the above. The first degrees awarded after the completion of these degree programmes consisting of 360 ECTS credits are Doctor medicinae universae and Doctor medicinae dentalis, respectively. Graduates of university of applied sciences programmes that consist of 240 to 300 ECTS credits are awarded, analogous to university studies, a university of applied science diploma degree (Fachhochschul-Diplomgrad) contingent upon discipline: either a Diplom-Ingenieur/in (FH) for fields of engineering or Magister/Magistra (FH) in other fields of study. - The study programmes for teachers’ qualifications are offered jointly between universities and university colleges of education. + The study programmes for teachers’ qualifications are offered jointly between universities and university colleges of education. Recipients of the diploma degrees from the old system or master’s degrees from the new system (including the ones awarded in both cases by the universities of applied sciences) are entitled to enrol in doctoral programmes (Doktoratsstudium) at universities. A doctoral degree with the designation either "Doktor/in" or "Doctor of Philosophy" (PhD) is awarded upon completion of a doctoral programme with a minimum duration of three years. @@ -2669,8 +2669,8 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - + + Grades for comprehensive examinations, i.e. examinations covering materials from various subjects: @@ -2699,13 +2699,13 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Federal Ministry of Science, Research and Economy Unit VI/7 - + - + TRANSCRIPT OF RECORDS @@ -2784,7 +2784,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn ¹ Type: Laboratory (LAB), Lecture (VO), Integrated Course (ILV), Seminar (SE), Tutorial (TUT), Project (PRJ), Exercise (UE), Distance Learning (FL), Other (SO) ² 1 Semester period per week = 45 minutes - ³ Grading Scheme: excellent (1), good (2), satisfactory (3), sufficient (4), insufficient (5), not graded (nb), Credit based on previous experience/work (ar), successfully completed (ea), not successfully completed (nea), Participated with success (met), participated (tg) + ³ Grading Scheme: excellent (1), good (2), satisfactory (3), sufficient (4), Credit based on previous experience/work (ar), successfully completed (ea), Participated with success (met), participated (tg) @@ -2902,38 +2902,40 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/system/xsl/diplomaSupp_Lehrgaenge.xsl b/system/xsl/diplomaSupp_Lehrgaenge.xsl index e229a72b2..3308edd5e 100644 --- a/system/xsl/diplomaSupp_Lehrgaenge.xsl +++ b/system/xsl/diplomaSupp_Lehrgaenge.xsl @@ -2788,7 +2788,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn ¹ Type: Laboratory (LAB), Lecture (VO), Integrated Course (ILV), Seminar (SE), Tutorial (TUT), Project (PRJ), Exercise (UE), Distance Learning (FL), Other (SO) ² 1 Semester period per week = 45 minutes - ³ Grading Scheme: excellent (1), good (2), satisfactory (3), sufficient (4), insufficient (5), not graded (nb), Credit based on previous experience/work (ar), successfully completed (ea), not successfully completed (nea), Participated with success (met), participated (tg) + ³ Grading Scheme: excellent (1), good (2), satisfactory (3), sufficient (4), Credit based on previous experience/work (ar), successfully completed (ea), Participated with success (met), participated (tg) @@ -2908,38 +2908,40 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/system/xsl/fotoliste_0.xsl b/system/xsl/fotoliste_0.xsl index d28aee75f..0e612f257 100644 --- a/system/xsl/fotoliste_0.xsl +++ b/system/xsl/fotoliste_0.xsl @@ -1,307 +1,221 @@ - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fotoliste - - Studiengang: - - Studiensemester: - Gruppe: - Anzahl Studierende: - - - - - - - - - - - - Foto - - - Name - - - Geschlecht - - - Kennzeichen - - - Gruppe - - - - - - - - - - (i) … Incoming - (o) … Outgoing - (ar) … angerechnet - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Fotoliste + + Studiengang: - + Studiensemester: + Gruppe: + Anzahl Studierende: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + () + + + + \ No newline at end of file diff --git a/system/xsl/lehrtaetigkeit_0.xsl b/system/xsl/lehrtaetigkeit_0.xsl new file mode 100644 index 000000000..b3d16dbd0 --- /dev/null +++ b/system/xsl/lehrtaetigkeit_0.xsl @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bestätigung über Lehrtätigkeit + + + Hiermit wird bestätigt, dass , + geboren am , + + + in der Zeit von bis + für die FH Technikum Wien als Hochschullehrer tätig war. + Seine Tätigkeit umfasste die Konzeption, Organisation und Abhaltung von Lehrveranstaltungen. + + + seit + für die FH Technikum Wien als Hochschullehrer tätig ist. + Seine Tätigkeit umfasst die Konzeption, Organisation und Abhaltung von Lehrveranstaltungen. + + + + + Nachstehend eine detaillierte Aufstellung der Lehraufträge: + + + + + + Semester + + + Semesterstunden pro Semester + + + + + + + + + + + + + + + + + + + + Für das aktuelle Semester sind derzeit Semesterstunden beauftragt. + + + + + FACHHOCHSCHULE TECHNIKUM WIEN + + + + + + + + + + + Wien, 04.04.2019 + + + + + + + \ No newline at end of file diff --git a/system/xsl/studienerfolgEng_0.xsl b/system/xsl/studienerfolgEng_0.xsl index 31064a71a..1dd7fd663 100644 --- a/system/xsl/studienerfolgEng_0.xsl +++ b/system/xsl/studienerfolgEng_0.xsl @@ -609,41 +609,43 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" ¹ 1 Semester period per week = 45 minutes - ² Grades:excellent (1), very good (2), good (3), satisfactory (4), fail (5), not graded (nb), Credit based on previous experience/work (ar),Participated with success (met), passed (b), successfully completed (ea), not successfully completed (nea), did not participate (nt), participated(tg) + ² Grades:excellent (1), very good (2), good (3), satisfactory (4), Credit based on previous experience/work (ar),Participated with success (met), passed (b), successfully completed (ea), participated (tg) - - - - - - - - - [ACHTUNG: Keine englische Bezeichung für "" in der Datenbank!] - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + [ACHTUNG: Keine englische Bezeichung für "" in der Datenbank!] + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/system/xsl/studienerfolgEng_Lehrgaenge.xsl b/system/xsl/studienerfolgEng_Lehrgaenge.xsl index 24ce74e6c..7e3026816 100644 --- a/system/xsl/studienerfolgEng_Lehrgaenge.xsl +++ b/system/xsl/studienerfolgEng_Lehrgaenge.xsl @@ -600,41 +600,44 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" ¹ 1 Semester period per week = 45 minutes - ² Grades:excellent (1), very good (2), good (3), satisfactory (4), fail (5), not graded (nb), Credit based on previous experience/work (ar),Participated with success (met), passed (b), successfully completed (ea), not successfully completed (nea), did not participate (nt), participated(tg) + ² Grades:excellent (1), very good (2), good (3), satisfactory (4), Credit based on previous experience/work (ar), + Participated with success (met), passed (b), successfully completed (ea), participated (tg) - - - - - - - - - [ACHTUNG: Keine englische Bezeichung für "" in der Datenbank!] - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + [ACHTUNG: Keine englische Bezeichung für "" in der Datenbank!] + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/system/xsl/studienerfolg_0.xsl b/system/xsl/studienerfolg_0.xsl index 05a25344d..97d035116 100644 --- a/system/xsl/studienerfolg_0.xsl +++ b/system/xsl/studienerfolg_0.xsl @@ -607,33 +607,35 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" Benotung: - Sehr gut (1), Gut (2), Befriedigend (3), Genügend (4), Nicht genügend (5), mit Erfolg teilgenommen (met), nicht teilgenommen (nt), teilgenommen(tg), angerechnet (ar), nicht beurteilt (nb), bestanden (b), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea) + Sehr gut (1), Gut (2), Befriedigend (3), Genügend (4), mit Erfolg teilgenommen (met), teilgenommen (tg), angerechnet (ar), bestanden (b), erfolgreich absolviert (ea) - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/system/xsl/studienerfolg_Lehrgaenge.xsl b/system/xsl/studienerfolg_Lehrgaenge.xsl index 493fe0f70..6dbf47ec8 100644 --- a/system/xsl/studienerfolg_Lehrgaenge.xsl +++ b/system/xsl/studienerfolg_Lehrgaenge.xsl @@ -598,33 +598,35 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" Benotung: - Sehr gut (1), Gut (2), Befriedigend (3), Genügend (4), Nicht genügend (5), mit Erfolg teilgenommen (met), nicht teilgenommen (nt), teilgenommen(tg), angerechnet (ar), nicht beurteilt (nb), bestanden (b), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea) + Sehr gut (1), Gut (2), Befriedigend (3), Genügend (4), mit Erfolg teilgenommen (met), teilgenommen (tg), angerechnet (ar), bestanden (b), erfolgreich absolviert (ea) - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/system/xsl/uebernahmebestaetigung_0.xsl b/system/xsl/uebernahmebestaetigung_0.xsl index 97fc6c87d..26ea463f3 100644 --- a/system/xsl/uebernahmebestaetigung_0.xsl +++ b/system/xsl/uebernahmebestaetigung_0.xsl @@ -194,7 +194,6 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" Name: - Geburtsdatum: diff --git a/vilesci/personen/import/interessentenimport.php b/vilesci/personen/import/interessentenimport.php index b94b8f44f..d0f6be270 100644 --- a/vilesci/personen/import/interessentenimport.php +++ b/vilesci/personen/import/interessentenimport.php @@ -178,11 +178,11 @@ if (isset($_GET['type']) && $_GET['type'] == 'getstudienplancontent' && isset($_ - - - - - + + + + + @@ -416,6 +423,8 @@ if ($gemeinde == '' && $ort != '') $ort = ''; } $email = (isset($_REQUEST['email'])?$_REQUEST['email']:''); +$geburtsnation = (isset($_REQUEST['geburtsnation'])?$_REQUEST['geburtsnation']:'A'); +$staatsbuergerschaft = (isset($_REQUEST['staatsbuergerschaft'])?$_REQUEST['staatsbuergerschaft']:'A'); $telefon = (isset($_REQUEST['telefon'])?$_REQUEST['telefon']:''); $mobil = (isset($_REQUEST['mobil'])?$_REQUEST['mobil']:''); $letzteausbildung = (isset($_REQUEST['letzteausbildung'])?$_REQUEST['letzteausbildung']:''); @@ -551,8 +560,8 @@ if (isset($_POST['save'])) $person->vornamen = $vornamen; $person->geschlecht = $geschlecht; $person->gebdatum = $datum_obj->formatDatum($geburtsdatum,'Y-m-d'); - $person->geburtsnation = 'A'; - $person->staatsbuergerschaft = 'A'; + $person->geburtsnation = $geburtsnation; + $person->staatsbuergerschaft = $staatsbuergerschaft; $person->aktiv = true; $person->insertamum = date('Y-m-d H:i:s'); $person->insertvon = $user; @@ -928,7 +937,7 @@ echo 'AnredeTitel(Pre)'; echo 'Vorname '; echo 'Weitere Vornamen '; -echo 'Nachname *'; +echo 'Nachname *'; echo 'Titel(Post)'; echo 'Geschlecht *'; +echo 'LandAdresse hinzufügen'; echo ''; echo ''; +echo 'Geburtsnation'; +echo 'Staatsbürgerschaft'; echo 'EMail'; echo 'Telefon'; echo 'Mobil'; diff --git a/vilesci/stammdaten/auswertung_fhtw.php b/vilesci/stammdaten/auswertung_fhtw.php index 4857bba4f..2a6140148 100644 --- a/vilesci/stammdaten/auswertung_fhtw.php +++ b/vilesci/stammdaten/auswertung_fhtw.php @@ -707,6 +707,181 @@ if (isset($_POST['method']) && $_POST['method'] == 'addPerson') } } +// Überträgt die Punkte ins FAS und setzt optional Reihungstest angetreten und Bewerberstatus +$punkteUebertragen = filter_input(INPUT_POST, 'punkteUebertragen', FILTER_VALIDATE_BOOLEAN); +if ($punkteUebertragen) +{ + if (isset($_POST['reihungstest_id']) && is_numeric($_POST['reihungstest_id'])) + { + $reihungstest = new reihungstest($_POST['reihungstest_id']); + $msg_warning = ''; + $msg_error = ''; + $count_success_punkte = 0; + $count_success_gesamtpunkte = 0; + $count_success_bewerber = 0; + + if (isset($_POST['prestudentPunkteArr'])) + { + foreach ($_POST['prestudentPunkteArr'] AS $key => $array) + { + $prestudentrolle = new prestudent($array['prestudent_id']); + $prestudentrolle->getLastStatus($array['prestudent_id'], null, 'Interessent'); + + if (!$rechte->isBerechtigt('lehre/reihungstest', $prestudentrolle->studiengang_kz, 'sui')) + { + $msg_error .= '
Sie haben keine Rechte, um für diesen Studiengang Ergebnisse ins FAS zu übertragen'; + continue; + } + // Checken, ob Person-Reihungstest-Studienplan zuteilung existiert + if ($reihungstest->checkPersonRtStudienplanExists($prestudentrolle->person_id, $_POST['reihungstest_id'], $prestudentrolle->studienplan_id)) + { + $setRTPunkte = new reihungstest(); + $setRTPunkte->getPersonReihungstest($prestudentrolle->person_id, $_POST['reihungstest_id'], $prestudentrolle->studienplan_id); + + // Check, ob Punkte schon befüllt sind + if ($setRTPunkte->punkte == '') + { + $setRTPunkte->new = false; + $setRTPunkte->punkte = number_format($array['ergebnis'], 4); + $setRTPunkte->updateamum = date('Y-m-d H:i:s'); + $setRTPunkte->updatevon = $user; + + if (!$setRTPunkte->savePersonReihungstest()) + { + $msg_error .= '
Fehler beim speichern der Reihungstestpunkte für Prestudent '.$array['prestudent_id'].': ' . $setRTPunkte->errormsg; + } + else + { + $count_success_punkte ++; + } + } + else + { + $msg_warning .= '
Der Prestudent '.$array['prestudent_id'].' hat bereits Punkte eingetragen.'; + } + } + else + { + $setRTPunkte = new reihungstest(); + $setRTPunkte->getPersonReihungstest($prestudentrolle->person_id, $_POST['reihungstest_id']); + + // Check, ob Punkte schon befüllt sind + if ($setRTPunkte->punkte == '') + { + $setRTPunkte->new = true; + $setRTPunkte->studienplan_id = $prestudentrolle->studienplan_id; + $setRTPunkte->punkte = number_format($array['ergebnis'], 4); + $setRTPunkte->insertamum = date('Y-m-d H:i:s'); + $setRTPunkte->insertvon = $user; + + if (!$setRTPunkte->savePersonReihungstest()) + { + $msg_error .= '
Fehler beim speichern der Reihungstestpunkte für Prestudent ' . $array['prestudent_id'] . ': ' . $setRTPunkte->errormsg; + } + else + { + $count_success_punkte ++; + } + } + else + { + $msg_warning .= '
Der Prestudent '.$array['prestudent_id'].' hat bereits Punkte eingetragen.'; + } + } + + $gesamtpunkteSetzen = filter_input(INPUT_POST, 'gesamtpunkteSetzen', FILTER_VALIDATE_BOOLEAN); + // Wenn gesamtpunkteSetzen true ist, auch die Gesamtpunkte für den Prestudenten setzen + if ($gesamtpunkteSetzen) + { + $prestudent = new prestudent($array['prestudent_id']); + + // Check, ob Punkte schon befüllt sind + if ($prestudent->punkte == '') + { + $prestudent->new = false; + $prestudent->punkte = number_format($array['ergebnis'], 4); + $prestudent->reihungstestangetreten = true; + $setRTPunkte->updateamum = date('Y-m-d H:i:s'); + $setRTPunkte->updatevon = $user; + + if (!$prestudent->save()) + { + $msg_error .= '
Fehler beim setzen der Gesamtpunkte für Prestudent '.$array['prestudent_id'].': ' . $prestudent->errormsg; + } + else + { + $count_success_gesamtpunkte++; + } + } + else + { + $msg_warning .= '
Der Prestudent '.$array['prestudent_id'].' hat bereits Gesamtpunkte eingetragen.'; + } + } + + $zuBewerberMachen = filter_input(INPUT_POST, 'zuBewerberMachen', FILTER_VALIDATE_BOOLEAN); + // Wenn zuBewerberMachen true ist, wird der Prestudent auch zum Bewerber gemacht + if ($zuBewerberMachen) + { + $prestudent = new prestudent($array['prestudent_id']); + + // Checken, ob schon Bewerberstatus vorhanden ist + if (!$prestudent->load_rolle($array['prestudent_id'], 'Bewerber', $prestudentrolle->studiensemester_kurzbz, $prestudentrolle->ausbildungssemester)) + { + $prestudent->new = true; + $prestudent->prestudent_id = $array['prestudent_id']; + $prestudent->status_kurzbz = 'Bewerber'; + $prestudent->studiensemester_kurzbz = $prestudentrolle->studiensemester_kurzbz; + $prestudent->ausbildungssemester = $prestudentrolle->ausbildungssemester; + $prestudent->datum =date('Y-m-d'); + $prestudent->insertamum = date('Y-m-d H:i:s'); + $prestudent->insertvon = $user; + $prestudent->orgform_kurzbz = $prestudentrolle->orgform_kurzbz; + $prestudent->bestaetigtam = $prestudentrolle->bestaetigtam; + $prestudent->bestaetigtvon = $prestudentrolle->bestaetigtvon; + $prestudent->bewerbung_abgeschicktamum = $prestudentrolle->bewerbung_abgeschicktamum; + $prestudent->studienplan_id = $prestudentrolle->studienplan_id; + + if (!$prestudent->save_rolle()) + { + $msg_error .= '
Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].': ' . $prestudent->errormsg; + } + else + { + $count_success_bewerber++; + } + } + else + { + $msg_warning .= '
Der Prestudent '.$array['prestudent_id'].' hat bereits einen Bewerberstatus'; + } + } + } + } + + $msg_success = ''; + if ($count_success_punkte > 0) + { + $msg_success .= $count_success_punkte.' Punkte erfolgreich ins FAS übertragen'; + } + if ($count_success_gesamtpunkte > 0) + { + $msg_success .= '
'.$count_success_gesamtpunkte.' Gesamtpunkte erfolgreich gesetzt'; + } + if ($count_success_bewerber > 0) + { + $msg_success .= '
'.$count_success_bewerber.' Prestudenten zu Bewerber gemacht'; + } + + echo json_encode(array( + 'status' => 'ok', + 'msg_success' => $msg_success, + 'msg_warning' => $msg_warning, + 'msg_error' => $msg_error)); + exit(); + } +} + function sortByField($multArray, $sortField, $desc = true) { $tmpKey = ''; @@ -919,7 +1094,8 @@ if (isset($_REQUEST['reihungstest'])) tbl_gebiet.gebiet_id, tbl_gebiet.bezeichnung AS gebiet, tbl_ablauf.reihung, - tbl_ablauf.studiengang_kz + tbl_ablauf.studiengang_kz, + tbl_ablauf.semester FROM PUBLIC.tbl_rt_person JOIN PUBLIC.tbl_person ON (tbl_rt_person.person_id = tbl_person.person_id) JOIN PUBLIC.tbl_prestudent ps ON (ps.person_id = tbl_rt_person.person_id) @@ -933,7 +1109,7 @@ if (isset($_REQUEST['reihungstest'])) LEFT JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE 1=1 --AND get_rolle_prestudent(prestudent_id, rt.studiensemester_kurzbz) = 'Interessent' - AND tbl_prestudentstatus.studiensemester_kurzbz = rt.studiensemester_kurzbz + --AND tbl_prestudentstatus.studiensemester_kurzbz = rt.studiensemester_kurzbz --AND bewerbung_abgeschicktamum IS NOT NULL --AND bestaetigtam IS NOT NULL AND NOT (testtool.tbl_ablauf.gebiet_id IN ( SELECT testtool.tbl_kategorie.gebiet_id FROM testtool.tbl_kategorie))"; @@ -960,14 +1136,14 @@ if (isset($_REQUEST['reihungstest'])) if ($semester != '') { $query .= " AND tbl_ablauf.semester=" . $db->db_add_param($semester, FHC_INTEGER); - $query .= " AND tbl_prestudentstatus.ausbildungssemester = " . $db->db_add_param($semester, FHC_INTEGER); + //$query .= " AND tbl_prestudentstatus.ausbildungssemester = " . $db->db_add_param($semester, FHC_INTEGER); } if ($prestudent_id != '') { $query .= " AND ps.prestudent_id=" . $db->db_add_param($prestudent_id, FHC_INTEGER); } //$query .= " AND nachname='Al-Mafrachi'"; - $query .= " ORDER BY tbl_ablauf.studiengang_kz, reihung"; + $query .= " ORDER BY tbl_ablauf.studiengang_kz, tbl_ablauf.semester, reihung"; if (!($result = $db->db_query($query))) { @@ -986,131 +1162,162 @@ if (isset($_REQUEST['reihungstest'])) // Alle Ergebnisse laden $query = " SELECT DISTINCT tbl_rt_person.person_id, - gebdatum, - tbl_person.geschlecht, - nachname, - vorname, - UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) AS stg_kurzbz, - tbl_studiengang.bezeichnung AS stg_bez, - tbl_studienplan.orgform_kurzbz, - tbl_gebiet.maxpunkte, - tbl_prestudentstatus.ausbildungssemester, - tbl_ablauf.gewicht, - tbl_ort.planbezeichnung AS raum, - ps.prestudent_id, - tbl_zgv.zgv_kurzbz, - ps.zgv_code, - ps.zgvmas_code, - ( - SELECT count(*) AS prio_relativ - FROM ( - SELECT *, - ( - SELECT status_kurzbz - FROM PUBLIC.tbl_prestudentstatus - WHERE prestudent_id = pst.prestudent_id - ORDER BY datum DESC, - tbl_prestudentstatus.insertamum DESC LIMIT 1 - ) AS laststatus - FROM PUBLIC.tbl_prestudent pst - JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id) - WHERE person_id = ( - SELECT person_id - FROM PUBLIC.tbl_prestudent - WHERE prestudent_id = ps.prestudent_id - ) - AND studiensemester_kurzbz = ( - SELECT studiensemester_kurzbz - FROM PUBLIC.tbl_prestudentstatus - WHERE prestudent_id = ps.prestudent_id - AND status_kurzbz = 'Interessent' LIMIT 1 - ) - AND status_kurzbz = 'Interessent' - ) prest - WHERE laststatus NOT IN ('Abbrecher', 'Abgewiesener', 'Absolvent') - AND priorisierung <= ( - SELECT priorisierung - FROM PUBLIC.tbl_prestudent - WHERE prestudent_id = ps.prestudent_id - ) - ) AS prioritaet, - ( - SELECT kontakt - FROM PUBLIC.tbl_kontakt - WHERE kontakttyp = 'email' - AND zustellung = true - AND person_id = tbl_rt_person.person_id - ORDER BY insertamum DESC, - updateamum DESC LIMIT 1 - ) AS email, - CASE - WHEN tbl_studiengang.typ = 'b' - AND EXISTS( - SELECT 1 - FROM testtool.tbl_pruefling - WHERE prestudent_id = ps.prestudent_id - ) - THEN ( - SELECT sum(testtool.tbl_vorschlag.punkte) AS sum - FROM testtool.tbl_vorschlag - JOIN testtool.tbl_antwort USING (vorschlag_id) - JOIN testtool.tbl_frage USING (frage_id) - WHERE testtool.tbl_antwort.pruefling_id = tbl_pruefling.pruefling_id - AND testtool.tbl_frage.gebiet_id = tbl_gebiet.gebiet_id - ) - ELSE ( - SELECT sum(testtool.tbl_vorschlag.punkte) AS sum - FROM testtool.tbl_vorschlag - JOIN testtool.tbl_antwort USING (vorschlag_id) - JOIN testtool.tbl_frage USING (frage_id) - WHERE testtool.tbl_antwort.pruefling_id = ( - SELECT pruefling_id - FROM testtool.tbl_pruefling - WHERE prestudent_id = ( - SELECT prestudent_id - FROM PUBLIC.tbl_prestudent - JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id) - JOIN PUBLIC.tbl_studiengang USING (studiengang_kz) - JOIN testtool.tbl_pruefling USING (prestudent_id) - WHERE person_id = tbl_rt_person.person_id - AND tbl_studiengang.typ = 'b' - AND status_kurzbz = 'Interessent' - AND studiensemester_kurzbz = rt.studiensemester_kurzbz - ORDER BY registriert DESC LIMIT 1 - ) + gebdatum, + tbl_person.geschlecht, + nachname, + vorname, + UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) AS stg_kurzbz, + tbl_studiengang.bezeichnung AS stg_bez, + tbl_studienplan.orgform_kurzbz, + tbl_gebiet.maxpunkte, + tbl_prestudentstatus.ausbildungssemester, + tbl_ablauf.gewicht, + tbl_ort.planbezeichnung AS raum, + ps.prestudent_id, + tbl_zgv.zgv_kurzbz, + ps.zgv_code, + ps.zgvmas_code, + tbl_rt_person.teilgenommen, + CASE + WHEN tbl_prestudentstatus.statusgrund_id = 9 + AND tbl_prestudentstatus.status_kurzbz = 'Interessent' + THEN true + ELSE false + END AS qualifikationskurs, + ( + SELECT count(*) AS prio_relativ + FROM ( + SELECT *, + ( + SELECT status_kurzbz + FROM PUBLIC.tbl_prestudentstatus + WHERE prestudent_id = pst.prestudent_id + ORDER BY datum DESC, + tbl_prestudentstatus.insertamum DESC LIMIT 1 + ) AS laststatus + FROM PUBLIC.tbl_prestudent pst + JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id) + WHERE person_id = ( + SELECT person_id + FROM PUBLIC.tbl_prestudent + WHERE prestudent_id = ps.prestudent_id + ) + AND studiensemester_kurzbz = ( + SELECT studiensemester_kurzbz + FROM PUBLIC.tbl_prestudentstatus + WHERE prestudent_id = ps.prestudent_id + AND status_kurzbz = 'Interessent' LIMIT 1 + ) + AND status_kurzbz = 'Interessent' + ) prest + WHERE laststatus NOT IN ('Abbrecher', 'Abgewiesener', 'Absolvent') + AND priorisierung <= ( + SELECT priorisierung + FROM PUBLIC.tbl_prestudent + WHERE prestudent_id = ps.prestudent_id ) - AND testtool.tbl_frage.gebiet_id = tbl_gebiet.gebiet_id + ) AS prioritaet, + ( + SELECT kontakt + FROM PUBLIC.tbl_kontakt + WHERE kontakttyp = 'email' + AND zustellung = true + AND person_id = tbl_rt_person.person_id + ORDER BY insertamum DESC, + updateamum DESC LIMIT 1 + ) AS email, + CASE + WHEN /*tbl_studiengang.typ = 'b' + AND*/ EXISTS ( + SELECT 1 + FROM testtool.tbl_pruefling + WHERE prestudent_id = ps.prestudent_id + ) + THEN ( + SELECT sum(testtool.tbl_vorschlag.punkte) AS sum + FROM testtool.tbl_vorschlag + JOIN testtool.tbl_antwort USING (vorschlag_id) + JOIN testtool.tbl_frage USING (frage_id) + WHERE testtool.tbl_antwort.pruefling_id = tbl_pruefling.pruefling_id + AND testtool.tbl_frage.gebiet_id = tbl_gebiet.gebiet_id + ) + ELSE ( + SELECT sum(testtool.tbl_vorschlag.punkte) AS sum + FROM testtool.tbl_vorschlag + JOIN testtool.tbl_antwort USING (vorschlag_id) + JOIN testtool.tbl_frage USING (frage_id) + WHERE testtool.tbl_antwort.pruefling_id = ( + SELECT pruefling_id + FROM testtool.tbl_pruefling + WHERE prestudent_id = ( + SELECT prestudent_id + FROM PUBLIC.tbl_prestudent + JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id) + JOIN PUBLIC.tbl_studiengang USING (studiengang_kz) + JOIN testtool.tbl_pruefling USING (prestudent_id) + WHERE person_id = tbl_rt_person.person_id + AND tbl_studiengang.typ = 'b' + --AND status_kurzbz = 'Interessent' + AND studiensemester_kurzbz = rt.studiensemester_kurzbz + ORDER BY registriert DESC LIMIT 1 + ) + ) + AND testtool.tbl_frage.gebiet_id = tbl_gebiet.gebiet_id + ) + END AS punkte, + tbl_gebiet.gebiet_id, + tbl_gebiet.bezeichnung AS gebiet, + tbl_pruefling.idnachweis, + tbl_pruefling.registriert, + get_rolle_prestudent(prestudent_id, rt.studiensemester_kurzbz) AS letzter_status + FROM PUBLIC.tbl_rt_person + JOIN PUBLIC.tbl_person ON (tbl_rt_person.person_id = tbl_person.person_id) + JOIN PUBLIC.tbl_prestudent ps ON (ps.person_id = tbl_rt_person.person_id) + JOIN PUBLIC.tbl_reihungstest rt ON (tbl_rt_person.rt_id = rt.reihungstest_id) + JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id) + JOIN PUBLIC.tbl_studiengang ON (ps.studiengang_kz = tbl_studiengang.studiengang_kz) + LEFT JOIN lehre.tbl_studienplan ON (tbl_prestudentstatus.studienplan_id = tbl_studienplan.studienplan_id) + LEFT JOIN bis.tbl_zgv ON (ps.zgv_code = tbl_zgv.zgv_code) + LEFT JOIN PUBLIC.tbl_ort ON (tbl_rt_person.ort_kurzbz = tbl_ort.ort_kurzbz) + LEFT JOIN testtool.tbl_pruefling USING (prestudent_id) + LEFT JOIN testtool.tbl_ablauf ON (testtool.tbl_ablauf.studiengang_kz = ps.studiengang_kz) + LEFT JOIN testtool.tbl_gebiet USING (gebiet_id) + WHERE 1 = 1 + --AND get_rolle_prestudent(prestudent_id, rt.studiensemester_kurzbz) NOT IN ('Abgewiesener') /*Wenn einkommentiert, kommen zB bei alten Bewerbungen keine Ergebnisse*/ + AND tbl_prestudentstatus.studiensemester_kurzbz IN ( + SELECT studiensemester_kurzbz + FROM PUBLIC.tbl_studiensemester + WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz + + UNION + + ( + SELECT studiensemester_kurzbz + FROM PUBLIC.tbl_studiensemester + WHERE ende <= ( + SELECT start + FROM PUBLIC.tbl_studiensemester + WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz + ) + ORDER BY ende DESC LIMIT 1 + ) + + UNION + + ( + SELECT studiensemester_kurzbz + FROM PUBLIC.tbl_studiensemester + WHERE start >= ( + SELECT ende + FROM PUBLIC.tbl_studiensemester + WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz + ) + ORDER BY start ASC LIMIT 1 + ) ) - END AS punkte, - /*(SELECT sum(testtool.tbl_vorschlag.punkte) AS sum - FROM testtool.tbl_vorschlag - JOIN testtool.tbl_antwort USING (vorschlag_id) - JOIN testtool.tbl_frage USING (frage_id) - WHERE testtool.tbl_antwort.pruefling_id = tbl_pruefling.pruefling_id - AND testtool.tbl_frage.gebiet_id = tbl_gebiet.gebiet_id - ) AS punkte,*/ - tbl_gebiet.gebiet_id, - tbl_gebiet.bezeichnung AS gebiet, - tbl_pruefling.idnachweis, - tbl_pruefling.registriert -FROM PUBLIC.tbl_rt_person -JOIN PUBLIC.tbl_person ON (tbl_rt_person.person_id = tbl_person.person_id) -JOIN PUBLIC.tbl_prestudent ps ON (ps.person_id = tbl_rt_person.person_id) -JOIN PUBLIC.tbl_reihungstest rt ON (tbl_rt_person.rt_id = rt.reihungstest_id) -JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id) -JOIN PUBLIC.tbl_studiengang ON (ps.studiengang_kz = tbl_studiengang.studiengang_kz) -LEFT JOIN lehre.tbl_studienplan ON (tbl_prestudentstatus.studienplan_id = tbl_studienplan.studienplan_id) -LEFT JOIN bis.tbl_zgv ON (ps.zgv_code = tbl_zgv.zgv_code) -LEFT JOIN PUBLIC.tbl_ort ON (tbl_rt_person.ort_kurzbz = tbl_ort.ort_kurzbz) -LEFT JOIN testtool.tbl_pruefling USING (prestudent_id) -LEFT JOIN testtool.tbl_ablauf ON (testtool.tbl_ablauf.studiengang_kz = ps.studiengang_kz) -LEFT JOIN testtool.tbl_gebiet USING (gebiet_id) -WHERE 1 = 1 - AND get_rolle_prestudent(prestudent_id, rt.studiensemester_kurzbz) = 'Interessent' - AND tbl_prestudentstatus.studiensemester_kurzbz = rt.studiensemester_kurzbz - AND bewerbung_abgeschicktamum IS NOT NULL - AND bestaetigtam IS NOT NULL - AND tbl_gebiet.gebiet_id != 7 + AND bewerbung_abgeschicktamum IS NOT NULL + AND bestaetigtam IS NOT NULL + AND tbl_gebiet.gebiet_id != 7 "; if ($reihungstest != '') { @@ -1135,7 +1342,7 @@ WHERE 1 = 1 if ($semester != '') { $query .= " AND tbl_ablauf.semester=" . $db->db_add_param($semester, FHC_INTEGER); - $query .= " AND tbl_prestudentstatus.ausbildungssemester = " . $db->db_add_param($semester, FHC_INTEGER); + //$query .= " AND tbl_prestudentstatus.ausbildungssemester = " . $db->db_add_param($semester, FHC_INTEGER); } if ($prestudent_id != '') { @@ -1168,6 +1375,7 @@ WHERE 1 = 1 $ergebnis[$row->prestudent_id]->nachname = $row->nachname; $ergebnis[$row->prestudent_id]->vorname = $row->vorname; $ergebnis[$row->prestudent_id]->gebdatum = $row->gebdatum; + $ergebnis[$row->prestudent_id]->email = $row->email; $ergebnis[$row->prestudent_id]->geschlecht = $row->geschlecht; $ergebnis[$row->prestudent_id]->idnachweis = $row->idnachweis; $ergebnis[$row->prestudent_id]->registriert = $row->registriert; @@ -1179,6 +1387,9 @@ WHERE 1 = 1 $ergebnis[$row->prestudent_id]->raum = $row->raum; $ergebnis[$row->prestudent_id]->prioritaet = ($row->prioritaet != '' ? $row->prioritaet : ''); $ergebnis[$row->prestudent_id]->orgform = $row->orgform_kurzbz; + $ergebnis[$row->prestudent_id]->teilgenommen = $db->db_parse_bool($row->teilgenommen); + $ergebnis[$row->prestudent_id]->qualifikationskurs = $db->db_parse_bool($row->qualifikationskurs); + $ergebnis[$row->prestudent_id]->letzter_status = $row->letzter_status; if (!isset($ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id])) { @@ -1555,17 +1766,17 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls') $worksheetOhnePhsyik->write(0, ++$spalte, 'S', $format_bold); $worksheetOhnePhsyik->mergeCells(0, 8, 1, 8); $maxlength[8] = 2; - $worksheet->write(0, ++$spalte, 'OrgForm', $format_bold); - $worksheet->mergeCells(0, 9, 1, 9); + $worksheetOhnePhsyik->write(0, ++$spalte, 'OrgForm', $format_bold); + $worksheetOhnePhsyik->mergeCells(0, 9, 1, 9); $maxlength[9] = 8; - $worksheet->write(0, ++$spalte, 'Prio', $format_bold); - $worksheet->mergeCells(0, 10, 1, 10); + $worksheetOhnePhsyik->write(0, ++$spalte, 'Prio', $format_bold); + $worksheetOhnePhsyik->mergeCells(0, 10, 1, 10); $maxlength[10] = 5; - $worksheet->write(0, ++$spalte, 'ZGV', $format_bold); - $worksheet->mergeCells(0, 11, 1, 11); + $worksheetOhnePhsyik->write(0, ++$spalte, 'ZGV', $format_bold); + $worksheetOhnePhsyik->mergeCells(0, 11, 1, 11); $maxlength[11] = 20; - $worksheet->write(0, ++$spalte, 'ZGV MA', $format_bold); - $worksheet->mergeCells(0, 12, 1, 12); + $worksheetOhnePhsyik->write(0, ++$spalte, 'ZGV MA', $format_bold); + $worksheetOhnePhsyik->mergeCells(0, 12, 1, 12); $maxlength[12] = 20; $spalte = 11; @@ -1630,8 +1841,8 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls') $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->stg_kurzbz); $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->stg_bez); $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->ausbildungssemester); - $worksheet->write($zeile, ++$spalte, $erg->orgform); - $worksheet->write($zeile, ++$spalte, $erg->prioritaet); + $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->orgform); + $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->prioritaet); $worksheetOhnePhsyik->write($zeile, ++$spalte, $zgv_arr[$erg->zgv]); $worksheetOhnePhsyik->write($zeile, ++$spalte, $zgvma_arr[$erg->zgvma]); foreach ($gebiet AS $gbt) @@ -1867,8 +2078,8 @@ else $("#auswertung_table").tablesorter( { widgets: ["zebra", "filter", "columnSelector"], - sortList: [[12,1],[2,0],[3,0]], - headers: {0: { sorter: false, filter: false}, 4: { dateFormat: "ddmmyyyy" }} + sortList: [[16,1],[3,0],[4,0]], + headers: {0: { sorter: false, filter: false}, 2: { sorter: false, filter: false}, 4: { dateFormat: "ddmmyyyy" }} /*widgetOptions : { columnSelector_container : $("#columnSelector"), columnSelector_saveColumns: true} */ @@ -1886,12 +2097,28 @@ else { $("#auswertung_table").checkboxes("toggle"); e.preventDefault(); + if ($("input.prestudentCheckbox:checked").length > 0) + $("#mailSendButton").html("Mail an markierte senden"); + else + $("#mailSendButton").html("Mail an alle senden"); }); $("#uncheck_table").on("click", function(e) { $("#auswertung_table").checkboxes("uncheck"); e.preventDefault(); + if ($("input.prestudentCheckbox:checked").length > 0) + $("#mailSendButton").html("Mail an markierte senden"); + else + $("#mailSendButton").html("Mail an alle senden"); + }); + + $(".prestudentCheckbox").change(function() + { + if ($("input.prestudentCheckbox:checked").length > 0) + $("#mailSendButton").html("Mail an markierte senden"); + else + $("#mailSendButton").html("Mail an alle senden"); }); $("#auswertung_table").checkboxes("range", true); @@ -1915,6 +2142,11 @@ else { $(".loaderIcon").show(); }); + + $("#showUebertragenOptionsButton").on("click", function(e) + { + $("#uebertragenOptions").toggle(300); + }); }); function deleteResult(prestudent_id, gebiet_id, name, gebiet_bezeichnung) @@ -1934,7 +2166,7 @@ else dataType: "json", success: function(data) { - if(data.status!="ok") + if(data.status !== "ok") { $("#msgbox").attr("class","alert alert-danger"); $("#msgbox").show(); @@ -1973,7 +2205,7 @@ else dataType: "json", success: function(data) { - if(data.status!="ok") + if(data.status !== "ok") { $("#msgbox").attr("class","alert alert-danger"); $("#msgbox").show(); @@ -1981,7 +2213,7 @@ else } else { - $("#row_"+prestudent_id).find("td.punkte").each (function() + $("#row_"+prestudent_id).find("td.punkte, td.col_gesamtpunkte_ohne_physik").each (function() { $(this).html(""); }); @@ -2014,7 +2246,7 @@ else dataType: "json", success: function(data) { - if(data.status!="ok") + if(data.status !== "ok") { $("#msgbox").attr("class","alert alert-danger"); $("#msgbox").show(); @@ -2050,7 +2282,7 @@ else function testende(reihungstest) { var selected = []; - if ($("input.prestudentCheckbox:checked").length == 0) + if ($("input.prestudentCheckbox:checked").length === 0) { alert("Bitte wählen Sie mindestens einen Eintrag aus der Liste"); return false; @@ -2059,9 +2291,11 @@ else { if (confirm("Setzt bei allen markierten Personen \'Zum Reihungstest angetreten\' und informiert die entsprechende Studiengangsassistenz. Wollen Sie fortfahren?")) { - $("input.prestudentCheckbox:checked").each(function() { - selected.push($(this).attr("name")); - }); + $("input.prestudentCheckbox:checked").each(function() + { + selected.push($(this).attr("name")); + }); + $(".loaderIcon").show(); data = { @@ -2077,7 +2311,7 @@ else dataType: "json", success: function(data) { - if(data.status!="ok") + if(data.status !== "ok") { $("#msgbox").attr("class","alert alert-danger"); $("#msgbox").show(); @@ -2101,20 +2335,164 @@ else }); } } - - - - } + function sendMail() + { + // Wenn Checkboxen markiert sind, an diese senden, sonst an alle + if ($("input.prestudentCheckbox:checked").length > 0) + { + var elements = $("input.prestudentCheckbox:checked"); + } + else + { + var elements = $("input.prestudentCheckbox:visible"); + } + + var mailadressen = ""; + var adresse = ""; + var counter = 0; + var adresseArray = []; + + // Schleife ueber die einzelnen Elemente + // Aus Spamgründen dürfen je Nachricht maximal 100 Empfänger enthalten sein + // Deshalb wird nach 100 Einträgen ein neues window.location.href erzeugt + // Außerdem darf die URL nicht länger als 1988 Zeichen (2000 - 12 Zeichen URL-Prefix) sein. + $.each(elements, function(index, item) + { + adresse = $(this).closest("tr").find("td.clm_email a:first").attr("href"); + adresse = adresse.replace(/^mailto?:/, ""); + + if($.inArray(adresse, adresseArray) === -1) + { + if (counter > 0 && (counter % 100 === 0) || (adresseArray.join(";").length + adresse.length > 1988)) + { + window.location.href = "mailto:?bcc="+adresseArray.join(";"); + adresseArray = []; + adresseArray.push(adresse); + counter = 0; + } + else + { + adresseArray.push(adresse); + } + counter ++; + } + }); + window.location.href = "mailto:?bcc="+adresseArray.join(";"); + } + function checkAllWithResult() + { + // Schleife ueber die einzelnen Elemente + $(".col_gesamtpunkte_ohne_physik").each(function() + { + if ($(this).text().trim() !== "") + { + $(this).parents("tr").find("input[type=checkbox]").prop("checked", true); + } + else + { + $(this).parents("tr").find("input[type=checkbox]").prop("checked", false); + } + }); + if ($("input.prestudentCheckbox:checked").length > 0) + $("#mailSendButton").html("Mail an markierte senden"); + else + $("#mailSendButton").html("Mail an alle senden"); + } + function punkteUebertragen(reihungstest) + { + var prestudentPunkteArr = []; + var gesamtpunkteSetzen = false; + var zuBewerberMachen = false; + if ($("input.prestudentCheckbox:checked").length === 0) + { + alert("Bitte wählen Sie mindestens einen Eintrag aus der Liste"); + return false; + } + else + { + //if (confirm("Setzt bei allen markierten Personen \'Zum Reihungstest angetreten\' und informiert die entsprechende Studiengangsassistenz. Wollen Sie fortfahren?")) + { + $("input.prestudentCheckbox:checked").each(function() + { + if ($("#uebertragenOptionPhysik:checked").length === 1) + { + prestudentPunkteArr.push({ + prestudent_id: $(this).attr("name"), + ergebnis: $(this).parents("tr").find(".erg_gesamt_mit_physik").text() + }); + } + else + { + prestudentPunkteArr.push({ + prestudent_id: $(this).attr("name"), + ergebnis: $(this).parents("tr").find(".erg_gesamt_ohne_physik").text() + }); + } + }); + + $(".loaderIcon").show(); + if ($("#uebertragenOptionGesamtpunkte:checked").length === 1) + { + gesamtpunkteSetzen = true; + } + if ($("#uebertragenOptionBewerber:checked").length === 1) + { + zuBewerberMachen = true; + } + + data = { + reihungstest_id: reihungstest, + prestudentPunkteArr: prestudentPunkteArr, + gesamtpunkteSetzen: gesamtpunkteSetzen, + zuBewerberMachen: zuBewerberMachen, + punkteUebertragen: true + }; + + $.ajax({ + url: "auswertung_fhtw.php", + data: data, + type: "POST", + dataType: "json", + success: function(data) + { + $("#msgbox").html(""); + if(data["msg_success"] !== "") + { + $("#msgbox").attr("class","alert alert-success"); + $(".loaderIcon").hide(); + $("#msgbox").show(); + $("#msgbox").append(data["msg_success"]); + } + if(data["msg_warning"] !== "") + { + $("#msgbox").attr("class","alert alert-warning"); + $(".loaderIcon").hide(); + $("#msgbox").show(); + $("#msgbox").append(data["msg_warning"]); + //$("#msgbox").html(data["msg"]).delay(2000).fadeOut(); + } + if(data["msg_error"] !== "") + { + $("#msgbox").attr("class","alert alert-danger"); + $(".loaderIcon").hide(); + $("#msgbox").show(); + $("#msgbox").append(data["msg_error"]); + } + }, + error: function(data) + { + $("#msgbox").attr("class","alert alert-danger"); + $("#msgbox").show(); + $("#msgbox").html(data["msg"]); + } + }); + } + } + } + - - - -

Räume Übersicht

- - - - - + + + + + + + + +

Räume Übersicht

+ + + + + diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php index b3e0a3ccc..ce29b583a 100644 --- a/vilesci/stammdaten/reihungstestverwaltung.php +++ b/vilesci/stammdaten/reihungstestverwaltung.php @@ -954,14 +954,14 @@ if(isset($_GET['excel'])) }; // Wenn die Spalten "Absolvierte Tests" oder "Ergebnis" angezeigt werden, wird die Punkteberechnung aktiviert - $('#clm_absolviert, #clm_ergebnis').on('click', function() + $('#clm_absolviert').on('click', function() { - if ( == 'false' && (document.getElementById('clm_absolviert').className == 'inactive' || document.getElementById('clm_ergebnis').className == 'inactive')) + if ( == 'false' && ($('#clm_absolviert').attr('class') == 'active')) { $('.wait').html('...loading...'); window.location.href = ""; } - else if ( == 'true' && document.getElementById('clm_absolviert').className == 'inactive' && document.getElementById('clm_ergebnis').className == 'inactive') + else if ( == 'true' && $('#clm_absolviert').attr('class') == 'inactive') window.location.href = ""; }); @@ -983,7 +983,8 @@ if(isset($_GET['excel'])) "filter_clm_studienplan", "filter_clm_einstiegssemester", "filter_clm_geburtsdatum", - "filter_clm_email"]} + "filter_clm_email", + "filter_clm_absolviert"]} }); $("#toggle_"+v.id).on('click', function(e) { @@ -1021,7 +1022,8 @@ if(isset($_GET['excel'])) 'clm_studienplan', 'clm_einstiegssemester', 'clm_geburtsdatum', - 'clm_email']; + 'clm_email', + 'clm_absolviert']; for (var i in arr) { i = arr[i]; @@ -1037,6 +1039,13 @@ if(isset($_GET['excel'])) else document.getElementById(i).className = 'active'; } + // Wenn punkteberechnung true, wird spalte clm_absolviert anzezeigt + if( == 'true' && i == 'clm_absolviert') + { + $('.'+i).css('display', 'table-cell'); + $('.filter_'+i).parent().css('display', 'table-cell'); + document.getElementById(i).className = 'active'; + } } } @@ -2633,7 +2642,7 @@ if($reihungstest_id!='') echo '
Einstiegssemester
'; echo '
Geburtsdatum
'; echo '
EMail
'; - //echo '
Absolvierte Tests
'; + echo '
Absolvierte Tests
'; //echo '
Ergebnis
'; //echo '
FAS
'; echo ''; @@ -2674,8 +2683,8 @@ if($reihungstest_id!='') Einstiegssemester Geburtsdatum EMail - @@ -2793,6 +2802,7 @@ if($reihungstest_id!='') '.$db->convert_html_chars($row->ausbildungssemester).' '.$db->convert_html_chars($row->gebdatum!=''?$datum_obj->convertISODate($row->gebdatum):' ').' + '.$rt_in_anderen_stg.' '; $mailto.= ($mailto!=''?',':'').$row->email; @@ -2855,8 +2865,8 @@ if($reihungstest_id!='') Einstiegssemester Geburtsdatum EMail - @@ -2973,9 +2983,9 @@ if($reihungstest_id!='') '.$db->convert_html_chars($studienplan_bezeichnung).' ('.$row->studienplan_id.') '.$db->convert_html_chars($row->ausbildungssemester).' '.$db->convert_html_chars($row->gebdatum!=''?$datum_obj->convertISODate($row->gebdatum):' ').' - '; - /*echo ''.$rt_in_anderen_stg.' - '.($rtergebnis==0?'-':number_format($rtergebnis,2,'.','')).' % + + '.$rt_in_anderen_stg.''; + /*echo ''.($rtergebnis==0?'-':number_format($rtergebnis,2,'.','')).' % '; if($rtergebnis!==false && $rtergebnis != '' && $row->punkte=='') echo 'übertragen'; diff --git a/vilesci/stammdaten/studiengang_uebersicht.php b/vilesci/stammdaten/studiengang_uebersicht.php index 9a7475434..64b5721ff 100644 --- a/vilesci/stammdaten/studiengang_uebersicht.php +++ b/vilesci/stammdaten/studiengang_uebersicht.php @@ -57,7 +57,6 @@ require_once('../../include/benutzerberechtigung.class.php'); //$htmlstr = "\n"; $htmlstr = ''; $htmlstr .= ' -

@@ -117,16 +116,8 @@ $(document).ready(function() $("#t1").tablesorter( { sortList: [[3,0],[1,0]], - widgets: ["saveSort", "zebra", "filter", "stickyHeaders"], - headers: {6:{sorter:false}}, - widgetOptions : {filter_saveFilters : true} - }); - - $('.resetsaved').click(function() - { - $("#t1").trigger("filterReset"); - location.reload(); - return false; + widgets: ["zebra", "filter", "stickyHeaders"], + headers: {6:{sorter:false}} }); } ); diff --git a/vilesci/statistik/oehwaehlerverzeichnis.php b/vilesci/statistik/oehwaehlerverzeichnis.php index 144b630fc..f7ea9447e 100644 --- a/vilesci/statistik/oehwaehlerverzeichnis.php +++ b/vilesci/statistik/oehwaehlerverzeichnis.php @@ -110,7 +110,7 @@ if($result = $db->db_query($qry)) $data_row[2]=implode(';',$personenkennzeichen); $data_row[7]=implode(';',$studiengang_kz); - echo implode('|',$data_row)."|\r\n"; + echo implode('|',$data_row)."\r\n"; $data_row = array(); $personenkennzeichen = array(); $studiengang_kz = array(); @@ -166,5 +166,5 @@ if($result = $db->db_query($qry)) $data_row[2]=implode(';',$personenkennzeichen); $data_row[7]=implode(';',$studiengang_kz); - echo implode('|',$data_row)."|\r\n"; + echo implode('|',$data_row)."\r\n"; }
Kz