static function regeneraOrdenes($idEscaparate) { $escaparate = new Escaparates($idEscaparate); $ordenes = new OrdenesArticulos(); $ordenes->borraOrdenesRegla($idEscaparate); unset($ordenes); $escaparate->aplicaRegla(); unset($escaparate); }
/** * Guardo y aplico las reglas de ordenación si está vigente * * @return boolean */ public function save() { $reglas = new Escaparates(); // reglas antes de guardar $reglasAntes = $reglas->getReglasArticulo($this->IDArticulo); $ok = parent::save(); if ($ok) { // Se recalculan las reglas solo en el caso en que haya algún cambio. // Para ello comparo las reglas del artículo antes y despues de guardar. $reglasNuevas = $reglas->getReglasArticulo($this->IDArticulo); $diferenciaReglas1 = array_diff($reglasAntes, $reglasNuevas); $diferenciaReglas2 = array_diff($reglasNuevas, $reglasAntes); if (count($diferenciaReglas1) + count($diferenciaReglas2) > 0) { // Borro los eventuales ordenes que existieran para el artículo $ordenes = new OrdenesArticulos(); $ordenes->borraOrdenesArticulo($this->IDArticulo); unset($ordenes); // Aplico las reglas de ordenes if ($this->Vigente == '1') { $reglas = new Escaparates(); $reglas->aplicaReglasArticulo($this->IDArticulo); unset($reglas); } } // Borro el eventual escandallo if ($this->AllowsChildren == '0') { $escan = new ArticulosEscandallos(); $escan->queryDelete("IDArticuloOrigen='{$this->IDArticulo}'"); unset($escan); } } return $ok; }
/** * Devuelve un array con los objetos zonas web * añadiendo uno vacio para crear una zona nueva * * @return array Array template, values */ public function listAction($aditionalFilter = '') { $item = new Escaparates(); $items[] = $item; $rows = $item->cargaCondicion("Id", "1", "Controller ASC, Zona ASC, Id ASC"); unset($item); foreach ($rows as $row) { $items[] = new Escaparates($row['Id']); } $this->values['zonas'] = $items; return array('template' => $this->entity . "/list.html.twig", 'values' => $this->values); }