1import{a2 as ge,z as $,v as y,A as x,d as T,i as D,F as V,k as r,a3 as te,aS as oe,s as v,h as L,o as p,aB as ve,u as ae,Q as _e,aG as ye,e as u,w as o,c as I,j as F,aj as re,ak as ne,b as ee,m as ie,Y as ue,R as O,B as ce,D as Ue,x as le,I as de,f as k,t as C,O as be,aL as Ie,aM as Z,E as Fe,U as Ce,J as De,G as ke,H as xe,dt as Ae,_ as Se,ad as Ve}from"./index-8pIADkX4.js";import{u as we,Q as Te}from"./QcDataTableServer-B0YVCTkj.js";import{u as Ee,_ as Re}from"./UserInteractions.vue_vue_type_style_index_0_lang-UqnObJDC.js";import{_ as Ne}from"./UserMoveToOrganisation.vue_vue_type_script_setup_true_lang-DjDFmvjL.js";import{u as Oe}from"./formattingHelper-pa1YE7b3.js";import{u as me,a as $e,b as Le}from"./userFeatureStore-HNT8sYxT.js";import{u as se,a as he}from"./users-BUPPZ5P1.js";import{u as Ge}from"./organisation-Dt_Dg1Wl.js";import{_ as Be}from"./UserCreateFormFields.vue_vue_type_script_setup_true_lang-DfAPhgZL.js";import{V as Me}from"./VStepper-CymJsOcL.js";import{V as qe}from"./VAlert-Br_SQuUp.js";import{V as He}from"./VForm-BXRq0mL6.js";import{V as Pe}from"./VListItemAction-3EIlWgFU.js";import{V as Qe}from"./VSwitch-a6tYyQNt.js";import{_ as je}from"./LayoutCrud.vue_vue_type_script_setup_true_lang-uOE4NVzU.js";import{u as ze}from"./BreadCrumbs.vue_vue_type_style_index_0_lang-DtmhX1ml.js";import"./dateFormatHelper-mgLNgQQt.js";import"./CustomerTermsCheckbox.vue_vue_type_script_setup_true_lang-DNdqALNt.js";import"./VBreadcrumbs-Bz3ZxR9u.js";function pe(){const b=ge(),{can:n,isSqOrganisation:f}=$(),i=y(()=>n(x.UserFeaturesFeature.ALL,x.UserFeaturesAction.MANAGE)&&f());async function t(d){await b.impersonateUser(d)}return{canImpersonate:i,impersonateUser:t}}const Je=T({__name:"UserImpersonate",props:{userId:{}},setup(b){const{impersonateUser:n}=pe(),f=b,i=v(!1),t=v(!1);async function d(){i.value=!0,await n(f.userId),i.value=!1}return(c,l)=>{const m=L("data-table-button");return p(),D(V,null,[r(m,{type:"login",loading:i.value,"tool-tip-text":c.$t("general.user.impersonate.confirmationDialogTitle"),onClick:l[0]||(l[0]=te(U=>t.value=!0,["stop"]))},null,8,["loading","tool-tip-text"]),r(oe,{type:"warning","open-dialog":t.value,"title-text":c.$t("general.user.impersonate.confirmationDialogTitle"),"card-text":c.$t("general.user.impersonate.confirmationDialogText"),"is-confirming":i.value,"recommended-user-action":"cancel",onConfirmClick:d,onCancelClick:l[1]||(l[1]=U=>t.value=!1)},null,8,["open-dialog","title-text","card-text","is-confirming"])],64)}}}),We=T({__name:"UserResetPassword",props:{user:{}},setup(b){const n=b,f=ve(),i=v(!1),t=v(!1),d=y(()=>n.user.firstLogin?"general.user.resendActivationMail":"general.user.requestPasswordReset");async function c(){i.value=!0,await f.resendPasswordMail(n.user.organisation.id,n.user.id),i.value=!1,t.value=!1}return(l,m)=>{const U=L("data-table-button");return p(),D(V,null,[r(U,{type:"reset-password","tool-tip-text":l.$t(`${d.value}.tooltip`),loading:i.value,onClick:m[0]||(m[0]=te(w=>t.value=!0,["stop"]))},null,8,["tool-tip-text","loading"]),r(oe,{type:"warning","open-dialog":t.value,"title-text":l.$t(`${d.value}.confirmationDialogTitle`),"card-text":l.$t(`${d.value}.confirmationDialogText`),"is-confirming":i.value,"recommended-user-action":"cancel",onConfirmClick:c,onCancelClick:m[1]||(m[1]=w=>t.value=!1)},null,8,["open-dialog","title-text","card-text","is-confirming"])],64)}}}),Ye={class:"d-flex flex-row flex-wrap"},Ke=T({__name:"OrganisationUsersList",props:{organisationId:{}},setup(b){const{t:n}=ae(),f=b,{canEdit:i,canDelete:t}=se(),d=he(),c=_e(),{getDescription:l,getIcon:m}=me(),U=ue(),{canRead:w}=Ee(),{canImpersonate:h}=pe(),{hasManageAll:G,currentUser:E}=$(),{getAvailableUserFeatures:B,getUserFeaturesWithActionsByGroup:M}=$e(),{hasAllRequiredUserFeatures:q}=Le(),{dateFormatter:g}=Oe(),{getDeletedStatusFilter:H,buildDeletedAtQuery:P}=we(),_=v(!1),R=v(0),Q=y(()=>M(x.UserFeatureGroup.ORGANISATION)),j=y(()=>[H("active")]),N=y(()=>[{title:n("general.user.firstName"),key:"firstName",sortable:!0},{title:n("general.user.lastName"),key:"lastName",sortable:!0},{title:n("general.user.email"),key:"email",sortable:!0},{title:n("general.user.isActivated"),key:"firstLogin",sortable:!0,value:s=>s.firstLogin?n("general.general.no"):n("general.general.yes")},{title:n("general.user.lastLogin"),key:"lastLogin",sortable:!0,value:s=>s.lastLogin===null?"-":g(s.lastLogin,Ue.DATETIME_SHORT)},{title:n("general.user.userFeatures.userFeatures"),key:"userFeatureGroups",sortable:!1}]);async function z(s){await U.push({name:O.ORGANISATION_USER_EDIT,params:{organisationId:f.organisationId,userId:s.id}})}function J(s){return q(s.userFeatures,Q.value)&&!E.value.isOrganisationAdmin||s.id===E.value.id}async function W(s){_.value=!0;const{query:a,extraParams:A}=P(s);try{const e=await d.getByQuery(f.organisationId,a,s.search,A);d.users=e.data,R.value=e.meta.total}catch(e){c.notifyError(e)}_.value=!1}async function Y(s){_.value=!0;try{await d.softDeleteUser(s),c.notifySuccess(n("general.general.deletionSuccess"))}catch(a){c.notifyError(a)}_.value=!1}async function K(s){_.value=!0;try{await d.restoreUser(s.id,s.organisationId),c.notifySuccess(n("general.general.restoreSuccess"))}catch(a){c.notifyError(a)}_.value=!1}async function X(s){_.value=!0;try{await d.permanentlyDeleteUser(s),c.notifySuccess(n("general.general.deletionSuccess"))}catch(a){c.notifyError(a)}_.value=!1}return ye(async()=>{await B(f.organisationId)}),(s,a)=>{const A=L("base-button");return p(),D(V,null,[r(Te,{loading:_.value,headers:N.value,filters:j.value,items:u(d).users,"items-length":R.value,"default-sort":["id"],permissions:{edit:u(i),delete:u(t)},"onUpdate:queryOptions":W,"onEdit:item":z,"onDelete:item":Y,"onRestore:item":K,"onHardDelete:item":X},{"item.userFeatureGroups":o(({value:e})=>[ee("div",Ye,[(p(!0),D(V,null,ie(e,S=>(p(),D("span",{key:S,class:"ma-1 pa-1"},[r(re,{text:u(l)(S),"max-width":"400"},{activator:o(({props:fe})=>[r(ce,ne({ref_for:!0},fe,{icon:u(m)(S)}),null,16,["icon"])]),_:2},1032,["text"])]))),128))])]),"item.actions.delete":o(({item:e})=>[J(e)?(p(),I(re,{key:0,text:u(n)("general.general.notDeletable")},{activator:o(({props:S}
1)=>[r(A,ne({icon:"mdi-delete"},S,{size:"x-small",color:"grey",variant:"plain",class:"cursor-not-allowed",onClick:te(()=>{},["stop"])}),null,16)]),_:1},8,["text"])):F("",!0)]),"item.actions.append":o(({item:e})=>[u(i)&&e.deletedAt===null?(p(),I(We,{key:0,user:e},null,8,["user"])):F("",!0),u(G)()&&e.deletedAt===null?(p(),I(Ne,{key:1,"user-id":e.id},null,8,["user-id"])):F("",!0),u(h)&&e.deletedAt===null?(p(),I(Je,{key:2,"user-id":e.id},null,8,["user-id"])):F("",!0)]),_:1},8,["loading","headers","filters","items","items-length","permissions"]),u(w)?(p(),I(Re,{key:0,"record-type":u(x.UserInteractionRecordType).USER,"organisation-id":f.organisationId},null,8,["record-type","organisation-id"])):F("",!0)],64)}}}),Xe={key:0},Ze={key:1},et={class:"d-flex justify-space-between mb-4 mx-6"},tt=T({__name:"UserCreate",props:{organisationId:{}},setup(b){const n={firstName:"",email:"",lastName:"",termsAccepted:!1,userFeatureGroups:[],userIdToCopyFeaturesFrom:null},f=v(!1),i=v(!1),t=v(le.clone(n)),d=v(!1),c=v(!0),l=v(0),m=v(1),U=b,{getAvailableUserFeatureGroups:w}=Ge(),{getTitle:h,getDescription:G,getIcon:E}=me(),{allUsers:B,createUser:M,checkIfExists:q}=se(),{t:g}=ae(),H=ue(),{canAccessOwnOrCustomerResource:P}=$(),_=v([]),R=y(()=>P(U.organisationId,{features:[x.UserFeaturesFeature.CORE_ORGANISATION_USERS],action:x.UserFeaturesAction.UPDATE,requiredDistributorFeature:x.UserFeaturesFeature.CORE_CUSTOMER_USERS,requiredInternalFeature:x.UserFeaturesFeature.CORE_CUSTOMER_USERS})),Q=y(()=>B.value.reduce((s,a)=>(a.deletedAt||s.push({value:a.id,title:`${a.firstName} ${a.lastName} (${a.email})`}),s),[])),j=y(()=>m.value===1&&!d.value||m.value===2&&(l.value===0&&t.value.userFeatureGroups.length===0||l.value===2&&!t.value.userIdToCopyFeaturesFrom));function N(){f.value=!1,t.value=le.clone(n),_.value=[],d.value=!1,l.value=0,m.value=1,c.value=!0}async function z(){if(await J(),!!c.value){if(m.value===2){i.value=!0;const s=await M(t.value,U.organisationId);i.value=!1,s&&(l.value===1&&await H.push({name:O.ORGANISATION_USER_EDIT,params:{organisationId:U.organisationId,userId:s.id}}),N());return}m.value++}}async function J(){await q(t.value.email)?c.value=!1:c.value=!0}function W(){if(m.value===1){N();return}m.value--}async function Y(){f.value=!0,i.value=!0,_.value=await w(U.organisationId),i.value=!1}const K=y(()=>m.value===1?g("general.general.next"):g("general.general.create")),X=y(()=>m.value===1?g("general.general.cancel"):g("general.general.back"));return de(l,()=>{l.value!==0&&(t.value.userFeatureGroups=[]),l.value!==2&&(t.value.userIdToCopyFeaturesFrom=null)}),(s,a)=>{const A=L("base-button");return p(),D(V,null,[r(A,{onClick:Y},{default:o(()=>[k(C(u(g)("general.general.add")),1)]),_:1}),r(De,{modelValue:f.value,"onUpdate:modelValue":a[8]||(a[8]=e=>f.value=e),"max-width":"800",persistent:"",scrollable:""},{default:o(()=>[r(Me,{"model-value":m.value,"alt-labels":"",items:[u(g)("general.user.createDialog.steps.user-data"),u(g)("general.user.createDialog.steps.user-features")]},{"item.1":o(()=>[c.value?F("",!0):(p(),I(qe,{key:0,text:u(g)("general.user.createDialog.errorOnEmailCheck"),type:"error",variant:"tonal",class:"mb-4"},null,8,["text"])),r(He,{id:"user-data",modelValue:d.value,"onUpdate:modelValue":a[4]||(a[4]=e=>d.value=e),"validate-on":"input"},{default:o(()=>[r(Be,{"first-name":t.value.firstName,"onUpdate:firstName":a[0]||(a[0]=e=>t.value.firstName=e),lastName:t.value.lastName,"onUpdate:lastName":a[1]||(a[1]=e=>t.value.lastName=e),email:t.value.email,"onUpdate:email":a[2]||(a[2]=e=>t.value.email=e),"terms-accepted":t.value.termsAccepted,"onUpdate:termsAccepted":a[3]||(a[3]=e=>t.value.termsAccepted=e)},null,8,["first-name","lastName","email","terms-accepted"])]),_:1},8,["modelValue"])]),"item.2":o(()=>[r(Ie,{modelValue:l.value,"onUpdate:modelValue":a[5]||(a[5]=e=>l.value=e),"align-tabs":"center",color:"primary",density:"compact",class:"mb-5"},{default:o(()=>[r(Z,null,{default:o(()=>[k(C(u(g)("general.user.createDialog.createType.default")),1)]),_:1}),r(Z,{disabled:!R.value},{default:o(()=>[k(C(u(g)("general.user.createDialog.createType.custom")),1)]),_:1},8,["disabled"]),r(Z,null,{default:o(()=>
1[k(C(u(g)("general.user.createDialog.createType.copied")),1)]),_:1})]),_:1},8,["modelValue"]),l.value===0?(p(),D("div",Xe,[r(Fe,{lines:"three"},{default:o(()=>[(p(!0),D(V,null,ie(_.value,e=>(p(),I(ke,{key:e},{prepend:o(()=>[r(ce,{icon:u(E)(e)},null,8,["icon"])]),default:o(()=>[r(xe,null,{default:o(()=>[k(C(u(h)(e)),1)]),_:2},1024),r(Ae,null,{default:o(()=>[k(C(u(G)(e)),1)]),_:2},1024),r(Pe,null,{default:o(()=>[r(Qe,{modelValue:t.value.userFeatureGroups,"onUpdate:modelValue":a[6]||(a[6]=S=>t.value.userFeatureGroups=S),value:e,color:"green",inset:""},null,8,["modelValue","value"])]),_:2},1024)]),_:2},1024))),128))]),_:1})])):F("",!0),l.value===1?(p(),D("div",Ze,[ee("p",null,C(u(g)("general.user.createDialog.customRightsInfo")),1)])):F("",!0),l.value===2?(p(),I(Ce,{key:2,modelValue:t.value.userIdToCopyFeaturesFrom,"onUpdate:modelValue":a[7]||(a[7]=e=>t.value.userIdToCopyFeaturesFrom=e),items:Q.value,label:u(g)("general.user.createDialog.userDropdown"),clearable:""},null,8,["modelValue","items","label"])):F("",!0)]),actions:o(()=>[ee("div",et,[r(A,{variant:"plain",onClick:W},{default:o(()=>[k(C(X.value),1)]),_:1}),r(be),r(A,{disabled:j.value,loading:i.value,onClick:z},{default:o(()=>[k(C(K.value),1)]),_:1},8,["disabled","loading"])])]),_:1},8,["model-value","items"])]),_:1},8,["modelValue"])],64)}}}),at=Se(tt,[["__scopeId","data-v-a9a639b5"]]),Ft=T({__name:"OrganisationUsersView",setup(b){const n=Ve(),{canCreate:f}=se(),i=ze(),{isOwnOrganisation:t}=$(),{t:d}=ae(),c=y(()=>+n.params.organisationId),l=y(()=>t(c.value)?O.ORGANISATION_DETAIL:O.CUSTOMERS);return de(()=>i.parentRoute,()=>{i.parentRoute===l.value&&i.setCurrent({title:d("general.navigation.users")})},{immediate:!0,deep:!0}),(m,U)=>(p(),I(je,{title:m.$t("general.navigation.users"),"no-breadcrumbs":!0},{create:o(()=>[u(f)?(p(),I(at,{key:0,"organisation-id":c.value},null,8,["organisation-id"])):F("",!0)]),list:o(()=>[r(Ke,{"organisation-id":c.value},null,8,["organisation-id"])]),_:1},8,["title"]))}});export{Ft as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.