protected function getCampoOrCreate($id_campo = 'id_campo') { if (!$this->getRequestParameter($id_campo)) { $empresa = $this->getEmpresaOr404(); $campo = new Campo(); $campo->setIdEmpresa($empresa->getPrimaryKey()); $campo->setOrden($empresa->getPosicionSiguienteCampo()); if ($this->getRequestParameter('id_tabla')) { $campo->setEsGeneral(false); } else { $campo->setEsGeneral(true); } } else { $c = $this->getCriterio(); $c->addAnd(CampoPeer::ID_CAMPO, $this->getRequestParameter($id_campo)); $campo = CampoPeer::doSelectOne($c); $this->forward404Unless($campo); } return $campo; }