add disable customer function
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
import 'package:fcs/domain/constants.dart';
|
||||
import 'package:fcs/domain/entities/user.dart';
|
||||
import 'package:fcs/helpers/theme.dart';
|
||||
import 'package:fcs/pages/customer/model/customer_model.dart';
|
||||
import 'package:fcs/pages/main/util.dart';
|
||||
import 'package:fcs/pages/widgets/display_text.dart';
|
||||
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
||||
import 'package:fcs/pages/widgets/local_button.dart';
|
||||
import 'package:fcs/pages/widgets/progress.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -42,6 +44,13 @@ class _CustomerEditorState extends State<CustomerEditor> {
|
||||
],
|
||||
);
|
||||
|
||||
final enabled = widget.customer.status != user_disabled_status;
|
||||
final enableBox = LocalButton(
|
||||
textKey: enabled ? "customer.disable.btn" : "customer.enable.btn",
|
||||
iconData: enabled ? Icons.lock : Icons.lock_open,
|
||||
color: enabled ? primaryColor : Colors.grey,
|
||||
callBack: () => _enable(!enabled),
|
||||
);
|
||||
return LocalProgress(
|
||||
inAsyncCall: _isLoading,
|
||||
child: SafeArea(
|
||||
@@ -52,7 +61,7 @@ class _CustomerEditorState extends State<CustomerEditor> {
|
||||
centerTitle: true,
|
||||
leading: new IconButton(
|
||||
icon: new Icon(
|
||||
CupertinoIcons.back,
|
||||
CupertinoIcons.back,
|
||||
color: primaryColor,
|
||||
size: 30,
|
||||
),
|
||||
@@ -90,6 +99,9 @@ class _CustomerEditorState extends State<CustomerEditor> {
|
||||
getLocalString(
|
||||
context, "customer.invitation.request.confirm"),
|
||||
callack: _add)
|
||||
: Container(),
|
||||
widget.customer.joined || widget.customer.disabled
|
||||
? enableBox
|
||||
: Container()
|
||||
],
|
||||
),
|
||||
@@ -118,4 +130,23 @@ class _CustomerEditorState extends State<CustomerEditor> {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_enable(bool enabled) async {
|
||||
setState(() {
|
||||
_isLoading = true;
|
||||
});
|
||||
if (widget.customer == null) return;
|
||||
CustomerModel customerModel =
|
||||
Provider.of<CustomerModel>(context, listen: false);
|
||||
try {
|
||||
await customerModel.enableUser(widget.customer, enabled);
|
||||
Navigator.pop(context);
|
||||
} catch (e) {
|
||||
showMsgDialog(context, "Error", e.toString());
|
||||
} finally {
|
||||
setState(() {
|
||||
_isLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user