Fix saving permission groups (#2239)

* Allow saving regardless of membersChanged value

* Fix in-place sorting on readonly value

* Fix capital letter in button message

* Update snapshots

* Fix stories

* Remove unused import
This commit is contained in:
Michał Droń 2022-08-29 13:37:42 +02:00 committed by GitHub
parent e610aefcfa
commit 6789b73f00
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 12 additions and 20 deletions

View file

@ -958,10 +958,6 @@
"context": "translations section name", "context": "translations section name",
"string": "Translations" "string": "Translations"
}, },
"5ftg/B": {
"context": "button",
"string": "create permission group"
},
"5kvaFR": { "5kvaFR": {
"context": "product field", "context": "product field",
"string": "Export Variant SKU" "string": "Export Variant SKU"
@ -5017,6 +5013,10 @@
"context": "product type", "context": "product type",
"string": "Product Type" "string": "Product Type"
}, },
"bRJD/v": {
"context": "button",
"string": "Create permission group"
},
"bS7A8u": { "bS7A8u": {
"context": "add tracking button", "context": "add tracking button",
"string": "Add tracking" "string": "Add tracking"

View file

@ -16,7 +16,6 @@ const props: PermissionGroupDetailsPageProps = {
errors: [], errors: [],
isChecked: () => false, isChecked: () => false,
members: users, members: users,
membersModified: false,
onAssign: () => undefined, onAssign: () => undefined,
onSort: () => undefined, onSort: () => undefined,
onSubmit: () => undefined, onSubmit: () => undefined,

View file

@ -53,7 +53,6 @@ export interface PermissionGroupDetailsPageProps
disabled: boolean; disabled: boolean;
errors: PermissionGroupErrorFragment[]; errors: PermissionGroupErrorFragment[];
members: PermissionGroupDetailsFragment["users"]; members: PermissionGroupDetailsFragment["users"];
membersModified: boolean;
permissionGroup: PermissionGroupDetailsFragment; permissionGroup: PermissionGroupDetailsFragment;
permissions: PermissionData[]; permissions: PermissionData[];
permissionsExceeded: boolean; permissionsExceeded: boolean;
@ -67,7 +66,6 @@ const PermissionGroupDetailsPage: React.FC<PermissionGroupDetailsPageProps> = ({
disabled, disabled,
errors, errors,
members, members,
membersModified,
onSubmit, onSubmit,
permissionGroup, permissionGroup,
permissions, permissions,
@ -143,7 +141,7 @@ const PermissionGroupDetailsPage: React.FC<PermissionGroupDetailsPageProps> = ({
onCancel={() => navigate(permissionGroupListUrl())} onCancel={() => navigate(permissionGroupListUrl())}
onSubmit={submit} onSubmit={submit}
state={saveButtonBarState} state={saveButtonBarState}
disabled={disabled || !membersModified} disabled={disabled}
/> />
</div> </div>
</Container> </Container>

View file

@ -38,8 +38,8 @@ const PermissionGroupListPage: React.FC<PermissionGroupListPageProps> = listProp
data-test-id="create-permission-group" data-test-id="create-permission-group"
> >
<FormattedMessage <FormattedMessage
id="5ftg/B" id="bRJD/v"
defaultMessage="create permission group" defaultMessage="Create permission group"
description="button" description="button"
/> />
</Button> </Button>

View file

@ -110,7 +110,7 @@ const PermissionGroupMemberList: React.FC<PermissionGroupProps> = props => {
const classes = useStyles(props); const classes = useStyles(props);
const intl = useIntl(); const intl = useIntl();
const members = users?.sort(sortMembers(sort?.sort, sort?.asc)); const members = [...users].sort(sortMembers(sort?.sort, sort?.asc));
return ( return (
<Card> <Card>

View file

@ -23,7 +23,7 @@ import createDialogActionHandlers from "@saleor/utils/handlers/dialogActionHandl
import createSortHandler from "@saleor/utils/handlers/sortHandler"; import createSortHandler from "@saleor/utils/handlers/sortHandler";
import { mapEdgesToItems } from "@saleor/utils/maps"; import { mapEdgesToItems } from "@saleor/utils/maps";
import { getSortParams } from "@saleor/utils/sort"; import { getSortParams } from "@saleor/utils/sort";
import React, { useState } from "react"; import React from "react";
import { useIntl } from "react-intl"; import { useIntl } from "react-intl";
import AssignMembersDialog from "../../components/AssignMembersDialog"; import AssignMembersDialog from "../../components/AssignMembersDialog";
@ -61,8 +61,6 @@ export const PermissionGroupDetails: React.FC<PermissionGroupDetailsProps> = ({
data?.permissionGroup.users, data?.permissionGroup.users,
); );
const [membersModified, setMembersModified] = useState(false);
const { search, result: searchResult, loadMore } = useStaffMemberSearch({ const { search, result: searchResult, loadMore } = useStaffMemberSearch({
variables: DEFAULT_INITIAL_SEARCH_DATA, variables: DEFAULT_INITIAL_SEARCH_DATA,
}); });
@ -104,7 +102,6 @@ export const PermissionGroupDetails: React.FC<PermissionGroupDetailsProps> = ({
const unassignMembers = () => { const unassignMembers = () => {
setMembersList(membersList?.filter(m => !listElements.includes(m.id))); setMembersList(membersList?.filter(m => !listElements.includes(m.id)));
setMembersModified(true);
closeModal(); closeModal();
}; };
@ -153,7 +150,6 @@ export const PermissionGroupDetails: React.FC<PermissionGroupDetailsProps> = ({
permissionGroup={data?.permissionGroup} permissionGroup={data?.permissionGroup}
permissionsExceeded={permissionsExceeded} permissionsExceeded={permissionsExceeded}
members={membersList || []} members={membersList || []}
membersModified={membersModified}
onAssign={() => openModal("assign")} onAssign={() => openModal("assign")}
onUnassign={ids => openModal("unassign", { ids })} onUnassign={ids => openModal("unassign", { ids })}
errors={ errors={
@ -198,7 +194,6 @@ export const PermissionGroupDetails: React.FC<PermissionGroupDetailsProps> = ({
...membersList, ...membersList,
...formData.filter(member => !membersList.includes(member)), ...formData.filter(member => !membersList.includes(member)),
]); ]);
setMembersModified(true);
closeModal(); closeModal();
}} }}
/> />

View file

@ -168311,7 +168311,7 @@ exports[`Storyshots Views / Permission Groups / Permission Group List default 1`
<span <span
class="MuiButton-label-id" class="MuiButton-label-id"
> >
create permission group Create permission group
</span> </span>
</a> </a>
</div> </div>
@ -168754,7 +168754,7 @@ exports[`Storyshots Views / Permission Groups / Permission Group List loading 1`
<span <span
class="MuiButton-label-id" class="MuiButton-label-id"
> >
create permission group Create permission group
</span> </span>
</a> </a>
</div> </div>
@ -168974,7 +168974,7 @@ exports[`Storyshots Views / Permission Groups / Permission Group List no data 1`
<span <span
class="MuiButton-label-id" class="MuiButton-label-id"
> >
create permission group Create permission group
</span> </span>
</a> </a>
</div> </div>