Commits

Mariano Falcón committed d191008

Previo a cambios

Comments (0)

Files changed (10)

cashflow/views.py

         context_instance = RequestContext(request),
     )
 
-
-
 def lista_mes_anio(meses_previos, meses_sgtes):
     '''crea una lista de tuplas (mes, anio) con los meses a mostrar en la tabla
     #max meses_previos/sgtes=8'''
                 info_mes[mesanio][GASTO] += tx.monto
                 if tx.categoria:
                     info_cat[(tx.categoria, mesanio[0], mesanio[1])] += tx.monto
-            if mesanio in lista_m_a and tipo == 0: # corregir esta serie de negradas
+            if mesanio in lista_m_a and tx.tipo == 0: # corregir esta serie de negradas
                 dic_tx_ing[tx] += tx.monto
                 if tx not in transacs_en_fechas:
                     transacs_en_fechas.append(tx)
-            elif mesanio in lista_m_a and tipo ==1:
+            elif mesanio in lista_m_a and tx.tipo ==1:
                 dic_tx_eg[tx] += tx.monto
                 if tx not in transacs_en_fechas:
                     transacs_en_fechas.append(tx)
                     if tx.categoria:
                         info_cat[(tx.categoria, fch.month, fch.year)] += tx.monto
 
-                if (fch.month, fch.year) in lista_m_a and tipo == 0:
+                if (fch.month, fch.year) in lista_m_a and tx.tipo == 0:
                     dic_tx_ing[tx] += tx.monto
                     if tx not in transacs_en_fechas:
                         transacs_en_fechas.append(tx)
-                elif (fch.month, fch.year) in lista_m_a and tipo == 1:
+                elif (fch.month, fch.year) in lista_m_a and tx.tipo == 1:
                     dic_tx_eg[tx] += tx.monto
                     if tx not in transacs_en_fechas:
                         transacs_en_fechas.append(tx)
             for i in range(0, rango, 2): # lo unico que cambia de 4 ?
                 fch = tx.fecha+relativedelta.relativedelta(months=+i)
                 if tx.tipo == 0:
-                    dic_tx_ing[tx] = 0
                     info_mes[(fch.month,fch.year)][INGRESO] += tx.monto
                     if tx.categoria:
                         info_cat[(tx.categoria, fch.month, fch.year)] += tx.monto
                     if tx.categoria:
                         info_cat[(tx.categoria, fch.month, fch.year)] += tx.monto
                 
-                if (fch.month, fch.year) in lista_m_a and tipo == 0:
+                if (fch.month, fch.year) in lista_m_a and tx.tipo == 0:
                     dic_tx_ing[tx] += tx.monto
                     if tx not in transacs_en_fechas:
                         transacs_en_fechas.append(tx)
                 
-                elif (fch.month, fch.year) in lista_m_a and tipo == 1:
+                elif (fch.month, fch.year) in lista_m_a and tx.tipo == 1:
                     dic_tx_eg[tx] += tx.monto
                     if tx not in transacs_en_fechas:
                         transacs_en_fechas.append(tx)
             for i in range(0, rango, 3): # lo unico que cambia de 4
                 fch = tx.fecha+relativedelta.relativedelta(months=+i)
                 if tx.tipo == 0:
-                    dic_tx_ing[tx] = 0
                     info_mes[(fch.month,fch.year)][INGRESO] += tx.monto
                     if tx.categoria:
                         info_cat[(tx.categoria, fch.month, fch.year)] += tx.monto
                     info_mes[(fch.month,fch.year)][GASTO] += tx.monto
                     if tx.categoria:
                         info_cat[(tx.categoria, fch.month, fch.year)] += tx.monto
-                if (fch.month, fch.year) in lista_m_a and tipo == 0:
+                if (fch.month, fch.year) in lista_m_a and tx.tipo == 0:
                     dic_tx_ing[tx] += tx.monto
                     if tx not in transacs_en_fechas:
                         transacs_en_fechas.append(tx)
-                elif (fch.month, fch.year) in lista_m_a and tipo == 1:
+                elif (fch.month, fch.year) in lista_m_a and tx.tipo == 1:
                     dic_tx_eg[tx] += tx.monto
                     if tx not in transacs_en_fechas:
                         transacs_en_fechas.append(tx)
     ing_dic = {}
     for key in dic_tx_ing.iterkeys():
         if not key.categoria:
-            ing_dic[key] = key.monto
+            ing_dic[key] = dic_tx_ing[key]
         else:
             if key.categoria in ing_dic:
                 ing_dic[key.categoria] += dic_tx_ing[key]
     for key in ing_dic.iterkeys():
         chart_ing.append((key.nombre, ing_dic[key]))
 
-    '''
+    
     gastos_dic = {}
-    
-    for key in dic_tx_ing.iterkeys():
+    for key in dic_tx_eg.iterkeys():
         if not key.categoria:
-            ing_dic[key] = key.monto
+            gastos_dic[key] = dic_tx_eg[key]
         else:
-            if key.categoria in ing_dic:
-                ing_dic[key.categoria] += dic_tx_ing[key]
+            if key.categoria in eg_dic:
+                gastos_dic[key.categoria] += dic_tx_eg[key]
             else:
-                 ing_dic[key.categoria] = dic_tx_ing[key]
+                 gastos_dic[key.categoria] = dic_tx_eg[key]
     
     chart_gastos = [] 
-    for key in ing_dic.iterkeys():
-        chart_ing.append((key.nombre, ing_dic[key]))
-
-    
+    for key in gastos_dic.iterkeys():
+        chart_gastos.append((key.nombre, gastos_dic[key]))
+   
+    '''
     for cat in cats_en_fechas_ing:
         nombre = cat.nombre
         mon_tot = 0
             if tx.categoria == cat:
                 mont_tot += tx.monto
         tx_ing_list.append(nombre, mon_tot)
-    '''
+   '''
 
     context = {
         'fechas': lista_fechas, # [datetime.date] fechas en el rango
         'cuentas': cuentas,
         'cuenta': cuenta,
         'ingresos': chart_ing,
+        'gastos': chart_gastos,
     }
     return render_to_response(
         'cashflow/reportes.html',
             ingreso = form.save(commit=False)
             ingreso.tipo = 0
             ingreso.cuenta = Cuenta.objects.get(
-                                nombre = form.cleaned_data['cuenta'],
+                                nombre = nombre_cuenta, 
                                 usuario = request.user)
             ingreso.nombre = form.cleaned_data['nombre']
             if form.cleaned_data['categoria']:
         if POST.has_key(u'nombre'):
             nombre_cuenta = request.POST[u'nombre']
             c = Cuenta.objects.filter(nombre=nombre_cuenta, usuario=request.user)
-            pdb.set_trace()
             if c:
                 message = "EXISTE"
             else:
                 c = Cuenta.objects.filter(usuario=request.user)
-                if len(c) >= 5:
+                if len(c) >= 4:
                     message = "LIMITE DE CUENTAS ALCANZADO"
                 else:
                     c = Cuenta(nombre=nombre_cuenta, usuario=request.user)
                     c.save()
                     message = "OK"
+            return HttpResponse(message)
     else:
         message = "ERROR"
     

media/css/style.css

 /*base.html*/
 body {
-	margin: 0;
-	padding: 0;
-	font-size: 12px;
-	font-family: "Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif;
-	background: #e8fafa url(../images/bgd2.gif) repeat-x;
+    margin: 0;
+    padding: 0;
+    font-size: 12px;
+    font-family: "Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif;
+    background: #C0DEED;
 }
 #header {  
-	background: url(../images/blueheader2.gif) repeat-x;
-	color: white;
-	width: 100%;
-	height: 70px;
-	overflow: hidden;    
+    background: url(../images/blueheader2.gif) repeat-x;
+    color: white;
+    width: 100%;
+    height: 70px;
+    position: static;
+    overflow: hidden;    
 }
 #branding h1 {
     padding: 0 10px;
     border-top: 1px solid orange;
     border-bottom: 1px solid #ccc;
     text-align: left;
+    position: static;
 }
 div.breadcrumbs a {
     color: #ffffff;
     font-weight: bold;    
 }
 #footer{
-	position: absolute;
-	bottom: -1px;
-	width: 100%;	
-	text-align: center;
+    width: 100%;    
+    text-align: center;
+    position: static;
 }
-/*
-a{
-    color: #FFd984;
+.nav{
     text-decoration: none;
-    font-weight: bold;
 }
-*/
-/* table config */
-/*
-#table {
-    margin-bottom: 2em;
+ul{
+    list-style: none;
+}
+ul li{
+    margin-top: 3px;
+    margin-left: 10px;
+}
+/* Cashflow */
+ul a{
+    cursor: pointer;
+}
+#transacciones {
+    margin-left: 40px;
+}
+#cuentas {
+    float: left;
+    margin-left: 10px;
+    width: 100px;
+    height: 100px;
+    background-color: #ffffff;
+}
+.cash {
+    /*
+    border-collapse:collapse;
     table-layout: fixed;
-}
-th, td {
-    border: 1px solid #d6d891;
-    padding: 0.2em 1em;
-}
-th {text-align: center;}
-td {
-    text-align: right;
-    width: 11.42%;  no funciona si hay mas elementos 
-}
-#cash_grid {
-	width: 80%;
-	margin-left: 35px;
-	margin-top: 35px;
-	position: absolute;
-	float: left;
-}
-#month-span {
-	color: white;
-	font-weight: bold;
-	text-align: center;
-}
-#month_row {background: #3A7644;}
-#cash-on-hand {
-	background: #64B372;
-}
-#income-header {background: #A8D4B0;}
-#income, #expense {background: #ECF6EE;}
-#expense-header {background: #a8d4b0;}
-#col_der{
-	float: right;
-	position: relative;
-}
-.nav {
-	color: #FFD737;
-	font-weight: bold;
-}
-.monthcurrent {
-    background: #476dd5;
-}
-#category {
-    background: #53ff53;
-}
-#subitem {
-    background: #85ff85;
-}
-*/
-table {
-    border-collapse:collapse;		
-    border: 2px solid #686868;
-    /*
-    border-left:2px solid #686868;
-    border-right:2px solid #686868;
     */
-    font:1.6em/145% 'Trebuchet MS',helvetica,arial,verdana;
-    table-layout: fixed;
+    width: 900px;
+    border: 1px solid #686868;
+    font:1.6em/145% 'Trebuchet MS',helvetica,arial,verdana;    
 }
 tbody td {
     text-align: right;
 #month_row {
     text-align: center;
     background-color: #FFFFFF;
-    border-bottom: solid 2px #686868;
+    border-bottom: solid 1px #686868;
 }
 #cash_grid {
     width: 80%;
     margin-left: 35px;
-    margin-top: 35px;
+    margin-top: 20px;
     float: left;
 }
 .monthcurrent {
 .category {
     background: #EFF4FB url(../images/category.gif) repeat-x;
 }
-#cuentas {
-    float: left;
-    width: 200px;
-}
-/*#main {
-    background-color: #e8fafa;
-    /*background-image: url(../images/fondo.gif);*/
+
+#main {
+    /*background-color: #e8fafa;
+    background-image: url(../images/fondo.gif);
     background-position: center top;
     background-repeat: repeat-x;
-}*/
+    */
+    position: static;
+}
+#main h1 {
+    margin-left: 5px;
+}
 /*Reportes*/
 #contenedor {
     position: relative;
     margin-left: 25px;
 }
-.graficos {   
-    width:450px;
-    height:400px;
-    margin-bottom: 40px;
-}
-.chart {
-    width:1000px;
-    height:400px;
-    clear: both;
-}
-#chart1 {
+#ingresos {
     float: left;
     margin-right: 100px;
 }
-#chart2 {
+#gastos {
     float: left;
 }
+#balance {
+    width:450px;
+    height:400px;
+    padding-top: 100px;
+    clear: both;
+}
 /* Forms */
 #list {
     list-style: none;
     display: none;
     z-index: 10000;
     background-color:#333;
-	
-	width:500px;	
-	min-height:200px;
-	border:1px solid #666;
-	
-	/* CSS3 styling for latest browsers */
-	-moz-box-shadow:0 0 90px 5px #000;
-	-webkit-box-shadow: 0 0 90px #000;
+    
+    width:500px;    
+    min-height:200px;
+    border:1px solid #666;
+    
+    /* CSS3 styling for latest browsers */
+    -moz-box-shadow:0 0 90px 5px #000;
+    -webkit-box-shadow: 0 0 90px #000;
 }
 .simple_overlay .close {
-	background-image:url(../img/overlay/close.png);
-	position:absolute;
-	right:-15px;
-	top:-15px;
-	cursor:pointer;
-	height:35px;
-	width:35px;
+    background-image:url(../img/overlay/close.png);
+    position:absolute;
+    right:-15px;
+    top:-15px;
+    cursor:pointer;
+    height:35px;
+    width:35px;
 }
 /* styling for elements inside overlay */
 .details {
-		position:absolute;
-		top:15px;
-		right:15px;
-		font-size:11px;
-		color:#fff;
-		width:150px;
+        position:absolute;
+        top:15px;
+        right:15px;
+        font-size:11px;
+        color:#fff;
+        width:150px;
 }
 .details h3 {
-		color:#aba;
-		font-size:15px;
-		margin:0 0 -10px 0;
+        color:#aba;
+        font-size:15px;
+        margin:0 0 -10px 0;
 }
 
 

Binary file modified.

templates/base.html

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html>
     <head>
-        <title>{% block title %}Trezire{% endblock %}</title>
-		<link rel="stylesheet" type="text/css" media="all" href="/media/css/style.css" />
-		<script type="text/javascript" src="/media/js/jquery-1.4.2.js"></script>
-	</title>			
+        <title>{% block title %}Guardinero{% endblock %}</title>
+        <link rel="stylesheet" type="text/css" media="all" href="/media/css/style.css" />
+        <script type="text/javascript" src="/media/js/jquery-1.4.2.js"></script>
+    </title>            
         {% block extra_head %}{% endblock %}
     </head>
     <body>
-    	<div id="container">
+        <div id="container">
            <div id="header">
-		<div id="branding">
-		    <h1 id="sitename">Trezire</h1>
-		</div>	 
+                <div id="branding">
+                    <h1 id="sitename">GuarDinero</h1>
+                </div>   
                 <div id="user-tools">
-		    <strong>{{ user.username }}</strong>
-		    .
-		    <a href="/accounts/password/change/">Change password</a>
-		    /
-		    <a href="/accounts/logout/">Log out</a>
-		</div>
-	    </div>        
+                    <strong>{{ user.username }}</strong>
+                    .
+                    <a href="/accounts/password/change/">Cambiar contraseña</a>
+                    /
+                    <a href="/accounts/logout/">Logout</a>
+                </div>
+            </div>        
 
-	    {% block main_content %}{% endblock %}
-		
-	    <div id="footer">
-		mf Tech Corporations Limited
-	    </div>   
-	</div> 
-        {% block extra_body %}{% endblock %}
+            {% block main_content %}{% endblock %}
+        
+            <div id="footer">
+            mf Tech 
+            </div>   
+        </div> 
+            {% block extra_body %}{% endblock %}
     </body>
 </html>    

templates/cashflow/cashflow2.html

 {% extends "base.html" %}
 
-{% block title %}Pylse - {{ block.super }}{% endblock %}
+{% block title %}Cashflow - {{ block.super }}{% endblock %}
 
 {% block extra_head %}
 <script src="http://cdn.jquerytools.org/1.2.5/jquery.tools.min.js"></script>
         arrow(meses_ant, meses_desp);
     }));
 
-    $("#nueva_cuenta").live("click", ( function() {      
+    $("#agregar_cuenta").live("click", ( function() {      
         nombre_cta = $("#ncta").val();
         if ((nombre_cta).length) {
             $.post("/cashflow/nueva_cuenta/", {
 <div class="breadcrumbs">
     <a class="nav" href={% url cs_welcome %}>Home</a>
     <a class="nav" href={% url cs_cashflow2 cuenta.nombre %}>Cashflow</a>
-    <a class="nav" href={% url cs_reportes cuenta.nombre %}>Reportes</a>  		   	
+    <a class="nav" href={% url cs_reportes cuenta.nombre %}>Reportes</a>            
 </div>
 <div id="main">
-    <h1>Cashflow</h1>   
-
+    <h1>Cashflow</h1> 
     
     <div id="transacciones">
-    	<a class="nav" href={% url cs_ingreso cuenta%}>Ingresos</a>
-	    <a class="nav" href={% url cs_gasto cuenta %}>Gastos</a>
+        <a class="nav" href={% url cs_ingreso cuenta%}>Ingresos</a>
+        <a class="nav" href={% url cs_gasto cuenta %}>Gastos</a>
     </div>
-    	   
+           
     <div id="cash_grid">
     <table  class="cash" cellspacing="0" cellpadding="0" width="100%">
         <thead id="month_row">
     </div>
     <div id="cuentas">
         <ul>
-        Cuentas:<a id="nueva_cuenta" rel="#mies2">Nueva cuenta</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 %}
             <h3>Agregar nueva cuenta:</h3>
             <form>{% csrf_token %}
                 <label for="nombre">Nombre:</label><input type="text" id="ncta" />
-                <input type="submit" value="Aceptar" id="nueva_cuenta" />
+                <input type="submit" value="Aceptar" id="agregar_cuenta" />
             </form>
     </div>
 

templates/cashflow/gasto.html

 {% block title %}Pylse - {{ block.super }}{% endblock %}
 
 {% block extra_head %}
+    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js"></script>
+    <script src="http://cdn.jquerytools.org/1.2.5/jquery.tools.min.js"></script>
 {% endblock %}
 
 {% block main_content %}
+<script>
+$(document).ready(function(){
+    $("a[rel]").overlay();
 
-    <h2>Agregar gasto</h2>
+    $('#id_frecuencia').change(onSelectChange);
+
+    function onSelectChange(){
+        var selected = $('#id_frecuencia option:selected');
+        if(selected.val() == 0){
+            $('#list li:last').hide()
+        }
+        else { $('#list li:last').show() }
+    }
+    
+    $("#nueva_cat").live("click", ( function() {      
+        nombre_cat = $("#nc").val();
+
+        if ((nombre_cat).length) {
+            $.post("/cashflow/nueva_cat/1/", {
+                nombre: nombre_cat, 
+                cuenta: "{{ cuenta }}" 
+                }, 
+                function(data) {
+                    alert(data);  
+                    if (data == "OK") {
+                        $("#id_categoria").val(nombre_cat);
+                        $(".simple_overlay").hide();
+                    } else {  //(data == "EXISTE")
+                        var error = "La categoria ya existe";
+                        alert(error);
+                    }
+                }
+            );
+                 
+        } else {
+             var error = "Debe ingresar un nombre para crear la categoria";
+             alert(error);
+        }
+    }));  
+});
+</script>
+    <div class="breadcrumbs">
+        <a class="nav" href={% url cs_welcome %}>Home</a>
+        <a class="nav" href="#">Cashflow</a>
+        <a class="nav" href="#">Reportes</a>  		   	
+    </div>
+    <div id="main">
+        <h1>Agregar gasto</h1>    
+        <div>
+            <form id="create" method="POST" action="">{% csrf_token %}
+                <ul id="list">
+                    <li>{{ TransaccionForm.nombre }}</li>
+                    <a id="nueva_categoria" rel="#mies1">Nueva categoria</a>
+                    <li id="categoria">{{ TransaccionForm.categoria }}</li>
+                    {% comment %}
+                    <a id="nueva_cuenta" rel="#mies2">Nueva cuenta</a>
+                    <li id="cuenta">{{ TransaccionForm.cuenta }}</li>
+                    {% endcomment %}
+                    <li>{{ TransaccionForm.descripcion }}</li>
+                    <li>{{ TransaccionForm.monto }}</li>
+                    <li>{{ TransaccionForm.fecha }}</li>
+                    <li>{{ TransaccionForm.frecuencia }}</li>
+                    <li>{{ TransaccionForm.termina }}</li>
+                </ul>
+                <input id="boton_aceptar" type="submit" value="Aceptar">
+            </form>
+        </div>
         
-    <div>
-        <form id="create" method="POST" action="">{% csrf_token %}
-            <ul id="list">
-            {{ TransaccionForm.as_ul }}
-            </ul>
-            <input id="boton_aceptar" type="submit" value="Aceptar">
-        </form>
+        <div class="simple_overlay" id="mies1">
+            <h3>Agregar nueva categoría:</h3>
+            <form>{% csrf_token %}
+                <label for="nombre">Nombre:</label><input type="text" id="nc" />
+                <input type="submit" value="Aceptar" id="nueva_cat" />
+            </form>
+        </div>
+
+        
+
+
+
     </div>
-
-{% endblock %}
+{% endblock %}

templates/cashflow/ingreso.html

     }
     
     $("#nueva_cat").live("click", ( function() {      
-        nombre_cat = $("#nc").val();
+        var nombre_cat = $("#nc").val();
+        var cuenta = "{{ cuenta }}"
 
         if ((nombre_cat).length) {
-            $.post("/cashflow/nueva_cat/0/", {
-                nombre: nombre_cat, 
-                cuenta: "{{ cuenta }}" 
-                }, 
+            $.post("/cashflow/nueva_cat/0/", { nombre: nombre_cat, cuenta: cuenta }, 
                 function(data) {
                     alert(data);  
                     if (data == "OK") {

templates/cashflow/reportes.html

         google.visualization.BarChart(document.getElementById('ingresos'));
         chartIng.draw(dataIng, 
                     {
-                        width: 620, height: 400, 
+                        width: 620, height: 400,
+                        title: 'Ingresos', 
+                        backgroundColor: 'E2F1FF',
                         legend:'Ingresos',
-                        colors:['red', 'green', 'blue', 'brown']
+                        colors:['green', 'blue', 'brown']
                     }                    
                    );
         
-        {% comment %}
         var dataEg = new google.visualization.DataTable();
         dataEg.addColumn('string', 'Gastos');
         dataEg.addColumn('number', 'Monto');
-        dataEg.addRows({{ egresos|length }});
+        dataEg.addRows({{ gastos|length }});
 
-        {% for eg in egresos %}  
+        {% for eg in gastos %}  
           //dataEg.setValue('fila(0)', columna(Ingresos=0), valor)
             dataEg.setValue({{ forloop.counter0 }}, 0, '{{ eg.0 }}');
             dataEg.setValue({{ forloop.counter0 }}, 1, {{ eg.1 }});
         google.visualization.BarChart(document.getElementById('gastos'));
         chartEg.draw(dataEg, 
                     {
-                        width: 620, height: 400, 
-                        legend:'Ingresos',
-                        colors:['blue', 'brown']
+                        width: 620, height: 400,
+                        title: 'Gastos',
+                        backgroundColor: 'E2F1FF', 
+                        legend:'Gastos',
+                        colors:['red', 'brown']
                     }                    
                    );
-        {% endcomment %}
         
         var dataBal = new google.visualization.DataTable();
         dataBal.addColumn('string', 'Mes');
         google.visualization.AreaChart(document.getElementById('balance'));
         chartBal.draw(dataBal, 
                     {
-                        width: 620, height: 400, title: 'Balance Mensual', 
+                        width: 800, height: 500, 
+                        title: 'Balance Mensual',
+                        backgroundColor: 'E2F1FF', 
                         colors:['green', 'red', 'blue']
                     }                    
                    );
     <div id="main">
         <h1>Reportes</h1>
         <div id="contenedor">
-            <div id="ingresos"></div>
+            <div id="ingresos"></div>            
+            <div id="gastos"></div>
             <div id="cuentas">
                 <ul>
                 Cuentas:
                 {% endfor %}
                 </ul>
             </div>
-            <div id="ingresos"></div>
             <div id="balance"></div>
-
-
         </div>
     </div>
 {% endblock %}

templates/cashflow/welcome.html

     <div class="breadcrumbs">
         <a class="nav" href={% url cs_welcome %}>Home</a>
         <a class="nav" href={% url cs_cashflow2 cuenta %}>Cashflow</a>
-        <a class="nav" href={% url cs_reportes cuenta %}>Reportes</a>  		   	
+        <a class="nav" href={% url cs_reportes cuenta %}>Reportes</a>           
     </div>
     <div id="main">
-	<h2>Bienvenido {{ user.username }}</h2>
+    <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>
 {% endblock %}

templates/registration/login.html

-{% extends "base.html" %}
+{% extends "base_registration.html" %}
 {% load i18n %}
 
 {% block title %}Pylse - {{ block.super }}{% endblock %}
 
 {% block main_content %}
-<form method="post" action=".">{% csrf_token %}
-  {{ form.as_p }}
 
-  <input type="submit" value="{% trans 'Log in' %}" />
-  <input type="hidden" name="next" value="{{ next }}" />
-</form>
+    <form method="post" action=".">{% csrf_token %}
+      <b>{{ form.as_p }}</b>
+      <input type="submit" value="{% trans 'Log in' %}" />
+      <input type="hidden" name="next" value="{{ next }}" />
+    </form>
 
-<p>{% trans "Forgot password" %}? <a href="{% url auth_password_reset %}">{% trans "Reset it" %}</a>!</p>
-<p>{% trans "Not member" %}? <a href="{% url registration_register %}">{% trans "Register" %}</a>!</p>
+    <p>{% trans "Forgot password" %}? <a href="{% url auth_password_reset %}">{% trans "Reset it" %}</a>!</p>
+    <p>{% trans "Not member" %}? <a href="{% url registration_register %}">{% trans "Register" %}</a>!</p>
+    
 {% endblock %}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.