1import{d as Se,a as T,i as h,P as H,j as f,B as C,C as c,l as a,u as e,v as r,c as m,s as u,k as w,A as S,W as Le,F as L,p as U,K as E,y as Ee,E as Ue}from"./vendor-vue-BOWwWZLT.js";import{u as q,e as Re,aj as Fe,ak as Oe,l as xe,o as Ie,cb as Q,av as k,aW as Y,E as Ne,as as Me,n as Pe,cu as $e,L as Ve}from"./index-gywkYaHj.js";import{u as Te,a as qe,b as je,c as ze,d as Be,e as Ge,f as Ke,g as We,h as He}from"./userAgentParser-ClVWZ-16.js";import{_ as Qe}from"./ComponentWrapper.vue_vue_type_script_setup_true_lang-C5xNvREc.js";import{F as Ye,g as Je}from"./FormPasswordInput-zRGjNVdq.js";import{_ as O}from"./FormSelect.vue_vue_type_script_setup_true_lang-CMYZbMvY.js";import{_ as R}from"./FormCheckbox.vue_vue_type_script_setup_true_lang-DlPoECJB.js";import{_ as J}from"./FormRadio.vue_vue_type_script_setup_true_lang-RFLNz7OA.js";import{_ as Xe}from"./ToggleCheckBox.vue_vue_type_script_setup_true_lang-BZZ35jH8.js";import{c as X}from"./generalValidationRules-Bc4wdZ-5.js";import{u as Ze,_ as es}from"./catalytics-CIA17ECp.js";import{_ as ss}from"./BaseModal.vue_vue_type_script_setup_true_lang-C1F1-Qmb.js";import{b as ts}from"./current-cart-CEZwwliP.js";import"./vendor-moment-BPk_gTAB.js";import"./FormTextarea.vue_vue_type_script_setup_true_lang-C1VkjznL.js";import"./AccordionContainer-Bqwyqp4J.js";import"./key-Bgh29IPP.js";import"./queryKeys-DxP8FdTP.js";import"./invalidateQueriesHelper-BPP9uKT5.js";import"./useTelemetry-TwO5SwQL.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};t.SENTRY_RELEASE={id:"1043"}}catch{}})();try{(function(){var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},y=new t.Error().stack;y&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[y]="66f5dad1-76b3-4363-9932-28c2916e9ada",t._sentryDebugIdIdentifier="sentry-dbid-66f5dad1-76b3-4363-9932-28c2916e9ada")})()}catch{}var x=(t=>(t["Super admin"]="ROLE_SUPER_ADMIN",t["Local admin"]="ROLE_LOCAL_ADMIN",t["Local staff"]="ROLE_LOCAL_STAFF",t.Salesman="ROLE_SALESMAN",t))(x||{});const as=()=>{const{t}=q();return y=>{switch(y){case"ROLE_LOCAL_ADMIN":return t("Local admin");case"ROLE_LOCAL_STAFF":return t("Local staff");case"ROLE_SALESMAN":return t("Salesman");case"ROLE_SUPER_ADMIN":return t("Super admin");default:return console.error(`${y} does not exist in role translations`)}}},rs=()=>{const{t}=q();return y=>{switch(y){case"admin":return t("Admin");case"client":return t("Client");case"catalogue":return t("Catalogue");case"ew-catalogue":return t("Ew catalogue");case"current-cart":return t("Current cart");case"cart-archive":return t("Cart archive");case"cart-merger":return t("Cart merger");case"cart-compare":return t("Cart compare");case"shipments":return t("Shipments");case"logistics":return t("Logistics");case"sogistics":return t("Logistics");case"analysis":return t("Analysis");case"trading":return t("Trading");case"intermediate":return t("Intermediate");case"fixes":return t("Fixes");case"hr":return t("Hr");case"countries":return t("Countries");case"cat-calculator":return t("Cat calculator");case"ews-calculator":return t("Ews calculator");case"metals-calculator":return t("Metals calculator");case"inventory":return t("Inventory");case"settings":return t("Settings");case"prices":return t("Prices");case"helpdesk":return t("Helpdesk");case"ota-calculator":return t("Ota calculator");case"osn-calculator":return t("Osn calculator");case"ow-calculator":return t("Ow calculator");case"obe-calculator":return t("Obe calculator");case"ozn-calculator":return t("Ozn calculator");case"omn-calculator":return t("Omn calculator");case"onb-calculator":return t("Onb calculator");case"lab":return t("Lab");case"sample":return t("Sample");case"stock":return t("Stock");case"sale":return t("Sale");case"mining-companies":return t("Mining companies");case"itsci":return t("Itsci");case"documents":return t("Documents");case"employees":return t("Employees");case"products-catalogue":return t("Products catalogue");case"crm-clients":return t("Crm clients");case"crm-career":return t("Crm career");case"crm-products-settings":return t("Crm products settings");case"tickets":return t("Tickets");case"crm-settings":return t("Crm settings");case"clients-shipments":return t("Clients shipments");case"equipment":return t("Equipment");case"flags":return t("Flags");case"dashboard":return t("Dashboard");case"route-planner":return t("RoutePlanner");case"lots":return t("Lots");default:return console.error(`${y} does not exist in module translations`)}}},ns={class:"card rounded-3 border-0"},os={class:"d-flex flex-lg-row flex-column row"},ls={class:"col-lg-4 mb-lg-0 mb-3"},is={class:"mt-2 mb-0"},cs={class:"row"},us={class:"col-md-6"},ds={class:"col-md-6"},ms={class:"col-12"},fs={class:"mb-3"},ps={for:"admin-user-password",class:"form-label"},vs={key:0,class:"text-danger"},_s={key:0,class:"col-12","data-test":"main-allowed-countries"},gs={class:"col-12","data-test":"main-country"},bs={class:"col-12"},ws={"data-test":"create-admin-user-form-language",value:"en"},ys={class:"col-12"},hs=["value","data-test"],Cs={class:"col-12"},ks={class:"d-block mb-2"},As={class:"text-danger"},Ds={class:"d-flex flex-column mb-2"},Ss={class:"col-12"},Ls={class:"col-lg-4 mb-lg-0 mb-3"},Es={class:"mt-2 mb-0"},Us={class:"row"},Rs={class:"col-md-6"},Fs={class:"col-md-6"},Os={class:"col-12"},xs={value:"f"},Is={selected:"",value:"m"},Ns={class:"col-12"},Ms={class:"col-lg-4 mb-lg-0 mb-3"},Ps={class:"mt-2 mb-0"},$s={class:"row"},Vs={class:"col-12"},Ts=["value","data-test"],qs={class:"col-12"},js={class:"col-12 py-2"},zs={class:"mt-4 mb-0"},Bs={class:"row"},Gs={class:"col-12"},Ks={class:"col-12"},Ws={class:"text-center p-2 border rounded-top"},Hs={class:"border border-top-0 container-fluid"},Qs={class:"col-12 py-2"},Ys={class:"d-flex justify-content-end"},gt=Se({__name:"AdminUserForm",setup(t){const y=[-5,-4,-3,-2,-1,0,1,2,3,4,5],I=Ve(),{t:s}=q(),j=as(),Z=rs(),z=Pe(),{params:B}=Re(),n=B.id?Number(B.id):void 0,g=Ee("snotify"),N=T(!1),ee=Fe(),{isLocalAdmin:se}=Oe(),{data:te}=Ze(),{mutateAsync:ae}=Te(),{mutateAsync:re}=qe(),{mutateAsync:ne}=je(),{mutateAsync:oe}=ze(),{mutateAsync:le}=n?Be(n):Ge(),ie=xe("security.user_password_strength_meter"),p=n?Ke(n).data:We().data,{mutateAsync:ce}=ts(),ue=T(null),M=T(null),de=h(()=>n&&p.value?p.value.singleUserData:{main:{username:"",email:"",password:"",country:(se.value?p.value?.allowedCountries?.find(i=>i.id===ee.value.countryId):void 0)??{id:1,customCountryCode:"UK"},timezone:"Europe/Vilnius",role:x.Salesman,enabled:!0,locale:"en",allowedCountries:[]},person:{firstName:"",lastName:"",gender:"m",phone:""},settings:{twoFactorAuth:!1,oneDevice:!1,roundValue:2,modules:[],forceLocation:!1,restrictDevice:!1,allowedDeviceNumber:0,allowedDevices:[]}}),{handleSubmit:me,values:d,setFieldError:A,resetForm:fe,errors:P,validate:pe,meta:ve}=Ie(de),$=h(()=>{const i=p.value?.savedCountryId;return i!==void 0&&d.main.country?.id!==i}),_e=h(()=>p.value.allowedCountries),G=h(()=>d.main.role===Q.LOCAL_ADMIN?d.main?.allowedCountries??[]:p.value?.allowedCountries??[]);H(G,i=>{if(!ve.value.dirty)return;const l=d.main.country?.id;if(l===void 0)return;i.some(o=>o.id===l)||(d.main.country=null)});const ge=h(()=>n&&p.value!==void 0?p.value.modules:p.value?.moduleChoicesByRole[d.main.role]),be=h(()=>n&&p.value?p.value.singleUserData.settings.allowedDevices:d.settings.allowedDevices),we=()=>{if(n&&d.main.country?.id!==void 0&&$.value&&p.value.singleUserData.settings.modules.includes("catalogue")){const i=l=>{g?.remove(l.id),F()};g?.info(s("Allowed types must be re-selected for the user in settings due to country change."),"",{timeout:5e3,icon:!1,buttons:[{text:s("Ok"),action:i,bold:!0}]});return}F()},ye=i=>{const l=b=>{g?.remove(b.id),I.dispatch("cartCurrent/clearErrors"),I.dispatch("cartCurrent/getClientChoices").then(()=>{ue.value?.click()}),N.value=!0},v=b=>{g?.remove(b.id),I.dispatch("adminUserManagement/updateSingleUser",{clearCartAfterUpdate:!0,data:{...i,id:n}}).then(_=>{if(_.data.status==="200"&&!_.data.message)return ce(),g?.success(s("User successfully updated"),s("Success")),z.back()})},o=b=>{g?.remove(b.id)};g?.warning(s("Current User's cart is not empty. Please consider clearing or saving current cart"),{timeout:1e4,icon:!1,buttons:[{text:s("Save then clear"),action:l,bold:!0},{text:s("Clear"),action:v},{text:s("Cancel"),action:o}]})},F=me(async i=>{if(!i)return;if(!(await pe()).valid){g?.error(s("Please fix all validation errors"),s("Error"));return}const v={...i,main:{...i.main,password:n&&!i.main.password?.trim()?null:i.main.password}};n&&$.value&&(M.value={...i,id:n});try{const o=await le(v),{message:b,data:_}=o.data;if(o.data.message==="prompt"){ye(i);return}if(b){const D=Object.keys(n?_.errors:_);D.includes("username")&&A("main.username",s(n?`${_.errors.username}`:`${_.username}`)),D.includes("email")&&A("main.email",s(n?`${_.errors.email}`:`${_.email}`)),D.includes("password")&&A("main.password",s(`${_.password}`)),D.includes("rawPassword")&&A("main.password",s(n?`${_.errors.rawPassword}`:`${_.rawPassword}`)),D.includes("modules")&&A("settings.modules",s(n?`${_.errors.modules}`:`${_.modules}`)),D.includes("adminUserSettings.allowedDeviceNumber")&&A("settings.allowedDeviceNumber",s(n?`${_.errors["adminUserSettings.allowedDeviceNumber"]}`:`${_["adminUserSettings.allowedDeviceNumber"]}`));return}V(s(n?"User successfully updated":"User successfully created"))}catch{g&&g?.error(s("Something went wrong"),s("Error"))}}),K=async i=>{try{if(n){let l;switch(i){case"2FA":l=await ae(n);break;case"oneDevice":l=await re(n);break;case"restrictDevice":l=await ne({id:n,type:"admin"});break}if(l&&!l.data.message){let v;switch(i){case"2FA":v=s("User 2fa token cleared");break;case"oneDevice":v=s("User one device fingerprint cleared");break;case"restrictDevice":v=s("User allowed devices cleared");break}v&&V(v)}}}catch{W()}}
1,he=async()=>{if(confirm(s("Are you sure you want to delete the user"))&&n)try{(await oe(n)).status===200?V(s("User deleted")):g?.warning(s("User cannot be deleted"),s("Can't delete"),{timeout:5e3,icon:!1})}catch{W()}},Ce=i=>{if(d.main.allowedCountries=[],n===void 0){const l=p.value.moduleChoicesByRole[i],v=p.value.optionalModuleChoices[i],o=$e(l,v);d.settings.modules=o}return[]},V=i=>(fe(),M.value=null,g?.success(s(i)),g?.success(s("Success")),z.back()),W=()=>{g?.error(s("Something went wrong"),s("Error"))},ke=()=>{const i=Je();d.main.password=i};H(()=>d.settings.restrictDevice,i=>{i===!1&&(d.settings.allowedDeviceNumber=0)});const Ae=He(),De=h(()=>p.value?.singleUserData?.main.role===Q.SUPER_ADMIN);return(i,l)=>{const v=Ue("AppIcon");return f(),C(Qe,{"router-back-name":"/admin"},{name:c(()=>[u(r(e(n)?e(s)("Edit user"):e(s)("Create new user")),1)]),content:c(()=>[a("div",ns,[a("form",{ref:"form",class:"py-3 container-fluid",onSubmit:l[3]||(l[3]=(...o)=>e(F)&&e(F)(...o))},[a("div",os,[a("div",ls,[a("h4",is,r(e(s)("Main")),1),l[5]||(l[5]=a("hr",null,null,-1)),a("div",cs,[a("div",us,[m(k,{name:"main.username",placeholder:"Username"},{default:c(()=>[u(r(e(s)("Username")),1)]),_:1})]),a("div",ds,[m(k,{name:"main.email",placeholder:"Email"},{default:c(()=>[u(r(e(s)("Email")),1)]),_:1})]),a("div",ms,[e(ie)?(f(),C(Ye,{key:0,name:"main.password","validation-rule":e(n)&&!e(d).main.password?void 0:e(X),required:!e(n)},{default:c(()=>[u(r(e(s)("Password")),1)]),_:1},8,["validation-rule","required"])):(f(),w(L,{key:1},[a("div",fs,[a("label",ps,[u(r(e(s)("Password"))+" ",1),e(n)?S("",!0):(f(),w("sup",vs,[m(v,{name:"asterisk",class:"ms-1"})]))]),m(k,{name:"main.password",type:"password",placeholder:"********","validation-rule":e(n)&&!e(d).main.password?void 0:e(X),required:!e(n)},null,8,["validation-rule","required"])]),a("button",{type:"button",class:"btn btn-secondary w-100 mb-3","data-testid":"generate-password-btn",onClick:Le(ke,["prevent"])},[m(v,{name:"wand-magic-sparkles",class:"me-1"}),u(" "+r(e(s)("Generate Password")),1)])],64))]),e(d).main.role===e(x)["Local admin"]?(f(),w("div",_s,[m(Y,{name:"main.allowedCountries","is-multiple":"",required:"",options:_e.value,"option-label":"customCountryCode"},{default:c(()=>[u(r(e(s)("Allowed countries")),1)]),_:1},8,["options"])])):S("",!0),a("div",gs,[m(Y,{name:"main.country",required:"",options:G.value,"option-label":"customCountryCode"},{default:c(()=>[u(r(e(s)("Country")),1)]),_:1},8,["options"])]),a("div",bs,[m(O,{name:"main.locale",disabled:""},{options:c(()=>[a("option",ws,r(e(s)("English")),1)]),default:c(()=>[u(r(e(s)("Language"))+" ",1)]),_:1})]),a("div",ys,[m(O,{name:"main.timezone",required:""},{options:c(()=>[(f(!0),w(L,null,U(e(p)?.timezones,(o,b)=>(f(),w("option",{key:b,value:b,"data-test":b},r(o),9,hs))),128))]),default:c(()=>[u(r(e(s)("Time zone"))+" ",1)]),_:1})]),a("div",Cs,[a("span",ks,[u(r(e(s)("Roles"))+" ",1),a("sup",As,[m(v,{name:"asterisk"})])]),a("div",Ds,[e(n)?(f(),C(J,{key:0,id:e(d).main.role,name:"main.role",class:"mb-1",value:e(d).main.role,disabled:""},{default:c(()=>[u(r(e(j)(e(d).main.role)),1)]),_:1},8,["id","value"])):(f(!0),w(L,{key:1},U(e(p)?.roleChoices,o=>(f(),C(J,{key:o,name:"main.role",class:"mb-1",value:o,onInput:b=>Ce(o)},{default:c(()=>[u(r(e(j)(o)),1)]),_:2},1032,["value","onInput"]))),128))])]),a("div",Ss,[m(Xe,{id:"userEnableToggle",modelValue:e(d).main.enabled,"onUpdate:modelValue":l[0]||(l[0]=o=>e(d).main.enabled=o),class:"d-flex"},{secondaryLabel:c(()=>[u(r(e(s)("User Enabled")),1)]),_:1},8,["modelValue"])])])]),a("div",Ls,[a("h4",Es,r(e(s)("Profile")),1),l[6]||(l[6]=a("hr",null,null,-1)),a("div",Us,[a("div",Rs,[m(k,{name:"person.firstName",placeholder:"First name"},{default:c(()=>[u(r(e(s)("First name")),1)]),_:1})]),a("div",Fs,[m(k,{name:"person.lastName",placeholder:"Last name"},{default:c(()=>[u(r(e(s)("Last name")),1)]),_:1})]),a("div",Os,[m(O,{name:"person.gender"},{options:c(()=>[a("option",xs,r(e(s)("Female")),1),a("option",Is,r(e(s)("Male")),1)]),default:c(()=>[u(r(e(s)("Gender"))+" ",1)]),_:1})]),a("div",Ns,[m(k,{type:"number",name:"person.phone"},{default:c(()=>[u(r(e(s)("Phone")),1)]),_:1})])])]),a("div",Ms,[a("h4",Ps,r(e(s)("Settings")),1),l[9]||(l[9]=a("hr",null,null,-1)),a("div",$s,[a("div",Vs,[m(O,{name:"settings.roundValue",required:""},{options:c(()=>[(f(),w(L,null,U(y,o=>a("option",{key:o,value:o,"data-test":o},r(o),9,Ts)),64))]),default:c(()=>[u(r(e(s)("Round value"))+" ",1)]),_:1})]),a("div",qs,[a("div",{class:E(["text-center p-2 border rounded-top",{"border-danger is-invalid":e(P)["settings.modules"]}])},r(e(s)("Modules")),3),m(e(Ne),{name:"settings.modules",class:E(["invalid-feedback mt-0 px-2 pt-2",{"border-danger border-start border-end":e(P)["settings.modules"]}])},null,8,["class"]),a("div",{class:E(["border border-top-0 container-fluid",{"border-danger":e(P)["settings.modules"]}])},[a("div",js,[(f(!0),w(L,null,U(ge.value,o=>(f(),C(R,{key:o,name:"settings.modules",value:o,"show-error":!1},{default:c(()=>[u(r(e(Z)(o)),1)]),_:2},1032,["value"]))),128))])],2)])]),a("div",null,[a("h4",zs,r(e(s)("Security settings")),1),l[8]||(l[8]=a("hr",null,null,-1)),a("div",Bs,[a("div",{class:E(["col-12 mb-2",{"d-lg-flex align-items-lg-center justify-content-lg-between":e(n)}])},[m(R,{class:"col-md-6",name:"settings.forceLocation",value:!0,"un-checked-value":!1},{default:c(()=>[u(r(e(s)("Force location")),1)]),_:1})],2),a("div",{class:E(["col-12 mb-2",{"d-lg-flex align-items-lg-center justify-content-lg-between":e(n)}])},[m(R,{class:"col-md-6",name:"settings.twoFactorAuth",value:!0,"un-checked-value":!1,disabled:De.value},{default:c(()=>[u(r(e(s)("Require 2-FA")),1)]),_:1},8,["disabled"]),e(n)?(f(),w("button",{key:0,"data-test":"reset-2-fa",class:"btn btn-secondary col-12 col-lg-6 my-lg-0 my-2",type:"button",onClick:l[1]||(l[1]=o=>K("2FA"))},r(e(s)("Reset 2-FA secret")),1)):S("",!0)],2),a("div",{class:E(["col-12 mb-2",{"d-lg-flex align-items-lg-center justify-content-lg-between":e(n)}])},[m(R,{class:"col-md-6",name:"settings.restrictDevice",value:!0,"un-checked-value":!1},{default:c(()=>[u(r(e(s)("Device restriction")),1)]),_:1}),e(n)?(f(),w("button",{key:0,"data-test":"reset-restrict-device",class:"btn btn-secondary col-12 col-lg-6 my-lg-0 my-2",type:"button",onClick:l[2]||(l[2]=o=>K("restrictDevice"))},r(e(s)("Reset device restriction")),1)):S("",!0)],2),a("div",Gs,[m(k,{type:"number",name:"settings.allowedDeviceNumber",disabled:e(d).settings.restrictDevice===!1},{default:c(()=>[u(r(e(s)("Allowed number of devices")),1)]),_:1},8,["disabled"])]),a("div",Ks,[a("div",Ws,r(e(s)("Allowed devices")),1),a("div",Hs,[a("div",Qs,[(f(!0),w(L,null,U(be.value,o=>(f(),C(R,{key:o,name:"settings.allowedDevices",value:o,"unchecked-value":o,"show-error":!1},{default:c(()=>
1[u(r(o.useragent?e(Ae)(o.useragent):e(s)("One device migration")),1),l[7]||(l[7]=a("br",null,null,-1)),u(" "+r(e(s)("Login date"))+": "+r(e(Me)(o.firstLoginAt)),1)]),_:2},1032,["value","unchecked-value"]))),128))])])])])])])]),a("div",Ys,[a("button",{"data-test":"create-admin-user-form-save",class:"btn btn-primary me-3 mt-3",type:"button",onClick:we},r(e(s)("Save")),1),e(n)&&e(d).main.role!==e(x)["Super admin"]?(f(),w("button",{key:0,"data-test":"create-admin-user-form-save",class:"btn btn-danger me-3 mt-3",type:"button",onClick:he},r(e(s)("Delete")),1)):S("",!0)])],544)]),$.value?(f(),C(ss,{key:0,modelValue:N.value,"onUpdate:modelValue":l[4]||(l[4]=o=>N.value=o)},{default:c(()=>[m(es,{"export-parameters":e(te)?.cartExportParameters,user:{userId:e(n),userName:M.value?.main.username},"is-admin-user-form":!0},null,8,["export-parameters","user"])]),_:1},8,["modelValue"])):S("",!0)]),_:1})}}});export{gt as default}; 2//# sourceMappingURL=AdminUserForm-LNJHOTvE.js.map
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.