troca de senha no primeiro acesso
This commit is contained in:
@@ -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(),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user