Merge remote-tracking branch 'origin/feature/118-bearbeiten-und-löschen-von-gruppen' into feature/118-bearbeiten-und-löschen-von-gruppen
This commit is contained in:
@@ -146,15 +146,31 @@ class _CreateGroupViewState extends State<CreateGroupView> {
|
||||
(_groupNameController.text.isEmpty ||
|
||||
(selectedPlayers.length < 2))
|
||||
? null
|
||||
: () async {
|
||||
: _saveGroup,
|
||||
),
|
||||
const SizedBox(height: 20),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Saves the group by creating a new one or updating the existing one,
|
||||
/// depending on whether the widget is in edit mode.
|
||||
Future<void> _saveGroup() async {
|
||||
final loc = AppLocalizations.of(context);
|
||||
Group? updatedGroup;
|
||||
bool successfullNameChange = true;
|
||||
bool successfullMemberChange = true;
|
||||
late bool success;
|
||||
|
||||
final groupName = _groupNameController.text.trim();
|
||||
|
||||
if (widget.groupToEdit == null) {
|
||||
success = await db.groupDao.addGroup(
|
||||
group: Group(
|
||||
name: _groupNameController.text.trim(),
|
||||
name: groupName,
|
||||
description: '',
|
||||
members: selectedPlayers,
|
||||
),
|
||||
@@ -162,30 +178,28 @@ class _CreateGroupViewState extends State<CreateGroupView> {
|
||||
} else {
|
||||
updatedGroup = Group(
|
||||
id: widget.groupToEdit!.id,
|
||||
name: _groupNameController.text.trim(),
|
||||
name: groupName,
|
||||
description: '',
|
||||
members: selectedPlayers,
|
||||
);
|
||||
if (widget.groupToEdit!.name !=
|
||||
_groupNameController.text.trim()) {
|
||||
successfullNameChange = await db.groupDao
|
||||
.updateGroupName(
|
||||
if (widget.groupToEdit!.name != groupName) {
|
||||
successfullNameChange = await db.groupDao.updateGroupName(
|
||||
groupId: widget.groupToEdit!.id,
|
||||
newName: _groupNameController.text.trim(),
|
||||
newName: groupName,
|
||||
);
|
||||
}
|
||||
|
||||
if (widget.groupToEdit!.members != selectedPlayers) {
|
||||
successfullMemberChange = await db.groupDao
|
||||
.replaceGroupPlayers(
|
||||
successfullMemberChange = await db.groupDao.replaceGroupPlayers(
|
||||
groupId: widget.groupToEdit!.id,
|
||||
newPlayers: selectedPlayers,
|
||||
);
|
||||
}
|
||||
success =
|
||||
successfullNameChange && successfullMemberChange;
|
||||
success = successfullNameChange && successfullMemberChange;
|
||||
}
|
||||
if (!context.mounted) return;
|
||||
|
||||
if (!mounted) return;
|
||||
|
||||
if (success) {
|
||||
Navigator.pop(context, updatedGroup);
|
||||
} else {
|
||||
@@ -195,14 +209,6 @@ class _CreateGroupViewState extends State<CreateGroupView> {
|
||||
: loc.error_editing_group,
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
const SizedBox(height: 20),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Displays a snackbar with the given message and optional action.
|
||||
|
||||
Reference in New Issue
Block a user