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

Implementação do listar e cadastrar de tarefas #19

Merged
merged 5 commits into from
Nov 6, 2020
Merged
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
8 changes: 8 additions & 0 deletions tasktracking/tasks/admin.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
from django.contrib import admin

from tasks.models import Execucao, Link, Tag, Tarefa, Usuario

# Register your models here.
admin.site.register(Usuario)
admin.site.register(Tag)
admin.site.register(Link)
admin.site.register(Tarefa)
admin.site.register(Execucao)

8 changes: 8 additions & 0 deletions tasktracking/tasks/forms.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from django import forms
from tasks.models import Tarefa


class TarefaForm(forms.ModelForm):
class Meta:
model = Tarefa
fields = '__all__'
19 changes: 19 additions & 0 deletions tasktracking/tasks/migrations/0002_usuario_nome.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Generated by Django 3.1.2 on 2020-11-05 11:32

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('tasks', '0001_initial'),
]

operations = [
migrations.AddField(
model_name='usuario',
name='nome',
field=models.CharField(max_length=200),
preserve_default=False,
),
]
18 changes: 18 additions & 0 deletions tasktracking/tasks/migrations/0003_auto_20201105_0835.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 3.1.2 on 2020-11-05 11:35

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('tasks', '0002_usuario_nome'),
]

operations = [
migrations.AlterField(
model_name='tarefa',
name='fechada_em',
field=models.DateTimeField(blank=True, null=True),
),
]
28 changes: 26 additions & 2 deletions tasktracking/tasks/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,41 @@
from django.contrib.auth.models import User

class Usuario(models.Model):
"""
Gabriel Gonçalo
Args:
models ([type]): [description]
"""
nome = models.CharField(max_length=200)
user = models.OneToOneField(
settings.AUTH_USER_MODEL,
on_delete=models.SET_NULL,
null=True
)

class Tag(models.Model):
"""
Jonas
Args:
models ([type]): [description]
"""
nome = models.CharField(max_length=50)

class Link(models.Model):
"""
Wanessa
Args:
models ([type]): [description]
"""
nome = models.CharField(max_length=50)
url = models.URLField()

class Tarefa(models.Model):
"""
Arthur
Args:
models ([type]): [description]
"""
STATUS_CHOICES = (
("1", "Planejada"),
("2", "Em Execução"),
Expand All @@ -33,15 +54,18 @@ class Tarefa(models.Model):
nome = models.CharField(max_length=100)
descrição = models.CharField(max_length=250)
criada_em = models.DateTimeField(auto_now_add=True)
fechada_em = models.DateTimeField()
fechada_em = models.DateTimeField(null=True, blank=True)
status = models.CharField(max_length=1, choices=STATUS_CHOICES)
situacao = models.CharField(max_length=1, choices=SITUACAO_CHOICES)

usuario = models.ForeignKey(Usuario, on_delete=models.PROTECT)

def __str__(self):
return self.identificador + ' - ' + self.nome

class Execucao(models.Model):
"""[summary]

Pedro
Args:
models ([type]): [Representa uma execução de uma tarefa.]
"""
Expand Down
4 changes: 4 additions & 0 deletions tasktracking/tasks/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#">Tarefas</a>
<a class="nav-link" href="#">Tags</a>
<a class="nav-link" href="#">Links</a>
<a class="nav-link" href="#">Usuario</a>
<a class="nav-link" href="#">Execuções</a>
</li>
</ul>
</div>
Expand Down
19 changes: 7 additions & 12 deletions tasktracking/tasks/templates/tasks/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,23 @@
{% block content %}
<div class="offset-1 col-10 list-div">
<div class="col-2 add-div">
<i class="fas fa-plus"></i> Adicionar tarefa
<a href="{% url 'cadastrar_tarefa' %}" class="btn">
<i class="fas fa-plus"></i>Adicionar Tarefa
</a>
</div>
<div class="col-9 search-div">
<input class="form-control" type="text" id="search" name="search" placeholder="Digite o nome da tarefa para buscar...">
<i class="fas fa-search"></i>
</div>
<ul class="task-list">

{% for tarefa in lista_tarefas %}
<li class="task-item">
<span>Título da tarefa</span>
<span><i class="fas fa-trash"></i></span>
<span><i class="fas fa-edit"></i></span>
</li>
<li class="task-item">
<span>Título da tarefa</span>
<span><i class="fas fa-trash"></i></i></span>
<span><i class="fas fa-edit"></i></span>
</li>
<li class="task-item">
<span>Título da tarefa</span>
<span>{{tarefa}}</span>
<span><i class="fas fa-trash"></i></span>
<span><i class="fas fa-edit"></i></span>
</li>
{% endfor %}
</ul>
</div>
{% endblock%}
35 changes: 35 additions & 0 deletions tasktracking/tasks/templates/tasks/tarefa/cadastrar_tarefa.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{% extends "base.html" %}

{% block titulo %}
<title>PWeb 2020.6 - Adicionar Tarefa</title>
{% endblock %}

{% block content %}
<div class="container">
<form method="post">
{% csrf_token %}

<table class="table table-sm table-responsive-sm">
{% for field in form_tarefa.visible_fields %}
<tr>
<th class="align-middle">
<label>{{ field.label_tag }}</label>
</th>
<td class="align-middle">{{ field }}
{% if field.help_text %}
<small style="color: grey">{{ field.help_text }}</small>
{% endif %}
{% for error in field.errors %}
<p style="color: red">{{ error }}</p>
{% endfor %}
</td>
</tr>
{% endfor %}
</table>

<div>
<input type="submit" value="Salvar">
</div>
</form>
</div>
{% endblock %}
1 change: 1 addition & 0 deletions tasktracking/tasks/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@

urlpatterns = [
path('', views.index, name='index'),
path('cadastrar_tarefa', views.cadastrar_tarefa, name='cadastrar_tarefa'),
]
24 changes: 23 additions & 1 deletion tasktracking/tasks/views.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,31 @@
from django.shortcuts import render
from django.http import request
from django.shortcuts import redirect, render
from tasks.forms import TarefaForm

from tasks.models import Tarefa

def index(request):
"""View function for home page of site."""

lista_tarefas = Tarefa.objects.all()

context = {
'lista_tarefas': lista_tarefas
}

return render(request, 'tasks/index.html', context=context)


def cadastrar_tarefa(request):
if request.method == 'POST':
form_tarefa = TarefaForm(request.POST)
if form_tarefa.is_valid():
form_tarefa.save()
return redirect('index')
else:
form_tarefa = TarefaForm()

context = {
'form_tarefa': form_tarefa
}
return render(request, 'tasks/tarefa/cadastrar_tarefa.html', context=context)