PageSourceSearch

https://my.guest-suite.com/_nuxt/BrYiF1g8.js

js guest-suite.com collected 2026-10-03 20:01:29 UTC 10,409 bytes, 1 lines download raw bytes

1import{_ as fe}from"./D2TwdBzx.js";import{_ as pe}from"./gcS7XEEh.js";import{_ as ve}from"./C7qsZDe9.js";import{_ as he}from"./u15hYgME.js";import{_ as _e}from"./BO08j6qG.js";import{_ as ge}from"./B4EXjZyk.js";import{_ as be}from"./-fjj_jB7.js";import{bF as we,b0 as Q,dl as ye,aT as Ne,b3 as Se,bC as Ee,bm as ke,aU as Pe,b2 as Ue,dj as Ae,b9 as Ve}from"./CAyj9F3x.js";import{_ as Ge}from"./Cmy-fETU.js";import{_ as Le}from"./BWxDfgeC.js";import{S as Ie}from"./B074XnyX.js";import{u as $e}from"./C5_aCETO.js";import{E as $,b as N,A as xe,w as Z,F as Ce,q as Re,p as Te,ae as V,z as e,H as t,a8 as i,a7 as H,ab as q,k as d,a6 as y,ap as p,G as Fe,an as De,ad as x,au as J,ac as Be,c as Me,B as j}from"./BIlPcn7n.js";import{f as Oe}from"./Vi9Hj-I-.js";import"./Btjz-NED.js";import"./CbiA_L1f.js";import"./C_XGDYhv.js";import"./Ca1Px_jA.js";import"./C6h6NHAQ.js";import"./dLhVNG9M.js";import"./df_ifWzh.js";import"./BJmAfidT.js";import"./fQUlp5kl.js";import"./DbpBihkF.js";import"./Cu4dPboC.js";import"./Bn59XR3z.js";import"./Cfdz1IzR.js";import"./CkdBI46x.js";import"./CByAF9Sr.js";import"./B9mZDu2N.js";import"./CuWChAMt.js";import"./CAlSblhI.js";import"./DPlt25Gh.js";import"./Bfd12T2A.js";import"./YpmeB9IP.js";import"./BNFT4cDv.js";import"./BP5t8vQz.js";import"./S_6sE99g.js";import"./BD5mTWqv.js";import"./BoyDnPjO.js";import"./C_8XDR-u.js";(function(){try{var h=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};h.SENTRY_RELEASE={id:"0a9e7f2f86d6facd1c7b6d74ad21bdeb90265cb6"};var s=new h.Error().stack;s&&(h._sentryDebugIds=h._sentryDebugIds||{},h._sentryDebugIds[s]="488be799-0136-42e4-8047-4b6968e5b23d",h._sentryDebugIdIdentifier="sentry-dbid-488be799-0136-42e4-8047-4b6968e5b23d")}catch{}})();let C=0;function He(){const h=we(),{$capture:s}=Q(),G=N(null),S=N(!1),P=N(!1),U=N(null),L=N(null);async function A(I){const _=++C;S.value=!0,U.value=null;try{const r=await h.admin.users.get(I);if(_!==C)return;const m=ye.safeParse(r);if(!m.success){const D=new Error(`AdminUser schema validation failed: ${m.error.message}`);U.value=D,s("admin.users/edit.error",{source:"fetch-parse"});return}G.value=m.data}catch(r){if(_!==C)return;const m=r instanceof Error?r:new Error(String(r));U.value=m,s("admin.users/edit.error",{source:"fetch-network"})}finally{_===C&&(S.value=!1)}}async function n(I,_){P.value=!0,L.value=null;try{const r={firstName:_.firstName,lastName:_.lastName,email:_.email},m=Array.from(_.changedPermissions.values());return m.length>0&&(r.userPermissions=m),await h.admin.users.update(I,r),!0}catch(r){const m=r instanceof Error?r:new Error(String(r));return L.value=m,s("admin.users/edit.error",{source:"save"}),!1}finally{P.value=!1}}function F(){C++}return{user:$(G),fetchPending:$(S),savePending:$(P),fetchError:$(U),saveError:$(L),fetchUser:A,saveUser:n,reset:F}}const qe={class:"space-y-6"},je={key:0,class:"space-y-6"},ze={class:"grid grid-cols-2 gap-4"},Ke={class:"space-y-2"},Ye={class:"space-y-2"},Ze={class:"space-y-2"},Je={class:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between"}
1,Qe={class:"space-y-3"},We={key:2,class:"space-y-6"},Xe={class:"font-semibold"},es={class:"grid grid-cols-2 gap-4"},ss={class:"font-semibold"},as={class:"text-muted py-4"},ts={class:"font-semibold"},ls={key:0,class:"ml-auto flex flex-col gap-3 sm:flex-row sm:items-center"},os={key:0,class:"w-full sm:w-56"},Ks=xe({__name:"[uuid]",setup(h){const{t:s}=Ne(),G=Se(),S=Ee(),P=ke(),{setPageHeader:U,clearPageHeader:L}=$e(),{$capture:A}=Q(),{user:n,fetchPending:F,fetchError:I,saveUser:_,savePending:r,fetchUser:m,reset:D}=He(),z=d(()=>G.params.uuid),g=N({firstName:"",lastName:"",email:""}),R=N(new Map),v=N(""),w=N([]),W=d(()=>S.locationGroups.length>0),K=d(()=>S.locationGroups.map(a=>({id:a.uuid,label:a.name}))),X=d(()=>K.value.filter(a=>w.value.includes(a.id)));function ee(a){w.value=a.map(o=>o.id)}const B=d(()=>({searchPlaceholder:s("common.locationPicker.searchPlaceholder"),allSelected:s("common.locationPicker.allSelected"),deselectAll:s("common.locationPicker.deselectAll")}));function se(a){return s("common.locationPicker.selectAll",{count:Oe(a)})}const ae=d(()=>Ae([],w.value,S.locationGroups)),te=["review","survey","presence","audience"],Y=d(()=>{const a=n.value?.userPermissions??[];if(!a.length)return[];const o=new Map;for(const c of a){const u=o.get(c.location)??[];u.push(c),o.set(c.location,u)}const l=[];for(const[c,u]of o){const k=S.locations.find(E=>E.uuid===c)?.name??c,T={review:null,survey:null,presence:null,audience:null};for(const E of u)T[E.module]={permissionUuid:E.uuid,currentRights:E.rights};l.push({locationUuid:c,locationName:k,modules:T})}const f=new Intl.Collator(Ue());return l.sort((c,u)=>f.compare(c.locationName,u.locationName))}),le=d(()=>{let a=Y.value;if(w.value.length>0){const l=new Set(ae.value);a=a.filter(f=>l.has(f.locationUuid))}const o=v.value.trim().toLowerCase();return o&&(a=a.filter(l=>l.locationName.toLowerCase().includes(o))),a}),M=d(()=>!!v.value.trim()||w.value.length>0),oe=d(()=>v.value.trim()?"i-lucide-search":w.value.length>0?"i-lucide-filter":"i-lucide-building-2");function re(){v.value="",w.value=[]}let O;Z(v,a=>{clearTimeout(O),O=setTimeout(()=>{a.trim()&&A("admin.users/edit.permissions.search")},Ie)}),Z(w,a=>{a.length>0&&A("admin.users/edit.permissions.group-filter")});const ie=d(()=>[{accessorKey:"locationName",header:s("admin.users.edit.locationColumn"),cell:({row:a})=>j("span",{class:"font-medium"},a.original.locationName)},...te.map(a=>({id:a,header:s(`admin.users.modules.${a}`),cell:({row:o})=>{const l=o.original.modules[a];if(!l)return j("span",{class:"text-muted text-sm"},s("admin.users.edit.noLicense"));const{permissionUuid:f,currentRights:c}=l,u=R.value.get(f)?.rights??c;return j(fe,{modelValue:u,"onUpdate:modelValue":k=>{R.value=new Map(R.value).set(f,{uuid:f,rights:k})},items:ne.value,class:"w-full"})}}))]),ne=d(()=>[{value:"none",label:s("admin.users.rights.none")},{value:"read",label:s("admin.users.rights.read")},{value:"modify",label:s("admin.users.rights.modify")}]),ce=d(()=>n.value?.roles.includes("ROLE_ORGANIZATION_ADMIN")??!1);Ce(async()=>{A("admin.users/edit.opened"),await m(z.value),n.value&&(g.value={firstName:n.value.firstName,lastName:n.value.lastName,email:n.value.email})}),Re(()=>{clearTimeout(O),L(),v.value="",w.value=[],D()});async function ue(){if(!n.value)return;await _(z.value,{firstName:g.value.firstName,lastName:g.value.lastName,email:g.value.email,changedPermissions:R.value})?(A("admin.users/edit.submit"),P.add({title:s("admin.users.edit.saved"),color:"success",icon:"i-lucide-check"}),Ve("/admin/users")):P.add({title:s("admin.users.edit.saveError"),color:"error",icon:"i-lucide-alert-circle"})}return Te(()=>{U({breadcrumb:[{label:s("admin.users.title"),to:"/admin/users"},...n.value?[{label:`${n.value.firstName} ${n.value.lastName}`}]:[]],actions:n.value?{primary:{label:r.value?s("admin.common.saving"):s("common.save"),icon:"i-lucide-save",loading:r.value,disabled:r.value,onSelect:ue}}:void 0})}),(a,o)=>{const l=pe,f=ve,c=he,u=_e,k=ge,T=be,E=Pe,de=Ge,me=Le;return y(),V("div",qe,[e(F)?(y(),V("div",je,[t(f,null,{header:i(()=>[t(l,{class:"h-5 w-28"})]),default:i(()=>[p("div",ze,[p("div",Ke,[t(l,{class:"h-4 w-16"}),t(l,{class:"h-9 w-full"})]),p("div",Ye,[t(l,{class:"h-4 w-12"}),t(l,{class:"h-9 w-full"})]),p("div",Ze,[t(l,{class:"h-4 w-16"}),t(l,{class:"h-9 w-full"})])])]),_:1}),t(f,null,{header:i(()=>[p("div",Je,[t(l,{class:"h-5 w-56"}),t(l,{class:"h-9 w-full sm:w-64"})])]),default:i(()=>[p("div",Qe,[(y(),V(Fe,null,De(5,b=>p("div",{key:b,class:"flex items-center gap-4"},[t(l,{class:"h-5 w-40"}),t(l,{class:"h-9 w-32"}),t(l,{class:"h-9 w-32"}),t(l,{class:"h-9 w-32"}),t(l,{class:"h-9 w-32"})])),64))])]),_:1})])):e(I)?(y(),H(c,{key:1,color:"error",icon:"i-lucide-alert-circle",title:e(s)("admin.users.edit.loadError"),description:e(s)("admin.users.edit.loadErrorDescription")},null,8,["title","description"])):e(n)?(y(),V("div",We,[t(f,null,{header:i(()=>[p("h3",Xe,x(e(s)("admin.users.edit.info")),1)]),default:i(()=>[p("div",es,[t(k,{label:e(s)("admin.users.firstName")},{default:i(()=>[t(u,{modelValue:e(g).firstName,"onUpdate:modelValue":o[0]||(o[0]=b=>e(g).firstName=b),color:"neutral",class:"w-full"},null,8,["modelValue"])]),_:1},8,["label"]),t(k,{label:e(s)("admin.users.lastName")},{default:i(()=>[t(u,{modelValue:e(g).lastName,"onUpdate:modelValue":o[1]||(o[1]=b=>e(g).lastName=b),color:"neutral",class:"w-full"},null,8,["modelValue"])]),_:1},8,["label"]),t(k,{label:e(s)("admin.users.email")},{default:i(()=>[t(u,{modelValue:e(g).email,"onUpdate:modelValue":o[2]||(o[2]=b=>e(g).email=b),type:"email",color:"neutral",class:"w-full"},null,8,["modelValue"])]),_:1},8,["label"])])]),_:1}),e(ce)?(y(),H(f,{key:0},{header:i(()=>[p("h3",ss,x(e(s)("admin.users.edit.permissions")),1)]),default:i(()=>[p("div",as,x(e(s)("admin.users.edit.orgAdminFullAccess")),1)]),_:1}
1)):(y(),H(me,{key:1,data:e(le),columns:e(ie)},{toolbar:i(()=>[p("h3",ts,x(e(s)("admin.users.edit.permissions")),1),e(Y).length>0?(y(),V("div",ls,[e(W)?(y(),V("div",os,[t(T,{variant:"filter","model-value":e(X),items:e(K),placeholder:e(s)("filters.location-group.all"),"search-placeholder":e(B).searchPlaceholder,"all-selected-label":e(B).allSelected,"select-all-label":se,"deselect-all-label":e(B).deselectAll,"onUpdate:modelValue":ee},null,8,["model-value","items","placeholder","search-placeholder","all-selected-label","deselect-all-label"])])):q("",!0),t(u,{modelValue:e(v),"onUpdate:modelValue":o[4]||(o[4]=b=>Me(v)?v.value=b:null),color:"neutral",placeholder:e(s)("admin.users.edit.searchPlaceholder"),icon:"i-lucide-search",class:"w-full sm:w-64"},J({_:2},[e(v)?{name:"trailing",fn:i(()=>[t(E,{color:"neutral",variant:"link",size:"sm",icon:"i-lucide-x","aria-label":e(s)("common.clear"),onClick:o[3]||(o[3]=b=>v.value="")},null,8,["aria-label"])]),key:"0"}:void 0]),1032,["modelValue","placeholder"])])):q("",!0)]),empty:i(()=>[t(de,{icon:e(oe),title:e(M)?e(s)("admin.users.edit.noFilterResults"):e(s)("admin.users.edit.noLocations"),description:e(M)?e(s)("admin.users.edit.noFilterResultsDescription"):void 0},J({_:2},[e(M)?{name:"actions",fn:i(()=>[t(E,{color:"neutral",variant:"outline",onClick:re},{default:i(()=>[Be(x(e(s)("admin.users.edit.clearFilters")),1)]),_:1})]),key:"0"}:void 0]),1032,["icon","title","description"])]),_:1},8,["data","columns"]))])):q("",!0)])}}});export{Ks 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.