diff --git a/src/views/cipp/UserSettings.jsx b/src/views/cipp/UserSettings.jsx index bac284828d9f..9b1a42b690d1 100644 --- a/src/views/cipp/UserSettings.jsx +++ b/src/views/cipp/UserSettings.jsx @@ -65,7 +65,7 @@ import { import CippCodeOffCanvas from 'src/components/utilities/CippCodeOffcanvas' import ReportImage from 'src/components/utilities/ReportImage' import { useLoadClientPrincipalQuery } from 'src/store/api/auth' -import { setOffboardingDefaults } from 'src/store/features/app' +import { setOffboardingDefaults, setNewUserDefaults } from 'src/store/features/app' const Offcanvas = (row, rowIndex, formatExtraData) => { const [ExecuteGetRequest, getResults] = useLazyGenericGetRequestQuery() @@ -122,6 +122,80 @@ const Offcanvas = (row, rowIndex, formatExtraData) => { } const UserSettings = () => { + const tenant = useSelector((state) => state.app.currentTenant) + const [addedAttributes, setAddedAttribute] = React.useState(0) + const [random3, setRandom3] = useState('') + const availableProperties = useGenericGetRequestQuery({ + path: '/api/ListGraphRequest', + params: { + Endpoint: 'users', + ListProperties: true, + TenantFilter: tenant.defaultDomainName, + IgnoreErrors: true, + }, + }) + const exclusionList = [ + 'id', + 'accountEnabled', + 'deletedDateTime', + 'ageGroup', + 'businessPhones', + 'city', + 'createdDateTime', + 'creationType', + 'companyName', + 'country', + 'department', + 'displayName', + 'givenName', + 'imAddresses', + 'infoCatalogs', + 'isLicenseReconciliationNeeded', + 'isManagementRestricted', + 'isResourceAccount', + 'jobTitle', + 'mail', + 'mailNickname', + 'mobilePhone', + 'onPremisesDistinguishedName', + 'onPremisesDomainName', + 'onPremisesImmutableId', + 'onPremisesLastSyncDateTime', + 'onPremisesObjectIdentifier', + 'onPremisesSecurityIdentifier', + 'onPremisesSamAccountName', + 'onPremisesSyncEnabled', + 'onPremisesUserPrincipalName', + 'passwordPolicies', + 'postalCode', + 'preferredDataLocation', + 'preferredLanguage', + 'proxyAddresses', + 'refreshTokensValidFromDateTime', + 'securityIdentifier', + 'signInSessionsValidFromDateTime', + 'streetAddress', + 'surname', + 'usageLocation', + 'userPrincipalName', + 'externalUserConvertedOn', + 'externalUserState', + 'externalUserStateChangeDateTime', + 'userType', + 'employeeOrgData', + 'assignedLicenses', + 'assignedPlans', + 'authorizationInfo', + 'cloudRealtimeCommunicationInfo', + 'deviceKeys', + 'identities', + 'onPremisesExtensionAttributes', + 'onPremisesProvisioningErrors', + 'onPremisesSipInfo', + 'passwordProfile', + 'provisionedPlans', + 'serviceProvisioningErrors', + ] const [genericPostRequest, postResults] = useLazyGenericPostRequestQuery() const { data: profile, isFetching, isLoading } = useLoadClientPrincipalQuery() const dispatch = useDispatch() @@ -129,6 +203,7 @@ const UserSettings = () => { const onSubmit = (values) => { dispatch(setOffboardingDefaults({ offboardingDefaults: values })) + dispatch(setNewUserDefaults({ NewUserDefaults: values.name })) const shippedvalues = { user: values.user, currentSettings: currentSettings, @@ -201,6 +276,51 @@ const UserSettings = () => { /> + +

New User Attribute Defaults

+
+ !exclusionList.includes(prop), + )?.map((prop) => ({ + name: prop, + value: prop, + })) ?? [] + } + allowCreate={true} + refreshFunction={() => + setRandom3((Math.random() + 1).toString(36).substring(7)) + } + isLoading={availableProperties.isFetching} + /> +
+ + + {addedAttributes > 0 && ( + setAddedAttribute(addedAttributes - 1)} + className={`circular-button`} + title={'-'} + > + + + )} + setAddedAttribute(addedAttributes + 1)} + className={`circular-button`} + title={'+'} + > + + + + +