Curso Flutter y Laravel App de Turismo
Implementación de un panel de administración para empresa
Desarrollo de la pantalla y funciones para gestionar información respecto del usuario de tipo empresa, acceso a los métodos CRUD
Desarrollo de la pantalla y funciones para gestionar información respecto del usuario de tipo empresa, acceso a los métodos CRUD
import 'dart:convert';
import 'package:app/basededatos/DBmanager.dart';
import 'package:app/pantallas/pantallaAdminAgregar.dart';
import 'package:app/pantallas/pantallaAdminEditar.dart';
import 'package:app/pantallas/pantallaRutas.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:app/api/Api.dart';
import 'package:flutter/material.dart';
var basededatos = new DBmanager();
class pantallaAdmin extends StatefulWidget {
@override
_pantallaAdminState createState() => _pantallaAdminState();
}
class _pantallaAdminState extends State<pantallaAdmin> {
var user_id = 0;
void _verificarUsuario() async {
SharedPreferences preferencia = await SharedPreferences.getInstance();
var user = json.decode(preferencia.getString("user"));
if (user) {
setState(() {
user_id = user['id'];
});
} else {
Navigator.of(context).pushReplacement(
MaterialPageRoute(builder: (BuildContext) => pantallaRutas()));
}
}
@override
void initState() {
// TODO: implement initState
_verificarUsuario();
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Administración"),
actions: [
IconButton(
icon: Icon(Icons.input),
onPressed: () {
_logout();
})
],
),
body: Container(
child: user_id != 0
? FutureBuilder(
future: basededatos
.obtenerEmpresas(" user_id=" + user_id.toString()),
builder: (c, s) {
if ((s.hasData) && (s.data.length > 0)) {
return ListView.builder(
itemCount: s.data != null ? 0 : s.data.length,
itemBuilder: (_c, _i) {
return Row(
children: [
Text(s.data[_i].razonsocial),
RaisedButton(
onPressed: () {
Navigator.of(context).push(MaterialPageRoute(
builder: (BuildContext) =>
pantallaAdminEditar()));
},
child: Text("EDITAR"),
),
RaisedButton(
onPressed: () {},
child: Text("ELIMINAR"),
)
],
);
});
} else {
return Center(child: Text("No tienes empresa"));
}
})
: Center(child: Text("No tienes empresas")),
),
floatingActionButton: FloatingActionButton.extended(
onPressed: () {
Navigator.of(context).push(MaterialPageRoute(
builder: (BuildContext) => pantallaAdminAgregar()));
},
label: Text("AGREGAR")),
);
}
void _logout() async {
var respuesta = await Api().logout("logout");
var contenido = json.decode(respuesta.body);
if (contenido['success']) {
SharedPreferences logout = await SharedPreferences.getInstance();
logout.remove("token");
logout.remove("user");
print("logout");
//
Navigator.of(context).pushReplacement(
MaterialPageRoute(builder: (BuildContext) => pantallaRutas()));
} else {
print(contenido['mensaje']);
}
}
}
1084 visitas
« Capítulo 31 – Proceso de Login - Logout
Capítulo 33 – CRUD Insertar una Empresa »
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023