trabajando en el form de cliente

This commit is contained in:
2024-06-11 11:02:36 +02:00
parent 2143660cf6
commit 8aa7751060
10 changed files with 209 additions and 10 deletions

View File

@ -79,7 +79,25 @@ class Pedido extends \App\Controllers\BaseResourceController
}
public function edit($id=null){
echo "Edit";
if ($id == null) :
return $this->redirect2listView();
endif;
$id = filter_var($id, FILTER_SANITIZE_URL);
$pedidoEntity = $this->model->find($id);
if ($pedidoEntity == false) :
$message = lang('Basic.global.notFoundWithIdErr', [mb_strtolower(lang('Pedidos.pedido')), $id]);
return $this->redirect2listView('sweet-error', $message);
endif;
$this->obtenerDatosFormulario($pedidoEntity);
$this->viewData['pedidoEntity'] = $pedidoEntity;
$this->viewData['boxTitle'] = lang('Basic.global.edit2') . ' ' . lang('Pedidos.moduleTitle') . ' ' . lang('Basic.global.edit3');
return $this->displayForm(__METHOD__, $id);
}
public function datatable(){
@ -96,7 +114,7 @@ class Pedido extends \App\Controllers\BaseResourceController
$length = $reqData['length'] ?? 5;
$search = $reqData['search']['value'];
$requestedOrder = $reqData['order']['0']['column'] ?? 0;
$order = PedidoModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 0];
$order = PedidoModel::SORTABLE_TODOS[$requestedOrder >= 0 ? $requestedOrder : 0];
$dir = $reqData['order']['0']['dir'] ?? 'asc';
$resourceData = $this->model->getResource($search)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject();
@ -111,5 +129,19 @@ class Pedido extends \App\Controllers\BaseResourceController
}
}
private function obtenerDatosFormulario(&$pedidoEntity){
$pedidoLineaModel = model('\App\Models\Pedidos\PedidoLineaModel');
$clienteModel = model('\App\Models\Clientes\ClienteModel');
$presupuestoModel = model('\App\Models\Presupuestos\PresupuestoModel');
$linea = $pedidoLineaModel->where('pedido_id', $pedidoEntity->id)->first();
// los clientes son los mismos para todas las lineas de un mismo presupuesto
$presupuesto = $presupuestoModel->find($linea->presupuesto_id);
$cliente = $clienteModel->find($presupuesto->cliente_id);
$pedidoEntity->cliente = $cliente->nombre;
$pedidoEntity->cliente_id = $cliente->id;
}
}