showRoleSelectionDialog method

void showRoleSelectionDialog(
  1. LoginModel userData,
  2. List<OrganizationHierarchyData> roles
)

Implementation

void showRoleSelectionDialog(
    LoginModel userData,
    List<OrganizationHierarchyData> roles,
    ) {
  final Rx<OrganizationHierarchyData?> selectedRole = Rx<OrganizationHierarchyData?>(null);

  Get.dialog(
    barrierDismissible: false,
    GenericDialogBox(
        isShowTopCloseButton:  false,
        headerText: 'Select Role',
        content: Obx(() => Column(
          children: roles.map((role) {
            return RadioListTile<OrganizationHierarchyData>(
              value: role,
              groupValue: selectedRole.value,
              title: AppText(role.nameAclPositionMapping ?? '', style: TextStyles.normal(Get.context!)),
              onChanged: (value) {
                selectedRole.value = value;
              },
            );
          }).toList(),
        )),
        onSecondaryButtonPressed: () => Get.back(),
        onPrimaryButtonPressed: () async {
          if (selectedRole.value == null) {
            AppUtils.showSnackBar('Please select a role');
            return;
          }

          await saveUserDetailsNew(userData, selectedRole.value!);
          Get.back(); // close dialog
          navigationToModuleDashboard();
        },
        secondaryButtonText: AppStrings.close,
        primaryButtonText: 'Confirm'),
  );
}