@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<a32e2b4330ac1d54762817127289b51d>>
|
||||
* @generated SignedSource<<167a4c7cc44ce2cc44e9b4680b6fc285>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -11,7 +11,7 @@
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
import { FragmentRefs } from "relay-runtime";
|
||||
export type OrderDirection = "ASC" | "DESC";
|
||||
export type ProfileOrderField = "CREATED_AT" | "FULL_NAME" | "KIND" | "ORGANIZATION_NAME";
|
||||
export type ProfileOrderField = "CREATED_AT" | "FULL_NAME" | "KIND" | "ORGANIZATION_NAME" | "STATE";
|
||||
export type ProfileOrder = {
|
||||
direction: OrderDirection;
|
||||
field: ProfileOrderField;
|
||||
|
||||
@@ -106,7 +106,7 @@ export function PersonPage(props: { queryRef: PreloadedQuery<PersonPageQuery> })
|
||||
<div className="text-lg text-txt-secondary">{person.emailAddress}</div>
|
||||
</div>
|
||||
</div>
|
||||
{person.canDelete && (
|
||||
{person.canDelete && person.source !== "SCIM" && (
|
||||
<ActionDropdown variant="secondary">
|
||||
<DropdownItem
|
||||
variant="danger"
|
||||
|
||||
@@ -83,7 +83,7 @@ export function PeopleList(props: {
|
||||
<Thead>
|
||||
<Tr>
|
||||
<SortableTh field="FULL_NAME" onOrderChange={handleOrderChange}>{__("Name")}</SortableTh>
|
||||
<SortableTh field="STATUS">{__("Status")}</SortableTh>
|
||||
<SortableTh field="STATE">{__("Status")}</SortableTh>
|
||||
<SortableTh field="EMAIL_ADDRESS" onOrderChange={handleOrderChange}>{__("Email")}</SortableTh>
|
||||
<SortableTh field="ROLE" onOrderChange={handleOrderChange}>{__("Role")}</SortableTh>
|
||||
<SortableTh field="CREATED_AT" onOrderChange={handleOrderChange}>{__("Created on")}</SortableTh>
|
||||
|
||||
@@ -112,6 +112,9 @@ export function PeopleListItem(props: {
|
||||
|
||||
const isInactive = profile.state === "INACTIVE";
|
||||
|
||||
const canSendActivationMail = isInactive && profile.source !== "SCIM" && profile.canInvite;
|
||||
const canDelete = profile.canDelete && profile.source !== "SCIM";
|
||||
|
||||
const [inviteUser]
|
||||
= useMutationWithToasts<PeopleListItem_inviteMutation>(inviteUserMutation, {
|
||||
successMessage: __("Invitation sent successfully"),
|
||||
@@ -248,25 +251,27 @@ export function PeopleListItem(props: {
|
||||
{new Date(profile.createdAt).toLocaleDateString()}
|
||||
</Td>
|
||||
<Td noLink width={160} className="text-end">
|
||||
<ActionDropdown>
|
||||
{isInactive && profile.source !== "SCIM" && profile.canInvite && (
|
||||
<DropdownItem
|
||||
onClick={handleInvite}
|
||||
icon={IconMail}
|
||||
>
|
||||
{lastInvitation ? __("Resend activation mail") : __("Send activation mail")}
|
||||
</DropdownItem>
|
||||
)}
|
||||
{profile.canDelete && profile.source !== "SCIM" && (
|
||||
<DropdownItem
|
||||
onClick={handleRemove}
|
||||
variant="danger"
|
||||
icon={IconTrashCan}
|
||||
>
|
||||
{__("Remove person")}
|
||||
</DropdownItem>
|
||||
)}
|
||||
</ActionDropdown>
|
||||
{(canSendActivationMail || canDelete) && (
|
||||
<ActionDropdown>
|
||||
{canSendActivationMail && (
|
||||
<DropdownItem
|
||||
onClick={handleInvite}
|
||||
icon={IconMail}
|
||||
>
|
||||
{lastInvitation ? __("Resend activation mail") : __("Send activation mail")}
|
||||
</DropdownItem>
|
||||
)}
|
||||
{canDelete && (
|
||||
<DropdownItem
|
||||
onClick={handleRemove}
|
||||
variant="danger"
|
||||
icon={IconTrashCan}
|
||||
>
|
||||
{__("Remove person")}
|
||||
</DropdownItem>
|
||||
)}
|
||||
</ActionDropdown>
|
||||
)}
|
||||
</Td>
|
||||
</Tr>
|
||||
);
|
||||
|
||||
@@ -61,6 +61,8 @@ func (p MembershipProfile) CursorKey(orderBy MembershipProfileOrderField) page.C
|
||||
return page.NewCursorKey(p.ID, p.Kind)
|
||||
case MembershipProfileOrderFieldOrganizationName:
|
||||
return page.NewCursorKey(p.ID, p.OrganizationName)
|
||||
case MembershipProfileOrderFieldState:
|
||||
return page.NewCursorKey(p.ID, p.State)
|
||||
}
|
||||
|
||||
panic(fmt.Sprintf("unsupported order by: %s", orderBy))
|
||||
|
||||
@@ -23,6 +23,7 @@ const (
|
||||
MembershipProfileOrderFieldFullName MembershipProfileOrderField = "FULL_NAME"
|
||||
MembershipProfileOrderFieldKind MembershipProfileOrderField = "KIND"
|
||||
MembershipProfileOrderFieldOrganizationName MembershipProfileOrderField = "ORGANIZATION_NAME"
|
||||
MembershipProfileOrderFieldState MembershipProfileOrderField = "STATE"
|
||||
)
|
||||
|
||||
func (p MembershipProfileOrderField) Column() string {
|
||||
|
||||
@@ -511,6 +511,10 @@ enum ProfileOrderField
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.MembershipProfileOrderFieldOrganizationName"
|
||||
)
|
||||
STATE
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.MembershipProfileOrderFieldState"
|
||||
)
|
||||
}
|
||||
|
||||
input ProfileFilter {
|
||||
|
||||
@@ -2983,6 +2983,10 @@ enum ProfileOrderField
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.MembershipProfileOrderFieldOrganizationName"
|
||||
)
|
||||
STATE
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.MembershipProfileOrderFieldState"
|
||||
)
|
||||
}
|
||||
|
||||
input ProfileFilter {
|
||||
@@ -22105,12 +22109,14 @@ var (
|
||||
"CREATED_AT": coredata.MembershipProfileOrderFieldCreatedAt,
|
||||
"KIND": coredata.MembershipProfileOrderFieldKind,
|
||||
"ORGANIZATION_NAME": coredata.MembershipProfileOrderFieldOrganizationName,
|
||||
"STATE": coredata.MembershipProfileOrderFieldState,
|
||||
}
|
||||
marshalNProfileOrderField2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐMembershipProfileOrderField = map[coredata.MembershipProfileOrderField]string{
|
||||
coredata.MembershipProfileOrderFieldFullName: "FULL_NAME",
|
||||
coredata.MembershipProfileOrderFieldCreatedAt: "CREATED_AT",
|
||||
coredata.MembershipProfileOrderFieldKind: "KIND",
|
||||
coredata.MembershipProfileOrderFieldOrganizationName: "ORGANIZATION_NAME",
|
||||
coredata.MembershipProfileOrderFieldState: "STATE",
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user