mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Abmeldung von Lehrveranstaltungen hinzugefügt
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
<?php
|
||||
/* Copyright (C) 2014 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../config/global.config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/lvangebot.class.php');
|
||||
require_once('../../../include/benutzergruppe.class.php');
|
||||
require_once('../../../include/lehrveranstaltung.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
|
||||
|
||||
if (!$user=get_uid())
|
||||
die($p->t('global/nichtAngemeldet'));
|
||||
|
||||
echo '<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>'.$p->t('lehre/abmeldung').'</h1>';
|
||||
|
||||
if(!isset($_GET['lvid']) || !isset($_GET['stsem']))
|
||||
{
|
||||
die('Fehlerhafte Parameterübergabe');
|
||||
}
|
||||
|
||||
$lvid = $_GET['lvid'];
|
||||
$stsem = $_GET['stsem'];
|
||||
|
||||
$lvangebot = new lvangebot();
|
||||
$gruppen = $lvangebot->AbmeldungMoeglich($lvid, $stsem, $user);
|
||||
if(count($gruppen)>0)
|
||||
{
|
||||
if(isset($_POST['gruppe']))
|
||||
{
|
||||
$gruppe = $_POST['gruppe'];
|
||||
if(in_array($gruppe, $gruppen))
|
||||
{
|
||||
$benutzergruppe = new benutzergruppe();
|
||||
if($benutzergruppe->delete($user, $gruppe))
|
||||
{
|
||||
echo $p->t('lehre/AbmeldungErfolgreich');
|
||||
// Menuebaum neu Laden damit die LV nicht mehr angezeigt wird
|
||||
echo '<script>window.parent.menu.location.reload();</script>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $benutzergruppe->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $p->t('lehre/AbmeldungAusGruppeNichtMoeglich');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach($gruppen as $gruppe)
|
||||
{
|
||||
$lehrveranstaltung = new lehrveranstaltung();
|
||||
$lehrveranstaltung->load($lvid);
|
||||
|
||||
if(defined('CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN)
|
||||
{
|
||||
$qry = "SELECT
|
||||
lehrfach_id
|
||||
FROM
|
||||
lehre.tbl_lehreinheit
|
||||
JOIN lehre.tbl_lehreinheitgruppe USING(lehreinheit_id)
|
||||
WHERE
|
||||
gruppe_kurzbz=".$db->db_add_param($gruppe)."
|
||||
AND lehrveranstaltung_id=".$db->db_add_param($lvid)."
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem);
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$lehrveranstaltung->load($row->lehrfach_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
echo '<form action="abmeldung.php?lvid='.$lvid.'&stsem='.$stsem.'" method="POST">';
|
||||
echo $p->t('lehre/confirmAbmeldung',array($lehrveranstaltung->bezeichnung));
|
||||
echo '<input type="hidden" name="gruppe" value="'.$gruppe.'" />';
|
||||
echo '<br><br><input type="Submit" value="Abmelden">';
|
||||
echo '</form><br><br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo '</body>
|
||||
</html>';
|
||||
|
||||
@@ -30,6 +30,7 @@ require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/moodle.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/lehre_tools.class.php');
|
||||
require_once('../../../include/lvangebot.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
@@ -151,7 +152,7 @@ if (isset($_GET["handbuch"])){
|
||||
else
|
||||
$angezeigtes_stsem = $stsem->getNearest($semester);
|
||||
}
|
||||
|
||||
$lehrfach_id='';
|
||||
if(defined('CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN)
|
||||
{
|
||||
// Wenn der eingeloggte User zu einer der Lehreinheiten zugeteilt ist
|
||||
@@ -165,7 +166,8 @@ if (isset($_GET["handbuch"])){
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
WHERE
|
||||
studiensemester_kurzbz=".$db->db_add_param($angezeigtes_stsem)."
|
||||
AND mitarbeiter_uid=".$db->db_add_param($user);
|
||||
AND mitarbeiter_uid=".$db->db_add_param($user)."
|
||||
AND lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -188,8 +190,11 @@ if (isset($_GET["handbuch"])){
|
||||
{
|
||||
$lehrfach = new lehrveranstaltung();
|
||||
$lehrfach->load($row->lehrfach_id);
|
||||
|
||||
echo $lehrfach->bezeichnung_arr[$sprache].' - '.$lv_obj->bezeichnung_arr[$sprache];
|
||||
$lehrfach_id=$row->lehrfach_id;
|
||||
if($lehrfach->bezeichnung_arr[$sprache]==$lv_obj->bezeichnung_arr[$sprache])
|
||||
echo $lv_obj->bezeichnung_arr[$sprache];
|
||||
else
|
||||
echo $lehrfach->bezeichnung_arr[$sprache].' - '.$lv_obj->bezeichnung_arr[$sprache];
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -223,8 +228,14 @@ if (isset($_GET["handbuch"])){
|
||||
lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT like '_Dummy%' AND
|
||||
tbl_benutzer.aktiv=true AND tbl_person.aktiv=true AND
|
||||
studiensemester_kurzbz=".$db->db_add_param($angezeigtes_stsem)."
|
||||
ORDER BY uid, lvleiter desc) as a ORDER BY lvleiter desc, nachname, vorname";
|
||||
studiensemester_kurzbz=".$db->db_add_param($angezeigtes_stsem);
|
||||
|
||||
// Wenn das Lehrfach angezeigt werden nur die Lektoren angezeigt die dieser
|
||||
// Lehreinheit / Lehrfach zugeordnet sind
|
||||
if($lehrfach_id!='')
|
||||
$qry.=" AND tbl_lehreinheit.lehrfach_id=".$db->db_add_param($lehrfach_id);
|
||||
|
||||
$qry.=" ORDER BY uid, lvleiter desc) as a ORDER BY lvleiter desc, nachname, vorname";
|
||||
|
||||
if(!$result = $db->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -448,5 +448,46 @@ class lvangebot extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob eine Abmeldung von einer Lehrveranstaltung moeglich ist
|
||||
* und liefert die Gruppen von denen sich abgemeldet werden kann
|
||||
* @param $lehrveranstaltung_id
|
||||
* @param $studiensemester_kurzbz
|
||||
* @param $uid
|
||||
* @return $gruppen Array mit den Gruppen
|
||||
*/
|
||||
public function AbmeldungMoeglich($lehrveranstaltung_id, $studiensemester_kurzbz, $uid)
|
||||
{
|
||||
$qry = "SELECT
|
||||
gruppe_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lvangebot
|
||||
JOIN public.tbl_benutzergruppe USING(studiensemester_kurzbz, gruppe_kurzbz)
|
||||
WHERE
|
||||
tbl_lvangebot.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND tbl_benutzergruppe.uid=".$this->db_add_param($uid)."
|
||||
AND (tbl_lvangebot.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
OR tbl_lvangebot.lehrveranstaltung_id IN(SELECT lehrveranstaltung_id_kompatibel
|
||||
FROM lehre.tbl_lehrveranstaltung_kompatibel
|
||||
WHERE lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
)
|
||||
)";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
$gruppen=array();
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$gruppen[] = $row->gruppe_kurzbz;
|
||||
}
|
||||
return $gruppen;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -693,6 +693,28 @@ function checkZeilenUmbruch()
|
||||
echo '</td>';
|
||||
}
|
||||
|
||||
checkZeilenUmbruch();
|
||||
|
||||
if(!defined('CIS_LEHRVERANSTALTUNG_ABMELDUNG_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_ABMELDUNG_ANZEIGEN)
|
||||
{
|
||||
if(!$is_lector)
|
||||
{
|
||||
$lvangebot = new lvangebot();
|
||||
$gruppen = $lvangebot->AbmeldungMoeglich($lvid, $angezeigtes_stsem, $user);
|
||||
if(count($gruppen)>0)
|
||||
{
|
||||
//Abmelden von der Lehrveranstaltung
|
||||
$eintraegeprozeile++;
|
||||
echo '<td class="tdvertical" align="center">';
|
||||
echo '<a href="abmeldung.php?lvid='.$lvid.'&stsem='.$angezeigtes_stsem.'">';
|
||||
echo '<img class="lv" src="../../../skin/images/button_studiupload.png"><br>';
|
||||
|
||||
echo "<b>".$p->t('lehre/abmelden')."</b></a><br>";
|
||||
echo '</td>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Anzeigen von zusaetzlichen Lehre-Tools
|
||||
|
||||
$lehretools = new lehre_tools();
|
||||
|
||||
@@ -35,4 +35,9 @@ $this->phrasen['lehre/mail']='E-Mail an Studierende';
|
||||
$this->phrasen['lehre/keinMailverteiler']='Für die Gruppe(n) %s existiert kein Verteiler! Die Studierenden in diesen Gruppen bekommen kein Mail.';
|
||||
|
||||
$this->phrasen['lehre/pinboard']='Pinboard';
|
||||
$this->phrasen['lehre/abmelden']='Abmelden';
|
||||
$this->phrasen['lehre/abmeldung']='Abmeldung';
|
||||
$this->phrasen['lehre/AbmeldungErfolgreich']='Sie wurden erfolgreich von der Lehrveranstaltung abgemeldet';
|
||||
$this->phrasen['lehre/AbmeldungAusGruppeNichtMoeglich']='Sie können sich nicht von dieser Lehrveranstaltung abmelden';
|
||||
$this->phrasen['lehre/confirmAbmeldung']='Wollen Sie sich wirklich von der Lehrveranstaltung "%s" abmelden?';
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user