diff --git a/application/controllers/api/v1/codex/Zgv.php b/application/controllers/api/v1/codex/Zgv.php index 3d1b64029..670ffc190 100644 --- a/application/controllers/api/v1/codex/Zgv.php +++ b/application/controllers/api/v1/codex/Zgv.php @@ -45,14 +45,6 @@ class Zgv extends API_Controller } } - /** - * @return zgv - */ - public function getAllZgv() - { - $this->response($this->Zgv_model->getAllZgv(), REST_Controller::HTTP_OK); - } - /** * @return void */ diff --git a/application/controllers/api/v1/codex/Zgvmaster.php b/application/controllers/api/v1/codex/Zgvmaster.php index 7775724c2..ff737dd7f 100644 --- a/application/controllers/api/v1/codex/Zgvmaster.php +++ b/application/controllers/api/v1/codex/Zgvmaster.php @@ -45,14 +45,6 @@ class Zgvmaster extends API_Controller } } - /** - * @return zgvmaster - */ - public function getAllZgvmaster() - { - $this->response($this->Zgvmaster_model->getAllZgvmaster(), REST_Controller::HTTP_OK); - } - /** * @return void */ diff --git a/application/controllers/organisation/Studiensemester.php b/application/controllers/organisation/Studiensemester.php index 10fa5b3ad..685c8cd7c 100644 --- a/application/controllers/organisation/Studiensemester.php +++ b/application/controllers/organisation/Studiensemester.php @@ -138,7 +138,7 @@ class Studiensemester extends Auth_Controller $start = $this->input->post("semstart"); $ende = $this->input->post("semende"); $studienjahr_kurzbz = $this->input->post("studienjahrkurzbz"); - $beschreibung = $this->input->post("beschreibung"); + $beschreibung = isEmptyString($this->input->post("beschreibung")) ? null : $this->input->post("beschreibung"); $onlinebewerbung = $this->input->post("onlinebewerbung"); $onlinebewerbung = isset($onlinebewerbung); diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 3bd08b7d1..48c50bb4a 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -1987,11 +1987,23 @@ class InfoCenter extends Auth_Controller $studienArtBerechtigung = array_column($this->getStudienArtBerechtigung(), 'typ'); + $this->ZgvModel->addOrder('zgv_bez'); + $allZGVs = getData($this->ZgvModel->load()); + + $this->ZgvModel->addOrder('zgvmas_bez'); + $allZGVsMaster = getData($this->ZgvmasterModel->load()); + + $this->NationModel->addOrder('langtext'); + $allNations = getData($this->NationModel->load()); + $data = array ( 'zgvpruefungen' => $zgvpruefungen, 'abwstatusgruende' => $abwstatusgruende, 'intstatusgruende' => $intstatusgruende, - 'studienArtBerechtigung' => $studienArtBerechtigung + 'studienArtBerechtigung' => $studienArtBerechtigung, + 'all_zgvs' => $allZGVs, + 'all_zgvs_master' => $allZGVsMaster, + 'all_nations' => $allNations, ); return $data; diff --git a/application/libraries/FilterWidgetLib.php b/application/libraries/FilterWidgetLib.php index d9a3428a0..19cdec848 100644 --- a/application/libraries/FilterWidgetLib.php +++ b/application/libraries/FilterWidgetLib.php @@ -340,20 +340,25 @@ class FilterWidgetLib { $filterDefinition = $filters[$filtersCounter]; // definition of one filter - if ($filtersCounter > 0) - $where .= ' AND '; // if it's NOT the last one - - if (!isEmptyString($filterDefinition->name)) // if the name of the applied filter is valid + // If the name of the applied filter is valid + if (!isEmptyString($filterDefinition->name)) { - // ...build the condition - $where .= '"'.$filterDefinition->name.'"'.$this->_getDatasetQueryCondition($filterDefinition); + // Build the query conditions + $datasetQueryCondition = $this->_getDatasetQueryCondition($filterDefinition); + + // If the built condition is valid then add it to the query clause + if (!isEmptyString($datasetQueryCondition)) + { + // // If this is NOT the first one + if ($filtersCounter > 0) $where .= ' AND '; + + $where .= '"'.$filterDefinition->name.'"'.$datasetQueryCondition; + } } } - if ($where != '') // if the SQL where clause was built - { - $datasetQuery .= ' WHERE '.$where; - } + // If the SQL where clause was built + if ($where != '') $datasetQuery .= ' WHERE '.$where; } return $datasetQuery; diff --git a/application/models/CL/Messages_model.php b/application/models/CL/Messages_model.php index 4975af382..b987102dd 100644 --- a/application/models/CL/Messages_model.php +++ b/application/models/CL/Messages_model.php @@ -528,6 +528,13 @@ class Messages_model extends CI_Model */ public function sendReply($receiver_id, $subject, $body, $relationmessage_id, $token) { + // Checks that the receiver_id, relationmessage_id and token belongs to the same message + $crossedDataResult = $this->MessageTokenModel->crossClientData($token, $relationmessage_id, $receiver_id); + if (isError($crossedDataResult)) show_error(getError($crossedDataResult)); + if (!hasData($crossedDataResult)) show_error( + 'The parameters token, relationmessage_id and receiver_id do not belong to the same message' + ); + // Retrieves message sender information $senderResult = $this->MessageTokenModel->getSenderData($receiver_id); if (isError($senderResult)) show_error(getError($senderResult)); diff --git a/application/models/codex/Nation_model.php b/application/models/codex/Nation_model.php index a66b77edb..ee38c9051 100644 --- a/application/models/codex/Nation_model.php +++ b/application/models/codex/Nation_model.php @@ -11,14 +11,4 @@ class Nation_model extends DB_Model $this->dbTable = 'bis.tbl_nation'; $this->pk = 'nation_code'; } - - /** - * getAllForStyled Dropdown - */ - public function getAll() - { - $allNations = 'SELECT * FROM bis.tbl_nation ORDER BY bis.tbl_nation.langtext ASC;'; - - return $this->execQuery($allNations); - } } diff --git a/application/models/codex/Zgv_model.php b/application/models/codex/Zgv_model.php index 0206d1292..1e1ba99ad 100644 --- a/application/models/codex/Zgv_model.php +++ b/application/models/codex/Zgv_model.php @@ -11,16 +11,4 @@ class Zgv_model extends DB_Model $this->dbTable = 'bis.tbl_zgv'; $this->pk = 'zgv_code'; } - - /** - * getAllForStyled Dropdown - */ - public function getAllZgv() - { - $allZgv = 'SELECT * FROM bis.tbl_zgv ORDER BY zgv_bez ASC;'; - - return $this->execQuery($allZgv); - } - - } diff --git a/application/models/codex/Zgvmaster_model.php b/application/models/codex/Zgvmaster_model.php index 0f6305532..38f8a0dcb 100644 --- a/application/models/codex/Zgvmaster_model.php +++ b/application/models/codex/Zgvmaster_model.php @@ -11,14 +11,4 @@ class Zgvmaster_model extends DB_Model $this->dbTable = 'bis.tbl_zgvmaster'; $this->pk = 'zgvmas_code'; } - - /** - * getAllForStyled Dropdown - */ - public function getAllZgvmaster() - { - $allZgvMaster = 'SELECT * FROM bis.tbl_zgvmaster ORDER BY zgvmas_bez ASC;'; - - return $this->execQuery($allZgvMaster); - } } diff --git a/application/models/system/MessageToken_model.php b/application/models/system/MessageToken_model.php index cd3d8f7d9..af7794fdb 100644 --- a/application/models/system/MessageToken_model.php +++ b/application/models/system/MessageToken_model.php @@ -176,4 +176,20 @@ class MessageToken_model extends DB_Model return $this->execQuery($sql, array($oe_kurzbz)); } + + /** + * + */ + public function crossClientData($token, $relationmessage_id, $receiver_id) + { + $sql = 'SELECT mm.message_id + FROM public.tbl_msg_message mm + JOIN public.tbl_msg_recipient mr USING(message_id) + WHERE mr.token = ? + AND mm.message_id = ? + AND mm.person_id = ?'; + + return $this->execQuery($sql, array($token, $relationmessage_id, $receiver_id)); + } } + diff --git a/application/views/system/infocenter/zgvpruefungen.php b/application/views/system/infocenter/zgvpruefungen.php index f6e8a845b..2e6ea90d2 100644 --- a/application/views/system/infocenter/zgvpruefungen.php +++ b/application/views/system/infocenter/zgvpruefungen.php @@ -222,12 +222,25 @@ p->t('infocenter', 'zgv') ?> - widgetlib->widget( - 'Zgv_widget', - array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgv_code), - array('name' => 'zgv', 'id' => 'zgv_'.$zgvpruefung->prestudent_id) - ); ?> + prestudent_id . "' name='zgv' class='form-control'>"; + $selectedDefault = (is_null($zgvpruefung->zgv_code) ? 'selected' : ''); + echo ""; + foreach ($all_zgvs as $zgv) + { + $selected = ($zgvpruefung->zgv_code === $zgv->zgv_code) ? 'selected' : ''; + $aktiv = ''; + $class = ''; + if (!$zgv->aktiv) + { + $aktiv = '(inaktiv)'; + $class = 'gesperrtoption'; + } + + echo ""; + } + echo ""; + endif;?>
@@ -265,11 +278,26 @@ zgvnation_bez; else - echo $this->widgetlib->widget( - 'Nation_widget', - array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvnation_code), - array('name' => 'zgvnation', 'id' => 'zgvnation_'.$zgvpruefung->prestudent_id) - ); ?> + { + echo ""; + } + ?>
@@ -282,11 +310,25 @@ if ($infoonly) echo $zgvpruefung->zgvmas_bez; else - echo $this->widgetlib->widget( - 'Zgvmaster_widget', - array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvmas_code), - array('name' => 'zgvmas', 'id' => 'zgvmas_'.$zgvpruefung->prestudent_id) - ); ?> + { + echo ""; + } + ?>
@@ -326,11 +368,28 @@ if ($infoonly) echo $zgvpruefung->zgvmanation_bez; else - echo $this->widgetlib->widget( - 'Nation_widget', - array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvmanation_code), - array('name' => 'zgvmanation', 'id' => 'zgvmanation_'.$zgvpruefung->prestudent_id) - ); ?> + { + echo ""; + } + ?>
diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php index 3c9985a8b..73d0e6fca 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php @@ -233,12 +233,21 @@ if (isset($_REQUEST["submit"])) continue; } $punkte=str_replace(',','.', $punkte); - //UID ermitteln + + //check ob statt Matrikelnummer nicht bereits student_uid (Moodle Grade Import) vorliegt.. $student = new student(); - if(!$student_uid = $student->getUidFromMatrikelnummer($matrikelnummer)) + if (!$student->checkIfValidStudentUID($matrikelnummer)) { - $response.="\n".$p->t('benotungstool/studentMitMatrikelnummerExistiertNicht',array($matrikelnummer)); - continue; + //UID ermitteln + if(!$student_uid = $student->getUidFromMatrikelnummer($matrikelnummer)) + { + $response.="\n".$p->t('benotungstool/studentMitMatrikelnummerExistiertNicht',array($matrikelnummer)); + continue; + } + } + else + { + $student_uid = $matrikelnummer; } // Hole Zeugnisnote wenn schon eine eingetragen ist diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index 3ff1f4695..916f2b4e3 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -803,6 +803,7 @@ if (defined('CIS_ANWESENHEITSLISTE_NOTENLISTE_ANZEIGEN') && CIS_ANWESENHEITSLIST { $hrefpath = "../notenliste.xls.php?stg=$stg_obj->studiengang_kz&lvid=$lvid&stsem=$stsem"; echo "
" . $p->t('benotungstool/notenlisteImport') . ""; + } // eingetragene lv-gesamtnoten freigeben diff --git a/cis/private/lehre/fotoliste.pdf.php b/cis/private/lehre/fotoliste.pdf.php index 018ef6d7e..353f3a2ad 100644 --- a/cis/private/lehre/fotoliste.pdf.php +++ b/cis/private/lehre/fotoliste.pdf.php @@ -103,6 +103,7 @@ $gruppen_string = ''; $gruppen_string_arr = array(); $stg_typ = $stg->typ; $stg_bezeichnung = $stg->bezeichnung; +$lv_bezeichnung = ''; //structure overall lehrveranstaltungs data if ($result = $db->db_query($qry)) { @@ -154,6 +155,7 @@ $qry = 'SELECT DISTINCT ON (nachname, vorname, person_id) vorname, nachname, + wahlname, matrikelnr, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, @@ -238,6 +240,16 @@ if ($result = $db->db_query($qry)) { if ($row->stg_kz_student == $a_o_kz) //Außerordentliche Studierende $zusatz .= '(a.o.)'; + //wenn Wahlname vorhanden, wird dieser anstelle des Vornamens angezeigt + if ($row->wahlname != '') + { + $vorname = $row->wahlname; + } + else + { + $vorname = $row->vorname; + } + //allow admin and assistenz to see ALL fotos (even if locked by user) if ($show_all_fotos) $row->foto_sperre = 'f'; @@ -272,7 +284,7 @@ if ($result = $db->db_query($qry)) { //add studierenden data for XML $data[] = array('studierende' => array( - 'vorname' => $row->vorname, + 'vorname' => $vorname, 'nachname' => mb_strtoupper($row->nachname, 'UTF-8'), 'personenkennzeichen' => trim($row->matrikelnr), 'geschlecht' => $row->geschlecht, diff --git a/cis/private/lehre/lesson.php b/cis/private/lehre/lesson.php index 4d8c872a1..8ac751ba3 100644 --- a/cis/private/lehre/lesson.php +++ b/cis/private/lehre/lesson.php @@ -102,6 +102,7 @@ if (isset($_GET["handbuch"])){ + diff --git a/cis/private/lehre/notenliste.php b/cis/private/lehre/notenliste.php index 842d4b603..00a07b480 100644 --- a/cis/private/lehre/notenliste.php +++ b/cis/private/lehre/notenliste.php @@ -136,7 +136,7 @@ if (! check_student($user)) } else { - $qry = "SELECT vw_student.vorname, vw_student.nachname, vw_student.prestudent_id, tbl_studiengang.studiengang_kz + $qry = "SELECT vw_student.vorname, vw_student.nachname, vw_student.wahlname, vw_student.prestudent_id, tbl_studiengang.studiengang_kz FROM public.tbl_studiengang JOIN campus.vw_student USING (studiengang_kz) WHERE campus.vw_student.uid = " . $db->db_add_param($user) . ";"; @@ -148,6 +148,7 @@ else $vorname = $row->vorname; $nachname = $row->nachname; + $wahlname = $row->wahlname; $prestudent_id = $row->prestudent_id; $stg_obj = new studiengang(); $stg_obj->load($row->studiengang_kz); @@ -313,7 +314,7 @@ else // Noten ohne Wert werden entfernen if(isset($notenarr[$row->note]['notenwert'])) { - $notenSummenArray[$row->lehrveranstaltung_id]['notenwert'] = $notenarr[$row->note]['notenwert']; + $notenSummenArray[$row->lehrveranstaltung_id]['notenwert'] = $notenarr[$row->note]['notenwert']; $notenSummenArray[$row->lehrveranstaltung_id]['ects'] = $row->ects; } } diff --git a/cis/private/lehre/notenliste.xls.php b/cis/private/lehre/notenliste.xls.php index ad25a6bc2..74cb7e7c1 100644 --- a/cis/private/lehre/notenliste.xls.php +++ b/cis/private/lehre/notenliste.xls.php @@ -167,7 +167,7 @@ else //Lektoren ermitteln $qry = "SELECT - distinct vorname, nachname + distinct vorname, nachname, wahlname FROM campus.vw_benutzer, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter WHERE @@ -211,7 +211,7 @@ else $qry = " SELECT distinct on(nachname, vorname, person_id) - vorname, nachname, matrikelnr, person_id, tbl_student.student_uid as uid, + vorname, nachname, wahlname, matrikelnr, person_id, tbl_student.student_uid as uid, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, (SELECT status_kurzbz FROM public.tbl_prestudentstatus @@ -277,6 +277,8 @@ else $worksheet->write($lines,1,$elem->uid); $worksheet->write($lines,2,$elem->nachname.$inc); $worksheet->write($lines,3,$elem->vorname); + //wenn Wahlname vorhanden überschreibt dieser den Vornamen + $worksheet->write($lines,3,$elem->wahlname); $worksheet->write($lines,4,'="'.$elem->semester.$elem->verband.$elem->gruppe.'"'); $worksheet->write($lines,5,'="'.trim($elem->matrikelnr).'"',$format_highlight); $worksheet->write($lines,6, $note, $format_highlightright); diff --git a/cis/private/profile/freebusy.php b/cis/private/profile/freebusy.php index d2e4f9bba..34cfc05ba 100644 --- a/cis/private/profile/freebusy.php +++ b/cis/private/profile/freebusy.php @@ -19,7 +19,7 @@ */ /* * GUI fuer die FreeBusy Verwaltung - * + * * Mit diesem Tool koennen FreeBusy URLs aus verschiedenen Quellen zu einer * FreeBusy URL zusammengefasst werden */ @@ -32,7 +32,7 @@ require_once('../../../include/benutzerberechtigung.class.php'); if (!$db = new basis_db()) die('Fehler beim Oeffnen der Datenbankverbindung'); - + $user = get_uid(); $sprache = getSprache(); $p = new phrasen($sprache); @@ -60,23 +60,23 @@ echo ' '.$p->t('freebusy/titel').' - + - +