mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Anlegen von mehreren Gruppen pro Studiensemester ermöglicht (inkl. automatischer Nummerierung der Gruppenbezeichnungen)
This commit is contained in:
@@ -1115,30 +1115,38 @@ if(!$error)
|
||||
if(!$studiengang->load($lehrveranstaltung_obj->studiengang_kz))
|
||||
$errormsg = 'Fehler beim Laden des Studienganges';
|
||||
|
||||
$gruppe_kurzbz = mb_strtoupper(substr($studiengang->kuerzel.$lehrveranstaltung_obj->semester.'-'.$_POST['studiensemester_kurzbz'].'-'.$lehrveranstaltung_obj->kurzbz,0,32));
|
||||
$gruppe = new gruppe();
|
||||
$gruppe->gruppe_kurzbz=$gruppe_kurzbz;
|
||||
$gruppe->studiengang_kz=$studiengang->studiengang_kz;
|
||||
$gruppe->bezeichnung=mb_substr($lehrveranstaltung_obj->bezeichnung,0,30);
|
||||
$gruppe->semester=$lehrveranstaltung_obj->semester;
|
||||
$gruppe->sort='';
|
||||
$gruppe->mailgrp=false;
|
||||
$gruppe->beschreibung=$lehrveranstaltung_obj->bezeichnung;
|
||||
$gruppe->sichtbar=true;
|
||||
$gruppe->generiert=false;
|
||||
$gruppe->aktiv=true;
|
||||
$gruppe->lehre=true;
|
||||
$gruppe->content_visible=false;
|
||||
$gruppe->orgform_kurzbz=$lehrveranstaltung_obj->orgform_kurzbz;
|
||||
$gruppe->gesperrt=false;
|
||||
$gruppe->zutrittssystem=false;
|
||||
$gruppe->insertamum=date('Y-m-d H:i:s');
|
||||
$gruppe->insertvon=$user;
|
||||
|
||||
if(!$gruppe->save(true))
|
||||
if($_POST['neue_gruppe'] == "false")
|
||||
{
|
||||
$errormsg = 'Fehler beim Erstellen der Gruppe'.$gruppe->errormsg;
|
||||
$return = false;
|
||||
$gruppe_kurzbz = $_POST['gruppe'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$gruppe = new gruppe();
|
||||
$gruppe_kurzbz = mb_strtoupper(substr($studiengang->kuerzel.$lehrveranstaltung_obj->semester.'-'.$_POST['studiensemester_kurzbz'].'-'.$lehrveranstaltung_obj->kurzbz,0,32));
|
||||
$gruppe_kurzbz = $gruppe->getNummerierteGruppenbez($gruppe_kurzbz);
|
||||
$gruppe->gruppe_kurzbz=$gruppe_kurzbz;
|
||||
$gruppe->studiengang_kz=$studiengang->studiengang_kz;
|
||||
$gruppe->bezeichnung=mb_substr($lehrveranstaltung_obj->bezeichnung,0,30);
|
||||
$gruppe->semester=$lehrveranstaltung_obj->semester;
|
||||
$gruppe->sort='';
|
||||
$gruppe->mailgrp=false;
|
||||
$gruppe->beschreibung=$lehrveranstaltung_obj->bezeichnung;
|
||||
$gruppe->sichtbar=true;
|
||||
$gruppe->generiert=false;
|
||||
$gruppe->aktiv=true;
|
||||
$gruppe->lehre=true;
|
||||
$gruppe->content_visible=false;
|
||||
$gruppe->orgform_kurzbz=$lehrveranstaltung_obj->orgform_kurzbz;
|
||||
$gruppe->gesperrt=false;
|
||||
$gruppe->zutrittssystem=false;
|
||||
$gruppe->insertamum=date('Y-m-d H:i:s');
|
||||
$gruppe->insertvon=$user;
|
||||
|
||||
if(!$gruppe->save(true))
|
||||
{
|
||||
$errormsg = 'Fehler beim Erstellen der Gruppe'.$gruppe->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
|
||||
$lvangebot->lehrveranstaltung_id = $_POST['lehrveranstaltung_id'];
|
||||
|
||||
@@ -1948,15 +1948,24 @@ function LvAngebotGruppeSave()
|
||||
|
||||
//Werte holen
|
||||
var lehrveranstaltung_id = tree.view.getCellText(tree.currentIndex,col);
|
||||
var neue_gruppe = document.getElementById('lehrveranstaltung-lvangebot-checkbox-gruppe').checked;
|
||||
var gruppe = document.getElementById('lehrveranstaltung-lvangebot-textbox-gruppe').value;
|
||||
var incomingplaetze = document.getElementById('lehrveranstaltung-lvangebot-textbox-incoming').value;
|
||||
var gesamtplaetze = document.getElementById('lehrveranstaltung-lvangebot-textbox-gesamt').value;
|
||||
var anmeldefenster_start = document.getElementById('lehrveranstaltung-lvangebot-textbox-start').value;
|
||||
var anmeldefenster_ende = document.getElementById('lehrveranstaltung-lvangebot-textbox-ende').value;
|
||||
|
||||
//Eingaben validieren
|
||||
if(neue_gruppe == false && gruppe == "")
|
||||
{
|
||||
alert('Es muss eine Gruppe ausgewaehlt werden');
|
||||
return false;
|
||||
}
|
||||
|
||||
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
|
||||
|
||||
req.add('type', 'lvangebot-gruppe-save');
|
||||
req.add('neue_gruppe', neue_gruppe);
|
||||
req.add('gruppe', gruppe);
|
||||
req.add('incomingplaetze', incomingplaetze);
|
||||
req.add('gesamtplaetze', gesamtplaetze);
|
||||
@@ -1971,7 +1980,10 @@ function LvAngebotGruppeSave()
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
alert(val.dbdml_errormsg);
|
||||
if (val.dbdml_errormsg == "")
|
||||
alert('Es ist ein unbekannter Fehler aufgetreten');
|
||||
else
|
||||
alert(val.dbdml_errormsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -540,5 +540,32 @@ class gruppe extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüft ob die Gruppenbezeichnung bereits vorhanden ist
|
||||
* und gibt bei Bedarf die Bezeichnung inkl. Nummerierung zurück
|
||||
*
|
||||
* @param $gruppe_kurzbz zu prüfende Gruppenbezeichnung
|
||||
*/
|
||||
public function getNummerierteGruppenbez($gruppe_kurzbz)
|
||||
{
|
||||
$gruppe_kurzbz_regex = $gruppe_kurzbz . '-[0-9]+$';
|
||||
|
||||
$qry = 'SELECT COUNT(gruppe_kurzbz) AS anzahl
|
||||
FROM public.tbl_gruppe
|
||||
WHERE gruppe_kurzbz = ' . $this->db_add_param($gruppe_kurzbz) . '
|
||||
OR gruppe_kurzbz ~ ' . $this->db_add_param($gruppe_kurzbz_regex);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
if($row->anzahl > 0)
|
||||
$gruppe_kurzbz = $gruppe_kurzbz . "-" . $row->anzahl;
|
||||
}
|
||||
}
|
||||
|
||||
return $gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -219,20 +219,6 @@ class lvangebot extends basis_db
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//prüfen, ob Datensatz schon vorhanden
|
||||
$qry='SELECT studiensemester_kurzbz
|
||||
FROM lehre.tbl_lvangebot
|
||||
WHERE studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).'
|
||||
AND lehrveranstaltung_id='.$this->db_add_param($this->lehrveranstaltung_id);
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row=$this->db_fetch_object())
|
||||
{
|
||||
$this->errormsg = 'Eintrag für '.$this->studiensemester_kurzbz.' existiert bereits';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='BEGIN;INSERT INTO lehre.tbl_lvangebot (lehrveranstaltung_id, studiensemester_kurzbz,
|
||||
gruppe_kurzbz, incomingplaetze, gesamtplaetze, anmeldefenster_start, anmeldefenster_ende,
|
||||
|
||||
@@ -119,8 +119,9 @@ if(isset($_POST["schick"]))
|
||||
if(!$studiengang->load($lehrveranstaltung_obj->studiengang_kz))
|
||||
die('Fehler beim Laden des Studienganges');
|
||||
|
||||
$gruppe_kurzbz = mb_strtoupper(substr($studiengang->kuerzel.$lehrveranstaltung_obj->semester.'-'.$_POST['studiensemester_kurzbz'].'-'.$lehrveranstaltung_obj->kurzbz,0,32));
|
||||
$gruppe = new gruppe();
|
||||
$gruppe_kurzbz = mb_strtoupper(substr($studiengang->kuerzel.$lehrveranstaltung_obj->semester.'-'.$_POST['studiensemester_kurzbz'].'-'.$lehrveranstaltung_obj->kurzbz,0,32));
|
||||
$gruppe_kurzbz = $gruppe->getNummerierteGruppenbez($gruppe_kurzbz);
|
||||
$gruppe->gruppe_kurzbz=$gruppe_kurzbz;
|
||||
$gruppe->studiengang_kz=$studiengang->studiengang_kz;
|
||||
$gruppe->bezeichnung=mb_substr($lehrveranstaltung_obj->bezeichnung,0,30);
|
||||
|
||||
Reference in New Issue
Block a user