mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-02 20:59:28 +00:00
0439c19cb1
When there is an extra content after "Anmerkung zur Bewerbung" e.g. "Anmerkung zur Bewerbung (BWI)" the notice is also displayed on top
164 lines
4.2 KiB
PHP
164 lines
4.2 KiB
PHP
<?php
|
|
|
|
class Notiz_model extends DB_Model
|
|
{
|
|
/**
|
|
* Constructor
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->dbTable = 'public.tbl_notiz';
|
|
$this->pk = 'notiz_id';
|
|
}
|
|
|
|
// ------------------------------------------------------------------------------------------------------
|
|
/**
|
|
* Get a specialization for a prestudent
|
|
*/
|
|
public function getSpecialization($prestudent_id, $titel)
|
|
{
|
|
// Join with the table public.tbl_notizzuordnung using notiz_id
|
|
$this->addJoin('public.tbl_notizzuordnung', 'notiz_id');
|
|
|
|
return $this->NotizModel->loadWhere(array('prestudent_id' => $prestudent_id, 'titel' => $titel));
|
|
}
|
|
|
|
/**
|
|
* Remove a specialization
|
|
*/
|
|
public function rmSpecialization($notiz_id)
|
|
{
|
|
// Loads model Notizzuordnung_model
|
|
$this->load->model('person/Notizzuordnung_model', 'NotizzuordnungModel');
|
|
|
|
// Start DB transaction
|
|
$this->db->trans_start(false);
|
|
|
|
$result = $this->delete(array('notiz_id' => $notiz_id));
|
|
if (isSuccess($result))
|
|
{
|
|
$result = $this->NotizzuordnungModel->delete(array('notiz_id' => $notiz_id));
|
|
}
|
|
|
|
// Transaction complete!
|
|
$this->db->trans_complete();
|
|
|
|
// Check if everything went ok during the transaction
|
|
if ($this->db->trans_status() === false || isError($result))
|
|
{
|
|
$this->db->trans_rollback();
|
|
$result = error($result->msg, EXIT_ERROR);
|
|
}
|
|
else
|
|
{
|
|
$this->db->trans_commit();
|
|
$result = success('Specialization successfully removed');
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
|
|
/**
|
|
* Add a specialization for a prestudent
|
|
*/
|
|
public function addSpecialization($prestudent_id, $titel, $text)
|
|
{
|
|
// Loads model Notizzuordnung_model
|
|
$this->load->model('person/Notizzuordnung_model', 'NotizzuordnungModel');
|
|
|
|
// Start DB transaction
|
|
$this->db->trans_start(false);
|
|
|
|
$result = $this->insert(array('titel' => $titel, 'text' => $text, 'erledigt' => true));
|
|
$notiz_id = $result->retval;
|
|
if (isSuccess($result))
|
|
{
|
|
$result = $this->NotizzuordnungModel->insert(array('notiz_id' => $notiz_id, 'prestudent_id' => $prestudent_id));
|
|
}
|
|
|
|
// Transaction complete!
|
|
$this->db->trans_complete();
|
|
|
|
// Check if everything went ok during the transaction
|
|
if ($this->db->trans_status() === false || isError($result))
|
|
{
|
|
$this->db->trans_rollback();
|
|
$result = error($result->msg, EXIT_ERROR);
|
|
}
|
|
else
|
|
{
|
|
$this->db->trans_commit();
|
|
$result = success($notiz_id);
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
|
|
/**
|
|
* Add a Notiz for a given person
|
|
*/
|
|
public function addNotizForPerson($person_id, $titel, $text, $erledigt, $verfasser_uid)
|
|
{
|
|
// Loads model Notizzuordnung_model
|
|
$this->load->model('person/Notizzuordnung_model', 'NotizzuordnungModel');
|
|
|
|
// Start DB transaction
|
|
$this->db->trans_start(false);
|
|
|
|
$result = $this->insert(array('titel' => $titel, 'text' => $text, 'erledigt' => $erledigt, 'verfasser_uid' => $verfasser_uid,
|
|
"insertvon" => $verfasser_uid));
|
|
|
|
if (isSuccess($result))
|
|
{
|
|
$notiz_id = $result->retval;
|
|
$result = $this->NotizzuordnungModel->insert(array('notiz_id' => $notiz_id, 'person_id' => $person_id));
|
|
}
|
|
|
|
// Transaction complete!
|
|
$this->db->trans_complete();
|
|
|
|
// Check if everything went ok during the transaction
|
|
if ($this->db->trans_status() === false || isError($result))
|
|
{
|
|
$this->db->trans_rollback();
|
|
$result = error($result->msg, EXIT_ERROR);
|
|
}
|
|
else
|
|
{
|
|
$this->db->trans_commit();
|
|
$result = success($notiz_id);
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
|
|
/**
|
|
* gets all Notizen for a person
|
|
* @param $person_id
|
|
*/
|
|
public function getNotiz($person_id)
|
|
{
|
|
// Join with the table public.tbl_notizzuordnung using notiz_id
|
|
$this->addJoin('public.tbl_notizzuordnung', 'notiz_id');
|
|
|
|
return $this->loadWhere(array('person_id' => $person_id));
|
|
}
|
|
|
|
/**
|
|
* gets all Notizen for a person with a specific title
|
|
* @param $person_id
|
|
* @param $titel
|
|
*/
|
|
public function getNotizByTitel($person_id, $titel)
|
|
{
|
|
// Join with the table public.tbl_notizzuordnung using notiz_id
|
|
$this->addJoin('public.tbl_notizzuordnung', 'notiz_id');
|
|
$this->addOrder('insertamum', 'DESC');
|
|
|
|
return $this->loadWhere(array('person_id' => $person_id, 'titel LIKE' => $titel));
|
|
}
|
|
// ------------------------------------------------------------------------------------------------------
|
|
|
|
}
|