mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-03 13:19:28 +00:00
1fcc878cb5
CheckUserAuth and Test controllers now extends directly the REST_Controller
317 lines
6.3 KiB
PHP
317 lines
6.3 KiB
PHP
<?php
|
|
/**
|
|
* FH-Complete
|
|
*
|
|
* @package FHC-API
|
|
* @author FHC-Team
|
|
* @copyright Copyright (c) 2016, fhcomplete.org
|
|
* @license GPLv3
|
|
* @link http://fhcomplete.org
|
|
* @since Version 1.0
|
|
* @filesource
|
|
*/
|
|
// ------------------------------------------------------------------------
|
|
|
|
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
class Prestudent extends APIv1_Controller
|
|
{
|
|
/**
|
|
* Prestudent API constructor.
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct(
|
|
array(
|
|
'Prestudent' => 'basis/prestudent:rw',
|
|
'PrestudentByPersonID' => 'basis/prestudent:r',
|
|
'Specialization' => 'basis/prestudent:rw',
|
|
'LastStatuses' => 'basis/prestudent:r',
|
|
'PrestudentsPerStatus' => 'basis/prestudent:r',
|
|
'RmSpecialization' => 'basis/prestudent:w',
|
|
'AddReihungstest' => 'basis/prestudent:w',
|
|
'DelReihungstest' => 'basis/prestudent:w'
|
|
)
|
|
);
|
|
// Load model PrestudentModel
|
|
$this->load->model('crm/prestudent_model', 'PrestudentModel');
|
|
// Load library ReihungstestLib
|
|
$this->load->library('ReihungstestLib');
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function getPrestudent()
|
|
{
|
|
$prestudentID = $this->get('prestudent_id');
|
|
|
|
if (isset($prestudentID))
|
|
{
|
|
$result = $this->PrestudentModel->load($prestudentID);
|
|
|
|
$this->response($result, REST_Controller::HTTP_OK);
|
|
}
|
|
else
|
|
{
|
|
$this->response();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function getPrestudentByPersonID()
|
|
{
|
|
$person_id = $this->get('person_id');
|
|
|
|
if (isset($person_id))
|
|
{
|
|
$result = $this->PrestudentModel->load(array('person_id' => $person_id));
|
|
|
|
$this->response($result, REST_Controller::HTTP_OK);
|
|
}
|
|
else
|
|
{
|
|
$this->response();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function getSpecialization()
|
|
{
|
|
$prestudent_id = $this->get('prestudent_id');
|
|
$titel = $this->get('titel');
|
|
|
|
if (isset($prestudent_id) && isset($titel))
|
|
{
|
|
// Loads model Notiz_model
|
|
$this->load->model('person/Notiz_model', 'NotizModel');
|
|
|
|
$result = $this->NotizModel->getSpecialization($prestudent_id, $titel);
|
|
|
|
$this->response($result, REST_Controller::HTTP_OK);
|
|
}
|
|
else
|
|
{
|
|
$this->response();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function getLastStatuses()
|
|
{
|
|
$person_id = $this->get('person_id');
|
|
$studiensemester_kurzbz = $this->get('studiensemester_kurzbz');
|
|
$studiengang_kz = $this->get('studiengang_kz');
|
|
$status_kurzbz = $this->get('status_kurzbz');
|
|
|
|
if (isset($person_id))
|
|
{
|
|
$result = $this->PrestudentModel->getLastStatuses(
|
|
$person_id,
|
|
$studiensemester_kurzbz,
|
|
$studiengang_kz,
|
|
$status_kurzbz
|
|
);
|
|
|
|
$this->response($result, REST_Controller::HTTP_OK);
|
|
}
|
|
else
|
|
{
|
|
$this->response();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Get all Persons with a Status in the define Timerange
|
|
* Additionally ALL Prestudents of this person are included.
|
|
* (Not only the ones with the status)
|
|
*
|
|
* @return void
|
|
*/
|
|
public function getPrestudentsPerStatus()
|
|
{
|
|
$this->load->model('person/person_model', 'PersonModel');
|
|
$status_kurzbz = $this->get('status_kurzbz');
|
|
$von = $this->get('von');
|
|
$bis = $this->get('bis');
|
|
|
|
if (isset($status_kurzbz) && isset($von) && isset($bis))
|
|
{
|
|
$result = $this->PersonModel->getPersonFromStatus(
|
|
$status_kurzbz,
|
|
$von,
|
|
$bis
|
|
);
|
|
|
|
// Remove person images from result array to reduce useless traffic
|
|
foreach($result->retval as $key=>$val)
|
|
{
|
|
unset($result->retval[$key]->foto);
|
|
}
|
|
$this->response($result, REST_Controller::HTTP_OK);
|
|
}
|
|
else
|
|
{
|
|
$this->response();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function postRmSpecialization()
|
|
{
|
|
$notiz_id = $this->post()['notiz_id'];
|
|
|
|
if (isset($notiz_id))
|
|
{
|
|
// Loads model Notiz_model
|
|
$this->load->model('person/Notiz_model', 'NotizModel');
|
|
|
|
$result = $this->NotizModel->rmSpecialization($notiz_id);
|
|
|
|
$this->response($result, REST_Controller::HTTP_OK);
|
|
}
|
|
else
|
|
{
|
|
$this->response();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function postSpecialization()
|
|
{
|
|
$prestudent_id = $this->post()['prestudent_id'];
|
|
$titel = $this->post()['titel'];
|
|
$text = $this->post()['text'];
|
|
|
|
if (isset($prestudent_id) && isset($titel) && isset($text))
|
|
{
|
|
// Loads model Notiz_model
|
|
$this->load->model('person/Notiz_model', 'NotizModel');
|
|
|
|
$result = $this->NotizModel->addSpecialization($prestudent_id, $titel, $text);
|
|
|
|
$this->response($result, REST_Controller::HTTP_OK);
|
|
}
|
|
else
|
|
{
|
|
$this->response();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function postPrestudent()
|
|
{
|
|
$prestudent = $this->post();
|
|
|
|
if ($this->_validate($this->post()))
|
|
{
|
|
if (isset($prestudent['prestudent_id']))
|
|
{
|
|
$result = $this->PrestudentModel->update($prestudent['prestudent_id'], $prestudent);
|
|
}
|
|
else
|
|
{
|
|
$result = $this->PrestudentModel->insert($prestudent);
|
|
}
|
|
|
|
$this->response($result, REST_Controller::HTTP_OK);
|
|
}
|
|
else
|
|
{
|
|
$this->response();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function deletePrestudent()
|
|
{
|
|
if ($this->_validate($this->delete()))
|
|
{
|
|
$result = $this->PrestudentModel->delete($this->delete()['prestudent_id']);
|
|
|
|
$this->response($result, REST_Controller::HTTP_OK);
|
|
}
|
|
else
|
|
{
|
|
$this->response();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function postAddReihungstest()
|
|
{
|
|
$ddReihungstest = $this->post();
|
|
|
|
if ($this->_validateReihungstest($ddReihungstest))
|
|
{
|
|
if(isset($ddReihungstest['new']) && $ddReihungstest['new'] == true)
|
|
{
|
|
// Remove new parameter to avoid DB insert errors
|
|
unset($ddReihungstest['new']);
|
|
|
|
$result = $this->reihungstestlib->insertPersonReihungstest($ddReihungstest);
|
|
}
|
|
else
|
|
{
|
|
$result = $this->reihungstestlib->updatePersonReihungstest($ddReihungstest);
|
|
}
|
|
|
|
$this->response($result, REST_Controller::HTTP_OK);
|
|
}
|
|
else
|
|
{
|
|
$this->response();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function postDelReihungstest()
|
|
{
|
|
$ddReihungstest = $this->post();
|
|
|
|
if (isset($ddReihungstest['rt_person_id']))
|
|
{
|
|
$result = $this->reihungstestlib->deletePersonReihungstest($ddReihungstest);
|
|
|
|
$this->response($result, REST_Controller::HTTP_OK);
|
|
}
|
|
else
|
|
{
|
|
$this->response();
|
|
}
|
|
}
|
|
|
|
private function _validate($prestudent = NULL)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
private function _validateReihungstest($ddReihungstest = NULL)
|
|
{
|
|
if (!isset($ddReihungstest['person_id']) || !isset($ddReihungstest['rt_id']) || !isset($ddReihungstest['studienplan_id']))
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|