Update types

This commit is contained in:
dominik-zeglen 2019-10-25 15:31:27 +02:00
parent 6852bdbcf1
commit 898eecf628
10 changed files with 2676 additions and 915 deletions

View file

@ -430,6 +430,18 @@ export const permissions: ShopInfo_shop_permissions[] = [
{
code: PermissionEnum.MANAGE_USERS,
name: "Manage customers."
},
{
code: PermissionEnum.MANAGE_PLUGINS,
name: "Manage plugins."
},
{
code: PermissionEnum.MANAGE_SERVICE_ACCOUNTS,
name: "Manage service accounts."
},
{
code: PermissionEnum.MANAGE_WEBHOOKS,
name: "Manage webhooks."
}
].map(perm => ({
__typename: "PermissionDisplay" as "PermissionDisplay",

View file

@ -86,6 +86,7 @@ const OrderCustomer = withStyles(styles, { name: "OrderCustomer" })(
const intl = useIntl();
const user = maybe(() => order.user);
const userEmail = maybe(()=>order.userEmail)
const [userDisplayName, setUserDisplayName] = useStateFromProps(
maybe(() => user.email, "")
@ -165,9 +166,13 @@ const OrderCustomer = withStyles(styles, { name: "OrderCustomer" })(
}}
</Form>
) : user === null ? (
<Typography>
<FormattedMessage defaultMessage="Anonymous user" />
</Typography>
userEmail === null ? (
<Typography>
<FormattedMessage defaultMessage="Anonymous user" />
</Typography>
) : (
<Typography className={classes.userEmail}>{userEmail}</Typography>
)
) : (
<>
<Typography className={classes.userEmail}>

View file

@ -5,9 +5,7 @@ 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 RequirePermissions from "@saleor/components/RequirePermissions";
import { sectionNames } from "@saleor/intl";
import { ListActions, PageListProps, UserPermissionProps } from "@saleor/types";
import { PermissionEnum, WeightUnitsEnum } from "@saleor/types/globalTypes";

View file

@ -1,5 +1,5 @@
import avatarImage from "@assets/images/avatars/avatar1.png";
import { PermissionEnum } from "../types/globalTypes";
import { permissions } from "@saleor/fixtures";
import { StaffList_staffUsers_edges_node } from "./types/StaffList";
import { StaffMemberDetails_user } from "./types/StaffMemberDetails";
@ -145,49 +145,5 @@ export const staffMember: StaffMemberDetails_user = {
id: "VXNlcjoyMQ==",
isActive: true,
lastName: "Smith",
permissions: [
{
code: PermissionEnum.IMPERSONATE_USERS,
name: "Impersonate customers."
},
{
code: PermissionEnum.MANAGE_DISCOUNTS,
name: "Manage sales and vouchers."
},
{
code: PermissionEnum.MANAGE_MENUS,
name: "Manage navigation."
},
{
code: PermissionEnum.MANAGE_ORDERS,
name: "Manage orders."
},
{
code: PermissionEnum.MANAGE_PAGES,
name: "Manage pages."
},
{
code: PermissionEnum.MANAGE_PRODUCTS,
name: "Manage products."
},
{
code: PermissionEnum.MANAGE_SETTINGS,
name: "Manage settings."
},
{
code: PermissionEnum.MANAGE_SHIPPING,
name: "Manage shipping."
},
{
code: PermissionEnum.MANAGE_STAFF,
name: "Manage staff."
},
{
code: PermissionEnum.MANAGE_USERS,
name: "Manage customers."
}
].map(perm => ({
__typename: "PermissionDisplay" as "PermissionDisplay",
...perm
}))
permissions
};

File diff suppressed because it is too large Load diff

View file

@ -3,6 +3,8 @@ import { storiesOf } from "@storybook/react";
import React from "react";
import placeholderImage from "@assets/images/placeholder60x60.png";
import { permissions } from "@saleor/fixtures";
import { PermissionEnum } from "@saleor/types/globalTypes";
import HomePage, { HomePageProps } from "../../../home/components/HomePage";
import { shop as shopFixture } from "../../../home/fixtures";
import Decorator from "../../Decorator";
@ -21,7 +23,8 @@ const homePageProps: Omit<HomePageProps, "classes"> = {
productsOutOfStock: shop.productsOutOfStock.totalCount,
sales: shop.salesToday.gross,
topProducts: shop.productTopToday.edges.map(edge => edge.node),
userName: "admin@example.com"
userName: "admin@example.com",
userPermissions: permissions
};
storiesOf("Views / HomePage", module)
@ -42,4 +45,23 @@ storiesOf("Views / HomePage", module)
))
.add("no data", () => (
<HomePage {...homePageProps} topProducts={[]} activities={[]} />
))
.add("no permissions", () => (
<HomePage {...homePageProps} userPermissions={[]} />
))
.add("product permissions", () => (
<HomePage
{...homePageProps}
userPermissions={permissions.filter(
perm => perm.code === PermissionEnum.MANAGE_PRODUCTS
)}
/>
))
.add("order permissions", () => (
<HomePage
{...homePageProps}
userPermissions={permissions.filter(
perm => perm.code === PermissionEnum.MANAGE_ORDERS
)}
/>
));

View file

@ -2,6 +2,7 @@ import { Omit } from "@material-ui/core";
import { storiesOf } from "@storybook/react";
import React from "react";
import { permissions } from "@saleor/fixtures";
import OrderCustomer, {
OrderCustomerProps
} from "../../../orders/components/OrderCustomer";
@ -19,6 +20,7 @@ const props: Omit<OrderCustomerProps, "classes"> = {
onProfileView: () => undefined,
onShippingAddressEdit: undefined,
order,
userPermissions: permissions,
users: clients
};
@ -37,4 +39,10 @@ storiesOf("Orders / OrderCustomer", module)
))
.add("editable", () => (
<OrderCustomer {...props} canEditAddresses={true} canEditCustomer={true} />
))
.add("editable", () => (
<OrderCustomer {...props} canEditAddresses={true} canEditCustomer={true} />
))
.add("no user permissions", () => (
<OrderCustomer {...props} userPermissions={[]} />
));

View file

@ -3,6 +3,7 @@ import { storiesOf } from "@storybook/react";
import React from "react";
import placeholderImage from "@assets/images/placeholder60x60.png";
import { permissions } from "@saleor/fixtures";
import OrderDetailsPage, {
OrderDetailsPageProps
} from "../../../orders/components/OrderDetailsPage";
@ -32,7 +33,8 @@ const props: Omit<OrderDetailsPageProps, "classes"> = {
onProductClick: undefined,
onProfileView: () => undefined,
onShippingAddressEdit: undefined,
order
order,
userPermissions: permissions
};
storiesOf("Views / Orders / Order details", module)

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import React from "react";
import placeholderImage from "@assets/images/placeholder60x60.png";
import { fetchMoreProps } from "@saleor/fixtures";
import { fetchMoreProps, permissions } from "@saleor/fixtures";
import OrderDraftPage, {
OrderDraftPageProps
} from "../../../orders/components/OrderDraftPage";
@ -32,6 +32,7 @@ const props: Omit<OrderDraftPageProps, "classes"> = {
onShippingMethodEdit: undefined,
order,
saveButtonBarState: "default",
userPermissions: permissions,
users: clients,
usersLoading: false
};
@ -44,4 +45,7 @@ storiesOf("Views / Orders / Order draft", module)
))
.add("without lines", () => (
<OrderDraftPage {...props} order={{ ...order, lines: [] }} />
))
.add("no user permissions", () => (
<OrderDraftPage {...props} userPermissions={[]} />
));

View file

@ -1,7 +1,11 @@
import { storiesOf } from "@storybook/react";
import React from "react";
import { listActionsProps, pageListProps } from "../../../fixtures";
import {
listActionsProps,
pageListProps,
permissions
} from "../../../fixtures";
import ShippingZonesListPage, {
ShippingZonesListPageProps
} from "../../../shipping/components/ShippingZonesListPage";
@ -17,7 +21,8 @@ const props: ShippingZonesListPageProps = {
onBack: () => undefined,
onRemove: () => undefined,
onSubmit: () => undefined,
shippingZones
shippingZones,
userPermissions: permissions
};
storiesOf("Views / Shipping / Shipping zones list", module)
@ -30,6 +35,7 @@ storiesOf("Views / Shipping / Shipping zones list", module)
shippingZones={undefined}
/>
))
.add("no data", () => (
<ShippingZonesListPage {...props} shippingZones={[]} />
.add("no data", () => <ShippingZonesListPage {...props} shippingZones={[]} />)
.add("no site settings permissions", () => (
<ShippingZonesListPage {...props} userPermissions={[]} />
));