From 68fc17890d39df5795833bf635b1889c6cd6d124 Mon Sep 17 00:00:00 2001 From: "J. A. Messias" Date: Mon, 16 Sep 2024 08:42:56 -0300 Subject: [PATCH] WIP --- lib/pages/pets_page/pets_page_model.dart | 21 +++++++++++++++++++-- lib/pages/pets_page/pets_page_widget.dart | 8 ++++---- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/lib/pages/pets_page/pets_page_model.dart b/lib/pages/pets_page/pets_page_model.dart index 053bef83..2733e2f2 100644 --- a/lib/pages/pets_page/pets_page_model.dart +++ b/lib/pages/pets_page/pets_page_model.dart @@ -13,6 +13,8 @@ class PetsPageModel extends FlutterFlowModel { late final TabController tabBarController; VoidCallback? onUpdatePet; VoidCallback? onRegisterPet; + final GlobalKey registerFormKey = GlobalKey(); + final GlobalKey updateFormKey = GlobalKey(); ApiCallResponse? petsResponse; int? petId; @@ -234,8 +236,22 @@ class PetsPageModel extends FlutterFlowModel { ) .then((response) { if (response.jsonBody['error'] == true) { - DialogUtil.error(buildContext!, - jsonDecode(response.jsonBody['error_msg'])[0]['message']); + String errorMessage = ''; + try { + errorMessage = jsonDecode(response.jsonBody['error_msg'])[0] + ['message'] + .toString(); + } catch (e) { + errorMessage = 'An error occurred.'; + if (response.jsonBody['error_msg'] == + "Limite de Cadastro de Pet Atingido.") { + errorMessage = FFLocalizations.of(buildContext!).getVariableText( + enText: 'Pet registration limit reached', + ptText: 'Limite de cadastro de pets atingido', + ); + } + } + DialogUtil.error(buildContext!, errorMessage); } else if (response.jsonBody['error'] == false) { DialogUtil.success( buildContext!, @@ -265,6 +281,7 @@ class PetsPageModel extends FlutterFlowModel { void clearFields() { uploadedLocalFile = null; + textControllerName?.clear(); textControllerName?.clear(); textControllerSpecies?.clear(); textControllerRace?.clear(); diff --git a/lib/pages/pets_page/pets_page_widget.dart b/lib/pages/pets_page/pets_page_widget.dart index 60e962b0..cfd74b21 100644 --- a/lib/pages/pets_page/pets_page_widget.dart +++ b/lib/pages/pets_page/pets_page_widget.dart @@ -51,7 +51,6 @@ class PetsPageWidget extends StatefulWidget { class _PetsPageWidgetState extends State with SingleTickerProviderStateMixin { late PetsPageModel _model; - final _formKey = GlobalKey(); @override void initState() { @@ -61,12 +60,13 @@ class _PetsPageWidgetState extends State _model.onUpdatePet = () { safeSetState(() { _model.clearFields(); - // _formKey.currentState?.reset(); + _model.updateFormKey.currentState?.reset(); }); }; _model.onRegisterPet = () { safeSetState(() { _model.clearFields(); + _model.registerFormKey.currentState?.reset(); }); }; @@ -207,7 +207,7 @@ class _PetsPageWidgetState extends State ), ), Form( - key: _formKey, + key: _model.registerFormKey, autovalidateMode: AutovalidateMode.onUserInteraction, child: Column( mainAxisSize: MainAxisSize.max, @@ -665,7 +665,7 @@ class _PetsPageWidgetState extends State ), ), Form( - key: _formKey, + key: _model.updateFormKey, autovalidateMode: AutovalidateMode.onUserInteraction, child: Column( mainAxisSize: MainAxisSize.max,