From d4f9ab7194585e26bfbb82e4cc6bc2687809f786 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Tue, 11 Mar 2025 08:06:27 +0100 Subject: [PATCH] - lvs column anrechenbar hinzugefuegt --- .../controllers/api/frontend/v1/LvMenu.php | 22 +++++++++------- include/lehrveranstaltung.class.php | 25 +++++++++++++++++-- include/tw/cis_menu_lv.inc.php | 23 ++++++++++------- system/dbupdate_3.4.php | 1 + ...ren_die_nicht_angerecht_werden_koennen.php | 22 ++++++++++++++++ vilesci/lehre/lehrveranstaltung_details.php | 5 ++-- 6 files changed, 76 insertions(+), 22 deletions(-) create mode 100644 system/dbupdate_3.4/56017_anrechnungen_lvs_markieren_die_nicht_angerecht_werden_koennen.php diff --git a/application/controllers/api/frontend/v1/LvMenu.php b/application/controllers/api/frontend/v1/LvMenu.php index 393c4d5c3..c606c7906 100644 --- a/application/controllers/api/frontend/v1/LvMenu.php +++ b/application/controllers/api/frontend/v1/LvMenu.php @@ -503,15 +503,19 @@ class LvMenu extends FHCAPI_Controller if((!defined('CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN) && $this->PermissionLib->isBerechtigt('student/anrechnung_beantragen')) { - $menu[]=array - ( - 'id' => 'core_menu_anerkennungNachgewiesenerKenntnisse', - 'position' => '128', - 'name' => $this->p->t('lehre', 'anrechnung'), - 'c4_icon' => base_url('skin/images/button_listen.png'), - 'c4_icon2' => 'fa-regular fa-folder-open', - 'c4_link' => base_url('cis.php/lehre/anrechnung/RequestAnrechnung?studiensemester='.urlencode($angezeigtes_stsem).'&lv_id='.urlencode($lvid)) - ); + $lvres = $this->Lehrveranstaltung_model->load($lvid); + if(hasData($lvres) && getData($lvres)[0]->anrechenbar !== false) + { + $menu[]=array + ( + 'id' => 'core_menu_anerkennungNachgewiesenerKenntnisse', + 'position' => '128', + 'name' => $this->p->t('lehre', 'anrechnung'), + 'c4_icon' => base_url('skin/images/button_listen.png'), + 'c4_icon2' => 'fa-regular fa-folder-open', + 'c4_link' => base_url('cis.php/lehre/anrechnung/RequestAnrechnung?studiensemester='.urlencode($angezeigtes_stsem).'&lv_id='.urlencode($lvid)) + ); + } } } diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index 48edd9d0a..8912b00f8 100644 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -69,6 +69,7 @@ class lehrveranstaltung extends basis_db public $semester_alternativ; // smallint public $farbe; public $lehrauftrag=true; + public $anrechenbar=true; public $lehrveranstaltung_template_id; // integer @@ -170,6 +171,7 @@ class lehrveranstaltung extends basis_db $this->benotung = $this->db_parse_bool($row->benotung); $this->lvinfo = $this->db_parse_bool($row->lvinfo); $this->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $this->anrechenbar = $this->db_parse_bool($row->anrechenbar); // FIXME: LV-Bezeichnung richtig mehrsprachig machen // Zwischenzeitlich 'Italian' zum bezeichnung_arr dazugegeben @@ -244,6 +246,7 @@ class lehrveranstaltung extends basis_db $lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $lv_obj->anrechenbar = $this->db_parse_bool($row->anrechenbar); $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -394,6 +397,7 @@ class lehrveranstaltung extends basis_db $lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $lv_obj->anrechenbar = $this->db_parse_bool($row->anrechenbar); $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['Italian'] = $row->bezeichnung; @@ -607,6 +611,7 @@ class lehrveranstaltung extends basis_db $lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $lv_obj->anrechenbar = $this->db_parse_bool($row->anrechenbar); $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -779,7 +784,7 @@ class lehrveranstaltung extends basis_db insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort, zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz, incoming, lehrtyp_kurzbz, oe_kurzbz, raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe, lehrveranstaltung_template_id,sws,lvs,alvs,lvps,las,benotung,lvinfo, - lehrauftrag, lehrmodus_kurzbz) VALUES ('. + lehrauftrag, anrechenbar, lehrmodus_kurzbz) VALUES ('. $this->db_add_param($this->studiengang_kz). ', '. $this->db_add_param($this->bezeichnung). ', '. $this->db_add_param($this->kurzbz). ', '. @@ -824,6 +829,7 @@ class lehrveranstaltung extends basis_db $this->db_add_param($this->benotung, FHC_BOOLEAN).','. $this->db_add_param($this->lvinfo, FHC_BOOLEAN).','. $this->db_add_param($this->lehrauftrag, FHC_BOOLEAN).','. + $this->db_add_param($this->anrechenbar, FHC_BOOLEAN).','. $this->db_add_param($this->lehrmodus_kurzbz) .');'; } @@ -880,7 +886,8 @@ class lehrveranstaltung extends basis_db 'las = '.$this->db_add_param($this->las).', '. 'benotung = '.$this->db_add_param($this->benotung, FHC_BOOLEAN).', '. 'lvinfo = '.$this->db_add_param($this->lvinfo, FHC_BOOLEAN).', '. - 'lehrauftrag = '.$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN).' '. + 'lehrauftrag = '.$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN).', '. + 'anrechenbar = '.$this->db_add_param($this->anrechenbar, FHC_BOOLEAN).' '. 'WHERE lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER, false) . ';'; } @@ -991,6 +998,7 @@ class lehrveranstaltung extends basis_db $lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $lv_obj->anrechenbar = $this->db_parse_bool($row->anrechenbar); $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -1086,6 +1094,7 @@ class lehrveranstaltung extends basis_db $l->benotung = $this->db_parse_bool($row->benotung); $l->lvinfo = $this->db_parse_bool($row->lvinfo); $l->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $l->anrechenbar = $this->db_parse_bool($row->anrechenbar); $l->bezeichnung_arr['German'] = $row->bezeichnung; $l->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -1170,6 +1179,7 @@ class lehrveranstaltung extends basis_db $lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $lv_obj->anrechenbar = $this->db_parse_bool($row->anrechenbar); $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -1271,6 +1281,7 @@ class lehrveranstaltung extends basis_db $obj->benotung = $this->db_parse_bool($row->benotung); $obj->lvinfo = $this->db_parse_bool($row->lvinfo); $obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $obj->anrechenbar = $this->db_parse_bool($row->anrechenbar); $obj->bezeichnung_arr['German'] = $row->bezeichnung; $obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -1396,6 +1407,7 @@ class lehrveranstaltung extends basis_db $obj->lvinfo =$this->db_parse_bool( $lv->lvinfo); $obj->zeugnis = $this->db_parse_bool($lv->zeugnis); $obj->lehrauftrag = $this->db_parse_bool($lv->lehrauftrag); + $obj->anrechenbar = $this->db_parse_bool($lv->anrechenbar); $values[] = $obj; @@ -1422,6 +1434,7 @@ class lehrveranstaltung extends basis_db $obj->lvinfo =$this->db_parse_bool( $this->lvinfo); $obj->zeugnis = $this->db_parse_bool($this->zeugnis); $obj->lehrauftrag = $this->db_parse_bool($this->lehrauftrag); + $obj->anrechenbar = $this->db_parse_bool($this->anrechenbar); $values[] = $obj; } @@ -1476,6 +1489,7 @@ class lehrveranstaltung extends basis_db $obj->export = $lv->export; $obj->genehmigung = $lv->genehmigung; $obj->lehrauftrag = $lv->lehrauftrag; + $obj->anrechenbar = $lv->anrechenbar; $obj->lehre = $lv->lehre; $obj->children = array(); if(count($lv->childs) > 0) @@ -1507,6 +1521,7 @@ class lehrveranstaltung extends basis_db $obj->zeugnis = $this->db_parse_bool($this->zeugnis); $obj->curriculum = $this->db_parse_bool($this->curriculum); $obj->lehrauftrag = $this->lehrauftrag; + $obj->anrechenbar = $this->anrechenbar; $values[] = $obj; } @@ -1613,6 +1628,7 @@ class lehrveranstaltung extends basis_db $lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $lv_obj->anrechenbar = $this->db_parse_bool($row->anrechenbar); $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -1700,6 +1716,7 @@ class lehrveranstaltung extends basis_db $lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $lv_obj->anrechenbar = $this->db_parse_bool($row->anrechenbar); $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -1873,6 +1890,7 @@ class lehrveranstaltung extends basis_db $lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $lv_obj->anrechenbar = $this->db_parse_bool($row->anrechenbar); $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -2003,6 +2021,7 @@ class lehrveranstaltung extends basis_db $lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $lv_obj->anrechenbar = $this->db_parse_bool($row->anrechenbar); $lv_obj->studiengang_kurzbzlang = $row->studiengang_kurzbzlang; @@ -2131,6 +2150,7 @@ class lehrveranstaltung extends basis_db $lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $lv_obj->anrechenbar = $this->db_parse_bool($row->anrechenbar); $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; @@ -2402,6 +2422,7 @@ class lehrveranstaltung extends basis_db $obj->benotung = $this->db_parse_bool($row->benotung); $obj->lvinfo = $this->db_parse_bool($row->lvinfo); $obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + $obj->anrechenbar = $this->db_parse_bool($row->anrechenbar); $obj->bezeichnung_arr['German'] = $row->bezeichnung; $obj->bezeichnung_arr['English'] = $row->bezeichnung_english; diff --git a/include/tw/cis_menu_lv.inc.php b/include/tw/cis_menu_lv.inc.php index 73a347dc3..8d1d53391 100644 --- a/include/tw/cis_menu_lv.inc.php +++ b/include/tw/cis_menu_lv.inc.php @@ -474,15 +474,20 @@ function checkZeilenUmbruch() if((!defined('CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN) && $rechte->isBerechtigt('student/anrechnung_beantragen')) { - $menu[]=array - ( - 'id'=>'core_menu_anerkennungNachgewiesenerKenntnisse', - 'position'=>'128', - 'name'=>$p->t('lehre/anrechnung'), - 'phrase'=>'lehre/anrechnung', - 'icon'=>'../../../skin/images/button_listen.png', - 'link' => APP_ROOT. 'index.ci.php/lehre/anrechnung/RequestAnrechnung?studiensemester='.urlencode($angezeigtes_stsem).'&lv_id='.urlencode($lvid) - ); + $lehrveranstaltung_obj = new lehrveranstaltung($lvid); + + if ($lehrveranstaltung_obj->anrechenbar !== false) + { + $menu[]=array + ( + 'id'=>'core_menu_anerkennungNachgewiesenerKenntnisse', + 'position'=>'128', + 'name'=>$p->t('lehre/anrechnung'), + 'phrase'=>'lehre/anrechnung', + 'icon'=>'../../../skin/images/button_listen.png', + 'link' => APP_ROOT. 'index.ci.php/lehre/anrechnung/RequestAnrechnung?studiensemester='.urlencode($angezeigtes_stsem).'&lv_id='.urlencode($lvid) + ); + } } // Anerkennung nachgewiesener Kenntnisse (Anrechnung) - Anzeige fuer LektorInnen diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index d007c04f6..848b8047b 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -71,6 +71,7 @@ require_once('dbupdate_3.4/41950_perm_gehaelter.php'); require_once('dbupdate_3.4/53903_valorisierung.php'); require_once('dbupdate_3.4/55968_index_anrechnung.php'); require_once('dbupdate_3.4/25999_locale_update.php'); +require_once('dbupdate_3.4/56017_anrechnungen_lvs_markieren_die_nicht_angerecht_werden_koennen.php'); require_once('dbupdate_3.4/55289_pep_fine_tuning.php'); // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen diff --git a/system/dbupdate_3.4/56017_anrechnungen_lvs_markieren_die_nicht_angerecht_werden_koennen.php b/system/dbupdate_3.4/56017_anrechnungen_lvs_markieren_die_nicht_angerecht_werden_koennen.php new file mode 100644 index 000000000..556c57cbf --- /dev/null +++ b/system/dbupdate_3.4/56017_anrechnungen_lvs_markieren_die_nicht_angerecht_werden_koennen.php @@ -0,0 +1,22 @@ +db_query("SELECT anrechenbar FROM lehre.tbl_lehrveranstaltung LIMIT 1")) +{ + $qry = 'ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN anrechenbar boolean DEFAULT true;'; + + if(!$db->db_query($qry)) + echo ' lehre.tbl_lehrveranstaltung '.$db->db_last_error().'
'; + else + { + echo '
lehre.tbl_lehrveranstaltung: Neue Spalte anrechenbar hinzugefügt'; + + $qry = 'UPDATE lehre.tbl_lehrveranstaltung SET anrechenbar = true'; + + if(!$db->db_query($qry)) + echo ' lehre.tbl_lehrveranstaltung '.$db->db_last_error().'
'; + else + echo '
lehre.tbl_lehrveranstaltung: anrechenbar auf true gesetzt'; + } +} diff --git a/vilesci/lehre/lehrveranstaltung_details.php b/vilesci/lehre/lehrveranstaltung_details.php index 60f2fc3c9..96a296eaf 100644 --- a/vilesci/lehre/lehrveranstaltung_details.php +++ b/vilesci/lehre/lehrveranstaltung_details.php @@ -124,6 +124,7 @@ $lv->benotung = isset($_POST['benotung']); $lv->lvinfo = isset($_POST['lvinfo']); $lv->lehrauftrag = isset($_POST['lehrauftrag']); + $lv->anrechenbar = isset($_POST['anrechenbar']); $lv->lehrveranstaltung_template_id = $lv->lehrtyp_kurzbz == 'tpl' ? '' : $_POST['lehrveranstaltung_template_id']; if(!$lv->save()) @@ -477,8 +478,8 @@ Template - - + Anrechenbar + anrechenbar ? 'checked':'').'>