133 lines
4.6 KiB
PHP
133 lines
4.6 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use CodeIgniter\RESTful\ResourceController;
|
|
use App\Models\MailTemplateModel;
|
|
|
|
class EmailTemplateController extends ResourceController
|
|
{
|
|
protected $format = 'json';
|
|
protected $myLogger;
|
|
protected $mailTemplateModel;
|
|
|
|
|
|
public function __construct()
|
|
{
|
|
$this->mailTemplateModel = new MailTemplateModel();
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$org_id = $this->request->getGet('org_id');
|
|
|
|
if (!$org_id) {
|
|
log_message('error', 'Organization ID missing in index() template list');
|
|
return $this->failNotFound('Organization ID is required');
|
|
}
|
|
|
|
//fetch existing template data for the give ORG ID
|
|
$mailTemplateData = $this->mailTemplateModel->where('org_id', $org_id)->where('template_name !=', 'forex')->findAll();
|
|
|
|
if (!$mailTemplateData) {
|
|
log_message('error', "No mail template found for org_id: {$org_id} in index()");
|
|
return $this->failNotFound('No template found');
|
|
}
|
|
|
|
log_message('error', "Mail templates found for org_id: {$org_id} in index()");
|
|
return $this->respond([
|
|
'status' => 200,
|
|
'message' => 'Template found',
|
|
'data' => $mailTemplateData
|
|
]);
|
|
}
|
|
|
|
public function getForexTemplate()
|
|
{
|
|
$template_name = $this->request->getGet('template_name');
|
|
|
|
if (!$template_name) {
|
|
log_message('error', 'template_name missing ');
|
|
return $this->failNotFound('template_name is required');
|
|
}
|
|
|
|
//fetch existing template data for the give ID
|
|
$singleMailTemplateData = $this->mailTemplateModel->where('template_name', $template_name)->first();
|
|
|
|
if (!$singleMailTemplateData) {
|
|
log_message('error', "Template not found for template: {$template_name} in find()");
|
|
return $this->failNotFound('Template not found');
|
|
}
|
|
|
|
log_message('error', "Template found for template: {$template_name} in find()");
|
|
return $this->respond([
|
|
'status' => 200,
|
|
'message' => 'Template found',
|
|
'data' => $singleMailTemplateData
|
|
]);
|
|
}
|
|
|
|
public function find($id = null)
|
|
{
|
|
if (!$id) {
|
|
log_message('error', 'Template ID missing in find()');
|
|
return $this->failNotFound('Template id is required');
|
|
}
|
|
|
|
//fetch existing template data for the give ID
|
|
$singleMailTemplateData = $this->mailTemplateModel->find($id);
|
|
|
|
if (!$singleMailTemplateData) {
|
|
log_message('error', "Template not found for id: {$id} in find()");
|
|
return $this->failNotFound('Template not found');
|
|
}
|
|
|
|
log_message('error', "Template found for id: {$id} in find()");
|
|
return $this->respond([
|
|
'status' => 200,
|
|
'message' => 'Template found',
|
|
'data' => $singleMailTemplateData
|
|
]);
|
|
}
|
|
|
|
public function update($id = null)
|
|
{
|
|
if (!$id) {
|
|
log_message('error', 'Template ID missing in update()');
|
|
return $this->failNotFound('Template ID is required');
|
|
}
|
|
|
|
//request data
|
|
$data = $this->request->getJSON(true);
|
|
$req['body_html'] = (string)$data['body_html'];
|
|
$req['subject'] = $data['subject'];
|
|
// print_r($data); die;
|
|
|
|
if (empty($data)) {
|
|
log_message('error', "No data provided for update in update() with id: {$id}");
|
|
return $this->failValidationErrors('No data provided for update');
|
|
}
|
|
|
|
//fetch existing template data for the give ID
|
|
$singleMailTemplateData = $this->mailTemplateModel->find($id);
|
|
if (!$singleMailTemplateData) {
|
|
log_message('error', "Template not found for update() with id: {$id}");
|
|
return $this->failNotFound('Template not found');
|
|
}
|
|
|
|
try {
|
|
$this->mailTemplateModel->update($id, $req);
|
|
log_message('error', "Template updated successfully for id: {$id} in update()");
|
|
return $this->respond([
|
|
'status' => 200,
|
|
'message' => 'Template updated successfully',
|
|
'data' => $this->mailTemplateModel->find($id)
|
|
]);
|
|
} catch (\Exception $e) {
|
|
log_message('error', "Failed to update template in update() with id: {$id}, Error: {$e->getMessage()}");
|
|
return $this->failServerError('Failed to update template: ' . $e->getMessage());
|
|
}
|
|
}
|
|
|
|
}
|