Skip to content

Commit

Permalink
Refatorando a listagem de discilplinas para inscrição
Browse files Browse the repository at this point in the history
  • Loading branch information
matheushpr9 committed Jun 14, 2024
1 parent afe7cee commit 4a04274
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 16 deletions.
19 changes: 19 additions & 0 deletions gestaoacademica/static/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -144,3 +144,22 @@ form > * > input {
padding: .75rem;
background-color: var(--fill-primary-disabled);
}

.div-diciplinas-info{
width: 100%;
}
.diciplinas-info{
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-around;
background-color: whitesmoke;
color: black;
padding: 10px;
border-radius: 10px;
}

.diciplinas-info div{
display: flex;
flex-direction: row;
}
31 changes: 18 additions & 13 deletions gestaoacademica/templates/disciplinas/list.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,15 @@
{% csrf_token %}
{% for oferta_disciplina in object_list %}
<div class="card">

<header>
<input id="oferta-disciplina={{oferta_disciplina.id}}" type="checkbox" name="oferta-disciplina" value="{{ oferta_disciplina.id }}"/>

{% if oferta_disciplina in diciplinasInscritas %}
<p>Já inscrito</p>
{% else %}
<input id="oferta-disciplina={{oferta_disciplina.id}}" type="checkbox" name="oferta-disciplina" value="{{ oferta_disciplina.id }}"/>
{% endif %}

<label for="oferta-disciplina={{oferta_disciplina.id}}">{{ oferta_disciplina.disciplina.nome }}</label>
</header>
<ul class="card_list">
Expand All @@ -28,20 +35,18 @@
{% endfor %}
<button type="submit" class="button">Salvar</button>
</form>
<div>
<h3>Incrições Realizadas x de 3</h3>
<div>
<div>
<div>
<p>Matéria (disciplina + Professor)</p>
</div>
{% if diciplinasInscritas %}
<div class="div-diciplinas-info">
<h3>Incrições Realizadas {{len_diciplinasInscritas}} de 3</h3>
<div class="diciplinas-info">

{% for disciplina in diciplinasInscritas %}
<div>
<p>horario</p>
<p>{{disciplina.disciplina.nome}} ({{disciplina.professor.nome}} {{disciplina.professor.sobrenome}}) : {{disciplina.diaDaSemana}} {{disciplina.horarioInicio}} - {{disciplina.horarioFim}}</p>
</div>

{% endfor %}
</div>
{% for disciplina in diciplinasInscritas %}
<p>{{disciplina.ofertaDisciplina.professor }}</p>
{% endfor %}
</div>
</div>
{% endif %}
{% endblock %}
10 changes: 7 additions & 3 deletions gestaoacademica/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,8 @@ def get_context_data(self, **kwargs):
aluno = Aluno.objects.filter(user=self.request.user).first()
diciplinasInscritas = Participacao.objects.filter(aluno=aluno)
context['aluno'] = aluno
context['diciplinasInscritas'] = diciplinasInscritas
context['diciplinasInscritas'] = [disciplina.ofertaDisciplina for disciplina in diciplinasInscritas]
context['len_diciplinasInscritas'] = len(context['diciplinasInscritas'])
return context

class ParticipacaoCreateView(LoginRequiredMixin, CommonContextMixin, CreateView):
Expand All @@ -73,15 +74,18 @@ class ParticipacaoCreateView(LoginRequiredMixin, CommonContextMixin, CreateView)

def post(self, request, *args, **kwargs):
oferta_ids_list = request.POST.getlist("oferta-disciplina")
user = User.objects.filter(email=request.user).first()
aluno = Aluno.objects.filter(user=user).first()
aluno = Aluno.objects.filter(user=self.request.user).first()
dia_horarios = []

if len(oferta_ids_list) > 3:
messages.error(request, "Créditos excedidos, máximo 3")
return HttpResponseRedirect(self.failed_url)

for oferta_id in oferta_ids_list:
if Participacao.objects.filter(aluno = aluno).count() >= 3:
messages.error(request, "Créditos excedidos, máximo 3")
return HttpResponseRedirect(self.failed_url)

oferta_disciplina = OfertaDisciplina.objects.filter(pk=oferta_id).first()
oferta_dia_horario = (
f"{oferta_disciplina.diaDaSemana}-{oferta_disciplina.horarioInicio}"
Expand Down

0 comments on commit 4a04274

Please sign in to comment.