merge feature 18233

This commit is contained in:
Harald Bamberger
2022-04-29 11:04:32 +02:00
5 changed files with 317 additions and 6 deletions
@@ -309,4 +309,50 @@ class Lehrveranstaltung_model extends DB_Model
return $this->execQuery($query, array($uid, $studiensemester_kurzbz, $lehrveranstaltung_id));
}
/**
* Sucht nach LV Templates und gibt Id und Label ("bezeichnung [kurzbz]") aus
* Diese funktion ist für autocomplete gedacht
*
* @param string $filter Suchfilter
* @return \stdClass A return object
*/
public function loadTemplates($filter)
{
$filter = strtolower($filter);
$qry = "SELECT
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.kurzbz
FROM
lehre.tbl_lehrveranstaltung
WHERE
tbl_lehrveranstaltung.lehrtyp_kurzbz = 'tpl' AND (
CAST(tbl_lehrveranstaltung.lehrveranstaltung_id AS TEXT) LIKE '%".$this->db_escape($filter)."%' OR
LOWER(tbl_lehrveranstaltung.bezeichnung) LIKE '%".$this->db_escape($filter). "%' OR
LOWER(tbl_lehrveranstaltung.kurzbz) LIKE '%".$this->db_escape($filter). "%'
)
";
return $this->execQuery($qry);
}
/**
* Lädt Template und gibt Id und Label ("bezeichnung [kurzbz]") zurück
* Diese funktion ist für autocomplete gedacht
*
* @param string $name
* @return \stdClass A return object
*/
public function loadTemplateByName($name)
{
$qry = "SELECT
tbl_lehrveranstaltung.lehrveranstaltung_id as id, CONCAT(tbl_lehrveranstaltung.bezeichnung, ' [', tbl_lehrveranstaltung.kurzbz, ']') as label
FROM
lehre.tbl_lehrveranstaltung
WHERE
tbl_lehrveranstaltung.lehrtyp_kurzbz = 'tpl' AND (
CAST(tbl_lehrveranstaltung.lehrveranstaltung_id AS TEXT) = '".($name ? $this->db_escape($name) : 0)."' OR tbl_lehrveranstaltung.bezeichnung = '".$this->db_escape($name). "' OR tbl_lehrveranstaltung.kurzbz = '".$this->db_escape($name). "'
)
";
return $this->execQuery($qry);
}
}
+114 -3
View File
@@ -69,6 +69,7 @@ class lehrveranstaltung extends basis_db
public $semester_alternativ; // smallint
public $farbe;
public $lehrauftrag=true;
public $lehrveranstaltung_template_id; // integer
public $studienplan_lehrveranstaltung_id;
@@ -158,6 +159,7 @@ class lehrveranstaltung extends basis_db
$this->lvnr = $row->lvnr;
$this->semester_alternativ = $row->semester_alternativ;
$this->farbe = $row->farbe;
$this->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$this->sws = $row->sws;
$this->lvs = $row->lvs;
@@ -237,6 +239,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
@@ -387,6 +390,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$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);
@@ -516,6 +520,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$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);
@@ -598,6 +603,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$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);
@@ -729,6 +735,25 @@ class lehrveranstaltung extends basis_db
$this->errormsg = 'Semesterwochen muss ein eine gueltige ganze Zahl sein';
return false;
}
if ($this->lehrveranstaltung_template_id != '')
{
if (!isint($this->lehrveranstaltung_template_id)) {
$this->errormsg = 'Lehrveranstaltung Template Id muss eine gültige ganze Zahl sein';
return false;
} elseif($this->lehrtyp_kurzbz == 'tpl') {
$this->errormsg = 'Lehrveranstaltung Template Id darf bei Lehrveranstaltungen des Typs "Template" nicht gesetzt werden';
return false;
} else {
$template = new lehrveranstaltung($this->lehrveranstaltung_template_id);
if ($template->errormsg) {
$this->errormsg = 'Lehrveranstaltung Template: ' . $template->errormsg;
return false;
} elseif ($template->lehrtyp_kurzbz != 'tpl') {
$this->errormsg = 'Lehrveranstaltung Template: Als Lehrtyp muss Template ausgewählt sein';
return false;
}
}
}
$this->errormsg = '';
return true;
}
@@ -753,7 +778,7 @@ class lehrveranstaltung extends basis_db
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, insertamum,
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,sws,lvs,alvs,lvps,las,benotung,lvinfo,
raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe, lehrveranstaltung_template_id,sws,lvs,alvs,lvps,las,benotung,lvinfo,
lehrauftrag, lehrmodus_kurzbz) VALUES ('.
$this->db_add_param($this->studiengang_kz). ', '.
$this->db_add_param($this->bezeichnung). ', '.
@@ -790,6 +815,7 @@ class lehrveranstaltung extends basis_db
$this->db_add_param($this->lvnr).','.
$this->db_add_param($this->semester_alternativ).','.
$this->db_add_param($this->farbe).','.
$this->db_add_param($this->lehrveranstaltung_template_id, FHC_INTEGER).','.
$this->db_add_param($this->sws).','.
$this->db_add_param($this->lvs).','.
$this->db_add_param($this->alvs).','.
@@ -846,6 +872,7 @@ class lehrveranstaltung extends basis_db
'lvnr = ' . $this->db_add_param($this->lvnr) . ', ' .
'semester_alternativ = '.$this->db_add_param($this->semester_alternativ).', '.
'farbe = '.$this->db_add_param($this->farbe).', '.
'lehrveranstaltung_template_id = '.$this->db_add_param($this->lehrveranstaltung_template_id, FHC_INTEGER).', '.
'sws = '.$this->db_add_param($this->sws).', '.
'lvs = '.$this->db_add_param($this->lvs).', '.
'alvs = '.$this->db_add_param($this->alvs).', '.
@@ -960,6 +987,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$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);
@@ -1054,6 +1082,7 @@ class lehrveranstaltung extends basis_db
$l->lvnr = $row->lvnr;
$l->semester_alternativ = $row->semester_alternativ;
$l->farbe = $row->farbe;
$l->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$l->benotung = $this->db_parse_bool($row->benotung);
$l->lvinfo = $this->db_parse_bool($row->lvinfo);
$l->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
@@ -1137,6 +1166,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$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);
@@ -1236,6 +1266,7 @@ class lehrveranstaltung extends basis_db
$obj->lvnr = $row->lvnr;
$obj->semester_alternativ = $row->semester_alternativ;
$obj->farbe = $row->farbe;
$obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$obj->stpllv_sort = $row->stpllv_sort;
$obj->benotung = $this->db_parse_bool($row->benotung);
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
@@ -1309,7 +1340,7 @@ class lehrveranstaltung extends basis_db
return $childs;
}
/**
/**
* Generiert die Subtrees des Lehrveranstaltungstrees
*/
public function hasChildren($studienplan_lehrveranstaltung_id)
@@ -1360,6 +1391,7 @@ class lehrveranstaltung extends basis_db
$obj->stpllv_koordinator = $lv->stpllv_koordinator;
$obj->oe_kurzbz = $lv->oe_kurzbz;
$obj->lvnr = $lv->lvnr;
$obj->lehrveranstaltung_template_id = $lv->lehrveranstaltung_template_id;
$obj->benotung = $this->db_parse_bool($lv->benotung);
$obj->lvinfo =$this->db_parse_bool( $lv->lvinfo);
$obj->zeugnis = $this->db_parse_bool($lv->zeugnis);
@@ -1385,6 +1417,7 @@ class lehrveranstaltung extends basis_db
$obj->stpllv_koordinator = $this->stpllv_koordinator;
$obj->oe_kurzbz = $this->oe_kurzbz;
$obj->lvnr = $this->lvnr;
$obj->lehrveranstaltung_template_id = $this->lehrveranstaltung_template_id;
$obj->benotung = $this->db_parse_bool($this->benotung);
$obj->lvinfo =$this->db_parse_bool( $this->lvinfo);
$obj->zeugnis = $this->db_parse_bool($this->zeugnis);
@@ -1424,6 +1457,7 @@ class lehrveranstaltung extends basis_db
$obj->stpllv_pflicht = $lv->stpllv_pflicht;
$obj->stpllv_koordinator = $lv->stpllv_koordinator;
$obj->lvnr = $lv->lvnr;
$obj->lehrveranstaltung_template_id = $lv->lehrveranstaltung_template_id;
$obj->stpllv_sort = $lv->stpllv_sort;
$obj->oe_kurzbz = $lv->oe_kurzbz;
$obj->sws = $lv->sws;
@@ -1467,6 +1501,7 @@ class lehrveranstaltung extends basis_db
$obj->stpllv_pflicht = $this->stpllv_pflicht;
$obj->stpllv_koordinator = $this->stpllv_koordinator;
$obj->lvnr = $this->lvnr;
$obj->lehrveranstaltung_template_id = $this->lehrveranstaltung_template_id;
$obj->benotung = $this->db_parse_bool($this->benotung);
$obj->lvinfo =$this->db_parse_bool( $this->lvinfo);
$obj->zeugnis = $this->db_parse_bool($this->zeugnis);
@@ -1574,6 +1609,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->farbe = $row->farbe;
$lv_obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$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);
@@ -1660,6 +1696,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->farbe = $row->farbe;
$lv_obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$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);
@@ -1831,6 +1868,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
@@ -1961,6 +1999,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$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);
@@ -2088,6 +2127,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$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);
@@ -2276,7 +2316,7 @@ class lehrveranstaltung extends basis_db
}
/**
* Lädt alle Lehrveranstaltungen eine Studienplans
* Lädt alle Lehrveranstaltungen eines Studienplans
* Optionale Filterung nach Lehrtyp und Semester
* @param type $studienplan_id
* @param type $lehrtyp_kurzbz
@@ -2358,6 +2398,7 @@ class lehrveranstaltung extends basis_db
$obj->lvnr = $row->lvnr;
$obj->semester_alternativ = $row->semester_alternativ;
$obj->farbe = $row->farbe;
$obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
$obj->benotung = $this->db_parse_bool($row->benotung);
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
@@ -2665,5 +2706,75 @@ class lehrveranstaltung extends basis_db
return false;
}
}
/**
* Sucht nach LV Templates und gibt Id und Label ("bezeichnung [kurzbz]") aus
* Diese funktion ist für autocomplete gedacht
*
* @param string $filter Suchfilter
* @return array
*/
public function loadTemplates($filter)
{
$filter = strtolower($filter);
$qry = "SELECT
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.kurzbz
FROM
lehre.tbl_lehrveranstaltung
WHERE
tbl_lehrveranstaltung.lehrtyp_kurzbz = 'tpl' AND (
CAST(tbl_lehrveranstaltung.lehrveranstaltung_id AS TEXT) LIKE '%".$this->db_escape($filter)."%' OR
LOWER(tbl_lehrveranstaltung.bezeichnung) LIKE '%".$this->db_escape($filter). "%' OR
LOWER(tbl_lehrveranstaltung.kurzbz) LIKE '%".$this->db_escape($filter). "%'
)
";
$lehrveranstaltungen = [];
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$lehrveranstaltungen[] = $row;
}
return $lehrveranstaltungen;
}
else
{
$this->errormsg='Fehler bei Datenbankabfrage';
return [];
}
}
/**
* Lädt Template und gibt Id und Label ("bezeichnung [kurzbz]") zurück
* Diese funktion ist für autocomplete gedacht
*
* @param string $name
* @return stdClass | null
*/
public function loadTemplateByName($name)
{
$qry = "SELECT
tbl_lehrveranstaltung.lehrveranstaltung_id as id, CONCAT(tbl_lehrveranstaltung.bezeichnung, ' [', tbl_lehrveranstaltung.kurzbz, ']') as label
FROM
lehre.tbl_lehrveranstaltung
WHERE
tbl_lehrveranstaltung.lehrtyp_kurzbz = 'tpl' AND (
CAST(tbl_lehrveranstaltung.lehrveranstaltung_id AS TEXT) = '".($name ? $this->db_escape($name) : 0)."' OR tbl_lehrveranstaltung.bezeichnung = '".$this->db_escape($name). "' OR tbl_lehrveranstaltung.kurzbz = '".$this->db_escape($name). "'
)
";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
return $row;
}
}
else
{
$this->errormsg='Fehler bei Datenbankabfrage ' .$this->db_last_error();
}
return null;
}
}
?>
+55
View File
@@ -6141,6 +6141,61 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht
}
}
// NOTE(chris): Add "Template" to "Lehrtyp"
if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrtyp WHERE bezeichnung = 'Template';"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO lehre.tbl_lehrtyp(lehrtyp_kurzbz, bezeichnung) VALUES('tpl', 'Template');";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_lehrtyp '.$db->db_last_error().'</strong><br>';
else
echo '<br>lehre.tbl_lehrtyp: Added "Template"';
}
}
// NOTE(chris): Add Column "lehrveranstaltung_template_id" in tbl_lehrveranstaltung
if(!$result = @$db->db_query("SELECT lehrveranstaltung_template_id FROM lehre.tbl_lehrveranstaltung LIMIT 1"))
{
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lehrveranstaltung_template_id integer;
ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_template FOREIGN KEY (lehrveranstaltung_template_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_lehrveranstaltung: '.$db->db_last_error().'</strong><br>';
else
echo '<br>lehre.tbl_lehrveranstaltung: Spalte lehrveranstaltung_template_id hinzugefuegt';
}
// NOTE(chris): Add Webservice Rights for lehrveranstaltung::loadTemplates
if($result = @$db->db_query("SELECT 1 FROM system.tbl_webservicerecht WHERE berechtigung_kurzbz='soap/studienordnung' AND methode = 'loadTemplates' AND klasse = 'lehrveranstaltung';"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, insertamum, insertvon, klasse) VALUES('soap/studienordnung', 'loadTemplates', now(), 'checksystem', 'lehrveranstaltung');";
if(!$db->db_query($qry))
echo '<strong>system.tbl_webservicerecht '.$db->db_last_error().'</strong><br>';
else
echo '<br>system.tbl_webservicerecht: soap/studienordnung/loadTemplates->lehrveranstaltung hinzugefügt';
}
}
// NOTE(chris): Add Webservice Rights for lehrveranstaltung::loadTemplateByName
if($result = @$db->db_query("SELECT 1 FROM system.tbl_webservicerecht WHERE berechtigung_kurzbz='soap/studienordnung' AND methode = 'loadTemplateByName' AND klasse = 'lehrveranstaltung';"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, insertamum, insertvon, klasse) VALUES('soap/studienordnung', 'loadTemplateByName', now(), 'checksystem', 'lehrveranstaltung');";
if(!$db->db_query($qry))
echo '<strong>system.tbl_webservicerecht '.$db->db_last_error().'</strong><br>';
else
echo '<br>system.tbl_webservicerecht: soap/studienordnung/loadTemplateByName->lehrveranstaltung hinzugefügt';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
+8 -3
View File
@@ -727,9 +727,9 @@ echo '
16: {sorter: false, filter: false},
19: {sorter: false, filter: false},
20: {sorter: false, filter: false},
21: {sorter: false, filter: false},
22: {sorter: false, filter: false},
23: {sorter: false, filter: false}},
23: {sorter: false, filter: false},
24: {sorter: false, filter: false}},
widgetOptions : {filter_functions : {
// Add select menu to this column
12 : {
@@ -1083,7 +1083,8 @@ if ($result_lv!=0)
<th>Zeugnis</th>
<th title='Soll diese Lehrveranstaltung bei Diplom-/Bachelorarbeit ausgewaehlt werden koennen?'>BA/DA</th>
<th>Koordinator</th>
<th class=\"lvinfo\" >LV-Info</th>\n";
<th class=\"lvinfo\" >LV-Info</th>
<th>Template</th>\n";
if($write_admin)
{
@@ -1295,6 +1296,10 @@ if ($result_lv!=0)
else
echo 'vorhanden';
echo '</td>';
//Template
echo "<td align='right'>";
echo $db->convert_html_chars($row->lehrveranstaltung_template_id);
echo '</td>';
if($write_admin)
{
echo '
@@ -121,6 +121,7 @@
$lv->benotung = isset($_POST['benotung']);
$lv->lvinfo = isset($_POST['lvinfo']);
$lv->lehrauftrag = isset($_POST['lehrauftrag']);
$lv->lehrveranstaltung_template_id = $lv->lehrtyp_kurzbz == 'tpl' ? '' : $_POST['lehrveranstaltung_template_id'];
if(!$lv->save())
$errorstr = "Fehler beim Speichern der Daten: $lv->errormsg";
@@ -436,6 +437,13 @@
<td>Lehrauftrag</td>
<td><input type="checkbox" name="lehrauftrag" '.($lv->lehrauftrag?'checked':'').'></td>
</tr>
<tr id="lehrveranstaltung_template_id">
<td>Template</td>
<td colspan="2"><input type="text" name="lehrveranstaltung_template_id" value="'.$lv->lehrveranstaltung_template_id.'" size="6"> <span class="text-template_name"></span></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
@@ -527,6 +535,7 @@
<title>Lehrveranstaltung - Details</title>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../skin/colorpicker.css" type="text/css"/>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css"/>
<script type="text/javascript" src="../../include/js/mailcheck.js"></script>
<script type="text/javascript" src="../../include/js/datecheck.js"></script>
@@ -665,6 +674,91 @@
{
$(this).ColorPickerSetColor(this.value);
});
$('input[name="lehrveranstaltung_template_id"]').autocomplete({
minLength: 2,
source: function(request, response) {
$.ajax({
dataType: "json",
url: "../../soap/fhcomplete.php",
data: {
typ: "json",
class: "lehrveranstaltung",
method: "loadTemplates",
parameter_0: request.term
}
}).then(data => {
for (var k in data.return) {
data.return[k].value = data.return[k].lehrveranstaltung_id;
data.return[k].name = data.return[k].bezeichnung + " [" + data.return[k].kurzbz + "]";
data.return[k].label = data.return[k].name + " (" + data.return[k].lehrveranstaltung_id + ")";
}
response(data.return);
});
},
close: function(e, ui) {
$(this).trigger('check.ac-template');
},
focus: function(e, ui) {
$(this).removeClass('input_ok input_error').val(ui.item.value).parent().parent().find('.text-template_name').text(ui.item.name);
return false;
},
select: function(e, ui) {
$(this).addClass('input_ok').val(ui.item.value).parent().parent().find('.text-template_name').text(ui.item.name);
return false;
}
}).focus(function(e) {
$(this).removeClass('input_ok input_error');
}).blur(function(e) {
$(this).trigger('check.ac-template');
}).on('check.ac-template', function(e) {
var self = $(this),
val = self.val();
if (!val) {
self.removeClass('input_ok input_error').parent().parent().find('.text-template_name').text('');
} else {
$.ajax({
dataType: "json",
url: "../../soap/fhcomplete.php",
data: {
typ: "json",
class: "lehrveranstaltung",
method: "loadTemplates",
parameter_0: val
},
success: function(data) {
if (self.val() == val) {
var label = '',
state = '',
item = null;
for (var k in data.return) {
if (data.return[k].lehrveranstaltung_id == val) {
item = data.return[k];
break;
}
}
if (item) {
state = 'input_ok';
label = item.bezeichnung + " [" + item.kurzbz + "]";
} else if (val) {
state = 'input_error';
}
self.removeClass('input_ok input_error').addClass(state).parent().parent().find('.text-template_name').text(label);
}
}
});
}
}).trigger('check.ac-template');
$('select[name="lehrtyp_kurzbz"]').change(function(e) {
if ($(this).val() == 'tpl') {
$('#lehrveranstaltung_template_id').hide();
} else {
$('#lehrveranstaltung_template_id').show();
}
}).change();
});
</script>
<style type="text/css">