- Fixed logic in method postDms of controller Dms, now is it possibile to

insert a new version for a dms
- Fix method getMessagesByPerson of model Message_model, now is not showing messages with status 3
This commit is contained in:
bison
2016-08-25 13:18:11 +02:00
parent 2c86315f42
commit 59b5d76e44
2 changed files with 48 additions and 29 deletions
+34 -25
View File
@@ -12,7 +12,7 @@
*/
// ------------------------------------------------------------------------
if (!defined('BASEPATH')) exit('No direct script access allowed');
if (!defined("BASEPATH")) exit("No direct script access allowed");
class Dms extends APIv1_Controller
{
@@ -23,9 +23,9 @@ class Dms extends APIv1_Controller
{
parent::__construct();
// Load model PersonModel
$this->load->model('content/Dms_model', 'DmsModel');
$this->load->model('content/DmsVersion_model', 'DmsVersionModel');
$this->load->model('content/DmsFS_model', 'DmsFSModel');
$this->load->model("content/Dms_model", "DmsModel");
$this->load->model("content/DmsVersion_model", "DmsVersionModel");
$this->load->model("content/DmsFS_model", "DmsFSModel");
}
/**
@@ -33,8 +33,8 @@ class Dms extends APIv1_Controller
*/
public function getDms()
{
$dms_id = $this->get('dms_id');
$version = $this->get('version');
$dms_id = $this->get("dms_id");
$version = $this->get("version");
if (isset($dms_id))
{
@@ -67,33 +67,42 @@ class Dms extends APIv1_Controller
{
$result = null;
if(isset($dms['new']) && $dms['new'] == true)
if(isset($dms["new"]) && $dms["new"] == true)
{
// Remove new parameter to avoid DB insert errors
unset($dms['new']);
unset($dms["new"]);
if (($filename = $this->_saveFileOnInsert($dms)) !== false)
{
$result = $this->DmsModel->insert($this->DmsModel->filterFields($dms));
if ($result->error == EXIT_SUCCESS)
if(isset($dms["dms_id"]) && $dms["dms_id"] != "")
{
$result = $this->DmsVersionModel->insert(
$this->DmsVersionModel->filterFields($dms, $result->retval, $filename)
$this->DmsVersionModel->filterFields($dms, $dms["dms_id"], $filename)
);
}
else
{
$result = $this->DmsModel->insert($this->DmsModel->filterFields($dms));
if ($result->error == EXIT_SUCCESS)
{
$result = $this->DmsVersionModel->insert(
$this->DmsVersionModel->filterFields($dms, $result->retval, $filename)
);
}
}
}
}
else
{
if ($this->_saveFileOnUpdate($dms))
{
$result = $this->DmsModel->update($dms['dms_id'], $this->DmsModel->filterFields($dms));
$result = $this->DmsModel->update($dms["dms_id"], $this->DmsModel->filterFields($dms));
if ($result->error == EXIT_SUCCESS)
{
$result = $this->DmsVersionModel->update(
array(
$dms['dms_id'],
$dms['version']
$dms["dms_id"],
$dms["version"]
),
$this->DmsVersionModel->filterFields($dms)
);
@@ -118,10 +127,10 @@ class Dms extends APIv1_Controller
if (isset($dms_id))
{
$result = $this->DmsModel->addJoin('campus.tbl_dms_version', 'dms_id');
$result = $this->DmsModel->addJoin("campus.tbl_dms_version", "dms_id");
if ($result->error == EXIT_SUCCESS)
{
$result = $this->DmsModel->addOrder('version', 'DESC');
$result = $this->DmsModel->addOrder("version", "DESC");
if ($result->error == EXIT_SUCCESS)
{
$result = $this->DmsModel->addLimit(1);
@@ -129,11 +138,11 @@ class Dms extends APIv1_Controller
{
if (!isset($version))
{
$result = $this->DmsModel->loadWhere(array('dms_id' => $dms_id));
$result = $this->DmsModel->loadWhere(array("dms_id" => $dms_id));
}
else
{
$result = $this->DmsModel->loadWhere(array('dms_id' => $dms_id, 'version' => $version));
$result = $this->DmsModel->loadWhere(array("dms_id" => $dms_id, "version" => $version));
}
}
}
@@ -148,13 +157,13 @@ class Dms extends APIv1_Controller
*/
private function _saveFileOnUpdate($dms)
{
if(isset($dms['version']))
if(isset($dms["version"]))
{
$result = $this->_getDms($dms['dms_id'], $dms['version']);
$result = $this->_getDms($dms["dms_id"], $dms["version"]);
if (is_object($result) && $result->error == EXIT_SUCCESS && is_array($result->retval) && count($result->retval) > 0)
{
$result = $this->DmsFSModel->write($result->retval[0]->filename, $dms['file_content']);
$result = $this->DmsFSModel->write($result->retval[0]->filename, $dms["file_content"]);
if (is_object($result) && $result->error == EXIT_SUCCESS)
{
return true;
@@ -170,9 +179,9 @@ class Dms extends APIv1_Controller
*/
private function _saveFileOnInsert($dms)
{
$filename = uniqid() . '.' . pathinfo($dms['name'], PATHINFO_EXTENSION);
$filename = uniqid() . "." . pathinfo($dms["name"], PATHINFO_EXTENSION);
$result = $this->DmsFSModel->write($filename, $dms['file_content']);
$result = $this->DmsFSModel->write($filename, $dms["file_content"]);
if (is_object($result) && $result->error == EXIT_SUCCESS)
{
return $filename;
@@ -183,11 +192,11 @@ class Dms extends APIv1_Controller
private function _validate($dms = NULL)
{
if (!isset($dms['file_content']) || (isset($dms['file_content']) && $dms['file_content'] == ''))
if (!isset($dms["file_content"]) || (isset($dms["file_content"]) && $dms["file_content"] == ""))
{
return false;
}
if (!isset($dms['name']) || (isset($dms['name']) && $dms['name'] == ''))
if (!isset($dms["name"]) || (isset($dms["name"]) && $dms["name"] == ""))
{
return false;
}
+14 -4
View File
@@ -93,16 +93,26 @@ class Message_model extends DB_Model
FROM public.tbl_msg_recipient r JOIN public.tbl_msg_message m USING (message_id)
JOIN public.tbl_person p ON (p.person_id = m.person_id)
JOIN (
SELECT * FROM public.tbl_msg_status ORDER BY insertamum DESC
SELECT message_id, person_id, status, statusinfo, insertamum
FROM public.tbl_msg_status
%s
ORDER BY insertamum DESC
) s ON (m.message_id = s.message_id AND r.person_id = s.person_id)
WHERE r.person_id = ?";
if ($all != "true")
$parametersArray = array($person_id);
if ($all == "true")
{
$sql .= " AND (s.status < 3 OR s.status IS NULL)";
$sql = sprintf($sql, "");
}
else
{
array_push($parametersArray, $person_id, $person_id);
$sql = sprintf($sql, "WHERE person_id = ? AND message_id NOT IN (SELECT message_id FROM public.tbl_msg_status WHERE status >= 3 AND person_id = ?)");
}
$result = $this->db->query($sql, array($person_id));
$result = $this->db->query($sql, $parametersArray);
if (is_object($result))
return $this->_success($result->result());
else