Buenas tardes, compañeros.
Estoy intentando encontrar una solución robusta para registrar el ID del empleado que crea un pedido manualmente desde el panel de administración de PrestaShop. En el 1.7.8.0, esta funcionalidad no viene de serie, y nuestros agentes de atención al cliente necesitan un control de esto.
He intentado un override del AdminOrdersController para capturar el id_employee del Context y asignarlo a una nueva propiedad del objeto Order, pero no consigo que se persista correctamente en la base de datos o me da un error si el campo no está declarado.
Mi intento inicial fue algo así en override/controllers/admin/AdminOrdersController.php:
class AdminOrdersController extends AdminOrdersControllerCore
{
public function postProcess()
{
parent::postProcess();
if (Tools::isSubmit('submitAddorder')) {
if (isset($this->object->id)) {
$order = new Order((int)$this->object->id);
// Asumiendo que 'id_employee_creator' ya existe en el objeto Order
$order->id_employee_creator = (int)Context::getContext()->employee->id;
El problema es que id_employee_creator no está definido en el OrderCore y, aunque lo añada con un ALTER TABLE, no se guarda o el postProcess parece ser demasiado tarde. ¿Alguna idea de cómo enfocar esto de manera efectiva sin romper futuras actualizaciones?