- Modified FHC_Model contructor to get UID from vilesci authentication

- Copied functionalities from old libraries to controllers
- Ported old libraries to CI
- Modified codeception
This commit is contained in:
paolo
2016-06-03 16:19:06 +02:00
parent efe7355a4d
commit dabcf8188b
16 changed files with 697 additions and 202 deletions
+1
View File
@@ -189,6 +189,7 @@ $config['fhc_acl'] = array
'public.tbl_variable' => 'basis/variable',
'public.tbl_vorlage' => 'basis/vorlage',
'public.tbl_vorlagestudiengang' => 'basis/vorlagestudiengang',
'public.vw_studiensemester' => 'basis/vw_studiensemester',
'system.tbl_appdaten' => 'basis/appdaten',
'system.tbl_benutzerrolle' => 'basis/benutzerrolle',
'system.tbl_berechtigung' => 'basis/berechtigung',
@@ -28,6 +28,22 @@ class Nation extends APIv1_Controller
$this->NationModel->setUID($this->_getUID());
}
public function getNation()
{
$nation_code = $this->get("nation_code");
if (isset($nation_code))
{
$result = $this->NationModel->loadWhere(array('nation_code' => $nation_code));
$this->response($result, REST_Controller::HTTP_OK);
}
else
{
$this->response();
}
}
public function getAll()
{
if (!$this->get('orderEnglish'))
@@ -47,6 +47,26 @@ class Orgform extends APIv1_Controller
}
}
/**
* @return void
*/
public function getAll()
{
$result = $this->OrgformModel->loadWhole();
$this->response($result, REST_Controller::HTTP_OK);
}
/**
* @return void
*/
public function getOrgformLV()
{
$result = $this->OrgformModel->getOrgformLV();
$this->response($result, REST_Controller::HTTP_OK);
}
/**
* @return void
*/
@@ -71,13 +91,6 @@ class Orgform extends APIv1_Controller
}
}
public function getAll()
{
$result = $this->OrgformModel->loadWhole();
$this->response($result, REST_Controller::HTTP_OK);
}
private function _validate($orgform = NULL)
{
return true;
@@ -54,25 +54,212 @@ class Studiensemester extends APIv1_Controller
{
$art = $this->get('art');
$result = $this->StudiensemesterModel->addOrder('start');
if ($result->error == EXIT_SUCCESS)
{
$result = $this->StudiensemesterModel->addLimit(1);
if ($result->error == EXIT_SUCCESS)
{
$this->StudiensemesterModel->addOrder('start');
$this->StudiensemesterModel->addLimit(1);
if (isset($art))
{
$result = $this->StudiensemesterModel->loadWhere(array('start >' => 'NOW()', 'SUBSTRING(studiensemester_kurzbz FROM 1 FOR 2) = ' => $art));
$result = $this->StudiensemesterModel->loadWhere(
array('start >' => 'NOW()',
'SUBSTRING(studiensemester_kurzbz FROM 1 FOR 2) = ' => $art
)
);
}
else
{
$result = $this->StudiensemesterModel->loadWhere(array('start >' => 'NOW()'));
}
$this->response($result, REST_Controller::HTTP_OK);
}
/**
* @return void
*/
public function getAll()
{
$order = $this->get('order');
if (strcasecmp($order, 'DESC') == 0)
{
$this->StudiensemesterModel->addOrder('ende', 'DESC');
}
else
{
$this->StudiensemesterModel->addOrder('ende', 'ASC');
}
$result = $this->StudiensemesterModel->loadWhole();
$this->response($result, REST_Controller::HTTP_OK);
}
/**
* @return void
*/
public function getAkt()
{
$result = $this->StudiensemesterModel->loadWhere(array('start <=' => 'NOW()', 'ende >=' => 'NOW()'));
$this->response($result, REST_Controller::HTTP_OK);
}
/**
* @return void
*/
public function getAktNext()
{
$semester = $this->get('semester');
$result = null;
if (!is_numeric($semester))
{
$result = $this->StudiensemesterModel->loadWhere(array('start <=' => 'NOW()', 'ende >=' => 'NOW()'));
}
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval) &&
count($result->retval) > 0)
{
// Return $result
}
else
{
$this->StudiensemesterModel->addOrder('ende');
$this->StudiensemesterModel->addLimit(1);
$whereArray = array('ende >=' => 'NOW()');
if (is_numeric($semester))
{
if ($semester % 2 == 0)
{
$ss = 'SS';
}
else
{
$ss = 'WS';
}
$whereArray['SUBSTRING(studiensemester_kurzbz FROM 1 FOR 2) ='] = $ss;
}
$result = $this->StudiensemesterModel->loadWhere($whereArray);
}
$this->response($result, REST_Controller::HTTP_OK);
}
/**
* @return void
*/
public function getLastOrAktSemester()
{
$result = $this->StudiensemesterModel->getLastOrAktSemester($this->get('days'));
$this->response($result, REST_Controller::HTTP_OK);
}
/**
* @return void
*/
public function getNextFrom()
{
$result = $this->StudiensemesterModel->getNextFrom($this->get('studiensemester_kurzbz'));
$this->response($result, REST_Controller::HTTP_OK);
}
/**
* @return void
*/
public function getPrevious()
{
$this->StudiensemesterModel->addOrder('ende', 'DESC');
$this->StudiensemesterModel->addLimit(1);
$result = $this->StudiensemesterModel->loadWhere(array('ende <' => 'NOW()'));
$this->response($result, REST_Controller::HTTP_OK);
}
/**
* @return void
*/
public function getNearest()
{
$result = $this->StudiensemesterModel->getNearest($this->get('semester'));
$this->response($result, REST_Controller::HTTP_OK);
}
/**
* @return void
*/
public function getFinished()
{
$limit = $this->get('limit');
$this->StudiensemesterModel->addOrder('ende', 'DESC');
$this->StudiensemesterModel->addLimit($limit);
$result = $this->StudiensemesterModel->loadWhere(array('start <=' => 'NOW()'));
$this->response($result, REST_Controller::HTTP_OK);
}
/**
* @return void
*/
public function getTimestamp()
{
$studiensemester_kurzbz = $this->get('studiensemester_kurzbz');
if (isset($studiensemester_kurzbz))
{
$result = $this->StudiensemesterModel->load($studiensemester_kurzbz);
if (is_array($result->retval) && count($result->retval) > 0)
{
$studiensemester = $result->retval[0];
if (is_object($studiensemester))
{
$start = "";
if (isset($studiensemester->start))
{
$start = mktime(0, 0, 0,
mb_substr($studiensemester->start, 5, 2),
mb_substr($studiensemester->start, 8, 2),
mb_substr($studiensemester->start, 0, 4)
);
}
$ende = "";
if (isset($studiensemester->ende))
{
$ende = mktime(0, 0, 0,
mb_substr($studiensemester->ende, 5, 2),
mb_substr($studiensemester->ende, 8, 2),
mb_substr($studiensemester->ende, 0, 4)
);
}
$result->retval = array(
'studiensemester_kurzbz' => $studiensemester_kurzbz,
'start' => $start,
'ende' => $ende
);
}
}
$this->response($result, REST_Controller::HTTP_OK);
}
else
{
$this->response();
}
}
/**
* @return void
@@ -31,11 +31,68 @@ class Kontakt extends APIv1_Controller
public function getKontakt()
{
$personID = $this->get("person_id");
$kontakt_id = $this->get("kontakt_id");
if (isset($personID))
if (isset($kontakt_id))
{
$result = $this->KontaktModel->loadWhere(array('person_id' => $personID));
$result = $this->KontaktModel->addJoin('public.tbl_standort', 'standort_id', 'LEFT');
if ($result->error == EXIT_SUCCESS)
{
$result = $this->KontaktModel->addJoin('public.tbl_firma', 'firma_id', 'LEFT');
if ($result->error == EXIT_SUCCESS)
{
$result = $this->KontaktModel->loadWhere(array('kontakt_id' => $kontakt_id));
}
}
$this->response($result, REST_Controller::HTTP_OK);
}
else
{
$this->response();
}
}
public function getKontaktByPersonID()
{
$person_id = $this->get("person_id");
if (isset($person_id))
{
$result = $this->KontaktModel->addJoin('public.tbl_standort', 'standort_id', 'LEFT');
if ($result->error == EXIT_SUCCESS)
{
$result = $this->KontaktModel->addJoin('public.tbl_firma', 'firma_id', 'LEFT');
if ($result->error == EXIT_SUCCESS)
{
$result = $this->KontaktModel->loadWhere(array('person_id' => $person_id));
}
}
$this->response($result, REST_Controller::HTTP_OK);
}
else
{
$this->response();
}
}
public function getKontaktByPersonIDKontaktTyp()
{
$person_id = $this->get("person_id");
$kontakttyp = $this->get("kontakttyp");
if (isset($person_id) && isset($kontakttyp))
{
$result = $this->KontaktModel->addJoin('public.tbl_standort', 'standort_id', 'LEFT');
if ($result->error == EXIT_SUCCESS)
{
$result = $this->KontaktModel->addJoin('public.tbl_firma', 'firma_id', 'LEFT');
if ($result->error == EXIT_SUCCESS)
{
$result = $this->KontaktModel->loadWhere(array('person_id' => $person_id, 'kontakttyp' => $kontakttyp));
}
}
$this->response($result, REST_Controller::HTTP_OK);
}
+10 -2
View File
@@ -11,11 +11,19 @@ class FHC_Model extends CI_Model
$this->lang->load('fhc_model');
$this->lang->load('fhcomplete');
$uid = NULL;
if (is_null($uid) && isset($this->session->uid))
$uid = null;
// Get UID from CI session
if(isset($this->session->uid))
{
$uid = $this->session->uid;
}
// Get UID from the environment (HTTP authentication via authentication.class.php)
else if(isset($_SERVER['PHP_AUTH_USER']))
{
$uid = $_SERVER['PHP_AUTH_USER'];
}
$this->load->library('FHC_DB_ACL', array('uid' => $uid));
}
+20 -1
View File
@@ -1,7 +1,7 @@
<?php
class Orgform_model extends DB_Model
{
/**
* Constructor
*/
@@ -11,4 +11,23 @@ class Orgform_model extends DB_Model
$this->dbTable = 'bis.tbl_orgform';
$this->pk = 'orgform_kurzbz';
}
public function getOrgformLV()
{
// Checks if the operation is permitted by the API caller
if (! $this->fhc_db_acl->isBerechtigt($this->acl['bis.tbl_orgform'], 's'))
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['bis.tbl_orgform'], FHC_MODEL_ERROR);
$query = "SELECT *
FROM bis.tbl_orgform
WHERE orgform_kurzbz NOT IN ('VBB', 'ZGS')
ORDER BY orgform_kurzbz";
$result = $this->db->query($query);
if (is_object($result))
return $this->_success($result->result());
else
return $this->_error($this->db->error(), FHC_DB_ERROR);
}
}
@@ -1,7 +1,7 @@
<?php
class Studiensemester_model extends DB_Model
{
/**
* Constructor
*/
@@ -11,4 +11,93 @@ class Studiensemester_model extends DB_Model
$this->dbTable = 'public.tbl_studiensemester';
$this->pk = 'studiensemester_kurzbz';
}
public function getLastOrAktSemester($days = 60)
{
// Checks if the operation is permitted by the API caller
if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_studiensemester'], 's'))
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_studiensemester'], FHC_MODEL_ERROR);
if (!is_numeric($days))
{
$days = 60;
}
$query = "SELECT studiensemester_kurzbz
FROM public.tbl_studiensemester
WHERE start < NOW() - '" . $days . " DAYS'::INTERVAL
ORDER BY start DESC
LIMIT 1";
$result = $this->db->query($query);
if (is_object($result))
return $this->_success($result->result());
else
return $this->_error($this->db->error(), FHC_DB_ERROR);
}
public function getNextFrom($studiensemester_kurzbz)
{
// Checks if the operation is permitted by the API caller
if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_studiensemester'], 's'))
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_studiensemester'], FHC_MODEL_ERROR);
$query = "SELECT studiensemester_kurzbz,
start,
ende
FROM public.tbl_studiensemester
WHERE start > (
SELECT ende
FROM public.tbl_studiensemester
WHERE studiensemester_kurzbz = ?
)
ORDER BY start
LIMIT 1";
$result = $this->db->query($query, array($studiensemester_kurzbz));
if (is_object($result))
return $this->_success($result->result());
else
return $this->_error($this->db->error(), FHC_DB_ERROR);
}
/**
* @return void
*/
public function getNearest($semester = '')
{
// Checks if the operation is permitted by the API caller
if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.vw_studiensemester'], 's'))
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.vw_studiensemester'], FHC_MODEL_ERROR);
$query = "SELECT studiensemester_kurzbz,
start,
ende
FROM public.vw_studiensemester";
if (is_numeric($semester))
{
if ($semester % 2 == 0)
{
$ss = 'SS';
}
else
{
$ss = 'WS';
}
$query .= " WHERE SUBSTRING(studiensemester_kurzbz FROM 1 FOR 2) = '" . $ss . "'";
}
$query .= " ORDER BY delta LIMIT 1";
$result = $this->db->query($query);
if (is_object($result))
return $this->_success($result->result());
else
return $this->_error($this->db->error(), FHC_DB_ERROR);
}
}
+2 -2
View File
@@ -15,7 +15,7 @@ class Person_model extends DB_Model
/**
*
*/
public function checkBewerbung($email, $studiensemester_kurzbz = NULL)
public function checkBewerbung($email, $studiensemester_kurzbz = null)
{
// Checks if the operation is permitted by the API caller
if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_person'], 's'))
@@ -33,7 +33,7 @@ class Person_model extends DB_Model
if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_prestudentstatus'], 's'))
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_prestudentstatus'], FHC_MODEL_ERROR);
$result = NULL;
$result = null;
if (is_null($studiensemester_kurzbz))
{
+2
View File
@@ -1,5 +1,7 @@
<?php
// TO BE UPDATED
/*
* This class requires only DB functionalities from CI
* CI_Hack couldn't be included here because this class is called every time an addon
+29 -6
View File
@@ -70,18 +70,20 @@ class nation extends Nation_model
public function load($code)
{
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM bis.tbl_nation WHERE nation_code=".$this->db_add_param($code).';';
$result = parent::loadWhere(array('nation_code' => $code));
if(!$this->db_query($qry))
if (!is_object($result) || (is_object($result) && $result->error != EXIT_SUCCESS))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = $this->db_fetch_object())
if(is_array($result->retval) && count($result->retval) == 1)
{
$this->code = $code;
$row = $result->retval[0];
$this->sperre = $this->db_parse_bool($row->sperre);
$this->kontinent = $row->kontinent;
$this->entwicklungsstand = $row->entwicklungsstand;
@@ -107,16 +109,37 @@ class nation extends Nation_model
public function getAll($ohnesperre = false, $orderEnglish = false)
{
//Lesen der Daten aus der Datenbank
$qry = $this->_getNationQuery($ohnesperre, $orderEnglish);
if (!$orderEnglish)
{
$result = parent::addOrder('kurztext');
}
else
{
$result = parent::addOrder('engltext');
}
if(!$this->db_query($qry))
if ($result->error == EXIT_SUCCESS)
{
if ($ohnesperre)
{
$result = parent::loadWhere('sperre IS NULL');
}
else
{
$result = parent::loadWhole();
}
}
if (!is_object($result) || (is_object($result) && ($result->error != EXIT_SUCCESS || !is_array($result->retval))))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = $this->db_fetch_object())
for ($i = 0; $i < count($result->retval); $i++)
{
$row = $result->retval[$i];
$nation = new nation();
$nation->code = $row->nation_code;
+6 -3
View File
@@ -139,11 +139,14 @@ class organisationsform extends Orgform_model
*/
public function getOrgformLV()
{
$qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz NOT IN ('VBB', 'ZGS') ORDER BY orgform_kurzbz";
if($result = $this->db_query($qry))
$result = parent::getOrgformLV();
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval))
{
while($row = $this->db_fetch_object($result))
for ($i = 0; $i < count($result->retval); $i++)
{
$row = $result->retval[$i];
$orgform = new organisationsform();
$orgform->orgform_kurzbz = $row->orgform_kurzbz;
+5 -5
View File
@@ -92,18 +92,18 @@ class person extends Person_model
//person_id auf gueltigkeit pruefen
if (is_numeric($personId) && $personId != '')
{
$result = $this->getPerson($personId);
$result = parent::load($personId);
if (!is_object($result))
if (!is_object($result) || (is_object($result) && $result->error != EXIT_SUCCESS))
{
$this->errormsg = "Fehler beim Lesen der Personendaten\n";
return false;
}
$row = $result->row();
if (isset($row))
if(is_array($result->retval) && count($result->retval) == 1)
{
$row = $result->retval[0];
$this->person_id = $row->person_id;
$this->sprache = $row->sprache;
$this->anrede = $row->anrede;
+151 -98
View File
@@ -59,30 +59,34 @@ class studiensemester extends Studiensemester_model
*/
public function load($studiensemester_kurzbz)
{
$qry = "SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$result = parent::load($studiensemester_kurzbz);
if(!$this->db_query($qry))
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval))
{
$this->errormsg = 'Fehler beim Lesen des Studiensemesters';
return false;
}
if (count($result->retval) > 0)
{
$row = $result->retval[0];
if($row = $this->db_fetch_object())
{
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->start = $row->start;
$this->ende = $row->ende;
$this->bezeichnung = $row->bezeichnung;
$this->studienjahr_kurzbz = $row->studienjahr_kurzbz;
$this->beschreibung = $row->beschreibung;
return true;
}
else
{
$this->errormsg = "Es ist kein Studiensemester mit dieser Kurzbezeichung vorhanden";
return false;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Lesen des Studiensemesters';
return false;
}
}
/**
@@ -158,18 +162,13 @@ class studiensemester extends Studiensemester_model
*/
public function getakt()
{
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start <= now() AND ende >= now()";
$result = parent::loadWhere(array('start <=' => 'NOW()', 'ende >=' => 'NOW()'));
if(!$this->db_query($qry))
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval))
{
$this->errormsg = $this->db_last_error();
return false;
}
if($this->db_num_rows()>0)
if (count($result->retval) > 0)
{
$erg = $this->db_fetch_object();
return $erg->studiensemester_kurzbz;
return $result->retval[0]->studiensemester_kurzbz;
}
else
{
@@ -177,6 +176,12 @@ class studiensemester extends Studiensemester_model
return false;
}
}
else
{
$this->errormsg = $result->msg;
return false;
}
}
/**
* Liefert ein Studiensemester mit Startdatum vom naechstgelegenen Studiensemester und
@@ -212,32 +217,38 @@ class studiensemester extends Studiensemester_model
*/
public function getaktorNext($semester = '')
{
if(($stsem=$this->getakt()) && $semester=='')
return $stsem;
if (($result = $this->getakt()) && !is_numeric($semester))
{
return $result;
}
else
{
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE true";
parent::addOrder('ende');
parent::addLimit(1);
if($semester!='')
$whereArray = array('ende >=' => 'NOW()');
if (is_numeric($semester))
{
if ($semester %2 == 0)
{
$ss = 'SS';
}
else
{
$ss = 'WS';
$qry.= " AND substring(studiensemester_kurzbz from 1 for 2)='$ss' ";
}
$qry.= " AND ende >= now() ORDER BY ende LIMIT 1";
if(!$this->db_query($qry))
{
$this->errormsg = $this->db_last_error();
return false;
}
if($erg = $this->db_fetch_object())
$whereArray['SUBSTRING(studiensemester_kurzbz FROM 1 FOR 2) ='] = $ss;
}
$result = parent::loadWhere($whereArray);
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval))
{
return $erg->studiensemester_kurzbz;
if (count($result->retval) > 0)
{
return $result->retval[0]->studiensemester_kurzbz;
}
else
{
@@ -245,6 +256,12 @@ class studiensemester extends Studiensemester_model
return false;
}
}
else
{
$this->errormsg = $result->msg;
return false;
}
}
}
/**
@@ -256,30 +273,19 @@ class studiensemester extends Studiensemester_model
*/
public function getNearest($semester = '')
{
$qry = "SELECT studiensemester_kurzbz, start, ende FROM public.vw_studiensemester ";
if($semester!='')
{
if($semester%2==0)
$ss='SS';
else
$ss='WS';
$result = parent::getNearest($semester);
$qry.= " WHERE substring(studiensemester_kurzbz from 1 for 2)='$ss' ";
}
$qry.=' ORDER BY delta LIMIT 1';
if(!$this->db_query($qry))
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval))
{
$this->errormsg = $this->db_last_error();
return false;
}
if($erg = $this->db_fetch_object())
if(count($result->retval) > 0)
{
$this->studiensemester_kurzbz=$erg->studiensemester_kurzbz;
$this->start=$erg->start;
$this->ende=$erg->ende;
return $erg->studiensemester_kurzbz;
$row = $result->retval[0];
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->start = $row->start;
$this->ende = $row->ende;
return $row->studiensemester_kurzbz;
}
else
{
@@ -287,6 +293,12 @@ class studiensemester extends Studiensemester_model
return false;
}
}
else
{
$this->errormsg = $this->db_last_error();
return false;
}
}
/**
* Liefert alle Studiensemester
@@ -295,15 +307,23 @@ class studiensemester extends Studiensemester_model
*/
public function getAll($order = null)
{
$qry = "SELECT * FROM public.tbl_studiensemester ORDER BY ende";
if($order == "desc")
$qry .= " DESC";
if($this->db_query($qry))
if (strcasecmp($order, 'DESC') == 0)
{
while($row = $this->db_fetch_object())
parent::addOrder('ende', 'DESC');
}
else
{
parent::addOrder('ende', 'ASC');
}
$result = parent::loadWhole();
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval))
{
for ($i = 0; $i < count($result->retval); $i++)
{
$row = $result->retval[$i];
$stsem_obj = new studiensemester();
$stsem_obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -333,32 +353,45 @@ class studiensemester extends Studiensemester_model
*/
public function getNextStudiensemester($art = '')
{
$qry = "SELECT * FROM public.tbl_studiensemester WHERE start>now() ";
parent::addOrder('start');
parent::addLimit(1);
if($art!='')
$qry.= " AND substring(studiensemester_kurzbz from 1 for 2)=".$this->db_add_param($art);
$qry.=" ORDER BY start LIMIT 1";
if(!$this->db_query($qry))
if (isset($art))
{
$this->errormsg = 'Fehler beim Lesen des Studiensemesters';
return false;
$result = parent::loadWhere(
array('start >' => 'NOW()',
'SUBSTRING(studiensemester_kurzbz FROM 1 FOR 2) = ' => $art
)
);
}
else
{
$result = parent::loadWhere(array('start >' => 'NOW()'));
}
if($row = $this->db_fetch_object())
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval))
{
if (count($result->retval) > 0)
{
$row = $result->retval[0];
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->start = $row->start;
$this->ende = $row->ende;
return true;
}
else
{
$this->errormsg = "Es wurde kein entsprechendes Studiensemester gefunden";
return false;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Lesen des Studiensemesters';
return false;
}
}
/**
@@ -413,13 +446,16 @@ class studiensemester extends Studiensemester_model
*/
public function getPrevious()
{
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ende<now() ORDER BY ende DESC LIMIT 1";
parent::addOrder('ende', 'DESC');
parent::addLimit(1);
if($this->db_query($qry))
$result = parent::loadWhere(array('ende <' => 'NOW()'));
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval))
{
if($row = $this->db_fetch_object())
if (count($result->retval) > 0)
{
return $row->studiensemester_kurzbz;
return $result->retval[0]->studiensemester_kurzbz;
}
else
{
@@ -510,18 +546,18 @@ class studiensemester extends Studiensemester_model
*/
public function getNextFrom($studiensemester_kurzbz)
{
$qry = "SELECT studiensemester_kurzbz, start, ende FROM public.tbl_studiensemester
WHERE start>(SELECT ende FROM public.tbl_studiensemester
WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz).")
ORDER BY start LIMIT 1";
$result = parent::getNextFrom($studiensemester_kurzbz);
if($this->db_query($qry))
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval))
{
if($row = $this->db_fetch_object())
if (count($result->retval) > 0)
{
$row = $result->retval[0];
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->start = $row->start;
$this->ende = $row->ende;
return $row->studiensemester_kurzbz;
}
else
@@ -635,22 +671,26 @@ class studiensemester extends Studiensemester_model
*/
public function getFinished($limit = null)
{
$qry = "SELECT * FROM public.tbl_studiensemester where start<=now() ORDER BY ende DESC";
if(!is_null($limit) && is_numeric($limit))
$qry.=' LIMIT '.$limit;
parent::addOrder('ende', 'DESC');
parent::addLimit($limit);
if($this->db_query($qry))
$result = parent::loadWhere(array('start <=' => 'NOW()'));
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval))
{
while($row = $this->db_fetch_object())
for ($i = 0; $i < count($result->retval); $i++)
{
$stsem_obj = new studiensemester();
$row = $result->retval[$i];
$stsem_obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$stsem_obj->start = $row->start;
$stsem_obj->ende = $row->ende;
$this->studiensemester[] = $stsem_obj;
}
return true;
}
else
@@ -669,13 +709,13 @@ class studiensemester extends Studiensemester_model
*/
public function getLastOrAktSemester($days = 60)
{
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start<now()-'".$days." days'::interval ORDER BY start desc limit 1";
$result = parent::getLastOrAktSemester($days);
if($this->db_query($qry))
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval))
{
if($row = $this->db_fetch_object())
if (count($result->retval) > 0)
{
return $row->studiensemester_kurzbz;
return $result->retval[0]->studiensemester_kurzbz;
}
else
{
@@ -727,19 +767,32 @@ class studiensemester extends Studiensemester_model
*/
public function getTimestamp($studiensemester_kurzbz)
{
$qry = "SELECT start,ende,studiensemester_kurzbz FROM public.tbl_studiensemester
WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."";
$result = parent::load($studiensemester_kurzbz);
if($this->db_query($qry))
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval))
{
if($row = $this->db_fetch_object())
if (count($result->retval))
{
$row = $result->retval[0];
if (!isset($this->begin))
$this->begin = new stdclass();
$this->begin->start=mktime(0,0,0,mb_substr($row->start,5,2),mb_substr($row->start,8,2),mb_substr($row->start,0,4));
$this->begin->start = mktime(0, 0, 0,
mb_substr($row->start, 5, 2),
mb_substr($row->start, 8, 2),
mb_substr($row->start, 0, 4)
);
if (!isset($this->end))
$this->ende = new stdclass();
$this->ende->ende=mktime(0,0,0,mb_substr($row->ende,5,2),mb_substr($row->ende,8,2),mb_substr($row->ende,0,4));
$this->ende->ende = mktime(0, 0, 0,
mb_substr($row->ende, 5, 2),
mb_substr($row->ende, 8, 2),
mb_substr($row->ende, 0, 4)
);
return true;
}
else
+26 -2
View File
@@ -413,7 +413,13 @@ DELETE FROM system.tbl_rolleberechtigung WHERE berechtigung_kurzbz IN (
'basis/rechnungstyp',
'basis/zahlungstyp',
'basis/studienplan_semester',
'basis/dms_version'
'basis/dms_version',
'student/stammdaten',
'mitarbeiter/stammdaten',
'basis/vw_studiensemester',
'lehre/reservierung',
'lehre/reihungstest',
'wawi/inventar:begrenzt'
);
-- DELETE FROM system.tbl_berechtigung
@@ -632,7 +638,13 @@ DELETE FROM system.tbl_berechtigung WHERE berechtigung_kurzbz IN (
'basis/rechnungstyp',
'basis/zahlungstyp',
'basis/studienplan_semester',
'basis/dms_version'
'basis/dms_version',
'student/stammdaten',
'mitarbeiter/stammdaten',
'basis/vw_studiensemester',
'lehre/reservierung',
'lehre/reihungstest',
'wawi/inventar:begrenzt'
);
-- INSERT Permissions
@@ -851,6 +863,12 @@ INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zahlungstyp', 'Tbl_zahlungstyp');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studienplan_semester', 'Tbl_studienplan_semester');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/dms_version', 'Tbl_dms_version');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('student/stammdaten', '');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('mitarbeiter/stammdaten', '');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/vw_studiensemester', '');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('lehre/reservierung', '');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('lehre/reihungstest', '');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('wawi/inventar:begrenzt', '');
-- INSERT link between user admin and permissions
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/archiv', 'admin', 'suid');
@@ -1068,3 +1086,9 @@ INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zahlungstyp', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studienplan_semester', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/dms_version', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('student/stammdaten', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('mitarbeiter/stammdaten', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/vw_studiensemester', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/reservierung', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/reihungstest', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('wawi/inventar:begrenzt', 'admin', 'suid');
@@ -5,7 +5,7 @@ $I->wantTo('Test API call v1/person/kontakt/kontakt');
$I->amHttpAuthenticated("admin", "1q2w3");
$I->haveHttpHeader('FHC-API-KEY', 'testapikey@fhcomplete.org');
$I->sendGET('v1/person/kontakt/kontakt', array('person_id' => 1));
$I->sendGET('v1/person/kontakt/kontakt', array('kontakt_id' => 1));
$I->seeResponseCodeIs(200);
$I->seeResponseIsJson();
$I->seeResponseContainsJson(['error' => 0]);