mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Merge branch 'ci' of https://github.com/FH-Complete/FHC-Core into ci
This commit is contained in:
@@ -33,16 +33,16 @@ class Gemeinde extends APIv1_Controller
|
||||
{
|
||||
$gemeindeID = $this->get('gemeinde_id');
|
||||
|
||||
$this->GemeindeModel->addOrder('plz');
|
||||
if (isset($gemeindeID))
|
||||
{
|
||||
$result = $this->GemeindeModel->load($gemeindeID);
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response();
|
||||
$result = $this->GemeindeModel->load();
|
||||
}
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -46,6 +46,31 @@ class Reihungstest extends APIv1_Controller
|
||||
$this->response();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function getByStudiengangStudiensemester()
|
||||
{
|
||||
$studiengang_kz = $this->get('studiengang_kz');
|
||||
$studiensemester_kurzbz = $this->get('studiensemester_kurzbz');
|
||||
|
||||
if (isset($studiengang_kz))
|
||||
{
|
||||
$parameters = array('studiengang_kz' => $studiengang_kz);
|
||||
if (isset($studiensemester_kurzbz))
|
||||
{
|
||||
$parameters['studiensemester_kurzbz'] = $studiensemester_kurzbz;
|
||||
}
|
||||
$result = $this->ReihungstestModel->loadWhere($parameters);
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
|
||||
@@ -66,6 +66,25 @@ class Message extends APIv1_Controller
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function getMessagesByToken()
|
||||
{
|
||||
$token = $this->get('token');
|
||||
|
||||
if (isset($token))
|
||||
{
|
||||
$result = $this->messagelib->getMessagesByToken($token);
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
@@ -75,13 +94,12 @@ class Message extends APIv1_Controller
|
||||
|
||||
if (is_object($validation) && $validation->error == EXIT_SUCCESS)
|
||||
{
|
||||
$this->messagelib->addRecipient($this->post()['person_id']);
|
||||
$result = $this->messagelib->sendMessage(
|
||||
$this->post()['person_id'],
|
||||
$this->post()['subject'],
|
||||
$this->post()['body'],
|
||||
PRIORITY_NORMAL,
|
||||
NULL,
|
||||
$this->post()['relationmessage_id'],
|
||||
$this->post()['oe_kurzbz']
|
||||
);
|
||||
|
||||
@@ -108,6 +126,7 @@ class Message extends APIv1_Controller
|
||||
$this->post()['vorlage_kurzbz'],
|
||||
$this->post()['oe_kurzbz'],
|
||||
$this->post()['data'],
|
||||
$this->post()['relationmessage_id'],
|
||||
$this->post()['orgform_kurzbz']
|
||||
);
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@ class MessageLib
|
||||
|
||||
$this->ci->load->library('VorlageLib');
|
||||
|
||||
$this->ci->load->helper('fhc');
|
||||
|
||||
//$this->ci->load->helper('language');
|
||||
$this->ci->lang->load('message');
|
||||
}
|
||||
@@ -104,6 +106,42 @@ class MessageLib
|
||||
|
||||
return $this->getMessage($msg_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* getMessagesByToken
|
||||
*
|
||||
* @param token string
|
||||
* @return array
|
||||
*/
|
||||
function getMessagesByToken($token)
|
||||
{
|
||||
if (empty($token))
|
||||
return $this->_error(MSG_ERR_INVALID_MSG_ID);
|
||||
|
||||
$result = $this->ci->MessageModel->getMessagesByToken($token);
|
||||
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval) && count($result->retval) > 0)
|
||||
{
|
||||
if ($result->retval[0]->status == MSG_STATUS_UNREAD)
|
||||
{
|
||||
$statusKey = array(
|
||||
'message_id' => $result->retval[0]->message_id,
|
||||
'person_id' => $result->retval[0]->receiver_id,
|
||||
'status' => MSG_STATUS_UNREAD
|
||||
);
|
||||
$resTmp = $this->ci->MsgStatusModel->update($statusKey, array('status' => MSG_STATUS_READ));
|
||||
if (!is_object($resTmp) || (is_object($resTmp) && $resTmp->error != EXIT_SUCCESS))
|
||||
{
|
||||
$result = $resTmp;
|
||||
}
|
||||
else
|
||||
{
|
||||
$result->retval[0]->status = MSG_STATUS_READ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
@@ -182,12 +220,8 @@ class MessageLib
|
||||
if (!is_numeric($sender_id))
|
||||
return $this->_invalid_id(MSG_ERR_INVALID_MSG_ID);
|
||||
|
||||
if (empty($this->recipients))
|
||||
return $this->_error('No Recipients! Use addRecipient()', MSG_ERR_INVALID_RECIPIENTS);
|
||||
|
||||
// Start sending Message
|
||||
$this->ci->db->trans_start(false);
|
||||
|
||||
//save Message
|
||||
$data = array(
|
||||
'person_id' => $sender_id,
|
||||
@@ -195,20 +229,33 @@ class MessageLib
|
||||
'body' => $body,
|
||||
'priority' => $priority,
|
||||
'relationmessage_id' => $relationmessage_id,
|
||||
'oe_kurzbz' => $oe_kurzbz);
|
||||
if (! $msg = $this->ci->MessageModel->insert($data))
|
||||
return $this->_error($msg->msg.$msg->retval, MSG_ERR_GENERAL);
|
||||
$msg_id = $msg->retval;
|
||||
$this->ci->db->trans_complete();
|
||||
if ($this->ci->db->trans_status() === FALSE)
|
||||
'oe_kurzbz' => $oe_kurzbz
|
||||
);
|
||||
|
||||
$result = $this->ci->MessageModel->insert($data);
|
||||
if (is_object($result) && $result->error == EXIT_SUCCESS)
|
||||
{
|
||||
// generate an error... or use the log_message() function to log your error
|
||||
// General Error Occurred
|
||||
return $this->_error();
|
||||
$msg_id = $result->retval;
|
||||
$statusData = array(
|
||||
'message_id' => $msg_id,
|
||||
'person_id' => $sender_id,
|
||||
'status' => MSG_STATUS_UNREAD
|
||||
);
|
||||
$result = $this->ci->MsgStatusModel->insert($statusData);
|
||||
}
|
||||
|
||||
$this->ci->db->trans_complete();
|
||||
|
||||
if ($this->ci->db->trans_status() === FALSE || (is_object($result) && $result->error != EXIT_SUCCESS))
|
||||
{
|
||||
$this->ci->db->trans_rollback();
|
||||
return $this->_error($result->msg, EXIT_ERROR);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->ci->db->trans_commit();
|
||||
return $this->_success($msg_id);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -221,7 +268,7 @@ class MessageLib
|
||||
* @param integer $priority
|
||||
* @return array
|
||||
*/
|
||||
function sendMessageVorlage($sender_id, $receiver_id, $vorlage_kurzbz, $oe_kurzbz, $data, $orgform_kurzbz = null)
|
||||
function sendMessageVorlage($sender_id, $receiver_id, $vorlage_kurzbz, $oe_kurzbz, $data, $relationmessage_id = null, $orgform_kurzbz = null)
|
||||
{
|
||||
if (!is_numeric($sender_id) || !is_numeric($receiver_id))
|
||||
return $this->_invalid_id(MSG_ERR_INVALID_MSG_ID);
|
||||
@@ -229,7 +276,8 @@ class MessageLib
|
||||
$result = $this->ci->vorlagelib->loadVorlagetext($vorlage_kurzbz, $oe_kurzbz, $orgform_kurzbz);
|
||||
if (is_object($result) && $result->error == EXIT_SUCCESS)
|
||||
{
|
||||
if (is_array($result->retval) && count($result->retval) > 0)
|
||||
if (is_array($result->retval) && count($result->retval) > 0 &&
|
||||
!empty($result->retval[0]->text) && !empty($result->retval[0]->subject))
|
||||
{
|
||||
$parsedText = $this->ci->vorlagelib->parseVorlagetext($result->retval[0]->text, $data);
|
||||
|
||||
@@ -240,7 +288,7 @@ class MessageLib
|
||||
'subject' => $result->retval[0]->subject,
|
||||
'body' => $parsedText,
|
||||
'priority' => PRIORITY_NORMAL,
|
||||
//'relationmessage_id' => $relationmessage_id,
|
||||
'relationmessage_id' => $relationmessage_id,
|
||||
'oe_kurzbz' => $oe_kurzbz
|
||||
);
|
||||
|
||||
@@ -250,7 +298,8 @@ class MessageLib
|
||||
$msg_id = $result->retval;
|
||||
$recipientData = array(
|
||||
'person_id' => $receiver_id,
|
||||
'message_id' => $msg_id
|
||||
'message_id' => $msg_id,
|
||||
'token' => generateToken()
|
||||
);
|
||||
$result = $this->ci->RecipientModel->insert($recipientData);
|
||||
if (is_object($result) && $result->error == EXIT_SUCCESS)
|
||||
@@ -284,7 +333,7 @@ class MessageLib
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = $this->_error($result->msg, EXIT_ERROR);
|
||||
$result = $this->_error($result->retval, EXIT_ERROR);
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
||||
@@ -10,7 +10,6 @@ class Message_model extends DB_Model
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
//require_once APPPATH.'config/message.php';
|
||||
$this->dbTable = 'public.tbl_msg_message';
|
||||
$this->pk = 'message_id';
|
||||
}
|
||||
@@ -73,48 +72,24 @@ class Message_model extends DB_Model
|
||||
return $this->_error($this->db->error(), FHC_DB_ERROR);
|
||||
}
|
||||
|
||||
public function getMessagesByPerson($person_id, $all)
|
||||
public function getMessagesByPerson($person_id, $all)
|
||||
{
|
||||
// Check wrights
|
||||
if (! $this->fhc_db_acl->isBerechtigt('basis/message', 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> basis/message', FHC_MODEL_ERROR);
|
||||
|
||||
// prepare parameters
|
||||
$person_id = (int)$person_id;
|
||||
// get Data
|
||||
/*$sql = 'SELECT person_id,
|
||||
message_id,
|
||||
subject,
|
||||
body,
|
||||
priority,
|
||||
relationmessage_id,
|
||||
oe_kurzbz,
|
||||
m.insertamum,
|
||||
anrede,
|
||||
titelpost,
|
||||
titelpre,
|
||||
nachname,
|
||||
vorname,
|
||||
vornamen,
|
||||
status,
|
||||
statusinfo,
|
||||
s.insertamum AS statusamum
|
||||
FROM public.tbl_msg_message m JOIN public.tbl_person USING (person_id)
|
||||
LEFT OUTER JOIN (
|
||||
SELECT message_id, person_id, status, statusinfo, tbl_msg_status.insertamum
|
||||
FROM public.tbl_msg_status INNER JOIN (
|
||||
SELECT message_id, person_id, max(insertamum) AS insertamum
|
||||
FROM public.tbl_msg_status
|
||||
GROUP BY message_id, person_id
|
||||
) status USING (message_id, person_id)
|
||||
WHERE tbl_msg_status.insertamum=status.insertamum
|
||||
) s USING (message_id, person_id)
|
||||
WHERE person_id = ?';*/
|
||||
if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_msg_recipient'], 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_msg_recipient'], FHC_MODEL_ERROR);
|
||||
if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_msg_message'], 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_msg_message'], FHC_MODEL_ERROR);
|
||||
if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_person'], 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_person'], FHC_MODEL_ERROR);
|
||||
if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_msg_status'], 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_msg_status'], FHC_MODEL_ERROR);
|
||||
|
||||
$sql = 'SELECT r.message_id,
|
||||
m.person_id,
|
||||
m.subject,
|
||||
m.body,
|
||||
m.insertamum,
|
||||
m.relationmessage_id,
|
||||
m.oe_kurzbz,
|
||||
s.status,
|
||||
s.statusinfo,
|
||||
@@ -124,13 +99,43 @@ public function getMessagesByPerson($person_id, $all)
|
||||
JOIN public.tbl_msg_status s USING (message_id)
|
||||
WHERE r.person_id = ?';
|
||||
|
||||
/*if (! $all)
|
||||
$sql .= ' AND (status < 3 OR status IS NULL)';*/
|
||||
$result = $this->db->query($sql, array($person_id));
|
||||
//var_dump($result);
|
||||
if (is_object($result))
|
||||
return $this->_success($result->result());
|
||||
else
|
||||
return $this->_error($this->db->error(), FHC_DB_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
public function getMessagesByToken($token)
|
||||
{
|
||||
// Check wrights
|
||||
if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_msg_recipient'], 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_msg_recipient'], FHC_MODEL_ERROR);
|
||||
if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_msg_message'], 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_msg_message'], FHC_MODEL_ERROR);
|
||||
if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_msg_status'], 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_msg_status'], FHC_MODEL_ERROR);
|
||||
|
||||
$sql = 'SELECT r.message_id,
|
||||
r.person_id as receiver_id,
|
||||
m.person_id as sender_id,
|
||||
m.subject,
|
||||
m.body,
|
||||
m.insertamum,
|
||||
m.relationmessage_id,
|
||||
m.oe_kurzbz,
|
||||
s.status,
|
||||
s.statusinfo,
|
||||
s.updateamum
|
||||
FROM public.tbl_msg_recipient r JOIN public.tbl_msg_message m USING (message_id)
|
||||
JOIN public.tbl_msg_status s USING (message_id)
|
||||
WHERE r.token = ?
|
||||
AND status < ?';
|
||||
|
||||
$result = $this->db->query($sql, array($token, MSG_STATUS_DELETED));
|
||||
if (is_object($result))
|
||||
return $this->_success($result->result());
|
||||
else
|
||||
return $this->_error($this->db->error(), FHC_DB_ERROR);
|
||||
}
|
||||
}
|
||||
@@ -422,7 +422,8 @@ DELETE FROM system.tbl_rolleberechtigung WHERE berechtigung_kurzbz IN (
|
||||
'lehre/reihungstest',
|
||||
'wawi/inventar:begrenzt',
|
||||
'fs/dms',
|
||||
'basis/phrase'
|
||||
'basis/phrase',
|
||||
'system/vorlagestudiengang'
|
||||
);
|
||||
|
||||
-- DELETE FROM system.tbl_berechtigung
|
||||
@@ -650,7 +651,8 @@ DELETE FROM system.tbl_berechtigung WHERE berechtigung_kurzbz IN (
|
||||
'lehre/reihungstest',
|
||||
'wawi/inventar:begrenzt',
|
||||
'fs/dms',
|
||||
'basis/phrase'
|
||||
'basis/phrase',
|
||||
'system/vorlagestudiengang'
|
||||
);
|
||||
|
||||
-- INSERT Permissions
|
||||
@@ -878,6 +880,7 @@ INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('
|
||||
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('fs/dms', '');
|
||||
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/message', '');
|
||||
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/phrase', '');
|
||||
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('system/vorlagestudiengang', '');
|
||||
|
||||
-- INSERT link between user admin and permissions
|
||||
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/archiv', 'admin', 'suid');
|
||||
@@ -1104,6 +1107,7 @@ INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art
|
||||
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('fs/dms', 'admin', 'suid');
|
||||
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/message', 'admin', 'suid');
|
||||
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/phrase', 'admin', 'suid');
|
||||
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('system/vorlagestudiengang', 'admin', 'suid');
|
||||
|
||||
-- EMPTY public.tbl_statistik
|
||||
DELETE FROM public.tbl_statistik;
|
||||
|
||||
Reference in New Issue
Block a user