Commits

Mariano Falcón committed 566e598

nueva_cuenta view

Comments (0)

Files changed (6)

cashflow/forms.py

         model = Cuenta
         exclude = ('usuario',)
 
+    def __init__(self, *args, **kwargs):
+        user = kwargs.pop('user')
+        self.user = user
+        super(CuentaForm, self).__init__(*args, **kwargs)
+    
+    def clean(self):
+        cleaned_data = self.cleaned_data
+        nombre = cleaned_data.get("nombre")
+        c = Cuenta.objects.filter(usuario=self.user, nombre=nombre)
+        if c:
+            raise forms.ValidationError("Ya existe la cuenta")
+        c = Cuenta.objects.filter(usuario=self.user)
+        if len(c) >= 2 and nombre:
+            raise forms.ValidationError("No mas cuentas")
+        if not nombre:
+            raise forms.ValidationError("Ingresa algo papa")
+        else:
+            return cleaned_data
+
+        
+
 class CategoriaForm(ModelForm):
     class Meta:
         model = Categoria

cashflow/views.py

         message = "ERROR"
         
     return HttpResponse(message)                    
-        
+
+def nueva_cuenta(request):
+    if request.method == 'POST':
+        POST = request.POST
+        form = CuentaForm(user=request.user, data=request.POST)
+        if form.is_valid():
+            cuenta = form.save(commit=False)
+            usuario = request.user
+            nombre = form.cleaned_data['nombre']
+            cuenta.save()
+            uri = ("/cashflow/welcome/") 
+            return HttpResponseRedirect(uri)
+    else:
+        form = CuentaForm(user=request.user)
+    
+    context = {
+          'CuentaForm': form,
+     }
+    return render_to_response(
+        'cashflow/nueva_cuenta.html',
+        context,
+        context_instance = RequestContext(request),
+    )
+
+
+'''
 def nueva_cuenta(request):
     if request.method == 'POST':
         POST = request.POST
         if POST.has_key(u'nombre'):
             nombre_cuenta = request.POST[u'nombre']
-            c = Cuenta.objects.filter(nombre=nombre_cuenta, usuario=request.user)
-            if c:
-                message = "EXISTE"
-            else:
+            try:
+                Cuenta.objects.get(nombre=nombre_cuenta, usuario=request.user)
+            except Cuenta.DoesNotExist:
                 c = Cuenta.objects.filter(usuario=request.user)
-                if len(c) >= 4:
+                if len(c) >= 2:
                     message = "LIMITE DE CUENTAS ALCANZADO"
+                    return HttpResponse(message)
                 else:
                     c = Cuenta(nombre=nombre_cuenta, usuario=request.user)
                     c.save()
-                    message = "OK"
+                    return HttpResponseRedirect("/cashflow/cs_cashflow2")
+            
+            message = "La cuenta ya existe"
             return HttpResponse(message)
     else:
         message = "ERROR"
     
     return HttpResponse(message)
-       
+'''       
 '''
 @login_required
 def nueva_categoria(request, tipo):
Binary file modified.

templates/cashflow/cashflow2.html

         }
         arrow(meses_ant, meses_desp);
     }));
-
-    $("#agregar_cuenta").live("click", ( function() {      
-        nombre_cta = $("#ncta").val();
-        if ((nombre_cta).length) {
-            $.post("/cashflow/nueva_cuenta/", {
-                nombre: nombre_cta, 
-                }, 
-                function(data) {
-                    alert(data);  
-                    if (data == "OK") {
-                        $(".simple_overlay").hide();
-                    } else {  //(data == "EXISTE")
-                        var error = "La cuenta ya existe";
-                        alert(error);
-                    }
-                }
-            );
-                 
-        } else {
-             var error = "Debe ingresar un nombre para crear la cuenta";
-             alert(error);
-        }
-    })); 
+    
+    //$("#agregar_cuenta").live("click", ( function() {      
+    //    nombre_cta = $("#ncta").val();
+    //    if ((nombre_cta).length) {
+    //        $.post("/cashflow/nueva_cuenta/", {
+    //            nombre: nombre_cta, 
+    //            }, 
+    //            function(data) {
+    //                alert(data);  
+    //                if (data == "OK") {
+    //                    $(".simple_overlay").hide();
+    //                } else {  //(data == "EXISTE")
+    //                    var error = "La cuenta ya existe";
+    //                    alert(error);
+    //                }
+    //            }
+    //        );
+    //             
+    //    } else {
+    //         var error = "Debe ingresar un nombre para crear la cuenta";
+    //         alert(error);
+    //    }
+    //})); 
 });
 </script>
 <div class="breadcrumbs">
     </div>
     <div id="cuentas">
         <ul>
-        Cuentas:<a id="nueva_cuenta" rel="#mies2">     +</a>
+        Cuentas:<a id="nueva_cuenta" rel="#mies2" >        +</a>
         {% for c in cuentas %}
             <li><a class="nav" href={% url cs_cashflow2 c.nombre %}>{{ c.nombre }}</a></li>
         {% endfor %}
         </ul>
     </div>
-
+    
     <div class="simple_overlay" id="mies2">
             <h3>Agregar nueva cuenta:</h3>
             <form>{% csrf_token %}

templates/cashflow/nueva_cuenta.html

         <h1>Crear Cuenta</h1>    
         <div>
             <form id="create" method="POST" action="">{% csrf_token %}
+                {% if CuentaForm.non_field_errors %}
+                    <p><span class="error">
+                        {{ CuentaForm.non_field_errors|join:", " }}
+                    </span></p>
+                {% endif %}
+
                 <ul id="list">
                 {% comment %}{{ CuentaForm.as_ul }}{% endcomment %}
                 <label>Nombre:</label>{{ CuentaForm.nombre }}

templates/cashflow/welcome.html

         <a class="nav" href={% url cs_reportes cuenta %}>Reportes</a>           
     </div>
     <div id="main">
-    <h2>Bienvenido a GuarDinero</h2>
-    <h3>CashFlow</h3>
-    <p>Controla tus finanzas mensuales. Conoce exactamente donde va tu dinero.</p>
-    <h3>Reportes</h3>
-    <p>De un simple vistazo observa como se distribuyen tus ingresos y gastos</p>
+        <h2>Bienvenido a GuarDinero</h2>
+        <h3>CashFlow</h3>
+        <p>Controla tus finanzas mensuales. Conoce exactamente donde va tu dinero.</p>
+        <h3>Reportes</h3>
+        <p>De un simple vistazo observa como se distribuyen tus ingresos y gastos</p>
+        <div id="transacciones">
+            <p><a href={% url cs_nueva_cuenta %}>Crear una cuenta nueva</a></p>
+            {% comment %}
+            <p><a href={% url cs_nueva_categoria %}>Crear una categoria</a></p>
+            {% endcomment %}
+        </div> 
     </div>
 {% endblock %}