Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

editar tareas #18

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions tareas/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from pagedown.widgets import PagedownWidget


# creo un formulario con el campo texto para mostrar
# creo un formulario que hereda de Comentario y agrega el atributo fields(campo texto) con el campo texto para mostrar
class Comentarios(forms.ModelForm):
class Meta:
model= Comentario
Expand All @@ -23,7 +23,7 @@ class ComentarioForm(forms.ModelForm):
texto = forms.CharField(widget=PagedownWidget(show_preview=False))
class Meta:
model = Comentario
fields=['texto']
fields = ['texto']

class TareaForm(forms.ModelForm):
descripcion = forms.CharField(widget=PagedownWidget(show_preview=False))
Expand Down
1 change: 1 addition & 0 deletions tareas/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ def __str__(self):
return self.nombre

class Comentario(models.Model):
# relaciono un comentario a una tarea a traves de su clave foranea
tarea = models.ForeignKey(Tarea, null=True)
usuario = models.ForeignKey(User)
fecha = models.DateTimeField(default= timezone.now)
Expand Down
4 changes: 4 additions & 0 deletions tareas/static/css/tareas.css
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
font-family: 'Lobster', cursive;
}

h5 {
font-family: 'Lobster', cursive; text-align: right;
}

.date {
float: right;
color: #828282;
Expand Down
55 changes: 37 additions & 18 deletions tareas/templates/tareas/comentario.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,29 @@
</form>
{% endif %}
</p>
{{tarea.usuario}} {{tarea.fecha_creacion}}<br>

<div class="container">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
<div class="row">
<!-- Contenedor Principal -->
<div class="comments-container">
<div class="comment-main-level">

<!-- Contenedor del Comentario -->
<div class="comment-box">
<div class="comment-head">

<h1>Descripción</h1>
{{tarea.usuario}}
<h5>{{tarea.fecha_creacion}}</h5> <br><br>
{{tarea.descripcion|markdown}} <a href="/editar_tareas/{{tarea.id}}">EDITAR</a> <br>
</div>
</div>
</div>
</div>
</div>
</div>

{{tarea.descripcion|markdown}} <br>

{% block arriba %}
<div class="container">
Expand All @@ -40,23 +60,22 @@ <h1>Comentarios </h1>
<ul id="comments-list" class="comments-list">
{% for c in comentarios %}
<li>
<div class="comment-main-level">
<div class="comment-main-level">

<!-- Contenedor del Comentario -->
<div class="comment-box">
<div class="comment-head">
<h6 class="comment-name by-author"><a><p>{{c.usuario}}</p></a></h6>
<span><p>{{c.fecha}}</p></span>
<i class="fa fa-reply"></i>
<i class="fa fa-heart"></i>
</div>
<div class="comment-content"><p>{{c.texto|markdown}}</p>
<!-- Contenedor del Comentario -->
<div class="comment-box">
<div class="comment-head">
<h6 class="comment-name by-author"><a><p>{{c.usuario}}</p></a></h6>
<span><p>{{c.fecha}}</p></span>
<i class="fa fa-reply"></i>
<i class="fa fa-heart"></i>
</div>
<div class="comment-content"><p>{{c.texto|markdown}}</p></div>
</div>
</div>
</div>

</li>
{% endfor %}
</li>
{% endfor %}
</ul>
</div>
</div>
Expand All @@ -67,16 +86,16 @@ <h6 class="comment-name by-author"><a><p>{{c.usuario}}</p></a></h6>
{% endblock %}


<div>
<div>



{% block submit %}Comentar
{% endblock %}


{{block.super}}
</div>
{{block.super}}
</div>
{% endblock content %}


2 changes: 1 addition & 1 deletion tareas/templates/tareas/editar_tareas.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@


<button type="submit" class="save btn btn-default">{% block submit %}enviar{% endblock %}</button>
</form>
</form>


{% endblock content %}
49 changes: 37 additions & 12 deletions tareas/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,15 @@ def nombrecat(request):

@login_required
def comentario(request,id):

# instancio un formulario de comentario en blanco
form = ComentarioForm()
# trae un objeto tarea de cierto id
tarea=get_object_or_404(Tarea, id=id)
form_estado= Tarea_estado(instance=tarea)
# formulario que permite cambiar estado de una tarea
form_estado = Tarea_estado(instance=tarea)

estado_viejo = tarea.estado

if request.method == "POST":
if 'submit_estado' in request.POST:
#import ipdb;ipdb.set_trace
Expand All @@ -27,8 +31,8 @@ def comentario(request,id):
usuario = request.user
texto = "{} cambió el estado de {} a {}".format(usuario, estado_viejo, estado_nuevo)
Comentario(usuario=usuario,texto=texto, tarea=tarea, manual=False).save()

return redirect(tarea)

else:
form = ComentarioForm(request.POST)
if form.is_valid():
Expand Down Expand Up @@ -77,18 +81,38 @@ def register(request):
def home(request):
return redirect('/login/')

def editar_tareas(request):
form= TareaForm()
def editar_tareas(request,id = None):
'''
Esta vista sirve para crear un comentario nuevo en una tarea o modificar un comentario
'''

if request.method == "POST":

form = TareaForm(request.POST)
if id:
# si la tarea tiene un id me trae esa tarea sino da error 404
tarea = get_object_or_404(Tarea, id=id)
descripcion_vieja = tarea.descripcion
else:
tarea = None

# instancio un objeto que permite modificar 'titulo', 'descripcion', 'categoria', 'prioridad'
form = TareaForm(instance = tarea)

if request.method == "POST":
form = TareaForm(request.POST, instance = tarea)
print(request.POST)
if form.is_valid():

tarea = form.save(commit=False)
tarea.usuario = request.user
tarea.save()
return redirect(tarea)
tarea = form.save(commit=False)
tarea.usuario = request.user
tarea.save()
descripcion_nueva = tarea.descripcion

if descripcion_nueva != descripcion_vieja:
usuario = request.user
texto = "{} editó el comentario de {} a {}".format(usuario, descripcion_vieja, descripcion_nueva)
Comentario(usuario = usuario,texto = texto, tarea = tarea, manual = False).save()

return redirect(tarea)

return render(request, "tareas/editar_tareas.html",{"form": form})


Expand All @@ -101,3 +125,4 @@ def buscar(request):
tareas= Tareas.objects.filter(tarea=tarea).order_by('-fecha')
return render(request, "tareas/tareas.html",{"form": form})


3 changes: 2 additions & 1 deletion topolino/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
url(r'^tareas/(?P<id>[0-9]+)/$', views.comentario),
url(r'^tareas/', views.lista_tareas),
url(r'^registration/registro.html',views.register),
url(r'^editar_tareas/', views.editar_tareas),
url(r'^editar_tareas/(?P<id>[0-9]+)/$', views.editar_tareas),
url(r'^editar_tareas/$', views.editar_tareas),
url('^',include('django.contrib.auth.urls')),
]