update y componente drawer
This commit is contained in:
@@ -78,6 +78,7 @@ class ProfessionalProfileScreenState extends State<ProfessionalProfileScreen> {
|
||||
setState(() {
|
||||
imagen_to_upload = File(imagen[0]!.path);
|
||||
});
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
),
|
||||
Divider(color: Colors.black54),
|
||||
@@ -92,6 +93,7 @@ class ProfessionalProfileScreenState extends State<ProfessionalProfileScreen> {
|
||||
setState(() {
|
||||
imagen_to_upload = File(imagen[0]!.path);
|
||||
});
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
),
|
||||
],
|
||||
@@ -121,6 +123,7 @@ class ProfessionalProfileScreenState extends State<ProfessionalProfileScreen> {
|
||||
setState(() {
|
||||
image_cedula = File(imagen[0]!.path);
|
||||
});
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
),
|
||||
Divider(color: Colors.black54),
|
||||
@@ -135,6 +138,7 @@ class ProfessionalProfileScreenState extends State<ProfessionalProfileScreen> {
|
||||
setState(() {
|
||||
image_cedula = File(imagen[0]!.path);
|
||||
});
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
),
|
||||
],
|
||||
@@ -164,6 +168,7 @@ class ProfessionalProfileScreenState extends State<ProfessionalProfileScreen> {
|
||||
setState(() {
|
||||
image_certificado = File(imagen[0]!.path);
|
||||
});
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
),
|
||||
Divider(color: Colors.black54),
|
||||
@@ -178,6 +183,7 @@ class ProfessionalProfileScreenState extends State<ProfessionalProfileScreen> {
|
||||
setState(() {
|
||||
image_certificado = File(imagen[0]!.path);
|
||||
});
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
),
|
||||
],
|
||||
@@ -307,65 +313,50 @@ class ProfessionalProfileScreenState extends State<ProfessionalProfileScreen> {
|
||||
}
|
||||
|
||||
Future<void> sendInfo() async {
|
||||
final currentUser = _auth.currentUser;
|
||||
|
||||
String cedula = _cedulaController.text.trim();
|
||||
|
||||
String especializacion = _especializacionController.text.trim();
|
||||
List<String> especializaciones =
|
||||
especializacion.split(',').map((element) => element.trim()).toList();
|
||||
final String cedula = _cedulaController.text.trim();
|
||||
final String especializacion = _especializacionController.text.trim();
|
||||
final List<String> especializaciones =
|
||||
especializacion.split(',').map((e) => e.trim()).toList();
|
||||
|
||||
if (cedula.isEmpty) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('Ingrese una cedula válida')),
|
||||
);
|
||||
return;
|
||||
} else {
|
||||
try {
|
||||
FirebaseFirestore.instance.collection('users').doc(uid).update({
|
||||
'cedula': cedula,
|
||||
'estado': 'revision',
|
||||
});
|
||||
|
||||
print('cedula actualizado correctamente');
|
||||
} catch (e) {
|
||||
print('Error al actualizar la cedula: $e');
|
||||
}
|
||||
}
|
||||
|
||||
if (especializacion.isNotEmpty) {
|
||||
try {
|
||||
FirebaseFirestore.instance
|
||||
.collection('users')
|
||||
.doc(uid)
|
||||
.update({'especializaciones': especializaciones});
|
||||
|
||||
FirebaseFirestore.instance.collection('users').doc(uid).update({
|
||||
'estado': 'revision',
|
||||
});
|
||||
print('especializaciones agregadas correctamente');
|
||||
} catch (e) {
|
||||
print('Error al cargar las especializaciones: $e');
|
||||
}
|
||||
} else {
|
||||
showSnackBar('Ingrese una cedula válida');
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
if (imagen_to_upload == null) {
|
||||
return;
|
||||
} else {
|
||||
final uploaded = await uploadImage(imagen_to_upload!);
|
||||
updateImage(photoTemp);
|
||||
//image
|
||||
}
|
||||
} catch (e) {
|
||||
print('Error al actualizar la imagen de perfil $e');
|
||||
if (image_cedula == null) {
|
||||
showSnackBar('Ingrese la imagen de la cedula');
|
||||
return;
|
||||
}
|
||||
|
||||
uploadEspecializaciones(images_especializacion);
|
||||
if (image_certificado == null) {
|
||||
showSnackBar('Ingrese la imagen de su certificado');
|
||||
return;
|
||||
}
|
||||
|
||||
// Actualiza los datos del usuario en Firestore
|
||||
await FirebaseFirestore.instance.collection('users').doc(uid).update({
|
||||
'cedula': cedula,
|
||||
'estado': 'revision',
|
||||
'especializaciones': especializaciones
|
||||
});
|
||||
|
||||
// Sube las imágenes al storage de Firebase
|
||||
uploadCedula(image_cedula!);
|
||||
uploadCertificado(image_certificado!);
|
||||
uploadEspecializaciones(images_especializacion);
|
||||
|
||||
// Actualiza la imagen de perfil si hay cambios
|
||||
if (imagen_to_upload != null) {
|
||||
updateImage(photoTemp);
|
||||
}
|
||||
|
||||
// Navega a la siguiente pantalla
|
||||
Navigator.pushReplacementNamed(context, '/solicitudEnviada');
|
||||
}
|
||||
|
||||
void showSnackBar(String message) {
|
||||
ScaffoldMessenger.of(context)
|
||||
.showSnackBar(SnackBar(content: Text(message)));
|
||||
}
|
||||
|
||||
Future<Widget> downloadImage(Reference ref) async {
|
||||
@@ -500,6 +491,7 @@ class ProfessionalProfileScreenState extends State<ProfessionalProfileScreen> {
|
||||
: ReferencePhoto(
|
||||
ref: storage.ref().child(_photo),
|
||||
size: 100,
|
||||
sizeCircle: 100,
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -661,8 +653,6 @@ class ProfessionalProfileScreenState extends State<ProfessionalProfileScreen> {
|
||||
child: ElevatedButton(
|
||||
onPressed: () {
|
||||
sendInfo();
|
||||
Navigator.pushReplacementNamed(
|
||||
context, '/solicitudEnviada');
|
||||
},
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
|
||||
Reference in New Issue
Block a user