Link zum Löschen von Lehrveranstaltung im Vilesci

Berechtigungsabfragen hinzugefügt
This commit is contained in:
Martin Tatzber
2014-04-16 12:55:51 +00:00
parent 1ca4a86f42
commit 4b55f56b7e
3 changed files with 203 additions and 11 deletions
+150
View File
@@ -1607,6 +1607,156 @@ class lehrveranstaltung extends basis_db
return true;
}
/**
* Loescht eine Lehrveranstaltung
* @param $lvid
* @return true wenn ok, false wenn Fehler
*/
/* public function delete_lva($lvid)
{
if(!is_numeric($lvid))
{
$this->errormsg = 'lvid ist ungueltig';
return false;
}
$qry = "DELETE FROM public.tbl_lehrveranstaltung
WHERE lehrveranstaltung_id=".$this->db_add_param($lvid, FHC_INTEGER);
if($this->load($lvid))
{
$this->db_query('BEGIN;');
$log = new log();
$log->executetime = date('Y-m-d H:i:s');
$log->beschreibung = 'Loeschen der Lehrveranstaltung '.$lvid;
$log->mitarbeiter_uid = get_uid();
$log->sql = $qry;
$log->sqlundo = 'INSERT INTO lehre.tbl_lehrveranstaltung (studiengang_kz, bezeichnung, kurzbz, lehrform_kurzbz,
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, ext_id, 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) VALUES (' .
$this->db_add_param($this->studiengang_kz) . ', ' .
$this->db_add_param($this->bezeichnung) . ', ' .
$this->db_add_param($this->kurzbz) . ', ' .
$this->db_add_param($this->lehrform_kurzbz) . ', ' .
$this->db_add_param($this->semester) . ', ' .
$this->db_add_param($this->ects) . ', ' .
$this->db_add_param($this->semesterstunden) . ', ' .
$this->db_add_param($this->anmerkung) . ', ' .
$this->db_add_param($this->lehre, FHC_BOOLEAN) . ',' .
$this->db_add_param($this->lehreverzeichnis) . ', ' .
$this->db_add_param($this->aktiv, FHC_BOOLEAN) . ', ' .
$this->db_add_param($this->ext_id) . ', ' .
$this->db_add_param($this->insertamum) . ', ' .
$this->db_add_param($this->insertvon) . ', ' .
$this->db_add_param($this->planfaktor) . ', ' .
$this->db_add_param($this->planlektoren) . ', ' .
$this->db_add_param($this->planpersonalkosten) . ', ' .
$this->db_add_param($this->plankostenprolektor) . ', ' .
$this->db_add_param($this->updateamum) . ', ' .
$this->db_add_param($this->updatevon) . ',' .
$this->db_add_param($this->sort) . ',' .
$this->db_add_param($this->zeugnis, FHC_BOOLEAN) . ',' .
$this->db_add_param($this->projektarbeit, FHC_BOOLEAN) . ',' .
$this->db_add_param($this->sprache) . ',' .
$this->db_add_param($this->koordinator) . ',' .
$this->db_add_param($this->bezeichnung_english) . ',' .
$this->db_add_param($this->orgform_kurzbz) . ',' .
$this->db_add_param($this->incoming) . ',' .
$this->db_add_param($this->lehrtyp_kurzbz) . ',' .
$this->db_add_param($this->oe_kurzbz) . ',' .
$this->db_add_param($this->raumtyp_kurzbz) . ',' .
$this->db_add_param($this->anzahlsemester) . ',' .
$this->db_add_param($this->semesterwochen) . ',' .
$this->db_add_param($this->lvnr) .','.
$this->db_add_param($this->semester_alternativ).','.
$this->db_add_param($this->farbe).');';
if($log->save(true))
{
if($this->db_query($qry))
{
$this->db_query('COMMIT');
return true;
}
else
{
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
else
{
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
return false;
}
} */
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $lvid ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($lvid)
{
//Pruefen ob adresse_id eine gueltige Zahl ist
if(!is_numeric($lvid) || $lvid == '')
{
$this->errormsg = 'lvid muss eine gültige Zahl sein'."\n";
return false;
}
$qry = "SELECT count(*) as anzahl FROM lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id=".$this->db_add_param($lvid, FHC_INTEGER)."
OR lehrfach_id=".$this->db_add_param($lvid, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
if($row->anzahl>0)
{
$this->errormsg = 'Zu dieser Lehrveranstaltung existieren Lehreinheiten oder Lehrfächer in der Datenbank. Sie kann daher nicht gelöscht werden.';
return false;
}
else
{
//loeschen des Datensatzes
$qry="DELETE FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$this->db_add_param($lvid, FHC_INTEGER, false);
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen der Daten'."\n";
return false;
}
}
}
else
{
$this->errormsg = 'Fehler beim Abfragen zugewiesener Lehreinheiten'."\n";
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Abfragen zugewiesener Lehreinheiten'."\n";
return false;
}
}
/**
* Sucht nach Lehrveranstaltungen
* @param $filter Suchfilter
+46 -11
View File
@@ -122,7 +122,28 @@ else
$isaktiv='';
else
$isaktiv='true';
// Löschen der Daten
if(isset($_GET['delete_lvid']))
{
if($write_admin)
{
$lvid=$_GET['delete_lvid'];
$lehrveranstaltung=new lehrveranstaltung();
if($lehrveranstaltung->load($lvid))
{
if(!$lehrveranstaltung->delete($lvid))
echo $lehrveranstaltung->errormsg;
}
else
{
echo 'Fehler beim Laden der Lehrveranstaltung: '.$lehrveranstaltung->errormsg."\n";
}
}
else
echo "Keine Berechtigung, um Lehrveranstaltung zu löschen!\n";
}
// Speichern der Daten
if(isset($_POST['lvid']) && is_numeric($_POST['lvid']))
{
@@ -764,6 +785,11 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
.replace(/[^a-z_\s]/gi, "");
ele.value = string;
}
function conf_del()
{
return confirm("Diese Lehrveranstaltung wirklich löschen?");
}
</script>
</head>
<body class="Background_main">
@@ -823,9 +849,14 @@ 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>LV-Info</th>
<th>LV-Angebot</th>
<th>kompatible LV</th>";
<th>LV-Info</th>\n";
if($write_admin)
{
echo "<th>LV-Angebot</th>
<th>kompatible LV</th>
<th>Aktion</th>";
}
echo "</tr></thead>";
echo "<tbody>";
@@ -977,13 +1008,17 @@ if ($result_lv!=0)
else
echo 'vorhanden';
echo '</td>';
echo '
<td nowrap>
<a href="lehrveranstaltung_lvangebot.php?lehrveranstaltung_id='.$db->convert_html_chars($row->lehrveranstaltung_id).'" target="lv_detail">LV-Angebot</a>
</td>';
echo '<td><a href="lehrveranstaltung_kompatibel.php?lehrveranstaltung_id='.$row->lehrveranstaltung_id.'&type=edit" target="lv_detail">Kompatible LV</a></td>';
echo "</tr>\n";
if($write_admin)
{
echo '
<td nowrap>
<a href="lehrveranstaltung_lvangebot.php?lehrveranstaltung_id='.$db->convert_html_chars($row->lehrveranstaltung_id).'" target="lv_detail">LV-Angebot</a>
</td>';
echo '<td><a href="lehrveranstaltung_kompatibel.php?lehrveranstaltung_id='.$row->lehrveranstaltung_id.'&type=edit" target="lv_detail">Kompatible LV</a></td>';
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?delete_lvid='.$row->lehrveranstaltung_id.'&stg_kz='.$stg_kz.'&semester='.$semester.'&fachbereich_kurzbz='.$oe_fachbereich.'&isaktiv='.$isaktiv.'&oe_kurzbz='.$oe_kurzbz.'" onclick="return conf_del()">löschen</a></td>';
echo "</tr>\n";
}
}
}
else
@@ -246,6 +246,13 @@ $lehrveranstaltung_id = $_GET["lehrveranstaltung_id"];
$type = isset($_GET["type"]) ? $_GET["type"] : "";
$lv = new lehrveranstaltung();
$lv->load($lehrveranstaltung_id);
$stg_obj = new studiengang();
$stg_obj->load($lv->studiengang_kz);
$oe_studiengang = $stg_obj->oe_kurzbz;
if(!$rechte->isBerechtigt('lehre/lehrveranstaltung', $oe_studiengang, 'suid'))
die('Sie haben keine Berechtigung fuer diese Seite');
echo '<h3>Kompatible Lehrveranstaltungen - '.$lv->bezeichnung.'</h3>';
$kompatibleLvs = $lv->loadLVkompatibel($lehrveranstaltung_id);