fixed the location error
the one where no toast is shown
This commit is contained in:
@@ -35,30 +35,7 @@ class AddCamMain extends StatefulWidget {
|
||||
class _AddCamMainState extends State<AddCamMain> {
|
||||
// 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<AddCamMain> {
|
||||
DateTime? kontDat = DateTime.now();
|
||||
DateTime? protoAm = DateTime.now();
|
||||
|
||||
Map<String, Map<String, dynamic>> 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<String, Map<String, dynamic>> 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<String, Map<String, dynamic>> rmap {
|
||||
// Map<String, Map<String, dynamic>> 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<String, String> getFieldsText() {
|
||||
Map<String, String> puff = {};
|
||||
@@ -183,170 +210,53 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
return puff;
|
||||
}
|
||||
|
||||
// Map<String, dynamic> getPlace() {
|
||||
// Map<String, dynamic> 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<String> validateData() {
|
||||
// List<String> emptyFields = <String>[];
|
||||
//
|
||||
// Map<String, TextEditingController> 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<AddCamMain> {
|
||||
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<AddCamMain> {
|
||||
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(
|
||||
|
||||
@@ -20,7 +20,7 @@ class GeolocatorService {
|
||||
throw LocationForbiddenException();
|
||||
}
|
||||
}
|
||||
|
||||
return await Geolocator.getCurrentPosition();
|
||||
|
||||
return await Geolocator.getCurrentPosition();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user