Skip to content

Commit

Permalink
Banco de dados e editar dados
Browse files Browse the repository at this point in the history
Recebimento de informações da página editar dados por meio de arquivo .json
  • Loading branch information
JAugusto-Moraes committed Nov 27, 2023
1 parent 6c05a8b commit 02343cd
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 119 deletions.
19 changes: 16 additions & 3 deletions inicial/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,19 @@ class Meta:
SEXO = [
("femininino", "Feminino"),
("masculino", "Masculino"),
("outro", "Outro"),
("na", "Não informado")
("na","Não informado")
]

TIPO_SANGUINIO = [
("A+","A+"),
("A-","A-"),
("B+","B+"),
("B-","B-"),
("AB+","AB+"),
("AB-","AB-"),
("O+","O+"),
("O-","O-"),
("na","Não informado")
]

usuario = models.OneToOneField(User,on_delete=models.CASCADE, primary_key=True)
Expand All @@ -117,4 +128,6 @@ class Meta:
profissao = models.CharField(max_length=200, null=False, blank=False, default="Não informada")
endereco = models.CharField(max_length=200, null=False, blank=False, default="Não informado")
telefone = models.CharField(max_length=20, null=False, blank=False, default="Não informado")
peso = models.DecimalField(max_digits=5, decimal_places=2, null=False, blank=False, default=0)
peso = models.DecimalField(max_digits=5, decimal_places=2, null=False, blank=False, default=0)
altura = models.DecimalField(max_digits=3, decimal_places=2, null=False, blank=False, default=0)
tipo_sanguineo = models.CharField(max_length=4, null=False, blank=False, default="na", choices=TIPO_SANGUINIO)
64 changes: 10 additions & 54 deletions inicial/static/js/editardados.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,40 +8,6 @@ var count7 = 0;
var count8 = 0;

$(document).ready(function(){
$("#btnPesquisar").click(function(){
$("#top-bar1").toggle("fast");
$("#top-bar2").hide("fast");
$("#top-bar3").hide("fast");
$("#fechar_aba").show("fast");
});
$("#locais_de_atendimento").click(function(){
$("#top-bar2").toggle("fast");
$("#top-bar1").hide();
$("#top-bar3").hide();
$("#fechar_aba").show("fast");
});
$("#outras_duvidas").click(function(){
$("#top-bar3").toggle("fast");
$("#top-bar1").hide();
$("#top-bar2").hide();
$("#fechar_aba").show("fast");
});
$("#fechar_aba").click(function(){
$("#top-bar1").hide();
$("#top-bar2").hide();
$("#top-bar3").hide();
});
$(".voltar").click(function(){
$("#top-bar1").show();
$("#top-bar2").hide();
$("#top-bar3").hide();
$("#fechar_aba").show("fast");
});
$(".login_box").click(function(){
$("#top-bar1").hide();
$("#top-bar2").hide();
$("#top-bar3").hide();
});
$("#sim1").click(function(){
$("#answer1").addClass("on");
});
Expand Down Expand Up @@ -277,27 +243,16 @@ $(document).ready(function(){
$(this).parents('.inner_med_sp').remove();
});

$("#submit").click(function(){
$("#submit2").show();
});


//Evitar que a página recarregue quando o usuário submeter o formulário;
$(document).on('submit', '#form', function() {
// do your things
/*$(document).on('submit', '#form', function() {
return false;
});
});*/
});

$(window).scroll(function() {
if ($(this).scrollTop() > 1){
$("#top-bar1").addClass("fixed");
$("#top-bar2").addClass("fixed");
$("#top-bar3").addClass("fixed");
}
else{
$("#top-bar1").removeClass("fixed");
$("#top-bar2").removeClass("fixed");
$("#top-bar3").removeClass("fixed");
}
});

//Função JQuery para converter valores de inputs para objetos json.
$.fn.serializeObject = function(){
var o = {};
Expand All @@ -316,9 +271,10 @@ $(document).ready(function(){
};

$(function() {
$('form').submit(function() {
$('#result').text(JSON.stringify($('form').serializeObject()));
return false;
$('#submit').click(function() {
$('#result').val()
$('#result').val(JSON.stringify($('form').serializeObject()));
return false;
});
});

Expand Down
7 changes: 5 additions & 2 deletions inicial/static/styles/meusdados.css
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ input[type=datetime-local]{
#nome, #sexo, #endereco, #telefone, #e-mail, #peso, #altura, #tp_sanguineo, #freq1, #freq2, #resp1, #resp2, #num_internacoes, #motivos_internacao, .grau_parentesco, .condicao_familiar, .nome_med_cp, .nome_med_sp, .freq_med_cp, .freq_med_sp{
margin-left: 5px;
}
#btn_editar_dados, #submit{
#btn_editar_dados, #submit, #submit2{
font-size: 20px;
font-weight: 500;
background-color: #577bff89;
Expand All @@ -243,7 +243,10 @@ input[type=datetime-local]{
box-shadow: 1px 1px 4px 0px gray;
margin-top: 10px;
}
#btn_editar_dados:hover, #submit:hover{
#submit2{
display: none;
}
#btn_editar_dados:hover, #submit:hover, #submit2:hover{
cursor: pointer;
background-color: #577CFF;
}
Expand Down
1 change: 1 addition & 0 deletions inicial/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,5 @@
path("perfil/avaliacoes/", pesquisar_avaliacoes, name="pesquisar_avaliacoes"),
path("perfil/avaliacoes/<int:avaliacao_id>", avaliacao_completa, name="avaliacao_completa"),
path("perfil/meus_dados", meus_dados, name="meus_dados"),
path("perfil/editar_dados", editar_dados, name="editar_dados")
]
20 changes: 19 additions & 1 deletion inicial/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.models import User
from django.contrib.auth.tokens import PasswordResetTokenGenerator
from django.views.decorators.csrf import csrf_exempt
from datetime import datetime
import json
from setup import settings
from .models import *
from .forms import *
Expand Down Expand Up @@ -270,4 +272,20 @@ def meus_dados(request):
filter_form = FilterForms()
context = {"buscar": buscar2, "filter":filter_form}

return render(request, "inicial/meusdados.html", context)
return render(request, "inicial/meusdados.html", context)

def editar_dados(request):
if not request.user.is_authenticated:
messages.error(request, "Realize login para visualizar seus dados")
return redirect("index")

if request.method == "POST":
dados = json.loads(request.POST["dados"])
dados.pop("dados")
print(dados)

buscar2 = BuscarForms()
filter_form = FilterForms()
context = {"buscar": buscar2, "filter":filter_form}

return render(request, "inicial/editardados.html", context)
87 changes: 29 additions & 58 deletions templates/inicial/editardados.html
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
{% load static %}

<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Perfil - Meus dados | MedConnect</title>
<link rel="shortcut icon" href="../../img/favicon_io/favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="estilo/header_e_footer.css">
<link rel="stylesheet" href="estilo/meusdados.css">
<link rel="stylesheet" href="{% static "styles/header_e_footer.css"%}">
<link rel="stylesheet" href="{% static "styles/meusdados.css"%}">
<link rel="stylesheet" href="{% static "styles/FazerLogin.css"%}">
<link rel="stylesheet" href="https://unicons.iconscout.com/release/v4.0.0/css/line.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,[email protected],100..700,0..1,-50..200" />
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" />
<style>
.material-symbols-outlined {
font-variation-settings:
Expand All @@ -24,69 +28,33 @@
</style>
<script src="https://code.jquery.com/jquery-2.2.1.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script>

</script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>
<script src="{% static "js/select.js" %}"></script>
<script src="{% static "js/login.js" %}"></script>
<script src="{% static "js/barra_pesquisa.js"%}"></script>
<script src="{% static "js/login_popup.js"%}"></script>
</head>
<body>
<!-- MENU SUPERIOR -->
<header>
<div id="logotipo">
<img id="icone" src="../../img/estetoscopio32px.png" alt="MedConnect logo." />
<span id="titulo">MedConnect</span>
</div>
<nav>
<a href="../Página inicial/index .html" rel="prev" target="_self">INÍCIO</a>
<span class="divisor">|</span>
<a href="../Página - Locais de atendimento/locaisdeatendimento.html" target="_self" style="font-weight: 650;">LOCAIS DE ATENDIMENTO</a>
<span class="divisor">|</span>
<a href="area_do_paciente.html" target="_self">PRÉ-TRIAGEM</a>
<!--<a href="area_do_colaborador.html" target="_self">ÁREA DO COLABORADOR</a>-->
<span class="divisor">|</span>
<a href="../Página - Dúvidas frequentes/duvidas_frequentes.html" target="_self">DÚVIDAS FREQUENTES</a>
<!-- 'target="_self"': continua na mesma aba. -->
</nav>
<button id="btnPesquisar">
<p style="font-size: 15px; font-weight: 500; margin-right: 7px;">PESQUISAR</p>
<span class="material-symbols-outlined" style="color: black; font-size: 25px;">search</span>
</button>
<button type="button" class="login_box">
<span style="font-size: 11px;">JOSEFO ALENCAR</span>
<span class="material-symbols-outlined">account_circle</span>
</button>
<!--</a>-->

<div class="content_account">
<button><p style="font-size: 11px; padding: 9px 0;">MEUS DADOS</p></button>
<button><p style="font-size: 11px; padding: 9px 0;">MINHAS AVALIAÇÕES</p></button>
<button style="border-radius: 0px 0px 20px 20px;"><p style="font-size: 11px; padding: 9px 0;">SAIR DO PERFIL</p></button>
</div>

</header>
<section id="pesquisa">
<div id="top-bar1" style="display: none;">
<span>Selecione o tipo de pesquisa:</span>
<a href="../Página - Locais de atendimento/locaisdeatendimento.html" target="_self"><button id="locais_de_atendimento">Locais de atendimento</button></a>
<a href="../Página - Dúvidas frequentes/duvidas_frequentes.html" target="_self"><button id="outras_duvidas">Outras dúvidas</button></a>
<button id="fechar_aba" style="display: none;"><span class="material-symbols-outlined" style="font-size: 25px; height: 20px;">close</span></button>
</div>
</section>
{% include "inicial/partials/_login.html" %}
{% include "inicial/partials/_header.html" %}
<main>
<div id="title">
<a href="../Página - Meus dados/meusdados.html"><i class="uil uil-angle-down"></i></a>
<a href="{% url "meus_dados" %}"><i class="uil uil-angle-down"></i></a>
<h1>MEUS DADOS</h1>
</div>
<hr/>
<span id="aviso">*Os dados informados não são obrigatórios. Podem ajudar no entendimento de seu caso de saúde.</span>
<form id="form">
<form method="POST" id="form" action="{% url "editar_dados" %}">
{% csrf_token %}
<div class="general_container">
<div class="group">
<span>Nome completo:</span>
<input type="text" placeholder="Insira aqui seu nome completo">
<input name="nome" type="text" placeholder="Insira aqui seu nome completo">
</div>
<div class="group">
<span>Idade:</span>
<input type="number" id="idade">
<input name="idade" type="number" id="idade">
</div>
<div class="group">
<span>Sexo:</span>
Expand All @@ -103,13 +71,13 @@ <h1>MEUS DADOS</h1>
<label for="feminino">Feminino</label>-->
<div class="group">
<span id="profissao"><span style="color: black;">Profissão:</span>
<input type="text" placeholder="Informe sua profissão">
<input name="profissao" type="text" placeholder="Informe sua profissão">
<span id="informe_profissao">Ao informar sua profissão/ocupação, você permite que o contexto em que vive seja melhor compreendido, possibilitando uma percepção mais adequada à sua situação de saúde.</span>
</span>
</div>
<div class="group">
<span>Endereço:</span>
<input type="text" placeholder="Caso deseje, informe seu endereço">
<input name="endereco" type="text" placeholder="Caso deseje, informe seu endereço">
</div>
<div class="group">
<span>Contato:</span>
Expand All @@ -119,10 +87,10 @@ <h1>MEUS DADOS</h1>
<span>Telefone:</span>
<input type="tel" name="telefone" placeholder="Insira seu n° de telefone">
</div>
<div class="group">
<!--<div class="group">
<span>E-mail:</span>
<input type="email" name="e-mail" placeholder="Insira seu email">
</div>
<input type="email" name="email" placeholder="Insira seu email">
</div>-->
</div>
</div>
</div>
Expand Down Expand Up @@ -483,21 +451,24 @@ <h3>USO DE MEDICAMENTOS</h3>
</div>
</div>
</div>

<!-- <h3>(Resultados de exames)**</h3>
<span>Aqui é possível anexar exames para serem consultados em caso de necessidade. Não dee ser o local primordial de consulta.</span> -->

<!--<div><a href=""><button>EDITAR DADOS</button></a></div>-->

<div>
<input type="submit" id="submit">
<input type="hidden" id="result" value="" name="dados">
<button id="submit">Salvar</button>
<input type="submit" id="submit2">
</div>
</form>
<pre id="result"></pre>
<!--<pre id="result"></pre>-->
</main>
<footer>
<p>©2023, MedConnect.</p>
<p>Verde Pântano - Desenvolvimento de Sotfware, 2023/2.</p>
</footer>
<script src="js/editardados.js"></script>
<script src="{% static "js/editardados.js"%}"></script>
</body>
</html>
2 changes: 1 addition & 1 deletion templates/inicial/meusdados.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
<!-- <div id="dados_gerais"> -->
<h1>MEUS DADOS
<div id="editar_dados">
<a href="../Página - Editar dados/editardados.html">
<a href="{% url "editar_dados" %}">
<button id="btn_editar_dados">EDITAR DADOS</button>
</a>
</div>
Expand Down

0 comments on commit 02343cd

Please sign in to comment.