added permission for create payment request button

This commit is contained in:
Vaibhav Surve 2025-11-11 14:38:05 +05:30
parent 77a6d50571
commit 034de5a601

View File

@ -10,6 +10,8 @@ import 'package:marco/model/finance/add_payment_request_bottom_sheet.dart';
import 'package:marco/helpers/utils/date_time_utils.dart'; import 'package:marco/helpers/utils/date_time_utils.dart';
import 'package:marco/view/finance/payment_request_detail_screen.dart'; import 'package:marco/view/finance/payment_request_detail_screen.dart';
import 'package:marco/helpers/widgets/my_custom_skeleton.dart'; import 'package:marco/helpers/widgets/my_custom_skeleton.dart';
import 'package:marco/controller/permission_controller.dart';
import 'package:marco/helpers/utils/permission_constants.dart';
class PaymentRequestMainScreen extends StatefulWidget { class PaymentRequestMainScreen extends StatefulWidget {
const PaymentRequestMainScreen({super.key}); const PaymentRequestMainScreen({super.key});
@ -25,6 +27,7 @@ class _PaymentRequestMainScreenState extends State<PaymentRequestMainScreen>
final searchController = TextEditingController(); final searchController = TextEditingController();
final paymentController = Get.put(PaymentRequestController()); final paymentController = Get.put(PaymentRequestController());
final projectController = Get.find<ProjectController>(); final projectController = Get.find<ProjectController>();
final permissionController = Get.put(PermissionController());
@override @override
void initState() { void initState() {
@ -122,14 +125,26 @@ class _PaymentRequestMainScreenState extends State<PaymentRequestMainScreen>
), ),
], ],
), ),
floatingActionButton: FloatingActionButton.extended( floatingActionButton: Obx(() {
onPressed: () { if (permissionController.permissions.isEmpty) {
showPaymentRequestBottomSheet(); return const SizedBox.shrink();
}, }
backgroundColor: contentTheme.primary,
icon: const Icon(Icons.add), final canCreate =
label: const Text("Create Payment Request"), permissionController.hasPermission(Permissions.expenseUpload);
),
return canCreate
? FloatingActionButton.extended(
backgroundColor: contentTheme.primary,
onPressed: showPaymentRequestBottomSheet,
icon: const Icon(Icons.add, color: Colors.white),
label: const Text(
"Create Payment Request",
style: TextStyle(color: Colors.white, fontSize: 16),
),
)
: const SizedBox.shrink();
}),
); );
} }