Studentenverlängerung im CIS und FAS

This commit is contained in:
Martin Tatzber
2014-02-04 12:01:05 +00:00
parent 08883f20e4
commit ace01397b0
5 changed files with 154 additions and 7 deletions
+43 -2
View File
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
/* Copyright (C) 2006 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
@@ -746,7 +746,7 @@ if(!$error)
}
else
{
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudentstatus WHERE prestudent_id='".addslashes($_POST['prestudent_id'])."'";
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudentstatus WHERE prestudent_id='".$db->db_add_param($_POST['prestudent_id'], FHC_INTEGER)."'";
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
@@ -809,6 +809,47 @@ if(!$error)
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
elseif(isset($_POST['type']) && $_POST['type']=='bestaetigerolle')
{
//Bestaetigt eine Prestudentrolle
if(isset($_POST['studiensemester_kurzbz']) && isset($_POST['status_kurzbz']) &&
isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id']) &&
isset($_POST['ausbildungssemester']) && is_numeric($_POST['ausbildungssemester']))
{
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
{
$return = false;
$errormsg = 'keine Berechtigung';
}
else
{
$rolle = new prestudent();
if($rolle->load_rolle($_POST['prestudent_id'],$_POST['status_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester']))
{
if($rolle->bestaetige_rolle($_POST['prestudent_id'],$_POST['status_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester'],$user))
{
$return = true;
}
else
{
$return = false;
$errormsg = $rolle->errormsg;
}
}
else
{
$return = false;
$errormsg = $rolle->errormsg;
}
}
}
else
{
$return = false;
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
elseif(isset($_POST['type']) && $_POST['type']=='saverolle')
{
//Prestudentrolle speichern
+12 -1
View File
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
/* Copyright (C) 2006 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
@@ -240,6 +240,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<popupset>
<menupopup id="student-prestudent-rolle-tree-popup">
<menuitem label="Bearbeiten" oncommand="StudentRolleBearbeiten();" id="student-prestudent-rolle-tree-popup-edit" hidden="false"/>
<menuitem label="Status bestaetigen" oncommand="StudentPrestudentRolleBestaetigen();" id="student-prestudent-rolle-tree-popup-approve" hidden="false"/>
<menuitem label="Neuen Status hinzufuegen" oncommand="StudentRolleAdd();" id="student-prestudent-rolle-tree-popup-add" hidden="false"/>
<menuitem label="Entfernen" oncommand="StudentPrestudentRolleDelete();" id="student-prestudent-rolle-tree-popup-delete" hidden="false"/>
</menupopup>
@@ -545,6 +546,14 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studienplan_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="student-prestudent-tree-rolle-bestaetigt_von" label="BestaetigtVon" flex="2" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_von" />
<splitter class="tree-splitter"/>
<treecol id="student-prestudent-tree-rolle-bestaetigt_am" label="BestaetigtAm" flex="2" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_Am" />
<splitter class="tree-splitter"/>
</treecols>
<template>
@@ -560,6 +569,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#prestudent_id"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studienplan_id"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studienplan_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_von"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_am"/>
</treerow>
</treeitem>
</treechildren>
+49
View File
@@ -1612,6 +1612,55 @@ function StudentPrestudentRolleDelete()
}
}
// ****
// * Bestaetigt einen Prestudentstatus
// ****
function StudentPrestudentRolleBestaetigen()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-prestudent-tree-rolle');
if (tree.currentIndex==-1) return;
//markierte Rolle holen
var status_kurzbz = getTreeCellText(tree, 'student-prestudent-tree-rolle-status_kurzbz', tree.currentIndex);
var studiensemester_kurzbz = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', tree.currentIndex);
var prestudent_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-prestudent_id', tree.currentIndex);
var ausbildungssemester = getTreeCellText(tree, 'student-prestudent-tree-rolle-ausbildungssemester', tree.currentIndex);
studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value;
if(confirm('Diesen Status bestaetigen?'))
{
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'bestaetigerolle');
req.add('status_kurzbz', status_kurzbz);
req.add('prestudent_id', prestudent_id);
req.add('studiensemester_kurzbz', studiensemester_kurzbz);
req.add('ausbildungssemester', ausbildungssemester);
req.add('studiengang_kz', studiengang_kz);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
StudentDetailRolleTreeDatasource.Refresh(false);
SetStatusBarText('Daten wurden geloescht');
}
}
}
// ****
// * oeffnet den BearbeitenDialog fuer die Prestudentrollen
// ****
+47 -3
View File
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
/* Copyright (C) 2007 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
@@ -64,6 +64,8 @@ class prestudent extends person
public $orgform_kurzbz;
public $studienplan_id;
public $studienplan_bezeichnung;
public $bestaetigtam;
public $bestaetigtvon;
public $studiensemester_old='';
public $ausbildungssemester_old='';
@@ -434,6 +436,8 @@ class prestudent extends person
$rolle->orgform_kurzbz = $row->orgform_kurzbz;
$rolle->studienplan_id = $row->studienplan_id;
$rolle->studienplan_bezeichnung = $row->studienplan_bezeichnung;
$rolle->bestaetigtam = $row->bestaetigtam;
$rolle->bestaetigtvon = $row->bestaetigtvon;
$this->result[] = $rolle;
}
return true;
@@ -483,6 +487,8 @@ class prestudent extends person
$this->ext_id_prestudent = $row->ext_id;
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->studienplan_id = $row->studienplan_id;
$this->bestaetigtam = $row->bestaetigtam;
$this->bestaetigtvon = $row->bestaetigtvon;
return true;
}
@@ -723,7 +729,7 @@ class prestudent extends person
$qry = 'INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz,
studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon,
updateamum, updatevon, ext_id, orgform_kurzbz, studienplan_id) VALUES('.
updateamum, updatevon, ext_id, orgform_kurzbz, bestaetigtam, bestaetigtvon, studienplan_id) VALUES('.
$this->db_add_param($this->prestudent_id).",".
$this->db_add_param($this->status_kurzbz).",".
$this->db_add_param($this->studiensemester_kurzbz).",".
@@ -735,6 +741,8 @@ class prestudent extends person
$this->db_add_param($this->updatevon).",".
$this->db_add_param($this->ext_id_prestudent).",".
$this->db_add_param($this->orgform_kurzbz).",".
$this->db_add_param($this->bestaetigtam).",".
$this->db_add_param($this->bestaetigtvon).",".
$this->db_add_param($this->studienplan_id,FHC_INTEGER).");";
}
else
@@ -759,6 +767,8 @@ class prestudent extends person
' datum='.$this->db_add_param($this->datum).",".
' updateamum='.$this->db_add_param($this->updateamum).",".
' updatevon='.$this->db_add_param($this->updatevon).",".
' bestaetigtam='.$this->db_add_param($this->bestaetigtam).",".
' bestaetigtvon='.$this->db_add_param($this->bestaetigtvon).",".
' studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER).",".
' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).
" WHERE
@@ -814,7 +824,7 @@ class prestudent extends person
$log->mitarbeiter_uid = get_uid();
$log->sql = $qry;
$log->sqlundo = 'INSERT INTO public.tbl_prestudentstatus(prestudent_id, status_kurzbz, studiensemester_kurzbz,'.
' ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz, studienplan_id) VALUES('.
' ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz, bestaetigtam, bestaetigtvon, studienplan_id) VALUES('.
$this->db_add_param($this->prestudent_id).','.
$this->db_add_param($this->status_kurzbz).','.
$this->db_add_param($this->studiensemester_kurzbz).','.
@@ -826,6 +836,8 @@ class prestudent extends person
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->ext_id_prestudent).','.
$this->db_add_param($this->orgform_kurzbz).','.
$this->db_add_param($this->bestaetigtam).','.
$this->db_add_param($this->bestaetigtvon).','.
$this->db_add_param($this->studienplan_id, FHC_INTEGER).');';
if($log->save(true))
{
@@ -855,6 +867,34 @@ class prestudent extends person
}
}
public function bestaetige_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester, $user)
{
if(!is_numeric($prestudent_id))
{
$this->errormsg = 'Prestudent_id ist ungueltig';
return false;
}
$qry = 'UPDATE public.tbl_prestudentstatus SET'.
' bestaetigtam='.$this->db_add_param(date('Y-m-d')).','.
' bestaetigtvon='.$this->db_add_param($user)." ".
' WHERE
prestudent_id='.$this->db_add_param($prestudent_id, FHC_INTEGER).'
AND status_kurzbz='.$this->db_add_param($status_kurzbz).'
AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'
AND ausbildungssemester='.$this->db_add_param($ausbildungssemester);
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg='Fehler beim Speichern der Daten';
return false;
}
}
/**
* Liefert den Letzten Status eines Prestudenten in einem Studiensemester
* Wenn kein Studiensemester angegeben wird, wird der letztgueltige Status ermittelt
@@ -892,6 +932,8 @@ class prestudent extends person
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->bestaetigtam = $row->bestaetigtam;
$this->bestaetigtvon = $row->bestaetigtvon;
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->studienplan_id = $row->studienplan_id;
return true;
@@ -941,6 +983,8 @@ class prestudent extends person
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->bestaetigtam = $row->bestaetigtam;
$this->bestaetigtvon = $row->bestaetigtvon;
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->studienplan_id = $row->studienplan_id;
return true;
+3 -1
View File
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
/* Copyright (C) 2006 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
@@ -85,6 +85,8 @@ foreach($ps->result as $row)
<ROLLE:orgform_kurzbz><![CDATA['.$row->orgform_kurzbz.']]></ROLLE:orgform_kurzbz>
<ROLLE:studienplan_id><![CDATA['.$row->studienplan_id.']]></ROLLE:studienplan_id>
<ROLLE:studienplan_bezeichnung><![CDATA['.$row->studienplan_bezeichnung.']]></ROLLE:studienplan_bezeichnung>
<ROLLE:bestaetigt_von><![CDATA['.$row->bestaetigtvon.']]></ROLLE:bestaetigt_von>
<ROLLE:bestaetigt_am><![CDATA['.$datum->convertISODate($row->bestaetigtam).']]></ROLLE:bestaetigt_am>
</RDF:Description>
</RDF:li>
';