mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 01:42:17 +00:00
Merge branch 'master' into udf
This commit is contained in:
@@ -11,7 +11,7 @@ class Prestudent_model extends DB_Model
|
||||
$this->dbTable = 'public.tbl_prestudent';
|
||||
$this->pk = 'prestudent_id';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
@@ -24,7 +24,7 @@ class Prestudent_model extends DB_Model
|
||||
return $isEntitled;
|
||||
if (($isEntitled = $this->isEntitled('public.tbl_status', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
|
||||
return $isEntitled;
|
||||
|
||||
|
||||
$query = 'SELECT *
|
||||
FROM public.tbl_prestudent p
|
||||
JOIN (
|
||||
@@ -37,33 +37,33 @@ class Prestudent_model extends DB_Model
|
||||
WHERE ps.ausbildungssemester = 1';
|
||||
|
||||
$parametersArray = array($person_id);
|
||||
|
||||
|
||||
if ($studiensemester_kurzbz != '')
|
||||
{
|
||||
array_push($parametersArray, $studiensemester_kurzbz);
|
||||
$query .= ' AND ps.studiensemester_kurzbz = ?';
|
||||
}
|
||||
|
||||
|
||||
if (isset($studiengang_kz))
|
||||
{
|
||||
array_push($parametersArray, $studiengang_kz);
|
||||
$query .= ' AND p.studiengang_kz = ?';
|
||||
}
|
||||
|
||||
|
||||
if ($status_kurzbz != '')
|
||||
{
|
||||
array_push($parametersArray, $status_kurzbz);
|
||||
$query .= ' AND ps.status_kurzbz = ?';
|
||||
}
|
||||
|
||||
|
||||
return $this->execQuery($query, $parametersArray);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function updateAufnahmegruppe($prestudentIdArray, $aufnahmegruppe)
|
||||
{
|
||||
{
|
||||
return $this->execQuery(
|
||||
'UPDATE public.tbl_prestudent
|
||||
SET aufnahmegruppe_kurzbz = ?
|
||||
@@ -74,7 +74,7 @@ class Prestudent_model extends DB_Model
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a list of prestudent with additional information:
|
||||
* - person_id
|
||||
@@ -104,7 +104,7 @@ class Prestudent_model extends DB_Model
|
||||
aufnahmegruppe_kurzbz,
|
||||
SUM(rtp.punkte) AS punkte'
|
||||
);
|
||||
|
||||
|
||||
$this->addJoin('public.tbl_person p', 'person_id', 'LEFT');
|
||||
$this->addJoin(
|
||||
'(
|
||||
@@ -123,39 +123,39 @@ class Prestudent_model extends DB_Model
|
||||
$this->addJoin('lehre.tbl_studienordnung so', 'studienordnung_id');
|
||||
$this->addJoin('public.tbl_studiengang sg', 'sg.studiengang_kz = so.studiengang_kz');
|
||||
$this->addJoin('public.tbl_studiengangstyp sgt', 'typ');
|
||||
|
||||
|
||||
$this->addJoin('public.tbl_rt_person rtp', 'rtp.person_id = p.person_id AND rtp.studienplan_id = s.studienplan_id', 'LEFT');
|
||||
|
||||
|
||||
$this->addOrder('p.person_id', 'ASC');
|
||||
$this->addOrder('prestudent_id', 'ASC');
|
||||
|
||||
|
||||
$parametersArray = array('p.aktiv' => true, 'ps.status_kurzbz' => 'Interessent');
|
||||
|
||||
|
||||
if ($studiengang != null)
|
||||
{
|
||||
$parametersArray['public.tbl_prestudent.studiengang_kz'] = $studiengang;
|
||||
}
|
||||
|
||||
|
||||
if ($studiensemester != null)
|
||||
{
|
||||
$parametersArray['ps.studiensemester_kurzbz'] = $studiensemester;
|
||||
}
|
||||
|
||||
|
||||
if ($gruppe != null)
|
||||
{
|
||||
$parametersArray['aufnahmegruppe_kurzbz'] = $gruppe;
|
||||
}
|
||||
|
||||
|
||||
if ($reihungstest != null)
|
||||
{
|
||||
$parametersArray['rtp.rt_id'] = $reihungstest;
|
||||
}
|
||||
|
||||
|
||||
if ($stufe != null)
|
||||
{
|
||||
$parametersArray['ps.rt_stufe'] = $stufe;
|
||||
}
|
||||
|
||||
|
||||
$this->addGroupBy(
|
||||
array(
|
||||
'p.person_id',
|
||||
@@ -174,7 +174,7 @@ class Prestudent_model extends DB_Model
|
||||
'aufnahmegruppe_kurzbz'
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
return $this->loadWhere($parametersArray);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ class Prestudentstatus_model extends DB_Model
|
||||
$this->pk = array('ausbildungssemester', 'studiensemester_kurzbz', 'status_kurzbz', 'prestudent_id');
|
||||
$this->hasSequence = false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
@@ -25,7 +25,7 @@ class Prestudentstatus_model extends DB_Model
|
||||
return $isEntitled;
|
||||
if (($isEntitled = $this->isEntitled('public.tbl_status', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
|
||||
return $isEntitled;
|
||||
|
||||
|
||||
$query = 'SELECT tbl_prestudentstatus.*,
|
||||
bezeichnung AS studienplan_bezeichnung,
|
||||
tbl_status.bezeichnung_mehrsprachig
|
||||
@@ -35,7 +35,7 @@ class Prestudentstatus_model extends DB_Model
|
||||
AND prestudent_id = ?';
|
||||
|
||||
$parametersArray = array($prestudent_id);
|
||||
|
||||
|
||||
if ($studiensemester_kurzbz != '')
|
||||
{
|
||||
array_push($parametersArray, $studiensemester_kurzbz);
|
||||
@@ -46,17 +46,17 @@ class Prestudentstatus_model extends DB_Model
|
||||
array_push($parametersArray, $status_kurzbz);
|
||||
$query .= ' AND status_kurzbz = ?';
|
||||
}
|
||||
|
||||
|
||||
$query .= ' ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1';
|
||||
|
||||
|
||||
return $this->execQuery($query, $parametersArray);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function updateStufe($prestudentIdArray, $stufe)
|
||||
{
|
||||
{
|
||||
return $this->execQuery(
|
||||
'UPDATE public.tbl_prestudentstatus
|
||||
SET rt_stufe = ?
|
||||
@@ -68,4 +68,51 @@ class Prestudentstatus_model extends DB_Model
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all Prestudent status entries according to the given filter
|
||||
*
|
||||
* @param prestudent_id ID of the Prestudent.
|
||||
* @param $status_kurzbz kurzbz of the status.
|
||||
* @param $ausbildungssemester ausbildungssemester of the status.
|
||||
* @param $studiensemester_kurzbz studiensemster of the status.
|
||||
*
|
||||
* @return result object with all the status entries
|
||||
*/
|
||||
public function getStatusByFilter($prestudent_id, $status_kurzbz = '', $ausbildungssemester = '', $studiensemester_kurzbz = '')
|
||||
{
|
||||
// Checks if the operation is permitted by the API caller
|
||||
if (($isEntitled = $this->isEntitled('public.tbl_prestudentstatus', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
|
||||
return $isEntitled;
|
||||
|
||||
$query = '
|
||||
SELECT
|
||||
tbl_prestudentstatus.*
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
WHERE
|
||||
prestudent_id = ?';
|
||||
|
||||
$parametersArray = array($prestudent_id);
|
||||
|
||||
if ($studiensemester_kurzbz != '')
|
||||
{
|
||||
array_push($parametersArray, $studiensemester_kurzbz);
|
||||
$query .= ' AND studiensemester_kurzbz = ?';
|
||||
}
|
||||
if ($status_kurzbz != '')
|
||||
{
|
||||
array_push($parametersArray, $status_kurzbz);
|
||||
$query .= ' AND status_kurzbz = ?';
|
||||
}
|
||||
if ($ausbildungssemester != '')
|
||||
{
|
||||
array_push($parametersArray, $ausbildungssemester);
|
||||
$query .= ' AND ausbildungssemester = ?';
|
||||
}
|
||||
|
||||
$query .= ' ORDER BY datum DESC, insertamum DESC, ext_id DESC';
|
||||
|
||||
return $this->execQuery($query, $parametersArray);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
class Person_model extends DB_Model
|
||||
{
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
@@ -11,16 +11,16 @@ class Person_model extends DB_Model
|
||||
$this->dbTable = 'public.tbl_person';
|
||||
$this->pk = 'person_id';
|
||||
}
|
||||
|
||||
|
||||
public function getPersonKontaktByZugangscode($zugangscode, $email)
|
||||
{
|
||||
$this->addJoin('public.tbl_kontakt', 'person_id');
|
||||
|
||||
|
||||
return $this->loadWhere(array('zugangscode' => $zugangscode, 'kontakt' => $email));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function checkBewerbung($email, $studiensemester_kurzbz = null)
|
||||
{
|
||||
@@ -34,10 +34,10 @@ class Person_model extends DB_Model
|
||||
return $isEntitled;
|
||||
if (($isEntitled = $this->isEntitled('public.tbl_prestudentstatus', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
|
||||
return $isEntitled;
|
||||
|
||||
|
||||
$checkBewerbungQuery = '';
|
||||
$parametersArray = array($email, $email, $email);
|
||||
|
||||
|
||||
if (is_null($studiensemester_kurzbz))
|
||||
{
|
||||
$checkBewerbungQuery = 'SELECT DISTINCT p.person_id, p.zugangscode, p.insertamum
|
||||
@@ -60,13 +60,13 @@ class Person_model extends DB_Model
|
||||
AND studiensemester_kurzbz = ?
|
||||
ORDER BY p.insertamum DESC
|
||||
LIMIT 1';
|
||||
|
||||
|
||||
array_push($parametersArray, $studiensemester_kurzbz);
|
||||
}
|
||||
|
||||
|
||||
return $this->execQuery($checkBewerbungQuery, $parametersArray);
|
||||
}
|
||||
|
||||
|
||||
public function updatePerson($person)
|
||||
{
|
||||
if (isset($person['svnr']) && $person['svnr'] != '')
|
||||
@@ -88,7 +88,46 @@ class Person_model extends DB_Model
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $this->PersonModel->update($person['person_id'], $person);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function getPersonFromStatus($status_kurzbz, $von, $bis)
|
||||
{
|
||||
// Checks if the operation is permitted by the API caller
|
||||
if (($isEntitled = $this->isEntitled('public.tbl_prestudent', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
|
||||
return $isEntitled;
|
||||
if (($isEntitled = $this->isEntitled('public.tbl_prestudentstatus', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
|
||||
return $isEntitled;
|
||||
|
||||
$this->addJoin('public.tbl_prestudent', 'person_id');
|
||||
|
||||
$result = $this->loadTree(
|
||||
'public.tbl_person',
|
||||
array(
|
||||
'public.tbl_prestudent'
|
||||
),
|
||||
'EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
WHERE
|
||||
person_id=tbl_person.person_id
|
||||
AND status_kurzbz='.$this->escape($status_kurzbz).'
|
||||
AND datum >= '.$this->escape($von).'
|
||||
AND datum <= '.$this->escape($bis).'
|
||||
)',
|
||||
array(
|
||||
'prestudenten'
|
||||
)
|
||||
);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user