diff --git a/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/SaleFragment.java b/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/SaleFragment.java index 787e99a7..5c6589f3 100644 --- a/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/SaleFragment.java +++ b/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/SaleFragment.java @@ -65,6 +65,11 @@ public class SaleFragment extends Fragment implements SaleAdapter.OnSaleClickLis UIUtils.setupHamburgerMenu(binding.btnHamburger, this); + if (isAdmin()) { + binding.fabAddSale.setVisibility(View.GONE); + binding.btnOpenRefund.setVisibility(View.GONE); + } + binding.fabAddSale.setOnClickListener(v -> NavHostFragment.findNavController(this).navigate(R.id.nav_sale_detail)); @@ -110,6 +115,10 @@ public class SaleFragment extends Fragment implements SaleAdapter.OnSaleClickLis return "STAFF".equalsIgnoreCase(tokenManager.getRole()); } + private boolean isAdmin() { + return "ADMIN".equalsIgnoreCase(tokenManager.getRole()); + } + private void setupStoreFilter() { SpinnerUtils.setupFilterSpinner(binding.spinnerStore, () -> loadSales(true)); } diff --git a/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/detailfragments/SaleDetailFragment.java b/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/detailfragments/SaleDetailFragment.java index ec111675..9b94a168 100644 --- a/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/detailfragments/SaleDetailFragment.java +++ b/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/detailfragments/SaleDetailFragment.java @@ -68,6 +68,10 @@ public class SaleDetailFragment extends Fragment { return "STAFF".equalsIgnoreCase(tokenManager.getRole()); } + private boolean isAdmin() { + return "ADMIN".equalsIgnoreCase(tokenManager.getRole()); + } + private void observeViewModel() { viewModel.getStoreList().observe(getViewLifecycleOwner(), list -> { Long primaryStoreId = tokenManager.getPrimaryStoreId(); @@ -109,7 +113,7 @@ public class SaleDetailFragment extends Fragment { binding.tvSaleDetailId.setText("ID: " + saleId); boolean isRefund = a.getBoolean("isRefund", false); - if (isRefund) { + if (isRefund || isAdmin()) { binding.btnRefundSale.setVisibility(View.GONE); } @@ -128,9 +132,8 @@ public class SaleDetailFragment extends Fragment { binding.spinnerPaymentMethod.setVisibility(View.GONE); binding.tvSaleStore.setVisibility(View.VISIBLE); binding.tvSalePaymentMethod.setVisibility(View.VISIBLE); - - // Show refund button only if it's not already a refund - binding.btnRefundSale.setVisibility(isRefund ? View.GONE : View.VISIBLE); + + binding.btnRefundSale.setVisibility((isRefund || isAdmin()) ? View.GONE : View.VISIBLE); } loadSaleDetails();