66 lines
1.9 KiB
PHP
66 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use CodeIgniter\HTTP\IncomingRequest;
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
use Psr\Log\LoggerInterface;
|
|
|
|
use CodeIgniter\API\ResponseTrait;
|
|
|
|
use App\Models\MessageModel;
|
|
use App\Models\UserMessageModel;
|
|
|
|
class DashboardController extends AdminController
|
|
{
|
|
|
|
use ResponseTrait;
|
|
protected $messageModel;
|
|
protected $userMessageModel;
|
|
protected $myLogger;
|
|
|
|
public function __construct()
|
|
{
|
|
set_session_context('Dashboard');
|
|
$this->messageModel = new MessageModel();
|
|
$this->userMessageModel = new UserMessageModel();
|
|
$this->myLogger = \Config\Services::mylogger();
|
|
}
|
|
|
|
public function dashboard()
|
|
{
|
|
echo view('layout/header');
|
|
echo view('DashBoard');
|
|
echo view('layout/footer');
|
|
}
|
|
|
|
public function getDashboardNotifications()
|
|
{
|
|
// Pull notifications for the dashboard, especially for file upload cases.
|
|
$userId = get_session_userid();
|
|
$roleId = 5;
|
|
$teamId = 1;
|
|
|
|
if ($userId != null && $roleId != null && $teamId != null) {
|
|
$messages = $this->messageModel->getMessagesForUser($userId, $roleId, $teamId);
|
|
return $this->respond(['status' => true, 'code' => 200, 'message' => $messages], 200);
|
|
} else {
|
|
$this->myLogger->logme('error', 'The session is not set correctly. USER_ID : {user_id}, ROLE_ID : {role_id}, TEAM_ID : {team_id}', ['user_id' => $userId, 'role_id' => $roleId, 'team_id' => $teamId]);
|
|
return $this->respond(['status' => false, 'code' => 404, 'message' => 'No data found'], 200);
|
|
}
|
|
}
|
|
|
|
|
|
public function acknowledgeMessage($messageId)
|
|
{
|
|
$userId = get_session_userid();
|
|
|
|
$this->userMessageModel->markAsRead($userId, $messageId);
|
|
|
|
return $this->respond(['status' => 'success']);
|
|
}
|
|
|
|
|
|
}
|