mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-07 07:09:27 +00:00
Adaptierungen Bewerbungstool Übersichtsseite
This commit is contained in:
@@ -884,4 +884,179 @@ class dokument extends basis_db
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Akzeptiert ein bestimmtes Dokument
|
||||
* Optional kann auch eine studiengang_kz uebergeben werden, ob speziell dort das Dokument akzeptiert wurde
|
||||
* @param $dokument_kurzbz
|
||||
* @param $person_id
|
||||
* @param $studiengang_kz integer oder array aus mehreren studiengang_kz
|
||||
* @return boolean true wenn akzeptiert, false wenn noch nicht akzeptiert
|
||||
*/
|
||||
function akzeptiereDokument($dokument_kurzbz, $person_id)
|
||||
{
|
||||
$db = new basis_db();
|
||||
$arrayDoksZuAkzeptieren = array();
|
||||
|
||||
//get Prestudent_ids
|
||||
$qry = "SELECT
|
||||
prestudent_id
|
||||
FROM
|
||||
tbl_prestudent ps, tbl_studiengang sg
|
||||
WHERE
|
||||
ps.studiengang_kz = sg.studiengang_kz
|
||||
AND sg.typ = 'm'
|
||||
AND person_id = ".$this->db_add_param($person_id)."
|
||||
AND not exists(
|
||||
SELECT *
|
||||
from tbl_dokumentprestudent dok
|
||||
where dok.prestudent_id = ps.prestudent_id
|
||||
and dokument_kurzbz = ".$this->db_add_param($dokument_kurzbz).")";
|
||||
|
||||
|
||||
//echo var_dump($qry);
|
||||
//for all prestudents
|
||||
|
||||
|
||||
//gibt ein Array von zu akzeptierenden Dokumenten zurück
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
$num_rows = $db->db_num_rows();
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
//echo var_dump($row->prestudent_id);
|
||||
$arrayDoksZuAkzeptieren[] = $row->prestudent_id;
|
||||
}
|
||||
//print_r($arrayDoksZuAkzeptieren);
|
||||
|
||||
//und jetzt für alle prestudent_ids das Dokument akzeptieren
|
||||
|
||||
$qry = "INSERT INTO public.tbl_dokumentprestudent(dokument_kurzbz, prestudent_id) VALUES";
|
||||
//echo $qry;
|
||||
|
||||
foreach ($arrayDoksZuAkzeptieren AS $prestudent_id){
|
||||
$qry.= "(".$this->db_add_param($dokument_kurzbz). ",". $prestudent_id . ")";
|
||||
|
||||
if (next($arrayDoksZuAkzeptieren)==true){
|
||||
$qry.= ",";
|
||||
}
|
||||
}
|
||||
$qry.= ";";
|
||||
|
||||
echo $qry;
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
echo " Jawoll: query ausgeführt";
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Akzeptieren';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "keine zu akzeptierenden Doks vorhanden";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* entakzeptiert ein bestimmtes Dokument
|
||||
* Optional kann auch eine studiengang_kz uebergeben werden, ob speziell dort das Dokument entakzeptiert wurde
|
||||
* @param $dokument_kurzbz
|
||||
* @param $person_id
|
||||
* @param $studiengang_kz integer oder array aus mehreren studiengang_kz
|
||||
* @return boolean true wenn entakzeptiert, false wenn noch nicht entakzeptiert
|
||||
*/
|
||||
function entakzeptiereDokument($dokument_kurzbz, $person_id)
|
||||
{
|
||||
$db = new basis_db();
|
||||
$arrayDoksZuEntakzeptieren = array();
|
||||
|
||||
//get Prestudent_ids
|
||||
|
||||
$qry = "SELECT
|
||||
prestudent_id
|
||||
from
|
||||
tbl_dokumentprestudent
|
||||
join
|
||||
tbl_prestudent using (prestudent_id)
|
||||
where
|
||||
person_id = ".$this->db_add_param($person_id)."
|
||||
and dokument_kurzbz = ".$this->db_add_param($dokument_kurzbz);
|
||||
|
||||
// echo var_dump($qry);
|
||||
//for all prestudents
|
||||
|
||||
|
||||
//gibt ein Array von zu Entakzeptierenden Dokumenten zurück
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
$num_rows = $db->db_num_rows();
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
//echo var_dump($row->prestudent_id);
|
||||
$arrayDoksZuEntakzeptieren[] = $row->prestudent_id;
|
||||
}
|
||||
print_r($arrayDoksZuEntakzeptieren);
|
||||
|
||||
//und jetzt für alle prestudent_ids das Dokument Entakzeptieren
|
||||
|
||||
$qry = "DELETE FROM public.tbl_dokumentprestudent WHERE prestudent_id in (";
|
||||
//echo $qry;
|
||||
|
||||
foreach ($arrayDoksZuEntakzeptieren AS $prestudent_id){
|
||||
$qry.= $prestudent_id;
|
||||
|
||||
if (next($arrayDoksZuEntakzeptieren)==true){
|
||||
$qry.= ",";
|
||||
}
|
||||
}
|
||||
$qry.= ");";
|
||||
|
||||
echo $qry;
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
echo " Jawoll: query ausgeführt";
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Entakzeptieren';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "keine Entzuakzeptierenden Doks vorhanden";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2234,4 +2234,57 @@ class prestudent extends person
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft, ob eine Person einen aktuellen PreStudentstatus-Eintrag besitzt, der die ZGV Master ersetzt
|
||||
* @param integer $person_id
|
||||
* @return true wenn vorhanden
|
||||
* false wenn nicht vorhanden
|
||||
* false und errormsg wenn Fehler aufgetreten ist
|
||||
*/
|
||||
public function existsZGVIntern($person_id)
|
||||
{
|
||||
if(!is_numeric($person_id))
|
||||
{
|
||||
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||
WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
|
||||
AND typ in ('b','m','d')";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
if($row->anzahl>0)
|
||||
{
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = '';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+16
-1
@@ -4767,6 +4767,20 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht
|
||||
}
|
||||
}
|
||||
|
||||
// INSERT,DELETE,UPDATE Berechtigung für tbl_dokumentprestudent hinzufügen
|
||||
if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_dokumentprestudent' AND table_schema='public' AND grantee='web' AND privilege_type in ('INSERT','DELETE','UPDATE')"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "GRANT INSERT, DELETE, UPDATE ON public.tbl_dokumentprestudent TO web;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>dokumentprestudent Berechtigungen: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Granted privileges to public.tbl_dokumentprestudent';
|
||||
}
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
@@ -4886,8 +4900,9 @@ $tabellen=array(
|
||||
"lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen","bezeichnung_kurz","bezeichnung_lang"),
|
||||
"lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"),
|
||||
"lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"),
|
||||
"lehre.tbl_lehrmodus" => array("lehrmodus_kurzbz","bezeichnung_mehrsprachig","aktiv"),
|
||||
"lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"),
|
||||
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag"),
|
||||
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag","lehrmodus_kurzbz"),
|
||||
"lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"),
|
||||
"lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"),
|
||||
"lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"),
|
||||
|
||||
Reference in New Issue
Block a user