diff --git a/application/controllers/api/frontend/v1/CisMenu.php b/application/controllers/api/frontend/v1/CisMenu.php index d5da7528f..5324f348b 100644 --- a/application/controllers/api/frontend/v1/CisMenu.php +++ b/application/controllers/api/frontend/v1/CisMenu.php @@ -91,6 +91,8 @@ class CisMenu extends FHCAPI_Controller $doc->loadXML($menuItem->content); $urlElem = $doc->getElementsByTagName('url')->item(0); + $this->menuItemUrlTargetHelper($menuItem, $doc); + if (!$urlElem) { return ''; } @@ -122,5 +124,18 @@ class CisMenu extends FHCAPI_Controller return $url; } + private function menuItemUrlTargetHelper($menuItem, $xmldoc) + { + if($menuItem->template_kurzbz === 'redirect') + { + $targetElem = $xmldoc->getElementsByTagName('target')->item(0); + $target = ($targetElem) ? $targetElem->textContent : ''; + if(!in_array($target, array('_self', '_top', '_blank'))) + { + $target = '_self'; + } + $menuItem->target = $target; + } + } } diff --git a/application/controllers/api/frontend/v1/stv/Projektarbeit.php b/application/controllers/api/frontend/v1/stv/Projektarbeit.php index d26d6a10c..f8131bd3a 100644 --- a/application/controllers/api/frontend/v1/stv/Projektarbeit.php +++ b/application/controllers/api/frontend/v1/stv/Projektarbeit.php @@ -42,6 +42,8 @@ class Projektarbeit extends FHCAPI_Controller $this->load->model('education/Note_model', 'NoteModel'); $this->load->model('education/Projektbetreuer_model', 'BetreuerModel'); $this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel'); + $this->load->model('crm/Student_model', 'StudentModel'); + $this->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel'); // load libraries $this->load->library('PermissionLib'); @@ -100,16 +102,16 @@ class Projektarbeit extends FHCAPI_Controller private function fetchProjektarbeitById($projektarbeit_id) { $this->ProjektarbeitModel->resetQuery(); $this->ProjektarbeitModel->addSelect( - 'lehre.tbl_projektarbeit.projektarbeit_id, titel, titel_english, themenbereich, projekttyp_kurzbz, lehrveranstaltung_id, lehreinheit_id, - firma_id, beginn, ende, gesperrtbis, note, final, freigegeben, tbl_projektarbeit.anmerkung, fa.name AS firma_name' + 'lehre.tbl_projektarbeit.projektarbeit_id, titel, titel_english, themenbereich, projekttyp_kurzbz, lehrveranstaltung_id, lehreinheit_id, + tbl_projektarbeit.studiensemester_kurzbz, firma_id, beginn, ende, gesperrtbis, note, final, freigegeben, tbl_projektarbeit.anmerkung, fa.name AS firma_name' ); - $this->ProjektarbeitModel->addJoin('lehre.tbl_lehreinheit le', 'lehreinheit_id'); $this->ProjektarbeitModel->addJoin('lehre.tbl_lehrveranstaltung lv', 'lehrveranstaltung_id'); $this->ProjektarbeitModel->addJoin('public.tbl_firma fa', 'firma_id', 'LEFT'); + + return $this->ProjektarbeitModel->loadWhere( array('projektarbeit_id' => $projektarbeit_id) ); - } /** @@ -246,14 +248,38 @@ class Projektarbeit extends FHCAPI_Controller $additional_lehrveranstaltung_id = $this->input->get('additional_lehrveranstaltung_id'); if (!isset($student_uid)) $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Student UID']), self::ERROR_TYPE_GENERAL); - if (!isset($studiensemester_kurzbz)) $this->terminateWithError('Studiensemster missing', self::ERROR_TYPE_GENERAL); + if (!isset($studiensemester_kurzbz)) $this->terminateWithError('Studiensemester missing', self::ERROR_TYPE_GENERAL); - // get Lvs + // get prestudent_id from student model + $studentRes = $this->StudentModel->load(['student_uid' => $student_uid]); + if(hasData($studentRes)) { + $student = getData($studentRes); + } else { + $this->terminateWithError($studentRes, self::ERROR_TYPE_GENERAL); + } + + // to get prestudent_status history + $historyRes = $this->PrestudentstatusModel->getHistoryPrestudent($student[0]->prestudent_id); + if(hasData($historyRes)) { + $history = getData($historyRes); + } else { + $this->terminateWithError($historyRes, self::ERROR_TYPE_GENERAL); + } + + // query for every lva of a studiengang that has projektarbeit flag true $lvsResult = $this->LehrveranstaltungModel->getLvsForProjektarbeit($student_uid, $studiengang_kz, $additional_lehrveranstaltung_id); - if (isError($lvsResult)) return $this->terminateWithError($lvsResult, self::ERROR_TYPE_GENERAL); - $lvs = hasData($lvsResult) ? getData($lvsResult) : []; + + $lvsIDs = array_column($lvs, 'lehrveranstaltung_id'); + + // get current studienplan_id from status history to find out which lva options are actually assigned to the students studienplan + // important so the projektarbeit has the correct lva assigned to be able to find and print the thesis title on the degree documents! + $currentStatus = $history[0]; + $lvByStudienPlanRes = $this->LehrveranstaltungModel->getLvsByStudienplanByLvaIDs($currentStatus->studienplan_id, $lvsIDs); + if(hasData($lvByStudienPlanRes)) { + $lvs = getData($lvByStudienPlanRes); + } foreach ($lvs as $lv) { @@ -320,11 +346,18 @@ class Projektarbeit extends FHCAPI_Controller 'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Projekttyp']) ]); - $this->form_validation->set_rules('lehreinheit_id', 'Lehreinheit', 'required|is_natural', [ - 'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Lehreinheit']), + $this->form_validation->set_rules('lehreinheit_id', 'Lehreinheit', 'is_natural', [ 'is_natural' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Lehreinheit']) ]); + $this->form_validation->set_rules('lehrveranstaltung_id', 'Lehrveranstaltung', 'required', [ + 'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Lehrveranstaltung']) + ]); + + $this->form_validation->set_rules('studiensemester_kurzbz', 'Studiensemester', 'required', [ + 'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Studiensemester']) + ]); + $this->form_validation->set_rules('beginn', 'Beginn', 'is_valid_date', [ 'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'Beginn']) ]); @@ -354,6 +387,8 @@ class Projektarbeit extends FHCAPI_Controller 'projekttyp_kurzbz' => $formData['projekttyp_kurzbz'], 'firma_id' => $formData['firma_id'] ?? null, 'lehreinheit_id' => $formData['lehreinheit_id'], + 'lehrveranstaltung_id' => $formData['lehrveranstaltung_id'], + 'studiensemester_kurzbz' => $formData['studiensemester_kurzbz'], 'beginn' => isset($formData['beginn']) && !isEmptyString($formData['beginn']) ? $formData['beginn'] : null, 'ende' => isset($formData['ende']) && !isEmptyString($formData['ende']) ? $formData['ende'] : null, 'note' => $formData['note'] ?? null, diff --git a/application/controllers/jobs/ReihungstestJob.php b/application/controllers/jobs/ReihungstestJob.php index 6dd214fbb..83ab9b526 100644 --- a/application/controllers/jobs/ReihungstestJob.php +++ b/application/controllers/jobs/ReihungstestJob.php @@ -803,7 +803,7 @@ class ReihungstestJob extends JOB_Controller { if (!isset($studiensemester) || isEmptyString($studiensemester)) { - $this->logError("Studiensemster not passed as parameter"); + $this->logError("Studiensemester not passed as parameter"); return; } diff --git a/application/libraries/AnrechnungLib.php b/application/libraries/AnrechnungLib.php index 8ee1891b5..4c27a297c 100644 --- a/application/libraries/AnrechnungLib.php +++ b/application/libraries/AnrechnungLib.php @@ -741,7 +741,7 @@ class AnrechnungLib $fullname = hasData($result) ? $result->retval[0]->vorname. $result->retval[0]->nachname : ''; // Return filename - return 'Anrechnungsantrag'. $orgform_kurzbz .'_LV-'. $lehrveranstaltung_id. '_'. $fullname; + return 'Anrechnungsantrag'. $orgform_kurzbz .'_LV-'. $lehrveranstaltung_id. '_'. $fullname . '.pdf'; } public function LVhasLector($anrechnung_id) diff --git a/application/models/accounting/Vertrag_model.php b/application/models/accounting/Vertrag_model.php index 97b5c72b6..b49f6ef53 100644 --- a/application/models/accounting/Vertrag_model.php +++ b/application/models/accounting/Vertrag_model.php @@ -31,18 +31,20 @@ class Vertrag_model extends DB_Model */ public function save($person_id, $mitarbeiter_uid, $lehrveranstaltung_id, $lehreinheit_id, $projektarbeit_id = null, $vertragsstunden, $betrag, $studiensemester_kurzbz) { - $person_id = (isset($person_id) && is_numeric($person_id)) + $vertragstyp_kurzbz = (is_null($projektarbeit_id)) ? 'Lehrauftrag' : 'Betreuung'; + + $person_id = (isset($person_id) && is_numeric($person_id)) ? $person_id : show_error('peron_id must be set and numeric.'); - $lehreinheit_id = (isset($lehreinheit_id) && is_numeric($lehreinheit_id)) - ? $lehreinheit_id - : show_error('lehreinheit_id must be set and numeric.'); $lehrveranstaltung_id = (isset($lehrveranstaltung_id) && is_numeric($lehrveranstaltung_id)) ? $lehrveranstaltung_id : show_error('lehrveranstaltung_id must be set and numeric.'); $projektarbeit_id = (isset($projektarbeit_id) && is_numeric($projektarbeit_id)) ? $projektarbeit_id : null; + $lehreinheit_id = (isset($lehreinheit_id) && is_numeric($lehreinheit_id)) + ? $lehreinheit_id + : (($vertragstyp_kurzbz == 'Betreuung') ? null : show_error('lehreinheit_id must be set and numeric.')); $vertragsstunden = (isset($vertragsstunden) && is_numeric($vertragsstunden)) ? $vertragsstunden : 0; @@ -53,7 +55,7 @@ class Vertrag_model extends DB_Model ? $mitarbeiter_uid : show_error('mitarbeiter_uid must be set and a string value.');; - $vertragstyp_kurzbz = (is_null($projektarbeit_id)) ? 'Lehrauftrag' : 'Betreuung'; + // First check if Vertrag already exists for that Lehrauftrag or for that Projektbetreuerauftrag if ($vertragstyp_kurzbz == 'Lehrauftrag') @@ -257,7 +259,7 @@ class Vertrag_model extends DB_Model } elseif ($vertragstyp_kurzbz == 'Betreuung') { - $this->addSelect('lehreinheit_id'); + $this->addSelect('lehreinheit_id, lehre.tbl_projektarbeit.lehrveranstaltung_id, lehre.tbl_projektarbeit.studiensemester_kurzbz'); $this->addJoin('lehre.tbl_projektbetreuer', 'vertrag_id'); $this->addJoin('lehre.tbl_projektarbeit', 'projektarbeit_id'); if ($result = $this->loadWhere(array('vertrag_id' => $vertrag_id))) @@ -281,17 +283,22 @@ class Vertrag_model extends DB_Model { if ($result = getData($this->getLehreinheitID($vertrag_id))) { - $this->load->model('education/Lehreinheit_model', 'LehreinheitModel'); - $this->LehreinheitModel->addSelect($select); + if (!empty($result[0]->lehreinheit_id)) + { + $this->load->model('education/Lehreinheit_model', 'LehreinheitModel'); + $this->LehreinheitModel->addSelect($select); - if($result = $this->LehreinheitModel->load($result[0]->lehreinheit_id)) - { - return success($result->retval); - } - else - { - return error('Fehler beim Laden der Lehreinheit'); + if ($result = $this->LehreinheitModel->load($result[0]->lehreinheit_id)) + { + return success($result->retval); + } + else + { + return error('Fehler beim Laden der Lehreinheit'); + } } + + return success($result); } else { @@ -563,14 +570,13 @@ SELECT null::integer as pruefung_id, projektarbeit_id, (tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag1, - tbl_lehreinheit.studiensemester_kurzbz, + tbl_projektarbeit.studiensemester_kurzbz, tbl_projektbetreuer.betreuerart_kurzbz, (SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid) as bezeichnung FROM lehre.tbl_projektbetreuer JOIN lehre.tbl_projektarbeit USING(projektarbeit_id) - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE tbl_projektbetreuer.person_id=? AND vertrag_id IS NULL @@ -619,14 +625,13 @@ SELECT null::integer as pruefung_id, projektarbeit_id, (tbl_projektbetreuer.stunden * tbl_projektbetreuer.stundensatz) as betrag, - tbl_lehreinheit.studiensemester_kurzbz, + tbl_projektarbeit.studiensemester_kurzbz, tbl_projektbetreuer.betreuerart_kurzbz, (SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid) as bezeichnung, vertrag_id FROM lehre.tbl_projektbetreuer JOIN lehre.tbl_projektarbeit USING(projektarbeit_id) - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE tbl_projektbetreuer.person_id=? AND vertrag_id = ? diff --git a/application/models/crm/Prestudentstatus_model.php b/application/models/crm/Prestudentstatus_model.php index c0ed8595e..618d4be51 100644 --- a/application/models/crm/Prestudentstatus_model.php +++ b/application/models/crm/Prestudentstatus_model.php @@ -177,7 +177,7 @@ class Prestudentstatus_model extends DB_Model * @param prestudent_id ID of the Prestudent. * @param $status_kurzbz kurzbz of the status. * @param $ausbildungssemester ausbildungssemester of the status. - * @param $studiensemester_kurzbz studiensemster of the status. + * @param $studiensemester_kurzbz studiensemester of the status. * * @return result object with all the status entries */ diff --git a/application/models/education/Lehreinheitmitarbeiter_model.php b/application/models/education/Lehreinheitmitarbeiter_model.php index efdb2e74d..5dca16c95 100644 --- a/application/models/education/Lehreinheitmitarbeiter_model.php +++ b/application/models/education/Lehreinheitmitarbeiter_model.php @@ -85,9 +85,18 @@ class Lehreinheitmitarbeiter_model extends DB_Model public function getLektorenByLe($lehreinheit_id) { - $this->addSelect('vorname, nachname, tbl_lehreinheitmitarbeiter.*, stundenplan.verplant'); + $this->addSelect('tbl_person.vorname, tbl_person.nachname, tbl_lehreinheitmitarbeiter.*, stundenplan.verplant, + COALESCE(insertvonperson.vorname || \' \' || insertvonperson.nachname, tbl_lehreinheitmitarbeiter.insertvon) as insertvon, + COALESCE(updatevonperson.vorname || \' \' || updatevonperson.nachname, tbl_lehreinheitmitarbeiter.updatevon) as updatevon'); $this->addJoin('tbl_benutzer', 'uid = mitarbeiter_uid'); $this->addJoin('tbl_person', 'person_id'); + $this->addJoin('tbl_benutzer insertvonbenutzer', 'insertvonbenutzer.uid = tbl_lehreinheitmitarbeiter.insertvon', 'LEFT'); + $this->addJoin('tbl_person insertvonperson', 'insertvonperson.person_id = insertvonbenutzer.person_id', 'LEFT'); + + $this->addJoin('tbl_benutzer updatevonbenutzer', 'updatevonbenutzer.uid = tbl_lehreinheitmitarbeiter.updatevon', 'LEFT'); + $this->addJoin('tbl_person updatevonperson', 'updatevonperson.person_id = updatevonbenutzer.person_id', 'LEFT'); + + $this->addJoin('( SELECT 1 as verplant, lehreinheit_id, mitarbeiter_uid diff --git a/application/models/education/Lehrveranstaltung_model.php b/application/models/education/Lehrveranstaltung_model.php index f19e64469..1cf50ee4d 100644 --- a/application/models/education/Lehrveranstaltung_model.php +++ b/application/models/education/Lehrveranstaltung_model.php @@ -1263,6 +1263,39 @@ class Lehrveranstaltung_model extends DB_Model "; } + /** + * Gets lehrveranstaltungen of Studienplan of a certain lva_id set + * used if a bigger set of lva id is already available and it needs to be checked against a certain studienplan aswell + * @param $studienplan_id ID des Studienplans + * @param $lva_ids LVA_ID welche abgegleicht werden sollen + * @return array|null + */ + public function getLvsByStudienplanByLvaIDs($studienplan_id, $lva_ids) + { + $params = array($studienplan_id, $lva_ids); + + $qry = "SELECT tbl_lehrveranstaltung.*, + tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id, + tbl_studienplan_lehrveranstaltung.semester as stpllv_semester, + tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht, + tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator, + tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent, + tbl_studienplan_lehrveranstaltung.sort stpllv_sort, + tbl_studienplan_lehrveranstaltung.curriculum, + tbl_studienplan_lehrveranstaltung.export, + tbl_studienplan_lehrveranstaltung.genehmigung + FROM lehre.tbl_lehrveranstaltung + JOIN lehre.tbl_studienplan_lehrveranstaltung + USING(lehrveranstaltung_id) + WHERE tbl_studienplan_lehrveranstaltung.studienplan_id = ? + AND tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id IN ? + "; + + $qry .= " ORDER BY stpllv_sort, semester, sort"; + + return $this->execQuery($qry, $params); + } + public function getAllOe($lv_id) { $qry = "SELECT DISTINCT oe_kurzbz diff --git a/application/models/education/Paabgabe_model.php b/application/models/education/Paabgabe_model.php index f073e5f73..eb72052d3 100644 --- a/application/models/education/Paabgabe_model.php +++ b/application/models/education/Paabgabe_model.php @@ -50,8 +50,7 @@ class Paabgabe_model extends DB_Model JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id) JOIN public.tbl_benutzer bn_student ON(tbl_projektarbeit.student_uid=bn_student.uid) JOIN public.tbl_person person_student ON(bn_student.person_id=person_student.person_id) - JOIN lehre.tbl_lehreinheit ON(tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung ON(tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id) + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) JOIN public.tbl_studiengang ON(tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz) JOIN campus.tbl_paabgabetyp USING(paabgabetyp_kurzbz) WHERE @@ -236,14 +235,13 @@ class Paabgabe_model extends DB_Model campus.tbl_paabgabe.insertvon, campus.tbl_paabgabe.insertamum, campus.tbl_paabgabe.updatevon, campus.tbl_paabgabe.updateamum, campus.tbl_paabgabe.note, upload_allowed, beurteilungsnotiz, student_uid, tbl_projektarbeit.note, lehre.tbl_projektarbeit.titel, UPPER(tbl_studiengang.typ) as stgtyp, UPPER(tbl_studiengang.kurzbz) as stgkz, public.tbl_studiengang.studiengang_kz, - public.tbl_studiengang.oe_kurzbz as stg_oe_kurzbz, tbl_lehreinheit.studiensemester_kurzbz, + public.tbl_studiengang.oe_kurzbz as stg_oe_kurzbz, tbl_projektarbeit.studiensemester_kurzbz, public.tbl_person.anrede, public.tbl_person.titelpre, public.tbl_person.vorname, public.tbl_person.nachname, public.tbl_person.titelpost FROM campus.tbl_paabgabe JOIN campus.tbl_paabgabetyp USING (paabgabetyp_kurzbz) JOIN lehre.tbl_projektarbeit USING (projektarbeit_id) - JOIN lehre.tbl_lehreinheit using(lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung using(lehrveranstaltung_id) - JOIN public.tbl_studiengang on(lehre.tbl_lehrveranstaltung.studiengang_kz = public.tbl_studiengang.studiengang_kz) + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + JOIN public.tbl_studiengang ON(lehre.tbl_lehrveranstaltung.studiengang_kz = public.tbl_studiengang.studiengang_kz) JOIN public.tbl_benutzer ON (public.tbl_benutzer.uid = student_uid) JOIN public.tbl_person USING (person_id) @@ -261,7 +259,7 @@ class Paabgabe_model extends DB_Model campus.tbl_paabgabe.insertvon, campus.tbl_paabgabe.insertamum, campus.tbl_paabgabe.updatevon, campus.tbl_paabgabe.updateamum, campus.tbl_paabgabe.note, upload_allowed, beurteilungsnotiz, student_uid, tbl_projektarbeit.note, lehre.tbl_projektarbeit.titel, UPPER(tbl_studiengang.typ) as stgtyp, UPPER(tbl_studiengang.kurzbz) as stgkz, public.tbl_studiengang.studiengang_kz, - public.tbl_studiengang.oe_kurzbz as stg_oe_kurzbz, tbl_lehreinheit.studiensemester_kurzbz, + public.tbl_studiengang.oe_kurzbz as stg_oe_kurzbz, tbl_projektarbeit.studiensemester_kurzbz, lehre.tbl_projektbetreuer.betreuerart_kurzbz, lehre.tbl_projektbetreuer.person_id, public.tbl_person.anrede, public.tbl_person.titelpre, public.tbl_person.vorname, public.tbl_person.nachname, public.tbl_person.titelpost @@ -269,8 +267,7 @@ class Paabgabe_model extends DB_Model JOIN campus.tbl_paabgabetyp USING (paabgabetyp_kurzbz) JOIN lehre.tbl_projektarbeit USING (projektarbeit_id) JOIN lehre.tbl_projektbetreuer USING (projektarbeit_id) - JOIN lehre.tbl_lehreinheit using(lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung using(lehrveranstaltung_id) + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) JOIN public.tbl_studiengang on(lehre.tbl_lehrveranstaltung.studiengang_kz = public.tbl_studiengang.studiengang_kz) JOIN public.tbl_benutzer ON (public.tbl_benutzer.uid = student_uid) JOIN public.tbl_person ON (public.tbl_benutzer.person_id = public.tbl_person.person_id) diff --git a/application/models/education/Projektarbeit_model.php b/application/models/education/Projektarbeit_model.php index c9aaf40ef..9ae00d035 100644 --- a/application/models/education/Projektarbeit_model.php +++ b/application/models/education/Projektarbeit_model.php @@ -26,7 +26,7 @@ class Projektarbeit_model extends DB_Model $sprache_index = "COALESCE((SELECT index FROM public.tbl_sprache WHERE sprache=" . $this->escape(getUserLanguage()) . " LIMIT 1), 1)"; $qry = "SELECT pa.*, tbl_projekttyp.bezeichnung, - tbl_lehreinheit.studiensemester_kurzbz, tbl_lehrveranstaltung.lehrveranstaltung_id, + pa.studiensemester_kurzbz, pa.lehrveranstaltung_id, tbl_sprache.bezeichnung[".$sprache_index."] AS sprache_bezeichnung, tbl_firma.name AS firma_name, ( @@ -43,7 +43,6 @@ class Projektarbeit_model extends DB_Model FROM lehre.tbl_projektarbeit pa JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) - JOIN lehre.tbl_lehreinheit USING (lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id) LEFT JOIN public.tbl_firma USING (firma_id) LEFT JOIN public.tbl_sprache ON pa.sprache = tbl_sprache.sprache @@ -60,7 +59,7 @@ class Projektarbeit_model extends DB_Model if (isset($studiensemester_kurzbz)) { - $qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz=?'; + $qry .= ' AND tbl_projektarbeit.studiensemester_kurzbz=?'; $params[] = $studiensemester_kurzbz; } @@ -137,7 +136,7 @@ class Projektarbeit_model extends DB_Model projektarbeit_id, lehre.tbl_projekttyp.bezeichnung as projekttypbezeichnung, lehre.tbl_projekttyp.projekttyp_kurzbz as projekttypkurzbz, - lehre.tbl_lehreinheit.studiensemester_kurzbz, + lehre.tbl_projektarbeit.studiensemester_kurzbz, lehre.tbl_lehrveranstaltung.studiengang_kz, public.tbl_studiengang.kurzbzlang, lehre.tbl_projektarbeit.note as note, @@ -160,7 +159,6 @@ class Projektarbeit_model extends DB_Model LEFT JOIN public.tbl_benutzer USING(person_id) LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) LEFT JOIN lehre.tbl_betreuerart USING(betreuerart_kurzbz) - LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_mitarbeiter.mitarbeiter_uid = public.tbl_benutzer.uid) LEFT JOIN public.tbl_studiengang USING(studiengang_kz) @@ -369,7 +367,7 @@ class Projektarbeit_model extends DB_Model tbl_studiengang.typ, tbl_studiengang.kurzbz, tbl_projektarbeit.projekttyp_kurzbz, tbl_projekttyp.bezeichnung, tbl_projektarbeit.titel, tbl_projektarbeit.projektarbeit_id, tbl_projektarbeit.note, - student_benutzer.uid, tbl_student.matrikelnr, tbl_lehreinheit.studiensemester_kurzbz, public.tbl_student.student_uid, + student_benutzer.uid, tbl_student.matrikelnr, tbl_projektarbeit.studiensemester_kurzbz, public.tbl_student.student_uid, lehre.tbl_projektarbeit.sprache, lehre.tbl_projektarbeit.seitenanzahl, @@ -433,7 +431,6 @@ class Projektarbeit_model extends DB_Model LEFT JOIN public.tbl_benutzer student_benutzer ON student_benutzer.uid = lehre.tbl_projektarbeit.student_uid LEFT JOIN public.tbl_person student_person ON student_benutzer.person_id = student_person.person_id LEFT JOIN public.tbl_student ON student_benutzer.uid = public.tbl_student.student_uid - LEFT JOIN lehre.tbl_lehreinheit USING (lehreinheit_id) LEFT JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id) LEFT JOIN public.tbl_studiengang ON public.tbl_student.studiengang_kz = public.tbl_studiengang.studiengang_kz LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) @@ -506,7 +503,7 @@ class Projektarbeit_model extends DB_Model student_person.vorname AS student_vorname, student_person.nachname AS student_nachname, public.tbl_student.matrikelnr, - tbl_lehreinheit.studiensemester_kurzbz, + tbl_projektarbeit.studiensemester_kurzbz, betreuer_benutzer.uid AS betreuer_benutzer_uid, betreuer_person.titelpre AS betreuer_titelpre, betreuer_person.vorname AS betreuer_vorname, @@ -568,7 +565,6 @@ class Projektarbeit_model extends DB_Model LEFT JOIN public.tbl_benutzer student_benutzer ON student_benutzer.uid = lehre.tbl_projektarbeit.student_uid LEFT JOIN public.tbl_person student_person ON student_benutzer.person_id = student_person.person_id LEFT JOIN public.tbl_student ON student_benutzer.uid = public.tbl_student.student_uid - LEFT JOIN lehre.tbl_lehreinheit USING (lehreinheit_id) LEFT JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id) LEFT JOIN public.tbl_studiengang ON public.tbl_student.studiengang_kz = public.tbl_studiengang.studiengang_kz LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) @@ -636,7 +632,7 @@ class Projektarbeit_model extends DB_Model student_person.vorname AS student_vorname, student_person.nachname AS student_nachname, public.tbl_student.matrikelnr, - tbl_lehreinheit.studiensemester_kurzbz, + tbl_projektarbeit.studiensemester_kurzbz, betreuer_benutzer.uid AS betreuer_benutzer_uid, betreuer_person.titelpre AS betreuer_titelpre, betreuer_person.vorname AS betreuer_vorname, @@ -698,7 +694,6 @@ class Projektarbeit_model extends DB_Model LEFT JOIN public.tbl_benutzer student_benutzer ON student_benutzer.uid = lehre.tbl_projektarbeit.student_uid LEFT JOIN public.tbl_person student_person ON student_benutzer.person_id = student_person.person_id LEFT JOIN public.tbl_student ON student_benutzer.uid = public.tbl_student.student_uid - LEFT JOIN lehre.tbl_lehreinheit USING (lehreinheit_id) LEFT JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id) LEFT JOIN public.tbl_studiengang ON public.tbl_student.studiengang_kz = public.tbl_studiengang.studiengang_kz LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) diff --git a/application/models/organisation/Studiensemester_model.php b/application/models/organisation/Studiensemester_model.php index 8aee8f65e..1766f2c88 100644 --- a/application/models/organisation/Studiensemester_model.php +++ b/application/models/organisation/Studiensemester_model.php @@ -218,7 +218,7 @@ class Studiensemester_model extends DB_Model */ public function getByDate($date) { - // gets the studiensemster of a date or the next closest previous studiensemester if a date is not within a studiensemester + // gets the studiensemester of a date or the next closest previous studiensemester if a date is not within a studiensemester $query = " SELECT studiensemester_kurzbz, start, ende FROM public.tbl_studiensemester diff --git a/application/views/lehre/lehrauftrag/acceptLehrauftragData.php b/application/views/lehre/lehrauftrag/acceptLehrauftragData.php index a36605d13..f1cc42728 100644 --- a/application/views/lehre/lehrauftrag/acceptLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/acceptLehrauftragData.php @@ -232,8 +232,8 @@ FROM SELECT pa.lehreinheit_id, lv.lehrveranstaltung_id, - pa.projektarbeit_id::text AS "projektarbeit_id", - le.studiensemester_kurzbz, + pa.projektarbeit_id::text AS "projektarbeit_id", + pa.studiensemester_kurzbz, stg.studiengang_kz, upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz", lv.orgform_kurzbz, @@ -268,8 +268,7 @@ FROM FROM lehre.tbl_projektbetreuer pb JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id) - JOIN lehre.tbl_lehreinheit le USING (lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id) + JOIN lehre.tbl_lehrveranstaltung lv ON (pa.lehrveranstaltung_id = lv.lehrveranstaltung_id) JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz) JOIN PUBLIC.tbl_person person USING (person_id) LEFT JOIN lehre.tbl_vertrag vertrag USING (vertrag_id) @@ -280,7 +279,7 @@ FROM /* filter projektbetreuuer */ pb.person_id = \'' . $PERSON_ID . '\' /* filter studiensemester */ - AND le.studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\' + AND pa.studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\' /* filter active lehrveranstaltungen */ AND lv.aktiv = TRUE /* filter active organisationseinheiten */ diff --git a/application/views/lehre/lehrauftrag/approveLehrauftragData.php b/application/views/lehre/lehrauftrag/approveLehrauftragData.php index 7dd3822a6..d67a37b06 100644 --- a/application/views/lehre/lehrauftrag/approveLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/approveLehrauftragData.php @@ -242,8 +242,8 @@ FROM pa.lehreinheit_id, lv.lehrveranstaltung_id, lv.bezeichnung AS "lv_bezeichnung", - (pa.projektarbeit_id::text) AS "projektarbeit_id", - le.studiensemester_kurzbz, + (pa.projektarbeit_id::text) AS "projektarbeit_id", + pa.studiensemester_kurzbz, stg.studiengang_kz, upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz", lv.orgform_kurzbz, @@ -270,7 +270,7 @@ FROM ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung) END AS "lv_oe_kurzbz", - (nachname || \' \' || vorname) AS "lektor", + (nachname || \' \' || vorname) AS "lektor", TRUNC(pb.stunden, 1) AS "stunden", pb.stundensatz, TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag", @@ -280,8 +280,7 @@ FROM FROM lehre.tbl_projektbetreuer pb JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id) - JOIN lehre.tbl_lehreinheit le USING (lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id) + JOIN lehre.tbl_lehrveranstaltung lv ON (pa.lehrveranstaltung_id = lv.lehrveranstaltung_id) JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz) JOIN PUBLIC.tbl_person person USING (person_id) LEFT JOIN lehre.tbl_vertrag vertrag USING (vertrag_id) @@ -291,7 +290,7 @@ FROM /* filter organisationseinheit */ lv.oe_kurzbz IN (\'' . implode('\',\'', $ORGANISATIONSEINHEIT) . '\') /* filter studiensemester */ - AND le.studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\' + AND pa.studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\' /* filter active lehrveranstaltungen */ AND lv.aktiv = TRUE /* filter active organisationseinheiten */ diff --git a/application/views/lehre/lehrauftrag/orderLehrauftragData.php b/application/views/lehre/lehrauftrag/orderLehrauftragData.php index f5b5cf6ce..d62ecd076 100644 --- a/application/views/lehre/lehrauftrag/orderLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/orderLehrauftragData.php @@ -272,8 +272,8 @@ FROM pa.lehreinheit_id, lv.lehrveranstaltung_id, lv.bezeichnung AS "lv_bezeichnung", - pa.projektarbeit_id::text AS "projektarbeit_id", - le.studiensemester_kurzbz, + pa.projektarbeit_id::text AS "projektarbeit_id", + pa.studiensemester_kurzbz, stg.studiengang_kz, upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz", lv.orgform_kurzbz, @@ -310,8 +310,7 @@ FROM FROM lehre.tbl_projektbetreuer pb JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id) - JOIN lehre.tbl_lehreinheit le USING (lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id) + JOIN lehre.tbl_lehrveranstaltung lv ON (pa.lehrveranstaltung_id = lv.lehrveranstaltung_id) JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz) JOIN PUBLIC.tbl_person person USING (person_id) LEFT JOIN lehre.tbl_vertrag vertrag USING (vertrag_id) @@ -321,7 +320,7 @@ FROM /* filter studiengang */ lv.studiengang_kz IN ('. implode(',', $STUDIENGANG) . ') /* filter studiensemester */ - AND le.studiensemester_kurzbz = \''. $STUDIENSEMESTER. '\' + AND pa.studiensemester_kurzbz = \''. $STUDIENSEMESTER. '\' /* filter active lehrveranstaltungen */ AND lv.aktiv = TRUE /* filter ausbildungssemester */ diff --git a/cis/private/profile/lva_liste.php b/cis/private/profile/lva_liste.php index 9806b8cc1..5a5c36cba 100644 --- a/cis/private/profile/lva_liste.php +++ b/cis/private/profile/lva_liste.php @@ -345,11 +345,10 @@ $qry = "SELECT WHERE uid=student_uid) as student, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_studiengang.email, tbl_betreuerart.beschreibung AS beutreuerart_beschreibung, tbl_projektbetreuer.stunden FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer, public.tbl_studiengang, lehre.tbl_betreuerart + lehre.tbl_lehrveranstaltung, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer, public.tbl_studiengang, lehre.tbl_betreuerart WHERE - tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stdsem)." AND + tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_projektarbeit.lehrveranstaltung_id AND + tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($stdsem)." AND tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz AND tbl_projektbetreuer.betreuerart_kurzbz=tbl_betreuerart.betreuerart_kurzbz AND diff --git a/cis/private/tools/projektabgabe.php b/cis/private/tools/projektabgabe.php index 06ec1e146..324faa31e 100644 --- a/cis/private/tools/projektabgabe.php +++ b/cis/private/tools/projektabgabe.php @@ -143,7 +143,6 @@ if($aktion!='zip') JOIN campus.tbl_paabgabe USING(projektarbeit_id) LEFT JOIN public.tbl_benutzer ON(uid=student_uid) LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id) - LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) LEFT JOIN public.tbl_studiengang USING(studiengang_kz) WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom') @@ -214,7 +213,6 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']= JOIN campus.tbl_paabgabe USING(projektarbeit_id) LEFT JOIN public.tbl_benutzer ON(uid=student_uid) LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id) - LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) LEFT JOIN public.tbl_studiengang USING(studiengang_kz) WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom') diff --git a/cis/private/tools/projektabgabe_autocomplete.php b/cis/private/tools/projektabgabe_autocomplete.php index e24b3da68..6764af9dc 100644 --- a/cis/private/tools/projektabgabe_autocomplete.php +++ b/cis/private/tools/projektabgabe_autocomplete.php @@ -87,7 +87,6 @@ cellSeparator (default value: "|") JOIN campus.tbl_paabgabe USING(projektarbeit_id) LEFT JOIN public.tbl_benutzer ON(uid=student_uid) LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id) - LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) LEFT JOIN public.tbl_studiengang USING(studiengang_kz) WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom') diff --git a/content/mitarbeiter/lehrtaetigkeit.pdf.php b/content/mitarbeiter/lehrtaetigkeit.pdf.php index 9118d3f60..911df1a9b 100644 --- a/content/mitarbeiter/lehrtaetigkeit.pdf.php +++ b/content/mitarbeiter/lehrtaetigkeit.pdf.php @@ -122,8 +122,7 @@ foreach ($project_arr as $project) // * get studiensemester $pa = new Projektarbeit($pa_id); - $le = new Lehreinheit($pa->lehreinheit_id); - $studiensemester_kurzbz = $le->studiensemester_kurzbz; + $studiensemester_kurzbz = $pa->studiensemester_kurzbz; // * get begin- and end date of studiensemester $ss = new Studiensemester($studiensemester_kurzbz); diff --git a/content/statistik/alvsstatistik.php b/content/statistik/alvsstatistik.php index ad2352896..0d3e59053 100644 --- a/content/statistik/alvsstatistik.php +++ b/content/statistik/alvsstatistik.php @@ -107,16 +107,14 @@ SELECT FROM lehre.tbl_projektarbeit, lehre.tbl_lehrveranstaltung, - lehre.tbl_lehreinheit, lehre.tbl_projektbetreuer, public.tbl_person WHERE tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND - tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND + tbl_projektarbeit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_projektbetreuer.person_id=tbl_person.person_id AND tbl_projektbetreuer.stunden<>0 AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem)." + tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($stsem)." GROUP BY studiengang_kz,geschlecht"; if(!$result = $db->db_query($qry)) @@ -231,7 +229,7 @@ if($format=='xls') if(!isset($stunden['w'])) $stunden['w']=0; $summe_w+=$stunden['w']; - if(!isset($summe_oe[$oe]['w'])) + if(!isset($summe_oe[$oe]['w'])) $summe_oe[$oe]['w']=0; $summe_oe[$oe]['w']+=$stunden['w']; $worksheet->write($zeile,$organisationseinheiten_idx[$oe]+1,$stunden['w'],$format_data); diff --git a/content/statistik/lehrauftragsliste_gst.xls.php b/content/statistik/lehrauftragsliste_gst.xls.php index d44c91e63..9a4ab3d70 100644 --- a/content/statistik/lehrauftragsliste_gst.xls.php +++ b/content/statistik/lehrauftragsliste_gst.xls.php @@ -85,7 +85,7 @@ $db = new basis_db(); //Daten holen $qry = "SELECT * FROM ( SELECT - tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre, + tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre, tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid, tbl_mitarbeiter.fixangestellt, tbl_lehreinheitmitarbeiter.stundensatz as stundensatz, @@ -109,21 +109,20 @@ if($semester!='') //Projektsbetreuungen $qry.= " UNION SELECT - tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre, + tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre, tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid, tbl_mitarbeiter.fixangestellt, 0 as stundensatz, 0 as semesterstunden FROM - lehre.tbl_lehreinheit, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer, + lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer, public.tbl_mitarbeiter, public.tbl_benutzer, lehre.tbl_lehrveranstaltung, public.tbl_person WHERE tbl_mitarbeiter.mitarbeiter_uid = tbl_benutzer.uid AND tbl_benutzer.person_id = tbl_projektbetreuer.person_id AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id AND - tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND - tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND + tbl_projektarbeit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND + tbl_projektarbeit.studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND tbl_lehrveranstaltung.studiengang_kz = ".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND tbl_person.person_id = tbl_projektbetreuer.person_id"; if($semester!='') @@ -164,16 +163,15 @@ if($result = $db->db_query($qry)) $qry = " SELECT tbl_projektbetreuer.stunden, tbl_projektbetreuer.stundensatz - FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, + FROM lehre.tbl_projektbetreuer, lehre.tbl_lehrveranstaltung, public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student WHERE tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid=".$db->db_add_param($uid)." AND tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND student_uid=vw_student.uid - AND tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id - AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." - AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id + AND tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." + AND tbl_projektarbeit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if($semester!='') $qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER); diff --git a/content/statistik/lehrauftragsliste_mail.xls.php b/content/statistik/lehrauftragsliste_mail.xls.php index b4ee093b7..ea66464e6 100644 --- a/content/statistik/lehrauftragsliste_mail.xls.php +++ b/content/statistik/lehrauftragsliste_mail.xls.php @@ -99,10 +99,9 @@ $qry_stg = "SELECT distinct studiengang_kz, typ, kurzbz studiengang_kz FROM lehre.tbl_projektbetreuer JOIN lehre.tbl_projektarbeit ON tbl_projektbetreuer.projektarbeit_id=tbl_projektarbeit.projektarbeit_id - JOIN lehre.tbl_lehreinheit ON tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id - JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id + JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_projektarbeit.lehrveranstaltung_id WHERE - lehre.tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." + lehre.tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." ) as foo JOIN public.tbl_studiengang USING (studiengang_kz) "; @@ -506,10 +505,9 @@ if ($result_stg = $db->db_query($qry_stg)) JOIN public.tbl_benutzer ON tbl_benutzer.person_id=tbl_person.person_id JOIN public.tbl_mitarbeiter ON tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid JOIN lehre.tbl_projektarbeit ON tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id - JOIN lehre.tbl_lehreinheit ON tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id - JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id + JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_projektarbeit.lehrveranstaltung_id WHERE - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND + tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND NOT EXISTS (SELECT mitarbeiter_uid @@ -589,12 +587,11 @@ if ($result_stg = $db->db_query($qry_stg)) FROM lehre.tbl_projektbetreuer JOIN public.tbl_benutzer ON tbl_projektbetreuer.person_id = tbl_benutzer.person_id JOIN lehre.tbl_projektarbeit ON tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id - JOIN lehre.tbl_lehreinheit ON tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id - JOIN lehre.tbl_lehrveranstaltung ON tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id + JOIN lehre.tbl_lehrveranstaltung ON tbl_projektarbeit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id JOIN campus.vw_student ON vw_student.uid = student_uid WHERE tbl_benutzer.uid = ".$db->db_add_param($uid)." - AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." + AND tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if ($result = $db->db_query($qry)) @@ -825,15 +822,14 @@ if ($result_stg = $db->db_query($qry_stg)) $worksheet =& $workbook->addWorksheet('Betreuerstunden'); $worksheet->setInputEncoding('utf-8'); $qry = "SELECT - studiensemester_kurzbz, nachname, vorname, sum(stunden) AS stunden, titelpre, + lehre.tbl_projektarbeit.studiensemester_kurzbz, nachname, vorname, sum(stunden) AS stunden, titelpre, sum(tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)::numeric(8, 2) AS euro, person_id FROM public.tbl_person JOIN lehre.tbl_projektbetreuer USING (person_id) JOIN lehre.tbl_projektarbeit USING (projektarbeit_id) - JOIN lehre.tbl_lehreinheit USING (lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE - studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND + lehre.tbl_projektarbeit.studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND stunden > 0"; if (count($stg_arr) > 0) @@ -841,7 +837,7 @@ if ($result_stg = $db->db_query($qry_stg)) $qry .= " GROUP BY - studiensemester_kurzbz, person_id, nachname, vorname, titelpre + lehre.tbl_projektarbeit.studiensemester_kurzbz, person_id, nachname, vorname, titelpre ORDER BY nachname, vorname "; diff --git a/content/statistik/lvplanung.php b/content/statistik/lvplanung.php index fe69e4160..57f676402 100644 --- a/content/statistik/lvplanung.php +++ b/content/statistik/lvplanung.php @@ -304,15 +304,14 @@ if($studiengang_kz!='') $qry = "SELECT * FROM - lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, + lehre.tbl_projektarbeit, 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.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND tbl_person.person_id=tbl_projektbetreuer.person_id AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." + tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." "; if($semester!='') @@ -323,14 +322,13 @@ elseif($mitarbeiter_uid!='') $qry = "SELECT * FROM - lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer, public.tbl_person + lehre.tbl_projektarbeit, 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.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND tbl_person.person_id=tbl_projektbetreuer.person_id AND tbl_projektbetreuer.person_id=".$db->db_add_param($mitarbeiter->person_id, FHC_INTEGER)." AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." + tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." "; } elseif($oe_kurzbz!='') @@ -338,15 +336,14 @@ elseif($oe_kurzbz!='') $qry = "SELECT * FROM - lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer, + lehre.tbl_projektarbeit, 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.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_projektarbeit.lehrveranstaltung_id=lehrfach.lehrveranstaltung_id AND tbl_person.person_id=tbl_projektbetreuer.person_id AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND + tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz)." "; } diff --git a/content/statistik/lvplanung.xls.php b/content/statistik/lvplanung.xls.php index deb4bf295..f1371db5a 100644 --- a/content/statistik/lvplanung.xls.php +++ b/content/statistik/lvplanung.xls.php @@ -490,15 +490,13 @@ if($result = $db->db_query($qry)) tbl_projektbetreuer.person_id, tbl_lehrveranstaltung.orgform_kurzbz 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 + WHERE tbl_projektarbeit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id AND tbl_person.person_id = tbl_projektbetreuer.person_id - AND tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz); + AND tbl_projektarbeit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz); if($uid!=='') { diff --git a/content/statistik/projektarbeitexport.xls.php b/content/statistik/projektarbeitexport.xls.php index 2422292e7..41d3e9bcb 100644 --- a/content/statistik/projektarbeitexport.xls.php +++ b/content/statistik/projektarbeitexport.xls.php @@ -84,15 +84,14 @@ $qry = "SELECT ende, CASE WHEN freigegeben THEN 'Ja' ELSE 'Nein' END, gesperrtbis, themenbereich, tbl_projektarbeit.anmerkung, projektarbeit_id FROM - lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, + lehre.tbl_projektarbeit, lehre.tbl_lehrveranstaltung, public.tbl_benutzer, public.tbl_person, lehre.tbl_projekttyp WHERE - tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND - tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND + tbl_projektarbeit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_projektarbeit.student_uid = tbl_benutzer.uid AND tbl_benutzer.person_id = tbl_person.person_id AND tbl_projektarbeit.projekttyp_kurzbz = tbl_projekttyp.projekttyp_kurzbz AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz)." AND + tbl_projektarbeit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz)." AND tbl_lehrveranstaltung.studiengang_kz = ".$db->db_add_param($studiengang_kz)." AND tbl_projektarbeit.projekttyp_kurzbz IN ('Bachelor','Diplom','Projekt')"; diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 041af9c20..b9232d5cd 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -4374,6 +4374,8 @@ if(!$error) $projektarbeit->titel = $_POST['titel']; $projektarbeit->titel_english = $_POST['titel_english']; $projektarbeit->lehreinheit_id = $_POST['lehreinheit_id']; + $projektarbeit->lehrveranstaltung_id = $_POST['lehrveranstaltung_id']; + $projektarbeit->studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; $projektarbeit->student_uid = $_POST['student_uid']; $projektarbeit->firma_id = $_POST['firma_id']; $projektarbeit->note = $_POST['note']; diff --git a/content/student/studentprojektarbeit.js.php b/content/student/studentprojektarbeit.js.php index 62dbfeace..11fd630fe 100644 --- a/content/student/studentprojektarbeit.js.php +++ b/content/student/studentprojektarbeit.js.php @@ -239,6 +239,7 @@ function StudentProjektarbeitDetailDisableFields(val) document.getElementById('student-projektarbeit-button-speichern').disabled=val; document.getElementById('student-projektarbeit-menulist-projekttyp').disabled=val; document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').disabled=val; + document.getElementById('student-projektarbeit-menulist-studiensemester').disabled=val; document.getElementById('student-projektarbeit-menulist-lehreinheit').disabled=val; document.getElementById('student-projektarbeit-menulist-firma').disabled=val; document.getElementById('student-projektarbeit-menulist-note').disabled=val; @@ -290,6 +291,7 @@ function StudentProjektarbeitResetFields() document.getElementById('student-projektarbeit-menulist-firma').value=''; document.getElementById('student-projektarbeit-menulist-note').value=''; document.getElementById('student-projektarbeit-checkbox-final').checked=true; + document.getElementById('student-projektarbeit-menulist-studiensemester').value=getStudiensemester(); var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value; @@ -379,6 +381,7 @@ function StudentProjektarbeitAuswahl() lehreinheit_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehreinheit_id" )); lehrveranstaltung_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrveranstaltung_id" )); lehreinheit_stsem = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehreinheit_stsem" )); + projektarbeit_stsem = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#projektarbeit_stsem" )); student_uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#student_uid" )); firma_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#firma_id" )); note = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#note" )); @@ -399,7 +402,7 @@ function StudentProjektarbeitAuswahl() //Lehrveranstaltung DropDown laden var LvDropDown = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung'); - url='rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&projektarbeit=true&withlv="+lehrveranstaltung_id+"&"+gettimestamp(); + url='rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&stg_kz="+stg_kz+"&projektarbeit=true&withlv="+lehrveranstaltung_id+"&"+gettimestamp(); //Alte DS entfernen var oldDatasources = LvDropDown.database.GetDataSources(); @@ -420,7 +423,7 @@ function StudentProjektarbeitAuswahl() // Lehreinheit Drop Down laden var LeDropDown = document.getElementById('student-projektarbeit-menulist-lehreinheit'); - url='rdf/lehreinheit.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+"&studiensemester_kurzbz="+lehreinheit_stsem+"&"+gettimestamp(); + url='rdf/lehreinheit.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+"&studiensemester_kurzbz="+projektarbeit_stsem+"&"+gettimestamp(); //Alte DS entfernen var oldDatasources = LeDropDown.database.GetDataSources(); @@ -442,6 +445,7 @@ function StudentProjektarbeitAuswahl() //Werte setzen document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value=projektarbeit_id; document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value=lehreinheit_stsem; + document.getElementById('student-projektarbeit-menulist-studiensemester').value=projektarbeit_stsem; document.getElementById('student-projektarbeit-menulist-projekttyp').value=projekttyp_kurzbz; document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value=lehrveranstaltung_id; document.getElementById('student-projektarbeit-menulist-lehreinheit').value=lehreinheit_id; @@ -539,6 +543,7 @@ function StudentProjektarbeitSpeichern() projektarbeit_id = document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value; projekttyp_kurzbz = document.getElementById('student-projektarbeit-menulist-projekttyp').value; lehrveranstaltung_id = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value; + studiensemester_kurzbz = document.getElementById('student-projektarbeit-menulist-studiensemester').value; lehreinheit_id = document.getElementById('student-projektarbeit-menulist-lehreinheit').value; titel = document.getElementById('student-projektarbeit-textbox-titel').value; titel_english = document.getElementById('student-projektarbeit-textbox-titel_english').value; @@ -585,12 +590,18 @@ function StudentProjektarbeitSpeichern() return false; } - if(lehreinheit_id=='') + if(lehrveranstaltung_id=='') { - alert('Bitte einen LV-Teil auswaehlen'); + alert('Bitte eine Lehrveranstaltung auswaehlen'); return false; } + if(studiensemester_kurzbz=='') + { + alert('Bitte ein Studiensemester auswaehlen'); + return false; + } + if(isNaN(gesamtstunden)) gesamtstunden=0; @@ -603,6 +614,8 @@ function StudentProjektarbeitSpeichern() req.add('projekttyp_kurzbz', projekttyp_kurzbz ); req.add('titel', titel); req.add('titel_english', titel_english); + req.add('lehrveranstaltung_id', lehrveranstaltung_id); + req.add('studiensemester_kurzbz', studiensemester_kurzbz); req.add('lehreinheit_id', lehreinheit_id); req.add('student_uid', student_uid); req.add('firma_id', firma_id); @@ -738,7 +751,7 @@ function StudentProjektarbeitLVAChange() netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); lehrveranstaltung_id = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value; - studiensemester_kurzbz = getStudiensemester(); + studiensemester_kurzbz = document.getElementById('student-projektarbeit-menulist-studiensemester').value; // Lehreinheit Drop Down laden var LeDropDown = document.getElementById('student-projektarbeit-menulist-lehreinheit'); @@ -897,8 +910,8 @@ function StudentProjektbetreuerAuswahl() document.getElementById('student-projektbetreuer-textbox-person_id').value=person_id; document.getElementById('student-projektbetreuer-checkbox-neu').checked=false; - var lehreinheitstsem = document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value; - var default_stundensatz = StudentProjektbetreuerLoadStundensatz(person_id, lehreinheitstsem); + var projektarbeitstsem = document.getElementById('student-projektarbeit-menulist-studiensemester').value; + var default_stundensatz = StudentProjektbetreuerLoadStundensatz(person_id, projektarbeitstsem); if (default_stundensatz != '') default_stundensatz = 'Stundensatz (Default '+default_stundensatz+'):'; @@ -1410,9 +1423,10 @@ function StudentProjektbetreuerLoadStundensatz(person_id, studiensemester) function StudentProjektbetreuerLoadMitarbeiterDaten() { var person_id = MenulistGetSelectedValue('student-projektbetreuer-menulist-person'); - var lehreinheitstsem = document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value; + var projektarbeitstsem = document.getElementById('student-projektarbeit-menulist-studiensemester').value; - var stundensatz = StudentProjektbetreuerLoadStundensatz(person_id, lehreinheitstsem); + + var stundensatz = StudentProjektbetreuerLoadStundensatz(person_id, projektarbeitstsem); if (stundensatz != '') default_stundensatz = 'Stundensatz (Default '+stundensatz+'):'; diff --git a/content/student/studentprojektarbeitoverlay.xul.php b/content/student/studentprojektarbeitoverlay.xul.php index 71cae9cf6..94788054a 100644 --- a/content/student/studentprojektarbeitoverlay.xul.php +++ b/content/student/studentprojektarbeitoverlay.xul.php @@ -104,6 +104,10 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN') class="sortDirectionIndicator" sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#projektarbeit_id" /> +