[Alba-desarrollo] SVN Alba r5031 - in prosistem/alba/trunk/alba/apps/principal: lib modules/cuenta/validate

commits en pressenter.com.ar commits en pressenter.com.ar
Mie Ago 29 20:11:14 CEST 2007


Author: josx
Date: 2007-08-29 15:11:11 -0300 (Wed, 29 Aug 2007)
New Revision: 5031

Added:
   prosistem/alba/trunk/alba/apps/principal/lib/albaCuentaValidador.class.php
Modified:
   prosistem/alba/trunk/alba/apps/principal/modules/cuenta/validate/edit.yml
Log:
Se agrego un validador para que no existan dos cuentas con el mismo nombre

Added: prosistem/alba/trunk/alba/apps/principal/lib/albaCuentaValidador.class.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/lib/albaCuentaValidador.class.php	2007-08-29 17:13:01 UTC (rev 5030)
+++ prosistem/alba/trunk/alba/apps/principal/lib/albaCuentaValidador.class.php	2007-08-29 18:11:11 UTC (rev 5031)
@@ -0,0 +1,86 @@
+<?php
+
+/**
+ *    This file is part of Alba.
+ * 
+ *    Alba is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    Alba is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with Alba; if not, write to the Free Software
+ *    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+
+
+/**
+ * albaCuentaValidador valida el cuenta.
+ *
+ * @package    alba
+ * @author     José Luis Di Biase <josx en interorganic.com.ar>
+ * @author     Héctor Sanchez <hsanchez en pressenter.com.ar>
+ * @author     Fernando Toledo <ftoledo en pressenter.com.ar>
+ * @version    SVN: $Id: albaCuentaValidador.class.php 4242 2007-02-16 20:00:22Z ftoledo $
+ * @filesource
+ * @license GPL
+ */
+
+class albaCuentaValidador extends sfValidator {
+
+    
+    function initialize($context, $parameters = null) 
+    {
+        // initialize parent
+        parent::initialize($context);
+        
+        // set defaults
+        $this->getParameterHolder()->set('cuenta_error', 'Invalid input');
+        $this->getParameterHolder()->add($parameters);
+        return true;
+    }
+    
+    /**
+      * Ejecuta la validación del cuenta.
+      *
+      * @param value A file or parameter value/array.
+      * @param error An error message reference.
+      *
+      * @return bool verdadero, si ha pasado con éxtio la validación, de lo contrario falso.
+    */
+
+    public function execute(&$value, &$error)
+    {
+
+        $campo_param1 = $this->getParameterHolder()->get('campo');
+        $cuenta = $this->getContext()->getRequest()->getParameter('cuenta');
+
+        $campo_param = $this->getParameterHolder()->get('campo_id');
+        $id = $this->getContext()->getRequest()->getParameter($campo_param);
+
+        $c = new Criteria();
+        $c->add(CuentaPeer::NOMBRE, $cuenta["$campo_param1"], Criteria::EQUAL);
+        $cuentas = CuentaPeer::doSelectOne($c);
+
+        // existe o no el mismo usuario en la DB
+        if($cuentas) {
+           if(($cuentas->getNombre() == $cuenta["$campo_param1"]) AND ($id ==  $cuentas->getId())) {
+            return true;
+           } else {
+            $error = $this->getParameterHolder()->get('cuenta_error');
+            return false;
+           } 
+        } else {
+            return true;
+        }
+    }
+
+}
+
+?>
\ No newline at end of file


Property changes on: prosistem/alba/trunk/alba/apps/principal/lib/albaCuentaValidador.class.php
___________________________________________________________________
Name: svn:keywords
   + "Id Author URL Date Rev"

Modified: prosistem/alba/trunk/alba/apps/principal/modules/cuenta/validate/edit.yml
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/cuenta/validate/edit.yml	2007-08-29 17:13:01 UTC (rev 5030)
+++ prosistem/alba/trunk/alba/apps/principal/modules/cuenta/validate/edit.yml	2007-08-29 18:11:11 UTC (rev 5031)
@@ -16,7 +16,7 @@
     cuenta{nombre}:
         required:     Yes
         required_msg: El campo nombre es obligatorio
-        validators: caracteresMaximos128
+        validators: caracteresMaximos128, cuentaValidador
 
     cuenta{razon_social}:
         required:     Yes
@@ -79,4 +79,11 @@
     param:
         cuit_error: El CUIT ingresado es invalido
 
-        
\ No newline at end of file
+
+cuentaValidador:
+    class:  albaCuentaValidador
+    param:
+        campo: nombre
+        campo_id: id
+        cuenta_error: La cuenta ya exite
+




Más información sobre la lista de distribución Alba-desarrollo