From 05ca8effd5b03301586ba618d2d72dd62d448767 Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Wed, 9 Oct 2019 14:13:54 +0200 Subject: [PATCH] Add permissions to shipping settings --- .../ShippingZonesListPage.tsx | 36 ++++++++++++++----- src/shipping/views/ShippingZonesList.tsx | 3 ++ 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/shipping/components/ShippingZonesListPage/ShippingZonesListPage.tsx b/src/shipping/components/ShippingZonesListPage/ShippingZonesListPage.tsx index 49dc9c600..982c7a161 100644 --- a/src/shipping/components/ShippingZonesListPage/ShippingZonesListPage.tsx +++ b/src/shipping/components/ShippingZonesListPage/ShippingZonesListPage.tsx @@ -5,14 +5,20 @@ import AppHeader from "@saleor/components/AppHeader"; import Container from "@saleor/components/Container"; import Grid from "@saleor/components/Grid"; import PageHeader from "@saleor/components/PageHeader"; +import RequirePermissions, { + hasPermissions +} from "@saleor/components/RequirePermissions"; import { sectionNames } from "@saleor/intl"; -import { ListActions, PageListProps } from "@saleor/types"; -import { WeightUnitsEnum } from "@saleor/types/globalTypes"; +import { ListActions, PageListProps, UserPermissionProps } from "@saleor/types"; +import { PermissionEnum, WeightUnitsEnum } from "@saleor/types/globalTypes"; import { ShippingZoneFragment } from "../../types/ShippingZoneFragment"; import ShippingWeightUnitForm from "../ShippingWeightUnitForm"; import ShippingZonesList from "../ShippingZonesList"; -export interface ShippingZonesListPageProps extends PageListProps, ListActions { +export interface ShippingZonesListPageProps + extends PageListProps, + ListActions, + UserPermissionProps { defaultWeightUnit: WeightUnitsEnum; shippingZones: ShippingZoneFragment[]; onBack: () => void; @@ -22,7 +28,14 @@ export interface ShippingZonesListPageProps extends PageListProps, ListActions { const ShippingZonesListPage: React.StatelessComponent< ShippingZonesListPageProps -> = ({ defaultWeightUnit, disabled, onBack, onSubmit, ...listProps }) => { +> = ({ + defaultWeightUnit, + disabled, + userPermissions, + onBack, + onSubmit, + ...listProps +}) => { const intl = useIntl(); return ( @@ -41,11 +54,16 @@ const ShippingZonesListPage: React.StatelessComponent<
- + + +
diff --git a/src/shipping/views/ShippingZonesList.tsx b/src/shipping/views/ShippingZonesList.tsx index d15a80b0e..f4076dc9d 100644 --- a/src/shipping/views/ShippingZonesList.tsx +++ b/src/shipping/views/ShippingZonesList.tsx @@ -14,6 +14,7 @@ import usePaginator, { createPaginationState } from "@saleor/hooks/usePaginator"; import useShop from "@saleor/hooks/useShop"; +import useUser from "@saleor/hooks/useUser"; import { commonMessages } from "@saleor/intl"; import { getMutationState, maybe } from "@saleor/misc"; import { ListViews } from "@saleor/types"; @@ -45,6 +46,7 @@ export const ShippingZonesList: React.StatelessComponent< const notify = useNotifier(); const paginate = usePaginator(); const shop = useShop(); + const { user } = useUser(); const { isSelected, listElements, reset, toggle, toggleAll } = useBulkActions( params.ids ); @@ -195,6 +197,7 @@ export const ShippingZonesList: React.StatelessComponent< } + userPermissions={maybe(() => user.permissions, [])} />