@strapi/admin 4.9.0-exp.90df253ba90fd6879eb56a720a1f80d04ff745b8 → 4.10.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/admin/src/content-manager/components/DynamicTable/CellContent/PublicationState/PublicationState.js +26 -0
  2. package/admin/src/content-manager/components/DynamicTable/CellContent/PublicationState/index.js +1 -0
  3. package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/ReviewWorkflowsStage.js +15 -0
  4. package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/index.js +1 -0
  5. package/admin/src/content-manager/components/DynamicTable/index.js +43 -49
  6. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +2 -0
  7. package/admin/src/content-manager/components/DynamicZone/utils/select.js +1 -1
  8. package/admin/src/content-manager/components/FieldComponent/utils/select.js +2 -1
  9. package/admin/src/content-manager/components/Inputs/utils/getInputType.js +1 -1
  10. package/admin/src/content-manager/components/Inputs/utils/select.js +1 -1
  11. package/admin/src/content-manager/hooks/useContentTypeLayout/index.js +1 -2
  12. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +4 -1
  13. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +1 -2
  14. package/admin/src/content-manager/pages/EditSettingsView/init.js +3 -1
  15. package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +2 -4
  16. package/admin/src/content-manager/pages/EditView/DeleteLink/utils/select.js +1 -1
  17. package/admin/src/content-manager/pages/EditView/Information/index.js +77 -53
  18. package/admin/src/content-manager/pages/EditView/InformationBox/InformationBoxCE.js +13 -0
  19. package/admin/src/content-manager/pages/EditView/InformationBox/index.js +3 -0
  20. package/admin/src/content-manager/pages/EditView/index.js +3 -4
  21. package/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +2 -1
  22. package/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +2 -1
  23. package/admin/src/content-manager/pages/ListView/index.js +6 -9
  24. package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
  25. package/admin/src/content-manager/utils/createDefaultForm.js +2 -2
  26. package/admin/src/content-manager/utils/formatLayoutToApi.js +2 -1
  27. package/admin/src/content-manager/utils/getFieldName.js +1 -1
  28. package/admin/src/content-manager/utils/mergeMetasWithSchema.js +1 -1
  29. package/admin/src/content-manager/utils/paths.js +1 -1
  30. package/admin/src/content-manager/utils/removePasswordFieldsFromData.js +1 -1
  31. package/admin/src/hooks/useRegenerate/index.js +1 -1
  32. package/admin/src/hooks/useSettingsForm/index.js +3 -3
  33. package/admin/src/hooks/useSettingsForm/reducer.js +3 -1
  34. package/admin/src/hooks/useSettingsMenu/reducer.js +1 -1
  35. package/admin/src/index.js +1 -0
  36. package/admin/src/pages/AuthPage/reducer.js +1 -1
  37. package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +5 -7
  38. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +1 -1
  39. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js +1 -1
  40. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js +6 -8
  41. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/utils/createDefaultConditionsForm.js +1 -1
  42. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +2 -1
  43. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +2 -1
  44. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +1 -1
  45. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +6 -1
  46. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +5 -1
  47. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultPluginsFormFromLayout.js +1 -2
  48. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +2 -2
  49. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +4 -1
  50. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateValues.js +1 -1
  51. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +1 -1
  52. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +2 -1
  53. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +1 -1
  54. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +0 -41
  55. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +4 -6
  56. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +0 -1
  57. package/admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js +2 -2
  58. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js +1 -7
  59. package/admin/src/permissions/index.js +1 -1
  60. package/admin/src/translations/en.json +6 -0
  61. package/admin/src/utils/getAttributesToDisplay.js +2 -4
  62. package/admin/src/utils/getExistingActions.js +1 -3
  63. package/admin/src/utils/sortLinks.js +1 -1
  64. package/build/{8580.b0dcf37c.chunk.js → 2263.4c5916f9.chunk.js} +61 -61
  65. package/build/4649.213b8a3b.chunk.js +30 -0
  66. package/build/6985.66cca29c.chunk.js +1 -0
  67. package/build/7259.aefb51e8.chunk.js +1 -0
  68. package/build/{7112.2bf13da3.chunk.js → 9505.dbe702ab.chunk.js} +6 -6
  69. package/build/{Admin-authenticatedApp.5aa08bf5.chunk.js → Admin-authenticatedApp.f50ad423.chunk.js} +3 -3
  70. package/build/{Admin_marketplace.0f6c8ee2.chunk.js → Admin_marketplace.02608d56.chunk.js} +1 -1
  71. package/build/{Admin_profilePage.d2a8f9ab.chunk.js → Admin_profilePage.76afeca0.chunk.js} +1 -1
  72. package/build/Admin_settingsPage.147755cd.chunk.js +9 -0
  73. package/build/admin-app.55dd7921.chunk.js +112 -0
  74. package/build/admin-edit-roles-page.cf543488.chunk.js +216 -0
  75. package/build/admin-edit-users.31c20712.chunk.js +10 -0
  76. package/build/admin-roles-list.489c501f.chunk.js +2 -0
  77. package/build/{admin-users.af8c3123.chunk.js → admin-users.3e111a7d.chunk.js} +1 -1
  78. package/build/{api-tokens-create-page.2a6e22bd.chunk.js → api-tokens-create-page.4328b852.chunk.js} +1 -1
  79. package/build/{api-tokens-edit-page.fa38cd63.chunk.js → api-tokens-edit-page.bce5050f.chunk.js} +1 -1
  80. package/build/content-manager.4480ae88.chunk.js +1137 -0
  81. package/build/content-type-builder-translation-en-json.7961593e.chunk.js +1 -0
  82. package/build/content-type-builder.af9abf1e.chunk.js +126 -0
  83. package/build/en-json.697b4bcf.chunk.js +1 -0
  84. package/build/index.html +1 -1
  85. package/build/main.af8c0f31.js +3790 -0
  86. package/build/review-workflows-settings.7a7dc773.chunk.js +57 -0
  87. package/build/runtime~main.5a95bee6.js +2 -0
  88. package/build/sso-settings-page.272b87c8.chunk.js +1 -0
  89. package/build/{upload-settings.0200561d.chunk.js → upload-settings.0875e973.chunk.js} +1 -1
  90. package/build/upload-translation-fr-json.baab9911.chunk.js +1 -0
  91. package/build/users-advanced-settings-page.1d3c14c7.chunk.js +1 -0
  92. package/build/{users-email-settings-page.a3c80419.chunk.js → users-email-settings-page.e8db68c4.chunk.js} +1 -1
  93. package/build/users-providers-settings-page.14cac425.chunk.js +1 -0
  94. package/build/users-roles-settings-page.2ea4de84.chunk.js +30 -0
  95. package/build/{webhook-edit-page.a2a2b7bb.chunk.js → webhook-edit-page.329141a5.chunk.js} +3 -3
  96. package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +92 -0
  97. package/ee/admin/content-manager/pages/EditView/InformationBox/index.js +3 -0
  98. package/ee/admin/hooks/useSettingsMenu/utils/customAdminLinks.js +12 -12
  99. package/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js +21 -13
  100. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +195 -0
  101. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +42 -0
  102. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/AddStage.js +87 -0
  103. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/index.js +1 -0
  104. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +90 -0
  105. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/index.js +1 -0
  106. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stages.js +92 -0
  107. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/index.js +1 -0
  108. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +6 -0
  109. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +35 -0
  110. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/index.js +3 -0
  111. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +121 -0
  112. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/getWorkflowValidationSchema.js +25 -0
  113. package/ee/admin/pages/SettingsPage/utils/customRoutes.js +16 -2
  114. package/ee/admin/permissions/customPermissions.js +3 -0
  115. package/ee/server/bootstrap.js +16 -0
  116. package/ee/server/config/admin-actions.js +10 -0
  117. package/ee/server/constants/default-stages.json +14 -0
  118. package/ee/server/constants/default-workflow.json +1 -0
  119. package/ee/server/constants/workflows.js +8 -0
  120. package/ee/server/content-types/index.js +9 -0
  121. package/ee/server/content-types/workflow/index.js +34 -0
  122. package/ee/server/content-types/workflow-stage/index.js +41 -0
  123. package/ee/server/controllers/index.js +2 -0
  124. package/ee/server/controllers/workflows/index.js +36 -0
  125. package/ee/server/controllers/workflows/stages/index.js +95 -0
  126. package/ee/server/index.js +1 -0
  127. package/ee/server/middlewares/review-workflows.js +40 -0
  128. package/ee/server/migrations/review-workflows.js +39 -0
  129. package/ee/server/register.js +7 -0
  130. package/ee/server/routes/index.js +104 -0
  131. package/ee/server/services/index.js +4 -0
  132. package/ee/server/services/review-workflows/entity-service-decorator.js +42 -0
  133. package/ee/server/services/review-workflows/review-workflows.js +175 -0
  134. package/ee/server/services/review-workflows/stages.js +148 -0
  135. package/ee/server/services/review-workflows/workflows.js +25 -0
  136. package/ee/server/utils/index.js +8 -0
  137. package/ee/server/utils/persisted-tables.js +49 -0
  138. package/ee/server/utils/review-workflows.js +25 -0
  139. package/ee/server/utils/test.js +11 -0
  140. package/ee/server/validation/review-workflows.js +24 -0
  141. package/package.json +13 -13
  142. package/server/controllers/transfer/runner.js +2 -4
  143. package/server/routes/transfer.js +4 -13
  144. package/server/services/constants.js +0 -4
  145. package/server/services/permission/permissions-manager/sanitize.js +2 -0
  146. package/server/services/transfer/permission.js +1 -1
  147. package/server/services/transfer/token.js +31 -33
  148. package/server/validation/transfer/token.js +2 -10
  149. package/build/2637.679b590b.chunk.js +0 -1
  150. package/build/5563.451e91ee.chunk.js +0 -30
  151. package/build/7259.7744297b.chunk.js +0 -1
  152. package/build/Admin_settingsPage.489ec4eb.chunk.js +0 -9
  153. package/build/admin-app.4b313104.chunk.js +0 -112
  154. package/build/admin-edit-roles-page.3b196317.chunk.js +0 -216
  155. package/build/admin-edit-users.af3b0f15.chunk.js +0 -10
  156. package/build/admin-roles-list.0ad504a7.chunk.js +0 -2
  157. package/build/content-manager.f530e141.chunk.js +0 -1139
  158. package/build/content-type-builder-translation-en-json.e577d595.chunk.js +0 -1
  159. package/build/content-type-builder.6ecd201d.chunk.js +0 -126
  160. package/build/en-json.01a88a30.chunk.js +0 -1
  161. package/build/main.43b93ff3.js +0 -3843
  162. package/build/runtime~main.a40b1b57.js +0 -2
  163. package/build/sso-settings-page.5a8588ef.chunk.js +0 -1
  164. package/build/upload-translation-fr-json.84429734.chunk.js +0 -1
  165. package/build/users-advanced-settings-page.c0cae03a.chunk.js +0 -1
  166. package/build/users-providers-settings-page.5f86e45c.chunk.js +0 -1
  167. package/build/users-roles-settings-page.b02986df.chunk.js +0 -30
@@ -1,10 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4263],{34669:function(R,u,e){e.r(u),e.d(u,{default:function(){return k}});var t=e(32735),a=e(13478),n=e(5141),g=e(92891),l=e(72041),d=e(20011),o=e(5636),p=e(60216),m=e.n(p),c=e(88423),h=e.n(c),P=e(33795),A=e.n(P),W=e(9086),T=e.n(W),K=e(84968),Z=e(83281),s=e(39161),f=e(57269),v=e(64421);const b=async y=>{const{get:_}=(0,a.getFetchClient)(),{data:r}=await _(`/admin/users/${y}`);return r.data},G=async(y,_)=>{const{put:r}=(0,a.getFetchClient)(),{data:M}=await r(`/admin/users/${y}`,_);return M.data};var H=[[{intlLabel:{id:"Auth.form.firstname.label",defaultMessage:"First name"},name:"firstname",placeholder:{id:"Auth.form.firstname.placeholder",defaultMessage:"e.g. Kai"},type:"text",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.lastname.label",defaultMessage:"Last name"},name:"lastname",placeholder:{id:"Auth.form.lastname.placeholder",defaultMessage:"e.g. Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"Auth.form.email.label",defaultMessage:"Email"},name:"email",placeholder:{id:"Auth.form.email.placeholder",defaultMessage:"e.g. kai.doe@strapi.io"},type:"email",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.username.label",defaultMessage:"Username"},name:"username",placeholder:{id:"Auth.form.username.placeholder",defaultMessage:"e.g. Kai_Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"global.password",defaultMessage:"Password"},name:"password",type:"password",size:{col:6,xs:12},autoComplete:"new-password"},{intlLabel:{id:"Auth.form.confirmPassword.label",defaultMessage:"Password confirmation"},name:"confirmPassword",type:"password",size:{col:6,xs:12},autoComplete:"new-password"}],[{intlLabel:{id:"Auth.form.active.label",defaultMessage:"Active"},name:"isActive",type:"bool",size:{col:6,xs:12}}]],C=e(1057),Y=e(4397);const j=(()=>window&&window.strapi&&window.strapi.isEE?e(28890).Z:e(16325).Z)(),z=["email","firstname","lastname","username","isActive","roles"],F=y=>{let{canUpdate:_}=y;const{formatMessage:r}=(0,o.useIntl)(),{params:{id:M}}=(0,n.useRouteMatch)("/settings/users/:id"),{push:U}=(0,n.useHistory)(),{setUserDisplayName:Q}=(0,a.useAppInfos)(),S=(0,a.useNotification)(),{lockApp:q,unlockApp:ee}=(0,a.useOverlayBlocker)();(0,a.useFocusWhenNavigate)();const{status:te,data:x}=(0,K.useQuery)(["user",M],()=>b(M),{retry:!1,onError(i){i.response.status===403&&(S({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}}),U("/")),console.log(i.response.status)}}),ae=async(i,E)=>{q();try{const D=await G(M,T()(i,"confirmPassword"));S({type:"success",message:r({id:"notification.success.saved",defaultMessage:"Saved"})});const O=a.auth.getUserInfo();if(M.toString()===O.id.toString()){a.auth.setUserInfo(D);const B=A()(i,"username")||(0,v.Pp)(i.firstname,i.lastname);Q(B)}E.setValues(h()(i,z))}catch(D){const O=(0,v.Iz)(D.response.data),B=Object.keys(O).reduce((N,L)=>(N[L]=O[L].id,N),{});E.setErrors(B),S({type:"warning",message:A()(D,"response.data.error.message","notification.error")})}ee()},X=te!=="success",se=X?{id:"app.containers.Users.EditPage.header.label-loading",defaultMessage:"Edit user"}:{id:"app.containers.Users.EditPage.header.label",defaultMessage:"Edit {name}"},$=Object.keys(h()(x,z)).reduce((i,E)=>E==="roles"?(i[E]=(x?.roles||[]).map(D=>{let{id:O}=D;return O}),i):(i[E]=x?.[E],i),{}),ne=$.username||(0,v.Pp)($.firstname,$.lastname),J=r(se,{name:ne});return X?t.createElement(s.Main,{"aria-busy":"true"},t.createElement(a.SettingsPageTitle,{name:"Users"}),t.createElement(s.HeaderLayout,{primaryAction:t.createElement(s.Button,{disabled:!0,startIcon:t.createElement(f.Check,null),type:"button",size:"L"},r({id:"global.save",defaultMessage:"Save"})),title:J,navigationAction:t.createElement(a.Link,{startIcon:t.createElement(f.ArrowLeft,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},r({id:"global.back",defaultMessage:"Back"}))}),t.createElement(s.ContentLayout,null,t.createElement(a.LoadingIndicatorPage,null))):t.createElement(s.Main,null,t.createElement(a.SettingsPageTitle,{name:"Users"}),t.createElement(Z.Formik,{onSubmit:ae,initialValues:$,validateOnChange:!1,validationSchema:C.YM},i=>{let{errors:E,values:D,handleChange:O,isSubmitting:B}=i;return t.createElement(a.Form,null,t.createElement(s.HeaderLayout,{primaryAction:t.createElement(s.Button,{disabled:B||!_,startIcon:t.createElement(f.Check,null),loading:B,type:"submit",size:"L"},r({id:"global.save",defaultMessage:"Save"})),title:J,navigationAction:t.createElement(a.Link,{startIcon:t.createElement(f.ArrowLeft,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},r({id:"global.back",defaultMessage:"Back"}))}),t.createElement(s.ContentLayout,null,x?.registrationToken&&t.createElement(s.Box,{paddingBottom:6},t.createElement(j,{registrationToken:x.registrationToken})),t.createElement(s.Flex,{direction:"column",alignItems:"stretch",gap:7},t.createElement(s.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(s.Flex,{direction:"column",alignItems:"stretch",gap:4},t.createElement(s.Typography,{variant:"delta",as:"h2"},r({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"Details"})),t.createElement(s.Grid,{gap:5},H.map(N=>N.map(L=>t.createElement(s.GridItem,(0,d.Z)({key:L.name},L.size),t.createElement(a.GenericInput,(0,d.Z)({},L,{disabled:!_,error:E[L.name],onChange:O,value:D[L.name]||""})))))))),t.createElement(s.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(s.Flex,{direction:"column",alignItems:"stretch",gap:4},t.createElement(s.Typography,{variant:"delta",as:"h2"},r({id:"global.roles",defaultMessage:"User's role"})),t.createElement(s.Grid,{gap:5},t.createElement(s.GridItem,{col:6,xs:12},t.createElement(Y.Z,{disabled:!_,error:E.roles,onChange:O,value:D.roles}))))))))}))};F.propTypes={canUpdate:m().bool.isRequired};var w=F,k=()=>{const y=(0,a.useNotification)(),_=(0,t.useMemo)(()=>({read:l.Z.settings.users.read,update:l.Z.settings.users.update}),[]),{isLoading:r,allowedActions:{canRead:M,canUpdate:U}}=(0,a.useRBAC)(_),{state:Q}=(0,n.useLocation)(),S=(0,g.get)(Q,"from","/");return(0,t.useEffect)(()=>{r||!M&&!U&&y({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}})},[r,M,U,y]),r?t.createElement(a.LoadingIndicatorPage,null):!M&&!U?t.createElement(n.Redirect,{to:S}):t.createElement(w,{canUpdate:U})}},76779:function(R,u,e){var t=e(32735),a=e(60216),n=e.n(a),g=e(39161),l=e.n(g),d=e(13478),o=e.n(d),p=e(57269),m=e.n(p),c=e(59087),h=e.n(c),P=e(5636);const A=({children:W,target:T})=>{const K=(0,d.useNotification)(),{formatMessage:Z}=(0,P.useIntl)(),s=()=>{K({type:"info",message:{id:"notification.link-copied"}})},f=Z({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"});return t.createElement(d.ContentBox,{endAction:t.createElement(c.CopyToClipboard,{onCopy:s,text:T},t.createElement(g.IconButton,{label:f,noBorder:!0,icon:t.createElement(p.Duplicate,null)})),title:T,titleEllipsis:!0,subtitle:W,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};A.propTypes={children:n().oneOfType([n().element,n().string]).isRequired,target:n().string.isRequired},u.Z=A},16325:function(R,u,e){var t=e(32735),a=e(5636),n=e(60216),g=e.n(n),l=e(463),d=e(76779);const o=({registrationToken:p})=>{const{formatMessage:m}=(0,a.useIntl)(),c=`${window.location.origin}${l.Z}auth/register?registrationToken=${p}`;return t.createElement(d.Z,{target:c},m({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};o.defaultProps={registrationToken:""},o.propTypes={registrationToken:g().string},u.Z=o},4397:function(R,u,e){var t=e(32735),a=e(60216),n=e.n(a),g=e(5636),l=e(39161),d=e.n(l),o=e(84968),p=e.n(o),m=e(83292),c=e(57269),h=e.n(c),P=e(13478),A=e.n(P);const W=m.keyframes`
2
- from {
3
- transform: rotate(0deg);
4
- }
5
- to {
6
- transform: rotate(359deg);
7
- }
8
- `,T=m.default.div`
9
- animation: ${W} 2s infinite linear;
10
- `,K=()=>t.createElement(T,null,t.createElement(c.Loader,null)),Z=async()=>{const{get:f}=(0,P.getFetchClient)(),{data:v}=await f("/admin/roles");return v.data},s=({disabled:f,error:v,onChange:b,value:G})=>{const{status:V,data:H}=(0,o.useQuery)(["roles"],Z,{staleTime:5e4}),{formatMessage:C}=(0,g.useIntl)(),Y=v?C({id:v,defaultMessage:v}):"",j=C({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),z=C({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),F=C({id:"app.components.Select.placeholder",defaultMessage:"Select"}),w=V==="loading"?t.createElement(K,null):void 0;return t.createElement(l.Select,{id:"roles",disabled:f,error:Y,hint:z,label:j,name:"roles",onChange:I=>{b({target:{name:"roles",value:I}})},placeholder:F,multi:!0,startIcon:w,value:G,withTags:!0,required:!0},(H||[]).map(I=>t.createElement(l.Option,{key:I.id,value:I.id},C({id:`global.${I.code}`,defaultMessage:I.name}))))};s.defaultProps={disabled:!1,error:void 0},s.propTypes={disabled:n().bool,error:n().string,onChange:n().func.isRequired,value:n().array.isRequired},u.Z=s},1057:function(R,u,e){e.d(u,{YM:function(){return m},Rw:function(){return l}});var t=e(5173),a=e(13478);const n={firstname:t.Z_().trim().required(a.translatedErrors.required),lastname:t.Z_(),email:t.Z_().email(a.translatedErrors.email).lowercase().required(a.translatedErrors.required),username:t.Z_().nullable(),password:t.Z_().min(8,a.translatedErrors.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number"),confirmPassword:t.Z_().min(8,a.translatedErrors.minLength).oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").when("password",(c,h)=>c?h.required(a.translatedErrors.required):h)};var l={...n,currentPassword:t.Z_().when(["password","confirmPassword"],(c,h,P)=>c||h?P.required(a.translatedErrors.required):P),preferedLanguage:t.Z_().nullable()},o={roles:t.IX().min(1,a.translatedErrors.required).required(a.translatedErrors.required)},m=t.Ry().shape({...n,isActive:t.Xg(),...o})},28890:function(R,u,e){var t=e(32735),a=e(5636),n=e(60216),g=e.n(n),l=e(463),d=e(76779);const o=({registrationToken:p})=>{const{formatMessage:m}=(0,a.useIntl)();return p?t.createElement(d.Z,{target:`${window.location.origin}${l.Z}auth/register?registrationToken=${p}`},m({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"})):t.createElement(d.Z,{target:`${window.location.origin}${l.Z}auth/login`},m({id:"app.components.Users.MagicLink.connect.sso",defaultMessage:"Send this link to the user, the first login can be made via a SSO provider."}))};o.defaultProps={registrationToken:""},o.propTypes={registrationToken:g().string},u.Z=o}}]);
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3455],{67249:function(X,O,o){o.r(O),o.d(O,{default:function(){return G}});var e=o(32735),r=o(13478),A=o(72041),C=o(57269),t=o(39161),B=o(92891),S=o(58469),M=o(5636),N=o(5141),F=o(8888),W=()=>"todo empty role",U=o(60216),f=o.n(U);const x=({id:l,name:d,description:n,usersCount:u,icons:m,rowIndex:i})=>{const{formatMessage:E}=(0,M.useIntl)(),h=E({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:u});return e.createElement(t.Tr,{"aria-rowindex":i,key:l,...(0,r.onRowClick)({fn:m[1].onClick})},e.createElement(t.Td,{maxWidth:(0,r.pxToRem)(130)},e.createElement(t.Typography,{ellipsis:!0,textColor:"neutral800"},d)),e.createElement(t.Td,{maxWidth:(0,r.pxToRem)(250)},e.createElement(t.Typography,{ellipsis:!0,textColor:"neutral800"},n)),e.createElement(t.Td,null,e.createElement(t.Typography,{textColor:"neutral800"},h)),e.createElement(t.Td,null,e.createElement(t.Flex,{justifyContent:"flex-end",...r.stopPropagation},m.map((s,p)=>s?e.createElement(t.Box,{key:s.label,paddingLeft:p===0?0:1},e.createElement(t.IconButton,{onClick:s.onClick,label:s.label,noBorder:!0,icon:s.icon})):null))))};x.propTypes={id:f().number.isRequired,name:f().string.isRequired,description:f().string.isRequired,usersCount:f().number.isRequired,icons:f().array.isRequired,rowIndex:f().number.isRequired};var V=x,j=o(97889);const H={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1};var Z=(l,d)=>(0,j.default)(l,n=>{switch(d.type){case"ON_REMOVE_ROLES":{n.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{n.shouldRefetchData=!0,n.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{n.shouldRefetchData=!1,n.roleToDelete=null,n.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{n.roleToDelete=d.id;break}default:return n}});const Q=()=>{(0,r.useFocusWhenNavigate)();const{isLoading:l,allowedActions:{canCreate:d,canDelete:n,canRead:u,canUpdate:m}}=(0,r.useRBAC)(A.Z.settings.roles),{getData:i,roles:E,isLoading:h}=(0,F.bF)(!1),[{query:s}]=(0,r.useQueryParams)(),p=s?._q||"",R=(0,S.ZP)(E,p,{keys:["name","description"]});return(0,e.useEffect)(()=>{!l&&u&&i()},[l,u,i]),{isLoadingForPermissions:l,canCreate:d,canDelete:n,canRead:u,canUpdate:m,isLoading:h,getData:i,sortedRoles:R,roles:E}},$=({getData:l,canCreate:d,canDelete:n,canUpdate:u})=>{const{formatMessage:m}=(0,M.useIntl)(),i=(0,r.useNotification)(),[E,h]=(0,e.useState)(!1),{push:s}=(0,N.useHistory)(),[{selectedRoles:p,showModalConfirmButtonLoading:R,roleToDelete:v},T]=(0,e.useReducer)(Z,H),{post:P}=(0,r.getFetchClient)(),b=async()=>{try{T({type:"ON_REMOVE_ROLES"}),await P("/admin/roles/batch-delete",{ids:[v]}),await l(),T({type:"RESET_DATA_TO_DELETE"})}catch(a){const c=(0,B.get)(a,["response","payload","data","ids"],null);if(c&&Array.isArray(c)){const K=c.join(`
2
- `);i({type:"warning",message:K})}else i({type:"warning",message:{id:"notification.error"}})}g()},y=(0,e.useCallback)(a=>{s(`/settings/roles/duplicate/${a}`)},[s]),k=()=>s("/settings/roles/new"),D=(0,e.useCallback)(a=>{T({type:"SET_ROLE_TO_DELETE",id:a}),g()},[]),g=()=>h(a=>!a),L=(0,e.useCallback)(a=>{s(`/settings/roles/${a}`)},[s]),w=(0,e.useCallback)((a,c)=>{a.preventDefault(),a.stopPropagation(),c.usersCount?i({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):D(c.id)},[i,D]),I=(0,e.useCallback)((a,c)=>{a.preventDefault(),a.stopPropagation(),y(c.id)},[y]),J=(0,e.useCallback)(a=>[...d?[{onClick:c=>I(c,a),label:m({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(C.Duplicate,null)}]:[],...u?[{onClick:()=>L(a.id),label:m({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(C.Pencil,null)}]:[],...n?[{onClick:c=>w(c,a),label:m({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(C.Trash,null)}]:[]],[m,w,I,L,d,u,n]);return{handleNewRoleClick:k,getIcons:J,selectedRoles:p,isWarningDeleteAllOpened:E,showModalConfirmButtonLoading:R,handleToggleModal:g,handleDeleteData:b}};var z=()=>{const{formatMessage:l}=(0,M.useIntl)(),{isLoadingForPermissions:d,canCreate:n,canRead:u,canDelete:m,canUpdate:i,isLoading:E,getData:h,sortedRoles:s}=Q(),{handleNewRoleClick:p,getIcons:R,isWarningDeleteAllOpened:v,showModalConfirmButtonLoading:T,handleToggleModal:P,handleDeleteData:b}=$({getData:h,canCreate:n,canDelete:m,canUpdate:i}),y=s.length+1,k=6;if(d)return e.createElement(t.Main,null,e.createElement(r.LoadingIndicatorPage,null));const D=l({id:"global.roles",defaultMessage:"roles"});return e.createElement(t.Main,null,e.createElement(r.SettingsPageTitle,{name:"Roles"}),e.createElement(t.HeaderLayout,{primaryAction:n?e.createElement(t.Button,{onClick:p,startIcon:e.createElement(C.Plus,null),size:"S"},l({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null,title:D,subtitle:l({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),as:"h2"}),u&&e.createElement(t.ActionLayout,{startActions:e.createElement(r.SearchURLQuery,{label:l({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:D})})}),u&&e.createElement(t.ContentLayout,null,e.createElement(t.Table,{colCount:k,rowCount:y,footer:n?e.createElement(t.TFooter,{onClick:p,icon:e.createElement(C.Plus,null)},l({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null},e.createElement(t.Thead,null,e.createElement(t.Tr,{"aria-rowindex":1},e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},l({id:"global.name",defaultMessage:"Name"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},l({id:"global.description",defaultMessage:"Description"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},l({id:"global.users",defaultMessage:"Users"}))),e.createElement(t.Th,null,e.createElement(t.VisuallyHidden,null,l({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(t.Tbody,null,s?.map((g,L)=>e.createElement(V,{key:g.id,id:g.id,name:g.name,description:g.description,usersCount:g.usersCount,icons:R(g),rowIndex:L+2})))),!y&&!E&&e.createElement(W,null)),e.createElement(r.ConfirmDialog,{isOpen:v,onConfirm:b,isConfirmButtonLoading:T,onToggleDialog:P}))},G=()=>e.createElement(r.CheckPagePermissions,{permissions:A.Z.settings.roles.main},e.createElement(z,null))}}]);