mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Statusgründe können im FAS beim Statuswechsel angegeben werden
This commit is contained in:
@@ -38,7 +38,7 @@ function InteressentNeu()
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
|
||||
window.open('<?php echo APP_ROOT; ?>vilesci/personen/import/interessentenimport.php?studiengang_kz='+stg_kz,'Interessent anlegen', 'height=768,width=1024,resizable=yes,status=yes,scrollbars=yes,toolbar=yes,location=yes,menubar=yes');
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ function InteressentNeu()
|
||||
// * - Hakerl "zum Reihungstest angetreten" muss angekreuzt sein
|
||||
// * Wenn die Voraussetzungen erfuellt sind wird die Rolle Bewerber hinzugefuegt
|
||||
// ****
|
||||
function InteressentzuBewerber()
|
||||
function InteressentzuBewerber(statusgrund_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-tree');
|
||||
@@ -84,6 +84,8 @@ function InteressentzuBewerber()
|
||||
|
||||
req.add('prestudent_id', paramList);
|
||||
req.add('status_kurzbz', 'Bewerber');
|
||||
if(typeof(statusgrund_id)!='undefined')
|
||||
req.add('statusgrund_id', statusgrund_id);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
@@ -114,7 +116,7 @@ function InteressentzuBewerber()
|
||||
// * Wenn die Voraussetzungen erfuellt sind, dann wird die Matrikelnr
|
||||
// * und UID generiert und der Studentendatensatz angelegt.
|
||||
// ****
|
||||
function InteressentzuStudent()
|
||||
function InteressentzuStudent(statusgrund_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-tree');
|
||||
@@ -139,13 +141,15 @@ function InteressentzuStudent()
|
||||
anzahl = anzahl+1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'BewerberZuStudent');
|
||||
|
||||
req.add('prestudent_id', paramList);
|
||||
if(typeof(statusgrund_id)!='undefined')
|
||||
req.add('statusgrund_id', statusgrund_id);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
@@ -170,13 +174,13 @@ function InteressentzuStudent()
|
||||
// ****
|
||||
// * Fuegt eine Rolle zu einem Interessenten hinzu
|
||||
// ****
|
||||
function InteressentAddRolle(rolle)
|
||||
function InteressentAddRolle(rolle, statusgrund_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-tree');
|
||||
|
||||
if (tree.currentIndex==-1) return;
|
||||
|
||||
|
||||
//Alle markierten Personen holen
|
||||
var start = new Object();
|
||||
var end = new Object();
|
||||
@@ -199,7 +203,7 @@ function InteressentAddRolle(rolle)
|
||||
conf = 'Diese '+anzahl+' Studenten';
|
||||
else
|
||||
conf = 'Diesen Studenten';
|
||||
|
||||
|
||||
if(confirm(conf+' zum '+rolle+' machen?'))
|
||||
{
|
||||
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
|
||||
@@ -209,6 +213,8 @@ function InteressentAddRolle(rolle)
|
||||
|
||||
req.add('prestudent_id', paramList);
|
||||
req.add('status_kurzbz', rolle);
|
||||
if(typeof(statusgrund_id)!='undefined')
|
||||
req.add('statusgrund_id', statusgrund_id);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
@@ -223,7 +229,7 @@ function InteressentAddRolle(rolle)
|
||||
StudentTreeRefresh();
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
StudentTreeRefresh();
|
||||
SetStatusBarText('Rolle hinzugefuegt');
|
||||
}
|
||||
|
||||
@@ -679,6 +679,8 @@ if(!$error)
|
||||
$prestd_neu->insertvon = $user;
|
||||
$prestd_neu->bestaetigtam = date('Y-m-d');
|
||||
$prestd_neu->bestaetigtvon = $user;
|
||||
if(isset($_POST['statusgrund_id']))
|
||||
$prestd_neu->statusgrund_id = $_POST['statusgrund_id'];
|
||||
$prestd_neu->new = true;
|
||||
|
||||
if($prestd_neu->save_rolle())
|
||||
@@ -1462,6 +1464,8 @@ if(!$error)
|
||||
$rolle->insertvon = $user;
|
||||
$rolle->bestaetigtam = date('Y-m-d');
|
||||
$rolle->bestaetigtvon = $user;
|
||||
if(isset($_POST['statusgrund_id']))
|
||||
$rolle->statusgrund_id = $_POST['statusgrund_id'];
|
||||
$rolle->new = true;
|
||||
|
||||
if($rolle->save_rolle())
|
||||
|
||||
@@ -30,6 +30,7 @@ require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../config/global.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/statusgrund.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
@@ -93,20 +94,74 @@ else
|
||||
<toolbarbutton id="student-toolbar-buchung" label="Neue Buchung" oncommand="StudentKontoNeu()" disabled="false" tooltiptext="neue Buchung anlegen"/>
|
||||
|
||||
<toolbarbutton label="Status ändern " id="student-toolbar-status" type="menu">
|
||||
<menupopup id="student-status-menu-popup" >
|
||||
<menuitem id="student-toolbar-abbrecher" label="-> Abbrecher" oncommand="StudentAddRolle('Abbrecher','0')" disabled="false" tooltiptext="Student zum Abbrecher machen" hidden="true"/>
|
||||
<menuitem id="student-toolbar-unterbrecher" label="-> Unterbrecher" oncommand="StudentAddRolle('Unterbrecher','0')" disabled="false" tooltiptext="Student zum Unterbrecher machen" hidden="true"/>
|
||||
<menuitem id="student-toolbar-student" label="-> Student" oncommand="StudentUnterbrecherZuStudent()" disabled="false" tooltiptext="Ab/Unterbrecher wieder zum Studenten machen" hidden="true"/>
|
||||
<menuitem id="student-toolbar-diplomand" label="-> Diplomand" oncommand="StudentAddRolle('Diplomand')" disabled="false" tooltiptext="Studenten zum Diplomanden machen" hidden="true"/>
|
||||
<menuitem id="student-toolbar-absolvent" label="-> Absolvent" oncommand="StudentAddRolle('Absolvent')" disabled="false" tooltiptext="Studenten zum Absolventen machen" hidden="true"/>
|
||||
<menupopup id="student-status-menu-popup" >
|
||||
<?php
|
||||
|
||||
<menuitem id="interessent-toolbar-zubewerber" label="-> Bewerber" oncommand="InteressentzuBewerber()" disabled="false" tooltiptext="Interessent zum Bewerber machen" hidden="true"/>
|
||||
<menuitem id="interessent-toolbar-aufgenommener" label="-> Aufgenommener" oncommand="InteressentAddRolle('Aufgenommener')" disabled="false" tooltiptext="Interessent zum Aufgenommenen machen" hidden="true"/>
|
||||
<menuitem id="interessent-toolbar-zustudent" label="-> Student" oncommand="InteressentzuStudent()" disabled="false" tooltiptext="Bewerber zu Studenten machen" hidden="true"/>
|
||||
<menuitem id="interessent-toolbar-warteliste" label="-> Warteliste" oncommand="InteressentAddRolle('Wartender')" disabled="false" tooltiptext="Interessent zum Wartenden machen" hidden="true"/>
|
||||
<menuitem id="interessent-toolbar-absage" label="-> Absage" oncommand="InteressentAddRolle('Abgewiesener')" disabled="false" tooltiptext="Interessent zum Absager machen" hidden="true"/>
|
||||
</menupopup>
|
||||
</toolbarbutton>
|
||||
/**
|
||||
* Erstellt den Menuepunkt fuer den Statuswechsel
|
||||
* Wenn ein Statusgrund vorhanden ist wird ein Submenue angezeigt fuer die Auswahl
|
||||
* des Statusgrund. Wenn keine Statusgruende vorhanden sind wird nur ein normaler
|
||||
* Menuepuntk angezeigt
|
||||
*
|
||||
* @param $gruende Array mit Statusgruenden
|
||||
* @param $status_kurzbz Status
|
||||
* @param $id HTML id des Menueeintrags
|
||||
* @param $label HTML Label des Menueeintrages
|
||||
* @param $command JS Funktion die aufgerufen werden soll
|
||||
*/
|
||||
function printStatuswechselMenuitem($gruende, $status_kurzbz, $id, $label, $command)
|
||||
{
|
||||
if(isset($gruende[$status_kurzbz]) && count($gruende[$status_kurzbz])>0)
|
||||
{
|
||||
|
||||
echo '
|
||||
<menu id="'.$id.'" label="'.$label.'">
|
||||
<menupopup>';
|
||||
foreach($gruende[$status_kurzbz] as $row)
|
||||
{
|
||||
$commandWithID = str_replace('STATUSGRUNDID',$row['statusgrund_id'],$command);
|
||||
echo '<menuitem label="'.$row['bezeichnung'].'" oncommand="'.$commandWithID.'" disabled="false" tooltiptext="'.$row['beschreibung'].'"/>';
|
||||
}
|
||||
echo '
|
||||
</menupopup>
|
||||
</menu>
|
||||
';
|
||||
}
|
||||
else
|
||||
{
|
||||
$command = str_replace('STATUSGRUNDID','',$command);
|
||||
echo '<menuitem id="'.$id.'" label="'.$label.'" oncommand="'.$command.'" disabled="false" tooltiptext="Status ändern auf '.$status_kurzbz.'" hidden="true"/>';
|
||||
}
|
||||
}
|
||||
// Statusgruende laden
|
||||
$statusgrund = new statusgrund();
|
||||
$statusgrund->getAll(true);
|
||||
$gruende=array();
|
||||
foreach($statusgrund->result as $row)
|
||||
{
|
||||
$gruende[$row->status_kurzbz][] = array(
|
||||
'statusgrund_id'=>$row->statusgrund_id,
|
||||
'bezeichnung'=>$row->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE],
|
||||
'beschreibung'=>$row->beschreibung[DEFAULT_LANGUAGE]
|
||||
);
|
||||
}
|
||||
|
||||
printStatuswechselMenuitem($gruende, 'Abbrecher', 'student-toolbar-abbrecher', 'Abbrecher', "StudentAddRolle('Abbrecher','0',undefined,'STATUSGRUNDID')");
|
||||
printStatuswechselMenuitem($gruende, 'Unterbrecher', 'student-toolbar-unterbrecher', 'Unterbrecher', "StudentAddRolle('Unterbrecher','0',undefined,'STATUSGRUNDID')");
|
||||
printStatuswechselMenuitem($gruende, 'Student', 'student-toolbar-student', 'Student', "StudentUnterbrecherZuStudent('STATUSGRUNDID')");
|
||||
printStatuswechselMenuitem($gruende, 'Diplomand', 'student-toolbar-diplomand', 'Diplomand', "StudentAddRolle('Diplomand',undefined,undefined,'STATUSGRUNDID')");
|
||||
printStatuswechselMenuitem($gruende, 'Absovlent', 'student-toolbar-absolvent', 'Absolvent', "StudentAddRolle('Absolvent',undefined,undefined,'STATUSGRUNDID')");
|
||||
|
||||
printStatuswechselMenuitem($gruende, 'Bewerber', 'interessent-toolbar-zubewerber', 'Bewerber', "InteressentzuBewerber('STATUSGRUNDID')");
|
||||
printStatuswechselMenuitem($gruende, 'Aufgenommener', 'interessent-toolbar-aufgenommener', 'Aufgenommener', "InteressentAddRolle('Aufgenommener','STATUSGRUNDID')");
|
||||
printStatuswechselMenuitem($gruende, 'Student', 'interessent-toolbar-zustudent', 'Student', "InteressentzuStudent('STATUSGRUNDID')");
|
||||
printStatuswechselMenuitem($gruende, 'Warteliste', 'interessent-toolbar-warteliste', 'Wartender', "InteressentAddRolle('Wartender','STATUSGRUNDID')");
|
||||
printStatuswechselMenuitem($gruende, 'Absage', 'interessent-toolbar-absage', 'Abgewiesener', "InteressentAddRolle('Abgewiesener','STATUSGRUNDID')");
|
||||
|
||||
?>
|
||||
</menupopup>
|
||||
|
||||
</toolbarbutton>
|
||||
|
||||
<toolbarbutton id="student-toolbar-export" label="Export" oncommand="StudentExport()" disabled="false" image="../skin/images/ExcelIcon.png" tooltiptext="Daten ins Excel Exportieren"/>
|
||||
<?php
|
||||
|
||||
@@ -1900,7 +1900,7 @@ function StudentAnmeldungreihungstestHeute()
|
||||
// ****
|
||||
// * Einen Ab-/Unterbrecher wieder zum Studenten machen
|
||||
// ****
|
||||
function StudentUnterbrecherZuStudent()
|
||||
function StudentUnterbrecherZuStudent(statusgrund_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-tree');
|
||||
@@ -1911,7 +1911,7 @@ function StudentUnterbrecherZuStudent()
|
||||
{
|
||||
if(!isNaN(sem))
|
||||
{
|
||||
StudentAddRolle('Student', sem)
|
||||
StudentAddRolle('Student', sem, undefined, statusgrund_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1932,7 +1932,7 @@ function StudentRolleAdd()
|
||||
// ****
|
||||
// * Fuegt eine Rolle zu einem Studenten hinzu
|
||||
// ****
|
||||
function StudentAddRolle(rolle, semester, studiensemester)
|
||||
function StudentAddRolle(rolle, semester, studiensemester, statusgrund_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-tree');
|
||||
@@ -1975,8 +1975,10 @@ function StudentAddRolle(rolle, semester, studiensemester)
|
||||
req.add('prestudent_id', paramList);
|
||||
req.add('status_kurzbz', rolle);
|
||||
req.add('semester', semester);
|
||||
if(typeof(studiensemester)!='unknown')
|
||||
if(typeof(studiensemester)!='undefined')
|
||||
req.add('studiensemester_kurzbz', studiensemester);
|
||||
if(typeof(statusgrund_id)!='undefined')
|
||||
req.add('statusgrund_id', statusgrund_id);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz,
|
||||
var statusgrund_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#statusgrund_id" ));
|
||||
var rt_stufe = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rt_stufe" ));
|
||||
var neu = false;
|
||||
StudentRolleLoadStatusgrund(status_kurzbz);
|
||||
StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -111,11 +111,11 @@ function StudentRolleSpeichern()
|
||||
window.close();
|
||||
}
|
||||
|
||||
function StudentRolleLoadStatusgrund(status_kurzbz)
|
||||
function StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var menulistgrund = document.getElementById('student-rolle-menulist-statusgrund');
|
||||
url='<?php echo APP_ROOT;?>rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&ts'+gettimestamp();
|
||||
url='<?php echo APP_ROOT;?>rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&include_id='+statusgrund_id+'&ts'+gettimestamp();
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
@@ -91,6 +91,7 @@ class statusgrund extends basis_db
|
||||
* Laedt die Gruende fuer einen Status
|
||||
*
|
||||
* @param $status_kurzbz Status zu dem die Gruende geladen werden sollen
|
||||
* @param boolean $aktiv Gibt an ob nur aktive Eintraege geladen werden sollen
|
||||
*/
|
||||
public function getFromStatus($status_kurzbz, $aktiv=null)
|
||||
{
|
||||
@@ -132,5 +133,51 @@ class statusgrund extends basis_db
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Statusgruende
|
||||
*
|
||||
* @param boolean $aktiv Wenn true werden nur aktive geladen.
|
||||
*/
|
||||
public function getAll($aktiv=null)
|
||||
{
|
||||
$sprache = new sprache();
|
||||
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
|
||||
$beschreibung = $sprache->getSprachQuery('beschreibung');
|
||||
$qry = "
|
||||
SELECT
|
||||
*,".$bezeichnung_mehrsprachig.",".$beschreibung."
|
||||
FROM
|
||||
public.tbl_status_grund
|
||||
";
|
||||
|
||||
if(!is_null($aktiv))
|
||||
$qry.="WHERE aktiv=".($aktiv?'true':'false');
|
||||
$qry.=" ORDER BY status_kurzbz, bezeichnung_mehrsprachig[0]";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new statusgrund();
|
||||
|
||||
$obj->statusgrund_id = $row->statusgrund_id;
|
||||
$obj->status_kurzbz = $row->status_kurzbz;
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
|
||||
$obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -43,8 +43,17 @@ $oRdf->obj[$i]->setAttribut('beschreibung','-- keine Auswahl --',true);
|
||||
$oRdf->obj[$i]->setAttribut('bezeichnung_mehrsprachig','-- keine Auswahl --',true);
|
||||
$oRdf->addSequence('');
|
||||
|
||||
$include_id_found=false;
|
||||
$include_id = '';
|
||||
if(isset($_GET['include_id']))
|
||||
{
|
||||
$include_id = $_GET['include_id'];
|
||||
}
|
||||
foreach($statusgrund->result as $row)
|
||||
{
|
||||
if($include_id==$row->statusgrund_id)
|
||||
$include_id_found=true;
|
||||
|
||||
$i=$oRdf->newObjekt($row->statusgrund_id);
|
||||
$oRdf->obj[$i]->setAttribut('statusgrund_id',$row->statusgrund_id,true);
|
||||
$oRdf->obj[$i]->setAttribut('status_kurzbz',$row->status_kurzbz,true);
|
||||
@@ -54,5 +63,18 @@ foreach($statusgrund->result as $row)
|
||||
$oRdf->addSequence($row->statusgrund_id);
|
||||
}
|
||||
|
||||
if(!$include_id_found && $include_id!='')
|
||||
{
|
||||
$statusgrund->load($include_id);
|
||||
|
||||
$i=$oRdf->newObjekt($statusgrund->statusgrund_id);
|
||||
$oRdf->obj[$i]->setAttribut('statusgrund_id',$statusgrund->statusgrund_id,true);
|
||||
$oRdf->obj[$i]->setAttribut('status_kurzbz',$statusgrund->status_kurzbz,true);
|
||||
$oRdf->obj[$i]->setAttribut('beschreibung',$statusgrund->beschreibung[DEFAULT_LANGUAGE],true);
|
||||
$oRdf->obj[$i]->setAttribut('bezeichnung_mehrsprachig',$statusgrund->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE],true);
|
||||
|
||||
$oRdf->addSequence($statusgrund->statusgrund_id);
|
||||
}
|
||||
|
||||
$oRdf->sendRdfText();
|
||||
?>
|
||||
Reference in New Issue
Block a user