made sales readonly for andriod

This commit is contained in:
Alex
2026-04-13 17:25:28 -06:00
parent a6f90f8477
commit 1b4069e7e4
2 changed files with 16 additions and 4 deletions

View File

@@ -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));
}

View File

@@ -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();