mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 12:14:11 +00:00 
			
		
		
		
	Fix rights issues
This commit is contained in:
		@@ -10,6 +10,7 @@ import 'package:comunic/ui/dialogs/pick_user_dialog.dart';
 | 
				
			|||||||
import 'package:comunic/ui/widgets/account_image_widget.dart';
 | 
					import 'package:comunic/ui/widgets/account_image_widget.dart';
 | 
				
			||||||
import 'package:comunic/ui/widgets/async_screen_widget.dart';
 | 
					import 'package:comunic/ui/widgets/async_screen_widget.dart';
 | 
				
			||||||
import 'package:comunic/ui/widgets/comunic_back_button_widget.dart';
 | 
					import 'package:comunic/ui/widgets/comunic_back_button_widget.dart';
 | 
				
			||||||
 | 
					import 'package:comunic/utils/account_utils.dart';
 | 
				
			||||||
import 'package:comunic/utils/intl_utils.dart';
 | 
					import 'package:comunic/utils/intl_utils.dart';
 | 
				
			||||||
import 'package:comunic/utils/ui_utils.dart';
 | 
					import 'package:comunic/utils/ui_utils.dart';
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
@@ -157,7 +158,9 @@ enum _MemberMenuOptions { CHANGE_LEVEL, DELETE }
 | 
				
			|||||||
class __GroupMembershipTileState extends State<_GroupMembershipTile> {
 | 
					class __GroupMembershipTileState extends State<_GroupMembershipTile> {
 | 
				
			||||||
  int get groupID => widget.membership.groupID;
 | 
					  int get groupID => widget.membership.groupID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  int get userID => widget.membership.userID;
 | 
					  int get memberID => widget.membership.userID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  bool get _isCurrentUser => widget.membership.userID == userID();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Widget build(BuildContext context) {
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
@@ -203,7 +206,7 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
 | 
				
			|||||||
        // Change membership level
 | 
					        // Change membership level
 | 
				
			||||||
        PopupMenuItem(
 | 
					        PopupMenuItem(
 | 
				
			||||||
          child: Text(tr("Change level")),
 | 
					          child: Text(tr("Change level")),
 | 
				
			||||||
          enabled: widget.group.isAdmin,
 | 
					          enabled: !_isCurrentUser && widget.group.isAdmin,
 | 
				
			||||||
          value: _MemberMenuOptions.CHANGE_LEVEL,
 | 
					          value: _MemberMenuOptions.CHANGE_LEVEL,
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -211,6 +214,7 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
 | 
				
			|||||||
        PopupMenuItem(
 | 
					        PopupMenuItem(
 | 
				
			||||||
          child: Text(tr("Remove")),
 | 
					          child: Text(tr("Remove")),
 | 
				
			||||||
          value: _MemberMenuOptions.DELETE,
 | 
					          value: _MemberMenuOptions.DELETE,
 | 
				
			||||||
 | 
					          enabled: !_isCurrentUser,
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
      onSelected: _handleMenu,
 | 
					      onSelected: _handleMenu,
 | 
				
			||||||
@@ -240,7 +244,7 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      if (newLevel == null) return;
 | 
					      if (newLevel == null) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      await GroupsHelper.setNewLevel(groupID, userID, newLevel);
 | 
					      await GroupsHelper.setNewLevel(groupID, memberID, newLevel);
 | 
				
			||||||
    } catch (e, s) {
 | 
					    } catch (e, s) {
 | 
				
			||||||
      print("Could not change group membership level! $e\n$s");
 | 
					      print("Could not change group membership level! $e\n$s");
 | 
				
			||||||
      showSimpleSnack(context, tr("Could not change group membership level!"));
 | 
					      showSimpleSnack(context, tr("Could not change group membership level!"));
 | 
				
			||||||
@@ -256,7 +260,7 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
 | 
				
			|||||||
          message: tr("Do you really want to remove this membership ?")))
 | 
					          message: tr("Do you really want to remove this membership ?")))
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      await GroupsHelper.removeMemberFromGroup(groupID, userID);
 | 
					      await GroupsHelper.removeMemberFromGroup(groupID, memberID);
 | 
				
			||||||
    } catch (e, s) {
 | 
					    } catch (e, s) {
 | 
				
			||||||
      print("Could not remove membership! $e\n$s");
 | 
					      print("Could not remove membership! $e\n$s");
 | 
				
			||||||
      showSimpleSnack(context, tr("Could not remove this membership!"));
 | 
					      showSimpleSnack(context, tr("Could not remove this membership!"));
 | 
				
			||||||
@@ -275,7 +279,7 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  void _cancelMembership() async {
 | 
					  void _cancelMembership() async {
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
      await GroupsHelper.cancelInvitation(groupID, userID);
 | 
					      await GroupsHelper.cancelInvitation(groupID, memberID);
 | 
				
			||||||
    } catch (e, s) {
 | 
					    } catch (e, s) {
 | 
				
			||||||
      print("Could not cancel invitation! $e\n$s");
 | 
					      print("Could not cancel invitation! $e\n$s");
 | 
				
			||||||
      showSimpleSnack(context, tr("Could not cancel invitation!"));
 | 
					      showSimpleSnack(context, tr("Could not cancel invitation!"));
 | 
				
			||||||
@@ -304,7 +308,7 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  void _respondRequest(bool accept) async {
 | 
					  void _respondRequest(bool accept) async {
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
      await GroupsHelper.respondRequest(groupID, userID, accept);
 | 
					      await GroupsHelper.respondRequest(groupID, memberID, accept);
 | 
				
			||||||
    } catch (e, s) {
 | 
					    } catch (e, s) {
 | 
				
			||||||
      print("Could not respond to membership request! $e\n$s");
 | 
					      print("Could not respond to membership request! $e\n$s");
 | 
				
			||||||
      showSimpleSnack(context, tr("Could not respond to membership request!"));
 | 
					      showSimpleSnack(context, tr("Could not respond to membership request!"));
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user