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 @@