Merge branch 'main' into 'add/calculo_credito_cliente'

Main

See merge request jjimenez/safekat!619
This commit is contained in:
2025-03-27 16:54:12 +00:00
2 changed files with 59 additions and 1 deletions

View File

@ -208,7 +208,7 @@ class PedidoLineaModel extends \App\Models\BaseModel
->join("tipos_presupuestos t4", "t4.id = t3.tipo_impresion_id", "left")
->join("($subquery) fpl", "fpl.pedido_linea_id = t1.id", "left")
->where("t3.cliente_id", $cliente_id)
->where("t2.estado", "finalizado")
->whereIn("t2.estado", ["produccion", "enviado","finalizado"])
->where("(t3.tirada > IFNULL(fpl.total_cantidad, 0))");
// Ejecutar la consulta y devolver resultados

View File

@ -0,0 +1,58 @@
<?php
namespace App\Services;
use App\Models\Sistema\SettingsModel;
use Config\Services;
class EmailService
{
public function send(string $subject, string $body, $recipient): bool
{
$skEnv = env('sk_environment', 'production'); // fallback a producción si no está definido
// Si no estamos en producción, forzar el destinatario a uno fijo
if ($skEnv !== 'production') {
$recipient = 'imnavajas@coit.es'; // <-- Cambia por el correo de pruebas
}
$settings_model = new SettingsModel();
$config = $settings_model->first()->toArray();
$gateway = $config['email_gateway'];
$body = html_entity_decode($body);
if ($gateway === 'smtp') {
try {
$email = Services::email();
$emailConfig = [
'protocol' => $config['email_gateway'],
'SMTPHost' => $config['email_smtp'],
'SMTPUser' => $config['email_address'],
'SMTPPass' => $config['email_pass'],
'SMTPPort' => (int) $config['email_port'],
'SMTPCrypto' => $config['email_cert'] === 'none' ? '' : $config['email_cert'],
'SMTPTimeout' => 15,
'mailType' => 'html',
'wordWrap' => true,
];
$email->initialize($emailConfig);
$email->setFrom($config['email_address'], $config['email_name']);
$email->setTo($recipient);
$email->setSubject($subject);
$email->setMessage($body);
return $email->send();
} catch (\Throwable $e) {
log_message('error', 'EmailService failed: ' . $e->getMessage());
return false;
}
}
return false;
}
}