Update Studienordnung

This commit is contained in:
Christian Paminger
2013-10-07 12:07:22 +00:00
parent f7b5e2d056
commit d21a2fb91c
2 changed files with 111 additions and 56 deletions
+52 -36
View File
@@ -39,7 +39,7 @@ class studienordnung extends basis_db
protected $gueltigvon; // varchar (FK Studiensemester) protected $gueltigvon; // varchar (FK Studiensemester)
protected $gueltigbis; // varchar (FK Studiensemester) protected $gueltigbis; // varchar (FK Studiensemester)
protected $studiengangbezeichnung; // varchar (256) protected $studiengangbezeichnung; // varchar (256)
protected $studiengangbezeichnung_english; // varchar (256) protected $studiengangbezeichnung_englisch; // varchar (256)
protected $studiengangkurzbzlang;// varchar (256) protected $studiengangkurzbzlang;// varchar (256)
protected $akadgrad_id; // integer (FK akadgrad) protected $akadgrad_id; // integer (FK akadgrad)
protected $max_semester; // smallint protected $max_semester; // smallint
@@ -64,7 +64,12 @@ class studienordnung extends basis_db
{ {
case 'test': case 'test':
if ($value=='test') if ($value=='test')
throw new Exception('UnitTest: "Studiengang_KZ could not be set!"'); throw new Exception('UnitTest: "This is a test!"');
$this->$name=$value;
break;
case 'studiengang_kz':
if (!is_numeric($value))
throw new Exception('Attribute studiengang_kz mus be numeric!"');
$this->$name=$value; $this->$name=$value;
break; break;
default: default:
@@ -72,6 +77,18 @@ class studienordnung extends basis_db
} }
} }
public function __get($name)
{
switch ($name)
{
case 'test':
throw new Exception('UnitTest: "This is a test!"');
break;
default:
return $this->$name;
}
}
/** /**
* Laedt die Studienordnung mit der ID $studienordnung_id * Laedt die Studienordnung mit der ID $studienordnung_id
* @param $adress_id ID der zu ladenden Adresse * @param $adress_id ID der zu ladenden Adresse
@@ -87,7 +104,7 @@ class studienordnung extends basis_db
} }
//Daten aus der Datenbank lesen //Daten aus der Datenbank lesen
$qry = "SELECT * FROM lehre.tbl_adresse WHERE studienordnung_id=".$this->db_add_param($studienordnung_id, FHC_INTEGER, false); $qry = "SELECT * FROM lehre.tbl_studienordnung WHERE studienordnung_id=".$this->db_add_param($studienordnung_id, FHC_INTEGER, false);
if(!$this->db_query($qry)) if(!$this->db_query($qry))
{ {
@@ -186,7 +203,7 @@ class studienordnung extends basis_db
*/ */
protected function validate() protected function validate()
{ {
//Zahlenfelder pruefen /*//Zahlenfelder pruefen
if(!is_numeric($this->person_id) && $this->person_id!='') if(!is_numeric($this->person_id) && $this->person_id!='')
{ {
$this->errormsg='person_id enthaelt ungueltige Zeichen'; $this->errormsg='person_id enthaelt ungueltige Zeichen';
@@ -223,7 +240,7 @@ class studienordnung extends basis_db
$this->errormsg = 'Gemeinde darf nicht länger als 255 Zeichen sein'; $this->errormsg = 'Gemeinde darf nicht länger als 255 Zeichen sein';
return false; return false;
} }
*/
$this->errormsg = ''; $this->errormsg = '';
return true; return true;
} }
@@ -242,23 +259,22 @@ class studienordnung extends basis_db
if($this->new) if($this->new)
{ {
echo $this->studiengang_kz;
//Neuen Datensatz einfuegen //Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO public.tbl_adresse (person_id, name, strasse, plz, typ, ort, nation, insertamum, insertvon, $qry='BEGIN;INSERT INTO lehre.tbl_studienordnung (studiengang_kz, version, bezeichnung, ects, gueltigvon, gueltigbis, studiengangbezeichnung, studiengangbezeichnung_englisch, studiengangkurzbzlang, akadgrad_id, max_semester, insertamum, insertvon) VALUES ('.
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon, ext_id) VALUES('. $this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->person_id, FHC_INTEGER).', '. $this->db_add_param($this->version).', '.
$this->db_add_param($this->name).', '. $this->db_add_param($this->bezeichnung).', '.
$this->db_add_param($this->strasse).', '. $this->db_add_param($this->ects).', '.
$this->db_add_param($this->plz).', '. $this->db_add_param($this->gueltigvon).', '.
$this->db_add_param(trim($this->typ)).', '. $this->db_add_param($this->gueltigbis).', '.
$this->db_add_param($this->ort).', '. $this->db_add_param($this->studiengangbezeichnung).', '.
$this->db_add_param($this->nation).', now(), '. $this->db_add_param($this->studiengangbezeichnung_englisch).', '.
$this->db_add_param($this->insertvon).', '. $this->db_add_param($this->studiengangkurzbzlang).', '.
$this->db_add_param($this->gemeinde).', '. $this->db_add_param($this->akadgrad_id,FHC_INTEGER).', '.
$this->db_add_param($this->heimatadresse,FHC_BOOLEAN, false).', '. $this->db_add_param($this->max_semester,FHC_INTEGER).', now(), '.
$this->db_add_param($this->zustelladresse,FHC_BOOLEAN, false).', '. $this->db_add_param($this->insertvon).');';
$this->db_add_param($this->firma_id, FHC_INTEGER).', now(), '. echo $qry;
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->ext_id, FHC_INTEGER).');';
} }
else else
{ {
@@ -268,21 +284,21 @@ class studienordnung extends basis_db
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein'; $this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
return false; return false;
} }
$qry='UPDATE public.tbl_adresse SET'. $qry='UPDATE public.tbl_studienordnung SET'.
' person_id='.$this->db_add_param($this->person_id, FHC_INTEGER).', '. ' studiengang_kz='.$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
' name='.$this->db_add_param($this->name).', '. ' version='.$this->db_add_param($this->version).', '.
' strasse='.$this->db_add_param($this->strasse).', '. ' bezeichnung='.$this->db_add_param($this->bezeichnung).', '.
' plz='.$this->db_add_param($this->plz).', '. ' ects='.$this->db_add_param($this->ects).', '.
' typ='.$this->db_add_param(trim($this->typ)).', '. ' gueltigvon='.$this->db_add_param(trim($this->gueltigvon)).', '.
' ort='.$this->db_add_param($this->ort).', '. ' gueltigbis='.$this->db_add_param($this->gueltigbis).', '.
' nation='.$this->db_add_param($this->nation).', '. ' studiengangbezeichnung='.$this->db_add_param($this->studiengangbezeichnung).', '.
' gemeinde='.$this->db_add_param($this->gemeinde).', '. ' studiengangbezeichnung_englisch='.$this->db_add_param($this->studiengangbezeichnung_englisch).', '.
' firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).','. ' studiengangkurzbzlang='.$this->db_add_param($this->studiengangkurzbzlang, FHC_INTEGER).','.
' akadgrad_id='.$this->db_add_param($this->akadgrad_id, FHC_BOOLEAN, false).', '.
' max_semester='.$this->db_add_param($this->max_semester, FHC_BOOLEAN, false).' '.
' updateamum= now(), '. ' updateamum= now(), '.
' updatevon='.$this->db_add_param($this->updatevon).', '. ' updatevon='.$this->db_add_param($this->updatevon).', '.
' heimatadresse='.$this->db_add_param($this->heimatadresse, FHC_BOOLEAN, false).', '. ' WHERE studienordnung_id='.$this->db_add_param($this->studienordnung_id, FHC_INTEGER, false).';';
' zustelladresse='.$this->db_add_param($this->zustelladresse, FHC_BOOLEAN, false).' '.
'WHERE studienordnung_id='.$this->db_add_param($this->studienordnung_id, FHC_INTEGER, false).';';
} }
if($this->db_query($qry)) if($this->db_query($qry))
@@ -290,7 +306,7 @@ class studienordnung extends basis_db
if($this->new) if($this->new)
{ {
//naechste ID aus der Sequence holen //naechste ID aus der Sequence holen
$qry="SELECT currval('public.tbl_adresse_studienordnung_id_seq') as id;"; $qry="SELECT currval('public.tbl_studienordnung_id_seq') as id;";
if($this->db_query($qry)) if($this->db_query($qry))
{ {
if($row = $this->db_fetch_object()) if($row = $this->db_fetch_object())
@@ -337,7 +353,7 @@ class studienordnung extends basis_db
} }
//loeschen des Datensatzes //loeschen des Datensatzes
$qry="DELETE FROM public.tbl_adresse WHERE studienordnung_id=".$this->db_add_param($studienordnung_id, FHC_INTEGER, false).";"; $qry="DELETE FROM public.tbl_studienordnung WHERE studienordnung_id=".$this->db_add_param($studienordnung_id, FHC_INTEGER, false).";";
if($this->db_query($qry)) if($this->db_query($qry))
{ {
+59 -20
View File
@@ -27,29 +27,68 @@ require_once(dirname(__FILE__).'/../../config/system.config.inc.php');
require_once(dirname(__FILE__).'/../../include/studienordnung.class.php'); require_once(dirname(__FILE__).'/../../include/studienordnung.class.php');
$errormsg=''; $errormsg='';
$studienordnung=new studienordnung(); class ut_studienordnung //extends PHPUnit_Framework_TestCase
try
{ {
$studienordnung->studiengang_kz=0; protected $studienordnung;
$studienordnung->version='bla';
public function setUp()
{
$this->studienordnung=new studienordnung();
}
public function testAttributes()
{
try
{
//$studienordnung->test='test';
$this->studienordnung->studiengang_kz='0';
//$this->assertEquals(0, $this->studienordnung->studiengang_kz);
$this->studienordnung->version='bla';
$this->studienordnung->bezeichnung='bla';
$this->studienordnung->ects='3.2';
$this->studienordnung->gueltigvon='WS2012';
$this->studienordnung->gueltigbis='SS2014';
$this->studienordnung->studiengangbezeichnung='Unit Test';
$this->studienordnung->studiengangbezeichnung_englisch='Unit Test English';
$this->studienordnung->studiengangkurzbzlang='UnitTest';
$this->studienordnung->akadgrad_id='0';
$this->studienordnung->max_semester='6';
//$this->studienordnung->validate();
//
}
catch (Exception $exc)
{
$errormsg.=$exc->getMessage().$this->studienordnung->errormsg;
return;
}
}
public function testSaveStudienordnungInsert()
{
try
{
$this->studienordnung->save();
}
catch (Exception $exc)
{
$errormsg.=$exc->getMessage().$this->studienordnung->errormsg;
return;
}
$this->fail();
}
} }
catch (Exception $exc) /*
{
$errormsg=$exc->getMessage()'.$studienordnung->errormsg;
die($errormsg);
}
/* private $version; // varchar (256)
private $bezeichnung; // varchar (512)
private $ects; // numeric (5,2)
private $gueltigvon; // varchar (FK Studiensemester)
private $gueltigbis; // varchar (FK Studiensemester)
private $studiengangbezeichnung; // varchar (256)
private $studiengangbezeichnung_english; // varchar (256)
private $studiengangkurzbzlang;// varchar (256)
private $akadgrad_id; // integer (FK akadgrad)
private $max_semester; // smallint
*/ */
echo 'OK<BR>'; $obj=new ut_studienordnung();
$obj->setUp();
$obj->testAttributes();
$obj->testSaveStudienordnungInsert();
if ($errormsg=='')
echo 'OK<BR>';
else
echo $errormsg
?> ?>