mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Merge branch 'main' into 'feat/soporte'
create migration to add check_presupuesto_cliente column to tarifas tables... See merge request jjimenez/safekat!554
This commit is contained in:
@ -886,8 +886,8 @@ $routes->group('chat', ['namespace' => 'App\Controllers\Chat'], function ($route
|
||||
$routes->get('department/factura/(:num)/(:num)', 'ChatController::get_chat_factura/$1/$2', ['as' => 'getChatFactura']);
|
||||
$routes->get('department/(:num)/users', 'ChatController::get_chat_department_users/$1', ['as' => 'getChatDepartmentUsers']);
|
||||
|
||||
|
||||
$routes->get('(:num)', 'ChatController::get_chat/$1', ['as' => 'getChat']);
|
||||
$routes->post('message/error/presupuesto', 'ChatController::store_chat_error_message', ['as' => 'storeChatErrorMessage']);
|
||||
$routes->post('message/presupuesto', 'ChatController::store_chat_message_presupuesto', ['as' => 'storeChatMessagePresupuesto']);
|
||||
$routes->post('message/pedido', 'ChatController::store_chat_message_pedido', ['as' => 'storeChatMessagePedido']);
|
||||
$routes->post('message/factura', 'ChatController::store_chat_message_factura', ['as' => 'storeChatMessageFactura']);
|
||||
|
||||
@ -4,6 +4,7 @@ namespace Config;
|
||||
|
||||
use App\Services\FTPService;
|
||||
use App\Services\MaquinaService;
|
||||
use App\Services\MessageService;
|
||||
use App\Services\PapelImpresionService;
|
||||
use CodeIgniter\Config\BaseService;
|
||||
use App\Services\ProductionService;
|
||||
@ -48,4 +49,8 @@ class Services extends BaseService
|
||||
{
|
||||
return new MaquinaService();
|
||||
}
|
||||
public static function messages()
|
||||
{
|
||||
return new MessageService();
|
||||
}
|
||||
}
|
||||
|
||||
@ -766,4 +766,11 @@ class ChatController extends BaseController
|
||||
$this->chatModel->setAsUnviewedChatUserNotifications($chat_id, auth()->user()->id);
|
||||
return $this->response->setJSON(["message" => "ok", "status" => true]);
|
||||
}
|
||||
public function store_chat_error_message()
|
||||
{
|
||||
$bodyData = $this->request->getPost();
|
||||
$messageService = service('messages');
|
||||
$r = $messageService->createErrorMessagePresupuesto("Error",$bodyData['presupuesto_id']);
|
||||
return $this->response->setJSON(["message" => "ok","data" => $r]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -156,6 +156,9 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController
|
||||
if ($this->request->getPost('show_in_client') == null) {
|
||||
$sanitizedData['show_in_client'] = false;
|
||||
}
|
||||
if ($this->request->getPost('activo') == null) {
|
||||
$sanitizedData['activo'] = false;
|
||||
}
|
||||
if ($this->request->getPost('show_in_client_special') == null) {
|
||||
$sanitizedData['show_in_client_special'] = false;
|
||||
}
|
||||
@ -163,6 +166,9 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController
|
||||
if ($sanitizedData['show_in_client_special']) {
|
||||
$sanitizedData['show_in_client'] = true;
|
||||
}
|
||||
if ($sanitizedData['activo']) {
|
||||
$sanitizedData['activo'] = true;
|
||||
}
|
||||
|
||||
$noException = true;
|
||||
if ($successfulResult = $this->canValidate()): // if ($successfulResult = $this->validate($this->formValidationRules) ) :
|
||||
|
||||
@ -18,6 +18,7 @@ use App\Models\Presupuestos\PresupuestoModel;
|
||||
use App\Models\Presupuestos\PresupuestoPreimpresionesModel;
|
||||
use App\Models\Presupuestos\PresupuestoServiciosExtraModel;
|
||||
use App\Models\Presupuestos\ErrorPresupuesto;
|
||||
use App\Services\MessageService;
|
||||
use App\Services\PresupuestoClienteService;
|
||||
use App\Services\PresupuestoService;
|
||||
use Exception;
|
||||
@ -42,7 +43,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
protected $indexRoute = 'listaPresupuestos';
|
||||
|
||||
|
||||
protected MessageService $messageService;
|
||||
|
||||
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger)
|
||||
{
|
||||
@ -61,6 +62,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
['title' => lang("App.menu_presupuestos"), 'route' => "javascript:void(0);", 'active' => false],
|
||||
['title' => "Listado", 'route' => site_url('presupuestocliente/list'), 'active' => true]
|
||||
];
|
||||
$this->messageService = service('messages');
|
||||
|
||||
parent::initController($request, $response, $logger);
|
||||
$this->model = new PresupuestoModel();
|
||||
|
||||
@ -65,7 +65,9 @@ class Tarifaextra extends \App\Controllers\GoBaseController
|
||||
if ($this->request->getPost('mostrar_en_presupuesto') == null) {
|
||||
$sanitizedData['mostrar_en_presupuesto'] = false;
|
||||
}
|
||||
|
||||
if ($this->request->getPost('mostrar_en_presupuesto_cliente') == null) {
|
||||
$sanitizedData['mostrar_en_presupuesto_cliente'] = false;
|
||||
}
|
||||
$noException = true;
|
||||
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
|
||||
|
||||
@ -142,7 +144,9 @@ class Tarifaextra extends \App\Controllers\GoBaseController
|
||||
if ($this->request->getPost('mostrar_en_presupuesto') == null) {
|
||||
$sanitizedData['mostrar_en_presupuesto'] = false;
|
||||
}
|
||||
|
||||
if ($this->request->getPost('mostrar_en_presupuesto_cliente') == null) {
|
||||
$sanitizedData['mostrar_en_presupuesto_cliente'] = false;
|
||||
}
|
||||
$noException = true;
|
||||
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
|
||||
if ($this->canValidate()) :
|
||||
|
||||
@ -63,7 +63,9 @@ class Tarifapreimpresion extends \App\Controllers\GoBaseController
|
||||
if ($this->request->getPost('mostrar_en_presupuesto') == null) {
|
||||
$sanitizedData['mostrar_en_presupuesto'] = false;
|
||||
}
|
||||
|
||||
if ($this->request->getPost('mostrar_en_presupuesto_cliente') == null) {
|
||||
$sanitizedData['mostrar_en_presupuesto_cliente'] = false;
|
||||
}
|
||||
$noException = true;
|
||||
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
|
||||
|
||||
@ -144,7 +146,9 @@ class Tarifapreimpresion extends \App\Controllers\GoBaseController
|
||||
if ($this->request->getPost('mostrar_en_presupuesto') == null) {
|
||||
$sanitizedData['mostrar_en_presupuesto'] = false;
|
||||
}
|
||||
|
||||
if ($this->request->getPost('mostrar_en_presupuesto_cliente') == null) {
|
||||
$sanitizedData['mostrar_en_presupuesto_cliente'] = false;
|
||||
}
|
||||
$noException = true;
|
||||
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
|
||||
if ($this->canValidate()) :
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Migrations;
|
||||
|
||||
use CodeIgniter\Database\Migration;
|
||||
|
||||
class AlterTableTarifasCheckPresupuestoClienteMigration extends Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
$field = [
|
||||
'mostrar_en_presupuesto_cliente' => [
|
||||
'type' => 'BOOLEAN',
|
||||
'default' => false,
|
||||
]
|
||||
];
|
||||
$this->forge->addColumn('lg_tarifa_acabado',$field);
|
||||
$this->forge->addColumn('lg_tarifa_manipulado',$field);
|
||||
$this->forge->addColumn('tarifa_encuadernacion',$field);
|
||||
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->forge->dropColumn('lg_tarifa_acabado','mostrar_en_presupuesto_cliente');
|
||||
$this->forge->dropColumn('lg_tarifa_manipulado','mostrar_en_presupuesto_cliente');
|
||||
$this->forge->dropColumn('tarifa_encuadernacion','mostrar_en_presupuesto_cliente');
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Migrations;
|
||||
|
||||
use CodeIgniter\Database\Migration;
|
||||
|
||||
class AlterAddColumnActivoPapelGenerico extends Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
$field = [
|
||||
'activo' => [
|
||||
'type' => 'BOOLEAN',
|
||||
'default' => true,
|
||||
]
|
||||
];
|
||||
$this->forge->addColumn('lg_papel_generico',$field);
|
||||
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->forge->dropColumn('lg_papel_generico','activo');
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Migrations;
|
||||
|
||||
use CodeIgniter\Database\Migration;
|
||||
|
||||
class AlterTableTarifasExtraPreimpresionCheckPresupuestoClienteMigration extends Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
$field = [
|
||||
'mostrar_en_presupuesto_cliente' => [
|
||||
'type' => 'BOOLEAN',
|
||||
'default' => false,
|
||||
]
|
||||
];
|
||||
$this->forge->addColumn('tarifa_extra',$field);
|
||||
$this->forge->addColumn('lg_tarifa_preimpresion',$field);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->forge->dropColumn('tarifa_extra','mostrar_en_presupuesto_cliente');
|
||||
$this->forge->dropColumn('lg_tarifa_preimpresion','mostrar_en_presupuesto_cliente');
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@ -13,11 +13,13 @@ class PapelGenerico extends \CodeIgniter\Entity\Entity
|
||||
"show_in_client" => false,
|
||||
"show_in_client_special" => false,
|
||||
"is_deleted" => 0,
|
||||
"activo" => false,
|
||||
"created_at" => null,
|
||||
"updated_at" => null,
|
||||
];
|
||||
protected $casts = [
|
||||
"show_in_client" => "boolean",
|
||||
"activo" => "boolean",
|
||||
"show_in_client_special" => "boolean",
|
||||
"is_deleted" => "int",
|
||||
];
|
||||
|
||||
@ -13,6 +13,7 @@ class TarifaAcabadoEntity extends \CodeIgniter\Entity\Entity
|
||||
"precio_min" => 0,
|
||||
"importe_fijo" => 0,
|
||||
"mostrar_en_presupuesto" => 1,
|
||||
"mostrar_en_presupuesto_cliente" => 0,
|
||||
"acabado_cubierta" => 0,
|
||||
"acabado_sobrecubierta" => 0,
|
||||
"user_created_id" => 0,
|
||||
|
||||
@ -11,6 +11,7 @@ class TarifaEncuadernacionEntity extends \CodeIgniter\Entity\Entity
|
||||
"nombre" => null,
|
||||
"code" => null,
|
||||
"mostrar_en_presupuesto" => 1,
|
||||
"mostrar_en_presupuesto_cliente" => 0,
|
||||
"tipo_encuadernacion" => 0,
|
||||
"servicio_encuadernacion" => 0,
|
||||
"por_horas" => 0,
|
||||
@ -23,6 +24,7 @@ class TarifaEncuadernacionEntity extends \CodeIgniter\Entity\Entity
|
||||
];
|
||||
protected $casts = [
|
||||
"mostrar_en_presupuesto" => "int",
|
||||
"mostrar_en_presupuesto_cliente" => "bool",
|
||||
"code" => "string",
|
||||
"tipo_encuadernacion" => "int",
|
||||
"servicio_encuadernacion" => "int",
|
||||
|
||||
@ -14,6 +14,7 @@ class TarifaManipuladoEntity extends \CodeIgniter\Entity\Entity
|
||||
"precio_min" => 0,
|
||||
"importe_fijo" => 0,
|
||||
"mostrar_en_presupuesto" => 1,
|
||||
"mostrar_en_presupuesto_cliente" => 0,
|
||||
"user_created_id" => 0,
|
||||
"user_updated_id" => 0,
|
||||
"is_deleted" => 0,
|
||||
@ -27,6 +28,7 @@ class TarifaManipuladoEntity extends \CodeIgniter\Entity\Entity
|
||||
"code" => "string",
|
||||
"comment" => "string",
|
||||
"mostrar_en_presupuesto" => "int",
|
||||
"mostrar_en_presupuesto_cliente" => "bool",
|
||||
"user_created_id" => "int",
|
||||
"user_updated_id" => "int",
|
||||
"is_deleted" => "int",
|
||||
|
||||
@ -13,6 +13,7 @@ class TarifaextraEntity extends \CodeIgniter\Entity\Entity
|
||||
"precio" => null,
|
||||
"margen" => 0,
|
||||
"mostrar_en_presupuesto" => 1,
|
||||
"mostrar_en_presupuesto_cliente" => false,
|
||||
"user_created_id" => 1,
|
||||
"user_update_id" => 1,
|
||||
"is_deleted" => 0,
|
||||
@ -26,6 +27,7 @@ class TarifaextraEntity extends \CodeIgniter\Entity\Entity
|
||||
"comment" => "string",
|
||||
"margen" => "float",
|
||||
"mostrar_en_presupuesto" => "int",
|
||||
"mostrar_en_presupuesto_cliente" => "bool",
|
||||
"user_created_id" => "int",
|
||||
"user_update_id" => "int",
|
||||
"is_deleted" => "int",
|
||||
|
||||
@ -13,6 +13,7 @@ class TarifapreimpresionEntity extends \CodeIgniter\Entity\Entity
|
||||
"precio" => null,
|
||||
"margen" => 0,
|
||||
"mostrar_en_presupuesto" => 1,
|
||||
"mostrar_en_presupuesto_cliente" => false,
|
||||
"user_created_id" => 1,
|
||||
"user_update_id" => 1,
|
||||
"is_deleted" => 0,
|
||||
@ -26,6 +27,7 @@ class TarifapreimpresionEntity extends \CodeIgniter\Entity\Entity
|
||||
"code" => "string",
|
||||
"comment" => "string",
|
||||
"mostrar_en_presupuesto" => "int",
|
||||
"mostrar_en_presupuesto_cliente" => "bool",
|
||||
"user_created_id" => "int",
|
||||
"user_update_id" => "int",
|
||||
"is_deleted" => "int",
|
||||
|
||||
@ -8,6 +8,7 @@ return [
|
||||
'createdAt' => 'Creado el',
|
||||
'deletedAt' => 'Deleted At',
|
||||
'id' => 'ID',
|
||||
'activo' => 'Activo',
|
||||
'isDeleted' => 'Is Deleted',
|
||||
'moduleTitle' => 'Papel Genérico',
|
||||
'nombre' => 'Nombre',
|
||||
|
||||
@ -13,6 +13,7 @@ return [
|
||||
'precioMin' => 'Precio Mínimo',
|
||||
'importeFijo' => 'Importe Fijo',
|
||||
'mostrar_en_presupuesto' => 'Mostrar en presupuesto',
|
||||
'mostrar_en_presupuesto_cliente' => 'Mostrar en presupuesto (cliente)',
|
||||
"acabado_cubierta" => "Acabado cubierta",
|
||||
"acabado_sobrecubierta" => "Acabado sobrecubierta",
|
||||
'tarifaacabado' => 'Tarifa Acabado',
|
||||
|
||||
@ -23,6 +23,7 @@ return [
|
||||
'tiradaMax' => 'Tirada Max',
|
||||
'tiradaMin' => 'Tirada Min',
|
||||
'mostrar_en_presupuesto' => 'Mostrar en presupuesto',
|
||||
'mostrar_en_presupuesto_cliente' => 'Mostrar en presupuesto (cliente)',
|
||||
'tipo_encuadernacion' => 'Tipo encuardernación',
|
||||
'servicio_encuadernacion' => 'Servicio encuardernación',
|
||||
'updatedAt' => 'Actualizado en',
|
||||
|
||||
@ -14,6 +14,7 @@ return [
|
||||
'precioMin' => 'Precio Mínimo',
|
||||
'importeFijo' => 'Importe Fijo',
|
||||
'mostrar_en_presupuesto' => 'Mostrar en presupuesto',
|
||||
'mostrar_en_presupuesto_cliente' => 'Mostrar en presupuesto (Cliente)',
|
||||
'margen' => 'Margen',
|
||||
'tarifaextra' => 'Tarifa Servicios Extra',
|
||||
'tarifaextraList' => 'Lista Tarifas Servicios Extra',
|
||||
|
||||
@ -18,6 +18,7 @@ return [
|
||||
'precioMin' => 'Precio T. Máx',
|
||||
'importeFijo' => 'Importe Fijo',
|
||||
'mostrar_en_presupuesto' => 'Mostrar en presupuesto',
|
||||
'mostrar_en_presupuesto_cliente' => 'Mostrar en presupuesto (cliente)',
|
||||
'tarifamanipulado' => 'Tarifa Manipulado',
|
||||
'tarifamanipuladoList' => 'Lista Tarifas Manipulado',
|
||||
'tarifasmanipulado' => 'Tarifas Manipulado',
|
||||
|
||||
@ -14,6 +14,7 @@ return [
|
||||
'precioMin' => 'Precio Mínimo',
|
||||
'importeFijo' => 'Importe Fijo',
|
||||
'mostrar_en_presupuesto' => 'Mostrar en presupuesto',
|
||||
'mostrar_en_presupuesto_cliente' => 'Mostrar en presupuesto (Cliente)',
|
||||
'margen' => 'Margen',
|
||||
'tarifapreimpresion' => 'Tarifa Preimpresión',
|
||||
'tarifapreimpresionList' => 'Lista Tarifas Preimpresión',
|
||||
|
||||
@ -22,7 +22,7 @@ class PapelGenericoModel extends \App\Models\BaseModel
|
||||
4 => "t1.show_in_client_special",
|
||||
];
|
||||
|
||||
protected $allowedFields = ["nombre", "code", "code_ot", "show_in_client", "show_in_client_special", "deleted_at", "is_deleted"];
|
||||
protected $allowedFields = ["nombre", "code", "code_ot", "show_in_client", "show_in_client_special", "deleted_at", "is_deleted", "activo"];
|
||||
protected $returnType = "App\Entities\Configuracion\PapelGenerico";
|
||||
|
||||
protected $useTimestamps = true;
|
||||
@ -120,25 +120,28 @@ class PapelGenericoModel extends \App\Models\BaseModel
|
||||
{
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.id AS id, t1.nombre AS nombre, t1.code AS code, t1.code_ot AS code_ot,
|
||||
t1.show_in_client AS show_in_client, t1.show_in_client_special AS show_in_client_special"
|
||||
->select("t1.id AS id, t1.nombre AS nombre,
|
||||
t1.code AS code,
|
||||
t1.code_ot AS code_ot,
|
||||
t1.activo AS activo,
|
||||
t1.show_in_client AS show_in_client,
|
||||
t1.show_in_client_special AS show_in_client_special"
|
||||
)
|
||||
->where("is_deleted", 0);
|
||||
|
||||
return empty($search)
|
||||
? $builder
|
||||
: $builder
|
||||
->groupStart()
|
||||
->like("t1.id", $search)
|
||||
->orLike("t1.nombre", $search)
|
||||
->orLike("t1.code", $search)
|
||||
->orLike("t1.code_ot", $search)
|
||||
->orLike("t1.id", $search)
|
||||
->orLike("t1.nombre", $search)
|
||||
->orLike("t1.code", $search)
|
||||
->orLike("t1.code_ot", $search)
|
||||
->groupEnd();
|
||||
->groupStart()
|
||||
->like("t1.id", $search)
|
||||
->orLike("t1.nombre", $search)
|
||||
->orLike("t1.code", $search)
|
||||
->orLike("t1.code_ot", $search)
|
||||
->orLike("t1.id", $search)
|
||||
->orLike("t1.nombre", $search)
|
||||
->orLike("t1.code", $search)
|
||||
->orLike("t1.code_ot", $search)
|
||||
->groupEnd();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -26,6 +26,7 @@ class TarifaAcabadoModel extends \App\Models\BaseModel
|
||||
"precio_min",
|
||||
"importe_fijo",
|
||||
"mostrar_en_presupuesto",
|
||||
"mostrar_en_presupuesto_cliente",
|
||||
"acabado_cubierta",
|
||||
"acabado_sobrecubierta",
|
||||
"deleted_at",
|
||||
@ -86,7 +87,7 @@ class TarifaAcabadoModel extends \App\Models\BaseModel
|
||||
{
|
||||
$builder = $this->db->table($this->table . " t1")->select(
|
||||
"t1.id AS id, t1.nombre AS nombre,t1.code AS code, t1.precio_min AS precio_min, t1.importe_fijo AS importe_fijo,
|
||||
t1.mostrar_en_presupuesto AS mostrar_en_presupuesto, t1.acabado_cubierta AS acabado_cubierta, t1.acabado_sobrecubierta AS acabado_sobrecubierta"
|
||||
t1.mostrar_en_presupuesto AS mostrar_en_presupuesto,t1.mostrar_en_presupuesto_cliente AS mostrar_en_presupuesto_cliente, t1.acabado_cubierta AS acabado_cubierta, t1.acabado_sobrecubierta AS acabado_sobrecubierta"
|
||||
);
|
||||
|
||||
//JJO
|
||||
|
||||
@ -25,6 +25,7 @@ class TarifaEncuadernacionModel extends \App\Models\BaseModel
|
||||
"code",
|
||||
"comment",
|
||||
"mostrar_en_presupuesto",
|
||||
"mostrar_en_presupuesto_cliente",
|
||||
"tipo_encuadernacion",
|
||||
"servicio_encuadernacion",
|
||||
"por_horas",
|
||||
@ -69,6 +70,7 @@ class TarifaEncuadernacionModel extends \App\Models\BaseModel
|
||||
{
|
||||
$builder = $this->db->table($this->table . " t1")->select("t1.id AS id, t1.nombre AS nombre, t1.code AS code,
|
||||
t1.mostrar_en_presupuesto AS mostrar_en_presupuesto,
|
||||
t1.mostrar_en_presupuesto_cliente AS mostrar_en_presupuesto_cliente,
|
||||
t1.tipo_encuadernacion AS tipo_encuadernacion, t1.servicio_encuadernacion AS servicio_encuadernacion,
|
||||
t1.por_horas AS por_horas");
|
||||
|
||||
|
||||
@ -29,7 +29,8 @@ class TarifaManipuladoModel extends \App\Models\BaseModel
|
||||
"deleted_at",
|
||||
"is_deleted",
|
||||
"user_created_id",
|
||||
"user_updated_id"
|
||||
"user_updated_id",
|
||||
"mostrar_en_presupuesto_cliente"
|
||||
];
|
||||
protected $returnType = "App\Entities\Tarifas\TarifaManipuladoEntity";
|
||||
|
||||
@ -83,7 +84,7 @@ class TarifaManipuladoModel extends \App\Models\BaseModel
|
||||
public function getResource(string $search = "")
|
||||
{
|
||||
$builder = $this->db->table($this->table . " t1")->select("t1.id AS id,t1.code AS code, t1.nombre AS nombre, t1.precio_min AS precio_min, t1.importe_fijo AS importe_fijo
|
||||
,t1.mostrar_en_presupuesto AS mostrar_en_presupuesto");
|
||||
,t1.mostrar_en_presupuesto AS mostrar_en_presupuesto,t1.mostrar_en_presupuesto_cliente AS mostrar_en_presupuesto_cliente");
|
||||
|
||||
//JJO
|
||||
$builder->where("t1.is_deleted", 0);
|
||||
|
||||
@ -19,6 +19,7 @@ class TarifaextraModel extends \App\Models\BaseModel
|
||||
"precio",
|
||||
"margen",
|
||||
"mostrar_en_presupuesto",
|
||||
"mostrar_en_presupuesto_cliente",
|
||||
"deleted_at",
|
||||
"is_deleted",
|
||||
"user_created_id",
|
||||
|
||||
@ -19,6 +19,7 @@ class TarifapreimpresionModel extends \App\Models\BaseModel
|
||||
"precio",
|
||||
"margen",
|
||||
"mostrar_en_presupuesto",
|
||||
"mostrar_en_presupuesto_cliente",
|
||||
"deleted_at",
|
||||
"is_deleted",
|
||||
"user_created_id",
|
||||
|
||||
62
ci4/app/Services/MessageService.php
Normal file
62
ci4/app/Services/MessageService.php
Normal file
@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
use App\Controllers\Configuracion\ConfigVariables;
|
||||
use App\Models\Chat\ChatDeparmentModel;
|
||||
use App\Models\Chat\ChatMessageModel;
|
||||
use App\Models\Chat\ChatModel;
|
||||
use App\Models\ChatNotification;
|
||||
use App\Models\ChatUser;
|
||||
use App\Models\Configuracion\ConfigVariableModel;
|
||||
use App\Models\Presupuestos\PresupuestoModel;
|
||||
use CodeIgniter\Config\BaseService;
|
||||
|
||||
|
||||
|
||||
class MessageService extends BaseService
|
||||
{
|
||||
protected ChatModel $chatModel;
|
||||
protected ChatMessageModel $chatMessageModel;
|
||||
protected ChatUser $chatUserModel;
|
||||
protected ChatNotification $chatNotificationModel;
|
||||
protected PresupuestoModel $presupuestoModel;
|
||||
protected ChatDeparmentModel $chatDepartmentModel;
|
||||
protected ConfigVariableModel $configVariables;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->chatModel = model(ChatModel::class);
|
||||
$this->chatMessageModel = model(ChatMessageModel::class);
|
||||
$this->chatNotificationModel = model(ChatNotification::class);
|
||||
$this->chatUserModel = model(ChatUser::class);
|
||||
$this->presupuestoModel = model(PresupuestoModel::class);
|
||||
$this->chatDepartmentModel = model(ChatDeparmentModel::class);
|
||||
$this->configVariables = model(ConfigVariableModel::class);
|
||||
}
|
||||
public function createErrorMessagePresupuesto(string $error, int $presupuesto_id)
|
||||
{
|
||||
$dataResponse = null;
|
||||
$chat_department_name = $this->configVariables->getVariable('send_error_to_chat_department_name')?->value;
|
||||
$chat_department_id = $this->chatDepartmentModel->where('name', $chat_department_name)->first()?->id;
|
||||
if ($chat_department_id) {
|
||||
$existChat = $this->chatModel->existChatPresupuesto($chat_department_id, $presupuesto_id);
|
||||
if ($existChat == false) {
|
||||
$chatId = $this->chatModel->createChatPresupuesto($chat_department_id, $presupuesto_id);
|
||||
} else {
|
||||
$chat = $this->chatModel->getChatPresupuesto($chat_department_id, $presupuesto_id);
|
||||
$chatId = $chat->id;
|
||||
}
|
||||
$chat_message_id = $this->chatMessageModel->insert(["chat_id" => $chatId, "sender_id" => auth()->user()->id, "message" => $error]);
|
||||
$dataResponse = $this->chatMessageModel->find($chat_message_id);
|
||||
$chatDepartmentUsers = $this->chatDepartmentModel->getChatDepartmentUsers($chat_department_id);
|
||||
foreach ($chatDepartmentUsers as $user) {
|
||||
if ($user->id != auth()->user()->id) {
|
||||
$this->chatNotificationModel->insert(["chat_message_id" => $chat_message_id, "user_id" => $user->id]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $dataResponse;
|
||||
|
||||
}
|
||||
}
|
||||
@ -23,7 +23,15 @@
|
||||
<input type="text" id="codeOt" name="code_ot" maxLength="5" class="form-control"
|
||||
value="<?= old('code_ot', $papelGenerico->code_ot) ?>">
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="activo_papel_generico" class="form-check-label">
|
||||
<?= lang('PapelGenerico.activo') ?>
|
||||
</label>
|
||||
<input type="checkbox" id="activo_papel_generico" name="activo" value="1"
|
||||
class="form-check-input" <?= $papelGenerico->activo == true ? 'checked' : ''; ?>>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
|
||||
|
||||
@ -144,6 +144,7 @@
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
<?=$this->endSection() ?>
|
||||
|
||||
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
<th><?= lang('PapelGenerico.codeOt') ?></th>
|
||||
<th><?= lang('PapelGenerico.showInClient') ?></th>
|
||||
<th><?= lang('PapelGenerico.showInClientSpecial') ?></th>
|
||||
<th><?= lang('PapelGenerico.activo') ?></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -92,13 +93,14 @@
|
||||
{ 'data': 'code_ot' },
|
||||
{ 'data': 'show_in_client' },
|
||||
{ 'data': 'show_in_client_special' },
|
||||
{ 'data': 'activo' },
|
||||
{ 'data': actionBtns }
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
theTable.on( 'draw.dt', function () {
|
||||
const boolCols = [3, 4];
|
||||
const boolCols = [3, 4, 5];
|
||||
for (let coln of boolCols) {
|
||||
theTable.column(coln, { page: 'current' }).nodes().each( function (cell, i) {
|
||||
cell.innerHTML = cell.innerHTML == '1' ? '<i class="ti ti-check"></i>' : '';
|
||||
|
||||
@ -54,7 +54,16 @@
|
||||
<?= lang('Tarifaacabado.mostrar_en_presupuesto') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
|
||||
</div><!--//.mb-3 -->
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="mostrar_en_presupuesto_cliente" class="form-check-label">
|
||||
<input type="checkbox" id="mostrar_en_presupuesto_cliente" name="mostrar_en_presupuesto_cliente" value="1" class="form-check-input" <?= $tarifaacabadoEntity->mostrar_en_presupuesto_cliente == true ? 'checked' : ''; ?>>
|
||||
<?= lang('Tarifaencuadernacion.mostrar_en_presupuesto_cliente') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="acabado_cubierta" class="form-check-label">
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
<th><?= lang('Tarifaacabado.precioMin') ?></th>
|
||||
<th><?= lang('Tarifaacabado.importeFijo') ?></th>
|
||||
<th><?= lang('Tarifaacabado.mostrar_en_presupuesto') ?></th>
|
||||
<th><?= lang('Tarifaacabado.mostrar_en_presupuesto_cliente') ?></th>
|
||||
<th><?= lang('Tarifaacabado.acabado_cubierta') ?></th>
|
||||
<th><?= lang('Tarifaacabado.acabado_sobrecubierta') ?></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
@ -95,6 +96,7 @@
|
||||
{ 'data': 'precio_min' },
|
||||
{ 'data': 'importe_fijo' },
|
||||
{ 'data': 'mostrar_en_presupuesto' },
|
||||
{ 'data': 'mostrar_en_presupuesto_cliente' },
|
||||
{ 'data': 'acabado_cubierta' },
|
||||
{ 'data': 'acabado_sobrecubierta' },
|
||||
{ 'data': actionBtns }
|
||||
@ -102,7 +104,7 @@
|
||||
});
|
||||
|
||||
theTable.on( 'draw.dt', function () {
|
||||
const boolCols = [3, 4, 5];
|
||||
const boolCols = [3, 4, 5,6,7];
|
||||
for (let coln of boolCols) {
|
||||
theTable.column(coln, { page: 'current' }).nodes().each( function (cell, i) {
|
||||
cell.innerHTML = cell.innerHTML == '1' ? '<i class="ti ti-check"></i>' : '';
|
||||
|
||||
@ -46,6 +46,14 @@
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="mostrar_en_presupuesto_cliente" class="form-check-label">
|
||||
<input type="checkbox" id="mostrar_en_presupuesto_cliente" name="mostrar_en_presupuesto_cliente" value="1" class="form-check-input" <?= $tarifaEncuadernacionEntity->mostrar_en_presupuesto_cliente == true ? 'checked' : ''; ?>>
|
||||
<?= lang('Tarifaencuadernacion.mostrar_en_presupuesto_cliente') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!-- //.col -->
|
||||
|
||||
<div class="col-md-12 col-lg-4 px-4">
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
<th><?= lang('Tarifaencuadernacion.nombre') ?></th>
|
||||
<th><?= lang('Tarifaencuadernacion.code') ?></th>
|
||||
<th><?= lang('Tarifaencuadernacion.mostrar_en_presupuesto') ?></th>
|
||||
<th><?= lang('Tarifaencuadernacion.mostrar_en_presupuesto_cliente') ?></th>
|
||||
<th><?= lang('Tarifaencuadernacion.tipo_encuadernacion') ?></th>
|
||||
<th><?= lang('Tarifaencuadernacion.servicio_encuadernacion') ?></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
@ -91,6 +92,7 @@
|
||||
{ 'data': 'nombre' },
|
||||
{ 'data': 'code' },
|
||||
{ 'data': 'mostrar_en_presupuesto' },
|
||||
{ 'data': 'mostrar_en_presupuesto_cliente' },
|
||||
{ 'data': 'tipo_encuadernacion' },
|
||||
{ 'data': 'servicio_encuadernacion' },
|
||||
{ 'data': actionBtns }
|
||||
@ -98,7 +100,7 @@
|
||||
});
|
||||
|
||||
theTable.on( 'draw.dt', function () {
|
||||
const boolCols = [1,2,3, 4];
|
||||
const boolCols = [1,2,3,4,5];
|
||||
for (let coln of boolCols) {
|
||||
theTable.column(coln, { page: 'current' }).nodes().each( function (cell, i) {
|
||||
cell.innerHTML = cell.innerHTML == '1' ? '<i class="ti ti-check"></i>' : '';
|
||||
|
||||
@ -81,7 +81,19 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<div class="form-check form-check-inline">
|
||||
<input type="checkbox"
|
||||
id="mostrar_en_presupuesto_cliente"
|
||||
name="mostrar_en_presupuesto_cliente"
|
||||
value="1"
|
||||
class="form-check-input"<?= $tarifaextraEntity->mostrar_en_presupuesto_cliente == true ? 'checked' : ''; ?>
|
||||
>
|
||||
<label for="mostrar_en_presupuesto_cliente" class="form-check-label">
|
||||
<?= lang('Tarifaextra.mostrar_en_presupuesto_cliente') ?>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div><!--//.col -->
|
||||
|
||||
</div><!-- //.row -->
|
||||
@ -1,6 +1,6 @@
|
||||
<?= $this->include("themes/_commonPartialsBs/select2bs5") ?>
|
||||
<?= $this->include("themes/_commonPartialsBs/sweetalert") ?>
|
||||
<?= $this->extend('themes/vuexy/main/defaultlayout') ?>
|
||||
<?= $this->extend('themes/vuexy/main/defaultlayout')?>
|
||||
<?= $this->section("content") ?>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?=$this->include('themes/_commonPartialsBs/datatables') ?>
|
||||
<?=$this->extend('themes/vuexy/main/defaultlayout') ?>
|
||||
<?=$this->section('content'); ?>
|
||||
<?=$this->section('content')?>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
<th><?= lang('Tarifaextra.precio') ?></th>
|
||||
<th><?= lang('Tarifaextra.margen') ?></th>
|
||||
<th><?= lang('Tarifaextra.mostrar_en_presupuesto') ?></th>
|
||||
<th><?= lang('Tarifaextra.mostrar_en_presupuesto_cliente') ?></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -46,6 +47,9 @@
|
||||
<td class="align-middle">
|
||||
<?= esc($item->mostrar_en_presupuesto)==1?'<i class="ti ti-check"></i>':"" ?>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<?= esc($item->mostrar_en_presupuesto_cliente)==1?'<i class="ti ti-check"></i>':"" ?>
|
||||
</td>
|
||||
<td class="align-middle text-center text-nowrap">
|
||||
<?=anchor(route_to('editTarifaextra', $item->id), "<i class='ti ti-pencil ti-sm mx-2'></i>", ['class'=>'text-body', 'data-id'=>$item->id,]); ?>
|
||||
<?=anchor('#confirm2delete', "<i class='ti ti-trash ti-sm mx-2'></i>", ['class'=>'text-body', 'data-href'=>route_to('deleteTarifaextra', $item->id), 'data-bs-toggle'=>'modal', 'data-bs-target'=>'#confirm2delete']); ?>
|
||||
|
||||
@ -52,7 +52,14 @@
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="mostrar_en_presupuesto_cliente" class="form-check-label">
|
||||
<input type="checkbox" id="mostrar_en_presupuesto_cliente" name="mostrar_en_presupuesto_cliente" value="1" class="form-check-input" <?= $tarifaManipuladoEntity->mostrar_en_presupuesto_cliente == true ? 'checked' : ''; ?>>
|
||||
<?= lang('Tarifaencuadernacion.mostrar_en_presupuesto_cliente') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
|
||||
</div><!-- //.row -->
|
||||
@ -21,6 +21,7 @@
|
||||
<th><?= lang('Tarifamanipulado.importeMinimo') ?></th>
|
||||
<th><?= lang('Tarifamanipulado.importeFijo') ?></th>
|
||||
<th><?= lang('Tarifamanipulado.mostrar_en_presupuesto') ?></th>
|
||||
<th><?= lang('Tarifamanipulado.mostrar_en_presupuesto_cliente') ?></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -91,7 +92,8 @@
|
||||
{ 'data': 'code' },
|
||||
{ 'data': 'precio_min' },
|
||||
{ 'data': 'importe_fijo' },
|
||||
{ 'data': 'mostrar_en_presupuesto' },
|
||||
{ 'data': 'mostrar_en_presupuesto',render : (d) => d == true ? '<i class="ti ti-check"></i>' : "" },
|
||||
{ 'data': 'mostrar_en_presupuesto_cliente',render : (d) => d == true ? '<i class="ti ti-check"></i>' : "" },
|
||||
{ 'data': actionBtns }
|
||||
]
|
||||
});
|
||||
|
||||
@ -81,6 +81,19 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<div class="form-check form-check-inline">
|
||||
<input type="checkbox"
|
||||
id="mostrar_en_presupuesto_cliente"
|
||||
name="mostrar_en_presupuesto_cliente"
|
||||
value="1"
|
||||
class="form-check-input"<?= $tarifapreimpresionEntity->mostrar_en_presupuesto_cliente == true ? 'checked' : ''; ?>
|
||||
>
|
||||
<label for="mostrar_en_presupuesto_cliente" class="form-check-label">
|
||||
<?= lang('Tarifaextra.mostrar_en_presupuesto_cliente') ?>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div><!--//.col -->
|
||||
|
||||
</div><!-- //.row -->
|
||||
@ -20,6 +20,7 @@
|
||||
<th><?= lang('Tarifapreimpresion.precio') ?></th>
|
||||
<th><?= lang('Tarifapreimpresion.margen') ?></th>
|
||||
<th><?= lang('Tarifapreimpresion.mostrar_en_presupuesto') ?></th>
|
||||
<th><?= lang('Tarifapreimpresion.mostrar_en_presupuesto_cliente') ?></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -45,6 +46,9 @@
|
||||
<td class="align-middle">
|
||||
<?= esc($item->mostrar_en_presupuesto)==1?'<i class="ti ti-check"></i>':"" ?>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<?= esc($item->mostrar_en_presupuesto_cliente)==1?'<i class="ti ti-check"></i>':"" ?>
|
||||
</td>
|
||||
<td class="align-middle text-center text-nowrap">
|
||||
<?=anchor(route_to('editTarifapreimpresion', $item->id), "<i class='ti ti-pencil ti-sm mx-2'></i>", ['class'=>'text-body', 'data-id'=>$item->id,]); ?>
|
||||
<?=anchor('#confirm2delete', "<i class='ti ti-trash ti-sm mx-2'></i>", ['class'=>'text-body', 'data-href'=>route_to('deleteTarifapreimpresion', $item->id), 'data-bs-toggle'=>'modal', 'data-bs-target'=>'#confirm2delete']); ?>
|
||||
|
||||
Reference in New Issue
Block a user