troca de senha no primeiro acesso

This commit is contained in:
Reginaldo
2023-06-30 17:51:05 -03:00
parent 89ea739eea
commit 2c42e54d59

View File

@@ -2,6 +2,7 @@ import 'dart:convert';
import 'package:brasil_fields/brasil_fields.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:intl/intl.dart';
import 'package:rkm_educa_app/Telas/tela_situacao_escolar.dart';
import 'package:rkm_educa_app/modelos/estudante_modelo.dart';
import 'package:rkm_educa_app/telas/tela_seleciona_filho.dart';
@@ -24,10 +25,14 @@ class TelaLogin extends StatefulWidget {
class _TelaLoginState extends State<TelaLogin> {
final inputLogin = TextEditingController(text: '402.061.058-43');
final inputSenha = TextEditingController(text: 'loginapp2023');
final inputSenha = TextEditingController();
final inputRepetirSenha = TextEditingController();
bool loading = false;
bool alterarSenha = false;
String tituloSenha = 'Senha';
EstudanteModelo? estudanteModelo;
String status = 'VALIDANDO ACESSO...';
var map;
verificacao(){
if(inputLogin.text.isNotEmpty){
@@ -44,32 +49,97 @@ class _TelaLoginState extends State<TelaLogin> {
}
}
salvarSenha()async{
if(inputLogin.text.isNotEmpty && inputSenha.text.isNotEmpty && inputRepetirSenha.text.isNotEmpty){
if(inputLogin.text.replaceAll('-', '').replaceAll('.', '') != inputSenha.text
&& inputLogin.text.replaceAll('-', '').replaceAll('.', '') != inputRepetirSenha.text){
if(inputSenha.text == inputRepetirSenha.text){
if(inputSenha.text.length >5){
loading = true;
alterarSenha = false;
status = 'ALTERANDO SENHA ...';
setState(() {});
final url = 'http://192.168.18.2:8000/inserirpais';
final response = await http.post(
Uri.parse(url),
body:{
'CD_ALUNO' : map['CD_ALUNO'],
'ALUNO': map['ALUNO'],
'CPF': map['CPF'],
'NOME' : map['NOME'],
'SENHA' : inputSenha.text,
'PARENTESCO' : map['PARENTESCO'],
'DATA_CADASTRO' : DateFormat('dd/MM/yyyy HH:mm').format(DateTime.now()),
'CONDICAO' : 'EDITADO',
'CIDADE' : map['CIDADE']
}
);
showSnackBar(context, 'Senha Alterada com Sucesso!'.toString().toUpperCase(), Colors.green);
loading = false;
alterarSenha = false;
inputSenha.clear();
inputRepetirSenha.clear();
tituloSenha = 'Senha';
setState(() {});
}else{
showSnackBar(context, 'Mínimo deve conter 6 caracteres', Colors.red);
}
}else{
showSnackBar(context, 'Novas senhas não são iguais', Colors.red);
}
}else{
showSnackBar(context, 'Nova senha não pode ser igual a anterior', Colors.red);
}
}else{
showSnackBar(context, 'Preencha todos os campos para avançar', Colors.red);
}
}
conectAPI(String cpf, String senha)async{
final PrefService _prefService = PrefService();
final url = 'http://192.168.18.2:8000/loginpais?CPF=$cpf';
print(url);
final response = await http.get(Uri.parse(url));
var map = json.decode(response.body);
// print(map);
map = json.decode(response.body);
print(map);
if(map==false){
setState(() {
loading = false;
});
showSnackBar(context, 'Login não cadastrado e/ou senha incorreta', Colors.red);
}else{
if(map['CPF']==cpf && map['SENHA'].toString().toUpperCase()==senha){
setState(() {
status = 'CARREGANDO ESTUDANTE(S) ...';
});
showSnackBar(context, 'Acesso validado', Colors.green);
final PrefService _prefService = PrefService();
_prefService.createCacheLogin(map['CPF'], map['SENHA']).then((value){
buscaFilhos(map['NOME'],map['PARENTESCO'],map['CIDADE']);
});
if(map['CONDICAO']!='BLOQUEADO'){
if(map['CPF'].toString().replaceAll('-', '').replaceAll('.', '')!= map['SENHA']){
if(map['CPF']==cpf && map['SENHA'].toString().toUpperCase()==senha){
setState(() {
status = 'CARREGANDO ESTUDANTE(S) ...';
});
showSnackBar(context, 'Acesso validado', Colors.green);
_prefService.createCacheLogin(map['CPF'], map['SENHA']).then((value){
buscaFilhos(map['NOME'],map['PARENTESCO'],map['CIDADE']);
});
}else{
setState(() {
loading = false;
});
_prefService.removeCacheLogin();
showSnackBar(context, 'Login não cadastrado e/ou senha incorreta', Colors.red);
}
}else{
alterarSenha = true;
loading = false;
inputSenha.clear();
tituloSenha = 'Senha Nova';
setState(() {});
showSnackBar(context, 'Altere sua senha para continuar', Colors.red);
}
}else{
setState(() {
loading = false;
});
showSnackBar(context, 'Login não cadastrado e/ou senha incorreta', Colors.red);
showSnackBar(context, 'Seu acesso não está liberado', Colors.red);
}
}
}
@@ -163,7 +233,18 @@ class _TelaLoginState extends State<TelaLogin> {
child: InputText(
inputFormatters: [],
controller: inputSenha,
title: 'Senha',
title: tituloSenha,
obscure: true,
width: Dimensoes.width>900? Dimensoes.width * 0.18:Dimensoes.width*0.7,
colorBorder: PaletaCores.branco,
),
),
!alterarSenha?Container():Container(
width: Dimensoes.width>900? Dimensoes.width * 0.18:Dimensoes.width*0.7,
child: InputText(
inputFormatters: [],
controller: inputRepetirSenha,
title: 'Repetir Nova senha',
obscure: true,
width: Dimensoes.width>900? Dimensoes.width * 0.18:Dimensoes.width*0.7,
colorBorder: PaletaCores.branco,
@@ -180,12 +261,12 @@ class _TelaLoginState extends State<TelaLogin> {
):ButtonCustom(
widthCustom: 0.7,
heightCustom: 0.07,
text: "Entrar",
text: alterarSenha?'Alterar Senha':"Entrar",
size: 14.0,
colorText: PaletaCores.branco,
colorButton: PaletaCores.corPrimaria,
colorBorder: PaletaCores.corPrimaria,
onPressed: ()=>verificacao(),
onPressed: ()=>alterarSenha?salvarSenha():verificacao(),
),
],
),