diff --git a/lib/screens/addCam/add_cam_main.dart b/lib/screens/addCam/add_cam_main.dart index 2051b3f..dc888c8 100644 --- a/lib/screens/addCam/add_cam_main.dart +++ b/lib/screens/addCam/add_cam_main.dart @@ -35,30 +35,7 @@ class AddCamMain extends StatefulWidget { class _AddCamMainState extends State { // var declaration int currentStep = 0; - // bool isTemplate = false; - // TextEditingController cid = TextEditingController(); - // TextEditingController rudelC = TextEditingController(); - // TextEditingController adresse1C = TextEditingController(); - // TextEditingController adresse2C = TextEditingController(); - // TextEditingController adresse3C = TextEditingController(); - // TextEditingController bLandC = TextEditingController(); - // TextEditingController lkrC = TextEditingController(); - // TextEditingController beiOrtC = TextEditingController(); - // TextEditingController ortInfoC = TextEditingController(); - // TextEditingController ffTypC = TextEditingController(); - // TextEditingController kSchloNrC = TextEditingController(); - // TextEditingController auftragC = TextEditingController(); - // TextEditingController kontAbspC = TextEditingController(); - // TextEditingController sonstBemC = TextEditingController(); - // TextEditingController fKontakt1C = TextEditingController(); - // TextEditingController fKontakt2C = TextEditingController(); - // TextEditingController fKontakt3C = TextEditingController(); - // TextEditingController standortC = TextEditingController(); - // TextEditingController kTage1C = TextEditingController(); - // TextEditingController kTage2C = TextEditingController(); - // TextEditingController intKommC = TextEditingController(); - // TextEditingController betreuungC = TextEditingController(); String selectedStatus = 'aktiv'; String selectedFotoFilm = 'Foto'; @@ -82,96 +59,146 @@ class _AddCamMainState extends State { DateTime? kontDat = DateTime.now(); DateTime? protoAm = DateTime.now(); - Map> rmap = { - // Step 1 - "Standort": { "controller": TextEditingController(), "required": true, }, - "Status": { "controller": TextEditingController(), "required": true, }, - "Betreuung": { "controller": TextEditingController(), "required": false, }, - "CID": { "controller": TextEditingController(), "required": true, }, - "FFTyp": { "controller": TextEditingController(), "required": true, }, - "MEZ": { "controller": TextEditingController(), "required": true, }, - "KSchloNr": { "controller": TextEditingController(), "required": false, }, - "Rudel": { "controller": TextEditingController(), "required": true, }, + Map> rmap = { + // Step 1 + "Standort": { + "controller": TextEditingController(), + "required": true, + }, + "Status": { + "controller": TextEditingController(), + "required": true, + }, + "Betreuung": { + "controller": TextEditingController(), + "required": false, + }, + "CID": { + "controller": TextEditingController(), + "required": true, + }, + "FFTyp": { + "controller": TextEditingController(), + "required": true, + }, + "MEZ": { + "controller": TextEditingController(), + "required": true, + }, + "KSchloNr": { + "controller": TextEditingController(), + "required": false, + }, + "Rudel": { + "controller": TextEditingController(), + "required": true, + }, - // Step 2 - "DECLNG": { "controller": TextEditingController(), "required": false, }, - "DECLAT": { "controller": TextEditingController(), "required": false, }, - "BLand": { "controller": TextEditingController(), "required": true, }, - "Lkr": { "controller": TextEditingController(), "required": true, }, - "BeiOrt": { "controller": TextEditingController(), "required": true, }, - "OrtInfo": { "controller": TextEditingController(), "required": false, }, - "Platzung": { "controller": TextEditingController(), "required": true, }, + // Step 2 + "DECLNG": { + "controller": TextEditingController(), + "required": false, + }, + "DECLAT": { + "controller": TextEditingController(), + "required": false, + }, + "BLand": { + "controller": TextEditingController(), + "required": true, + }, + "Lkr": { + "controller": TextEditingController(), + "required": true, + }, + "BeiOrt": { + "controller": TextEditingController(), + "required": true, + }, + "OrtInfo": { + "controller": TextEditingController(), + "required": false, + }, + "Platzung": { + "controller": TextEditingController(), + "required": true, + }, - // Step 3 - "Datum": { "controller": TextEditingController(), "required": false, }, - "KontDat": { "controller": TextEditingController(), "required": false, }, - "KTage1": { "controller": TextEditingController(), "required": true, }, - "KTage2": { "controller": TextEditingController(), "required": true, }, - "AbbauDat": { "controller": TextEditingController(), "required": false, }, - "Auftrag": { "controller": TextEditingController(), "required": false, }, - "KontAbsp": { "controller": TextEditingController(), "required": false, }, - "SonstBem": { "controller": TextEditingController(), "required": false, }, + // Step 3 + "Datum": { + "controller": TextEditingController(), + "required": false, + }, + "KontDat": { + "controller": TextEditingController(), + "required": false, + }, + "KTage1": { + "controller": TextEditingController(), + "required": true, + }, + "KTage2": { + "controller": TextEditingController(), + "required": true, + }, + "AbbauDat": { + "controller": TextEditingController(), + "required": false, + }, + "Auftrag": { + "controller": TextEditingController(), + "required": false, + }, + "KontAbsp": { + "controller": TextEditingController(), + "required": false, + }, + "SonstBem": { + "controller": TextEditingController(), + "required": false, + }, - // Step 4 - "Adresse1": { "controller": TextEditingController(), "required": true, }, - "Adresse2": { "controller": TextEditingController(), "required": false, }, - "Adresse3": { "controller": TextEditingController(), "required": false, }, - "FKontakt1": { "controller": TextEditingController(), "required": false, }, - "FKontakt2": { "controller": TextEditingController(), "required": false, }, - "FKontakt3": { "controller": TextEditingController(), "required": false, }, - "IntKomm": { "controller": TextEditingController(), "required": false, }, + // Step 4 + "Adresse1": { + "controller": TextEditingController(), + "required": true, + }, + "Adresse2": { + "controller": TextEditingController(), + "required": false, + }, + "Adresse3": { + "controller": TextEditingController(), + "required": false, + }, + "FKontakt1": { + "controller": TextEditingController(), + "required": false, + }, + "FKontakt2": { + "controller": TextEditingController(), + "required": false, + }, + "FKontakt3": { + "controller": TextEditingController(), + "required": false, + }, + "IntKomm": { + "controller": TextEditingController(), + "required": false, + }, - // Gone? - "ProtoAm": { "controller": TextEditingController(), "required": false, }, - "FotoFilm": { "controller": TextEditingController(), "required": false, }, - }; + // Gone? + "ProtoAm": { + "controller": TextEditingController(), + "required": false, + }, + "FotoFilm": { + "controller": TextEditingController(), + "required": false, + }, + }; - // Map> rmap { - // Map> rmap = { - // // Step 1 - // "Standort": { "controller": betreuungC, "required": true, }, - // "Status": { "controller": TextEditingController(), "required": true, }, - // "Betreuung": { "controller": TextEditingController(), "required": false, }, - // "CID": { "controller": TextEditingController(), "required": true, }, - // "FFTyp": { "controller": TextEditingController(), "required": true, }, - // "MEZ": { "controller": TextEditingController(), "required": true, }, - // "KSchloNr": { "controller": TextEditingController(), "required": false, }, - // "Rudel": { "controller": TextEditingController(), "required": true, }, - // - // // Step 2 - // "DECLNG": { "controller": TextEditingController(), "required": false, }, - // "DECLAT": { "controller": TextEditingController(), "required": false, }, - // "BLand": { "controller": TextEditingController(), "required": true, }, - // "Lkr": { "controller": TextEditingController(), "required": true, }, - // "BeiOrt": { "controller": TextEditingController(), "required": true, }, - // "OrtInfo": { "controller": TextEditingController(), "required": false, }, - // "Platzung": { "controller": TextEditingController(), "required": true, }, - // - // // Step 3 - // "Datum": { "controller": TextEditingController(), "required": false, }, - // "KontDat": { "controller": TextEditingController(), "required": false, }, - // "KTage1": { "controller": TextEditingController(), "required": true, }, - // "KTage2": { "controller": TextEditingController(), "required": true, }, - // "AbbauDat": { "controller": TextEditingController(), "required": false, }, - // "Auftrag": { "controller": TextEditingController(), "required": false, }, - // "KontAbsp": { "controller": TextEditingController(), "required": false, }, - // "SonstBem": { "controller": TextEditingController(), "required": false, }, - // - // // Step 4 - // "Adresse1": { "controller": TextEditingController(), "required": true, }, - // "Adresse2": { "controller": TextEditingController(), "required": false, }, - // "Adresse3": { "controller": TextEditingController(), "required": false, }, - // "FKontakt1": { "controller": TextEditingController(), "required": false, }, - // "FKontakt2": { "controller": TextEditingController(), "required": false, }, - // "FKontakt3": { "controller": TextEditingController(), "required": false, }, - // "IntKomm": { "controller": TextEditingController(), "required": false, }, - // - // // Gone? - // "ProtoAm": { "controller": TextEditingController(), "required": false, }, - // "FotoFilm": { "controller": TextEditingController(), "required": false, }, - // }; - // return rmap; - // } Map getFieldsText() { Map puff = {}; @@ -183,170 +210,53 @@ class _AddCamMainState extends State { return puff; } - // Map getPlace() { - // Map place = { - // 'ID': widget.existingData?['ID'], - // 'CID': cid.text, - // 'Rudel': rudelC.text, - // 'Datum': datum.toString().split(" ").first, - // 'Adresse1': adresse1C.text, - // 'Adresse2': adresse2C.text, - // 'Adresse3': adresse3C.text, - // 'BLand': bLandC.text, - // 'Lkr': lkrC.text, - // 'BeiOrt': beiOrtC.text, - // 'OrtInfo': ortInfoC.text, - // 'Status': selectedStatus, - // 'FFTyp': ffTypC.text, - // 'FotoFilm': selectedFotoFilm, - // 'MEZ': selectedMEZ, - // 'Platzung': selectedPlatzung, - // 'KSchloNr': kSchloNrC.text, - // 'KontDat': kontDat.toString().split(" ").first, - // 'AbbauDat': abbauDat.toString().split(" ").first.replaceAll("null", ""), - // 'Auftrag': auftragC.text, - // 'KontAbsp': kontAbspC.text, - // 'SonstBem': sonstBemC.text, - // 'FKontakt1': fKontakt1C.text, - // 'FKontakt2': fKontakt2C.text, - // 'FKontakt3': fKontakt3C.text, - // 'Standort': standortC.text, - // 'KTage1': kTage1C.text, - // 'KTage2': kTage2C.text, - // 'ProtoAm': protoAm.toString().split(" ").first, - // 'IntKomm': intKommC.text, - // 'Betreuung': betreuungC.text, - // 'DECLNG': currentPosition.longitude, - // 'DECLAT': currentPosition.latitude, - // }; - // - // return place; - // } - @override void initState() { - // updates the currentPosition var after the _determine position has finished. Means user view updates with his live location - try { - GeolocatorService.deteterminePosition() - .then((result) => currentPosition = result); - } on LocationDisabledException { - SnackBarHelper.showSnackBarMessage( - context, AppLocalizations.of(context)!.locationDisabled); - } on LocationForbiddenException { - SnackBarHelper.showSnackBarMessage( - context, AppLocalizations.of(context)!.locationForbidden); - } + GeolocatorService.deteterminePosition() + .then((result) => currentPosition = result) + .catchError((error) { + if (error is LocationDisabledException) { + if (mounted) { + SnackBarHelper.showSnackBarMessage( + context, AppLocalizations.of(context)!.locationDisabled); + } + } else if (error is LocationForbiddenException) { + if (mounted) { + SnackBarHelper.showSnackBarMessage( + context, AppLocalizations.of(context)!.locationForbidden); + } + } + return currentPosition; + }); // select initial werte rmap["MEZ"]!["controller"]!.text = selectedMEZ; rmap["Status"]!["controller"]!.text = selectedStatus; - - - - // TODO ADD THIS AGAIN BUT RIGHT // If a template is edited this fills in the existing values var firstRun = true; if (widget.existingData?.isNotEmpty ?? false) { for (var key in widget.existingData!.keys) { - if (firstRun) { - firstRun = false; - continue; + if (firstRun) { + firstRun = false; + continue; + } + rmap[key]!["controller"]!.text = + widget.existingData?[key].toString() ?? ""; } - rmap[key]!["controller"]!.text = widget.existingData?[key].toString() ?? ""; - } } - - - - // if (widget.isTemplate || widget.isFinished && widget.existingData != null) { - // cid.text = widget.existingData!['CID'] ?? ""; - // rudelC.text = widget.existingData!['Rudel'] ?? ""; - // adresse1C.text = widget.existingData!['Adresse1'] ?? ""; - // adresse2C.text = widget.existingData!['Adresse2'] ?? ""; - // adresse3C.text = widget.existingData!['Adresse3'] ?? ""; - // bLandC.text = widget.existingData!['BLand'] ?? ""; - // lkrC.text = widget.existingData!['Lkr'] ?? ""; - // beiOrtC.text = widget.existingData!['BeiOrt'] ?? ""; - // ortInfoC.text = widget.existingData!['OrtInfo'] ?? ""; - // selectedStatus = widget.existingData!['Status'] ?? ""; - // ffTypC.text = widget.existingData!['FFTyp'] ?? ""; - // selectedFotoFilm = widget.existingData!['FotoFilm'] ?? ""; - // selectedMEZ = widget.existingData!['MEZ'] ?? ""; - // selectedPlatzung = widget.existingData!['Platzung'] ?? ""; - // kSchloNrC.text = widget.existingData!['KSchloNr'] ?? ""; - // datum = DateTime.parse(widget.existingData!['Datum']); - // kontDat = widget.existingData!['KontDat'] == "" - // ? null - // : DateTime.parse(widget.existingData!['KontDat']); - // abbauDat = widget.existingData!['AbbauDat'] == "" - // ? null - // : DateTime.parse(widget.existingData!['AbbauDat']); - // auftragC.text = widget.existingData!['Auftrag'] ?? ""; - // kontAbspC.text = widget.existingData!['KontAbsp'] ?? ""; - // sonstBemC.text = widget.existingData!['SonstBem'] ?? ""; - // fKontakt1C.text = widget.existingData!['FKontakt1'] ?? ""; - // fKontakt2C.text = widget.existingData!['FKontakt2'] ?? ""; - // fKontakt3C.text = widget.existingData!['FKontakt3'] ?? ""; - // standortC.text = widget.existingData!['Standort'] ?? ""; - // kTage1C.text = widget.existingData!['KTage1'].toString(); - // kTage2C.text = widget.existingData!['KTage2'].toString(); - // protoAm = widget.existingData!['ProtoAm'] == null - // ? null - // : DateTime.parse(widget.existingData!['ProtoAm']); - // intKommC.text = widget.existingData!['IntKomm'] ?? ""; - // betreuungC.text = widget.existingData!['Betreuung'] ?? ""; - // } super.initState(); } @override - void dispose() { - for (String key in rmap.keys) { - rmap[key]!["controller"].dispose(); - } - super.dispose(); + void dispose() { + for (String key in rmap.keys) { + rmap[key]!["controller"].dispose(); } - - // checks if required fields are not empty. If one is the name will be returned -// TODO rewrite - // List validateData() { - // List emptyFields = []; - // - // Map fields = { - // AppLocalizations.of(context)!.camLink: cid, - // AppLocalizations.of(context)!.rudel: rudelC, - // AppLocalizations.of(context)!.adresse1: adresse1C, - // AppLocalizations.of(context)!.bland: bLandC, - // AppLocalizations.of(context)!.lkr: lkrC, - // AppLocalizations.of(context)!.beiort: beiOrtC, - // AppLocalizations.of(context)!.status: - // TextEditingController(text: selectedStatus), - // AppLocalizations.of(context)!.fftyp: ffTypC, - // "${AppLocalizations.of(context)!.foto} / ${AppLocalizations.of(context)!.filelocation}": - // TextEditingController(text: selectedFotoFilm), - // AppLocalizations.of(context)!.zeiteinstellung: - // TextEditingController(text: selectedMEZ), - // AppLocalizations.of(context)!.platzung: - // TextEditingController(text: selectedPlatzung), - // AppLocalizations.of(context)!.ktage1: kTage1C, - // AppLocalizations.of(context)!.ktage1: kTage2C, - // AppLocalizations.of(context)!.location: standortC, - // }; - // - // for (var entry in fields.entries) { - // if (entry.value.text.isEmpty) { - // emptyFields.add(entry.key); - // } - // } - // - // empty = false; - // if (emptyFields.isNotEmpty) empty = true; - // - // return emptyFields; - // } + super.dispose(); + } // The widget tree which gets the shown widget from the ./cam_widgets.dart file // The names of the widgets should be self-explaining @@ -810,8 +720,8 @@ class _AddCamMainState extends State { final isLastStep = currentStep == getSteps().length - 1; if (!isLastStep) { - saveTemplate(getFieldsText(), DatabasesEnum.place, - widget.isTemplate); + saveTemplate( + getFieldsText(), DatabasesEnum.place, widget.isTemplate); setState(() { currentStep += 1; }); @@ -821,14 +731,14 @@ class _AddCamMainState extends State { if (widget.isSent) { Navigator.pushNamedAndRemoveUntil( context, '/home', (route) => false); - return; + return; } bool empty = CheckRequired.checkRequired(rmap); if (empty == true) { - DialogHelper.showTemplateDialog( - context, getFieldsText(), widget.existingData?.isNotEmpty ?? false); + DialogHelper.showTemplateDialog(context, getFieldsText(), + widget.existingData?.isNotEmpty ?? false); return; } else if (empty == false) { await DialogHelper.showSaveOptionsDialog( diff --git a/lib/screens/addCam/services/geolocator_service.dart b/lib/screens/addCam/services/geolocator_service.dart index 5253446..8b9bbb1 100644 --- a/lib/screens/addCam/services/geolocator_service.dart +++ b/lib/screens/addCam/services/geolocator_service.dart @@ -20,7 +20,7 @@ class GeolocatorService { throw LocationForbiddenException(); } } - - return await Geolocator.getCurrentPosition(); + + return await Geolocator.getCurrentPosition(); } } diff --git a/time.txt b/time.txt index e9a47e0..78228f0 100644 --- a/time.txt +++ b/time.txt @@ -77,3 +77,4 @@ 5. mai 2h 15min 6. mai 2h 15min 7. mai 2h 45min +9. mai 3h 40min