Files
bssapp/ui/dist/spa/js/806.28103cee.js

1 line
13 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use strict";(globalThis["webpackChunkbaggisowtfaresystem"]=globalThis["webpackChunkbaggisowtfaresystem"]||[]).push([[806],{2806:(e,a,l)=>{l.r(a),l.d(a,{default:()=>G});var s=l(1347),t=l(4187),o=l(7763),i=l(455),r=l(3022),n=l(705),d=(l(939),l(7008),l(7049),l(2986));const u=(0,n.nY)("userDetail",{state:()=>({sendingPasswordMail:!1,lastPasswordMailSentAt:null,hasPassword:!1,loading:!1,saving:!1,error:null,form:{id:null,code:"",full_name:"",email:"",mobile:"",is_active:!0,address:"",roles:[],departments:[],piyasalar:[],nebim_users:[]},roleOptions:[],departmentOptions:[],piyasaOptions:[],nebimUserOptions:[]}),actions:{resetForm(){this.form={id:null,code:"",full_name:"",email:"",mobile:"",is_active:!0,address:"",roles:[],departments:[],piyasalar:[],nebim_users:[]},this.error=null,this.hasPassword=!1,this.lastPasswordMailSentAt=null},async adminResetPassword(e,a){await(0,d.bE)(`/users/${e}/admin-reset-password`,a),this.hasPassword=!0},async sendPasswordMail(e){this.sendingPasswordMail=!0,this.error=null;try{await(0,d.bE)(`/users/${e}/send-password-mail`,{}),this.lastPasswordMailSentAt=(new Date).toLocaleString("tr-TR")}catch(e){throw this.error="Parola maili gönderilemedi",e}finally{this.sendingPasswordMail=!1}},buildPayload(){return{code:this.form.code,full_name:this.form.full_name,email:this.form.email,mobile:this.form.mobile,is_active:this.form.is_active,address:this.form.address,roles:this.form.roles,departments:this.form.departments?[{code:this.form.departments}]:[],piyasalar:(this.form.piyasalar||[]).map(e=>({code:e})),nebim_users:(this.form.nebim_users||[]).map(e=>{const a=(this.nebimUserOptions||[]).find(a=>a.value===e);return{username:e,user_group_code:a?.user_group_code||""}})}},async fetchUser(e){this.loading=!0,this.error=null;try{const a=await(0,d.Jt)(`/users/${e}`);this.form.id=a.id,this.form.code=a.code||"",this.form.full_name=a.full_name||"",this.form.email=a.email||"",this.form.mobile=a.mobile||"",this.form.is_active=!!a.is_active,this.form.address=a.address||"",this.form.roles=a.roles||[],this.form.departments=(a.departments||[]).map(e=>e.code),this.form.piyasalar=(a.piyasalar||[]).map(e=>e.code),this.form.nebim_users=(a.nebim_users||[]).map(e=>e.username),this.hasPassword=!!a.has_password}catch(e){throw this.error="Kullanıcı bilgileri alınamadı",e}finally{this.loading=!1}},async saveUser(e){this.saving=!0,this.error=null;try{console.log("🟦 saveUser() START",e);const a=this.buildPayload();console.log("📤 PUT payload",a),await(0,d.yJ)(`/users/${e}`,a),console.log("✅ PUT OK → REFETCH USER"),await this.fetchUser(e),console.log("🔄 USER REFRESHED",{hasPassword:this.hasPassword,roles:this.form.roles,departments:this.form.departments})}catch(e){throw console.error("❌ saveUser FAILED",e),this.error="Kullanıcı güncellenemedi",e}finally{this.saving=!1}},async createUser(){this.saving=!0,this.error=null;try{console.log("🟢 createUser() START");const e=this.buildPayload();console.log("📤 POST payload",e);const a=await(0,d.bE)("/users",e);console.log("✅ CREATE OK response",a);const l=a?.id;if(!l)throw new Error("CREATE response id yok");return console.log("🔁 FETCH NEW USER id=",l),await this.fetchUser(l),l}catch(e){throw console.error("❌ createUser FAILED",e),this.error="Kullanıcı oluşturulamadı",e}finally{this.saving=!1}},async fetchLookups(){const[e,a,l,s]=await Promise.all([d.Ay.get("/lookups/roles"),d.Ay.get("/lookups/departments"),d.Ay.get("/lookups/piyasalar"),d.Ay.get("/lookups/nebim-users")]);this.roleOptions=e?.data||e||[],this.departmentOptions=a?.data||a||[],this.piyasaOptions=l?.data||l||[],this.nebimUserOptions=s?.data||s||[]}}});var m=l(588);const c={class:"sticky-stack"},p={class:"filter-bar row q-col-gutter-md q-mb-sm"},v={class:"col-3"},b={class:"col-4"},g={class:"col-2 flex items-end"},h={class:"save-toolbar"},f={class:"text-subtitle2 text-weight-bold"},y={class:"q-pa-md"},k={class:"text-caption q-mt-xs"},w={class:"text-weight-medium q-ml-xs"},_={key:0,class:"text-caption q-mt-xs text-grey-7"},R={class:"row items-center"},x={class:"row q-col-gutter-md"},E={class:"col-4"},L={class:"col-4"},P={class:"col-4"},A={class:"col-6"},U={class:"col-3"},V={class:"col-3"},q={class:"col-12"},F={__name:"UserDetail",setup(e){const{canRead:a,canWrite:l,canUpdate:d}=(0,m.J)(),F=a("user"),X=l("user"),T=d("user"),O=(0,r.A)(),S=(0,i.lq)(),W=(0,i.rd)(),Q=u(),{form:C,loading:D,saving:K,roleOptions:M,departmentOptions:z,piyasaOptions:$,nebimUserOptions:I,sendingPasswordMail:N,lastPasswordMailSentAt:Y}=(0,n.bP)(Q),B=(0,s.EW)(()=>S.meta.mode||"edit"),G=(0,s.EW)(()=>"new"===B.value),H=(0,s.EW)(()=>"edit"===B.value),J=(0,s.EW)(()=>"view"===B.value),j=(0,s.EW)(()=>G.value?X.value:H.value?T.value:F.value),Z=(0,s.EW)(()=>G.value?X.value:T.value),ee=(0,s.EW)(()=>H.value||J.value?Number(S.params.id):null),ae=(0,s.EW)(()=>Q.hasPassword),le=(0,s.EW)(()=>G.value?"Yeni Kullanıcı":"Kullanıcı Düzenleme"),se=(0,s.EW)(()=>G.value?"KAYDET":"GÜNCELLE"),te=e=>!e||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)||"Geçerli bir e-posta giriniz",oe=e=>!e||/^\+\d{10,15}$/.test(e.replace(/_/g,""))||"Telefon +90XXXXXXXXXX formatında olmalı",ie=(0,s.EW)(()=>!G.value&&(!!ee.value&&(!!C.value.is_active&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test((C.value.email||"").trim()))));async function re(){if(Z.value)try{let e;console.log("🟢 onSave() START",{mode:B.value}),C.value.mobile&&(C.value.mobile=C.value.mobile.replace(/_/g,"").trim()),G.value?(e=await Q.createUser(),console.log("➡️ CREATE → EDIT MODE id=",e),W.replace({name:"user-edit",params:{id:e}})):(await Q.saveUser(ee.value),W.push({name:"user-list"})),O.notify({type:"positive",message:"İşlem başarılı"})}catch(e){console.error("❌ onSave ERROR",e),O.notify({type:"negative",message:Q.error||"İşlem başarısız"})}else O.notify({type:"negative",message:"Kaydetme yetkiniz yok"})}function ne(){W.push({name:"user-list"})}function de(){O.dialog({title:"Parola maili gönderilsin mi?",message:`${C.value.email} adresine parola oluşturma/sıfırlama bağlantısı gönderilecek.`,cancel:!0,persistent:!0}).onOk(async()=>{await ue()})}async function ue(){try{await Q.sendPasswordMail(ee.value),O.notify({type:"positive",message:"Parola maili gönderildi"})}catch{O.notify({type:"negative",message:Q.error||"Mail gönderilemedi"})}}return(0,s.wB)(()=>ee.value,async e=>{j.value&&(await Q.fetchLookups(),e?await Q.fetchUser(e):Q.resetForm())},{immediate:!0}),(e,a)=>{const l=(0,s.g2)("q-spinner"),i=(0,s.g2)("q-inner-loading"),r=(0,s.g2)("q-input"),n=(0,s.g2)("q-toggle"),d=(0,s.g2)("q-badge"),u=(0,s.g2)("q-btn"),m=(0,s.g2)("q-card-section"),X=(0,s.g2)("q-card"),O=(0,s.g2)("q-checkbox"),S=(0,s.g2)("q-item-section"),W=(0,s.g2)("q-item"),Q=(0,s.g2)("q-select"),B=(0,s.g2)("q-page");return j.value?((0,s.uX)(),(0,s.Wv)(B,{key:0,class:"user-detail-page"},{default:(0,s.k6)(()=>[(0,s.bF)(i,{showing:(0,t.R1)(D)},{default:(0,s.k6)(()=>[(0,s.bF)(l,{size:"48px"})]),_:1},8,["showing"]),(0,s.Lk)("div",c,[(0,s.Lk)("div",p,[(0,s.Lk)("div",v,[a[10]||(a[10]=(0,s.Lk)("div",{class:"text-caption text-grey-7 q-mb-xs"},"Kullanıcı Kodu",-1)),(0,s.bF)(r,{modelValue:(0,t.R1)(C).code,"onUpdate:modelValue":a[0]||(a[0]=e=>(0,t.R1)(C).code=e),dense:"",filled:""},null,8,["modelValue"])]),(0,s.Lk)("div",b,[a[11]||(a[11]=(0,s.Lk)("div",{class:"text-caption text-grey-7 q-mb-xs"},"Ad Soyad",-1)),(0,s.bF)(r,{modelValue:(0,t.R1)(C).full_name,"onUpdate:modelValue":a[1]||(a[1]=e=>(0,t.R1)(C).full_name=e),dense:"",filled:""},null,8,["modelValue"])]),(0,s.Lk)("div",g,[(0,s.bF)(n,{modelValue:(0,t.R1)(C).is_active,"onUpdate:modelValue":a[2]||(a[2]=e=>(0,t.R1)(C).is_active=e),label:"Aktif",color:"primary"},null,8,["modelValue"])]),(0,s.bF)(d,{color:ae.value?"positive":"grey",class:"q-ml-sm"},{default:(0,s.k6)(()=>[(0,s.eW)((0,o.v_)(ae.value?"Parola Var":"Parola Yok"),1)]),_:1},8,["color"])]),(0,s.Lk)("div",h,[(0,s.Lk)("div",f,(0,o.v_)(le.value),1),(0,s.Lk)("div",null,[Z.value?((0,s.uX)(),(0,s.Wv)(u,{key:0,label:se.value,color:"primary",icon:"save",loading:(0,t.R1)(K),onClick:re},null,8,["label","loading"])):(0,s.Q3)("",!0),(0,t.R1)(F)?((0,s.uX)(),(0,s.Wv)(u,{key:1,label:"LİSTEYE DÖN",flat:"",icon:"arrow_back",class:"q-ml-sm",onClick:ne})):(0,s.Q3)("",!0)])])]),(0,s.Lk)("div",y,[(0,s.bF)(X,{flat:"",bordered:"",class:"q-mb-md"},{default:(0,s.k6)(()=>[(0,s.bF)(m,{class:"row items-center justify-between"},{default:(0,s.k6)(()=>[(0,s.Lk)("div",null,[a[13]||(a[13]=(0,s.Lk)("div",{class:"text-subtitle2 text-weight-bold"},"Parola İşlemleri",-1)),a[14]||(a[14]=(0,s.Lk)("div",{class:"text-caption text-grey-7"}," Kullanıcıya parola oluşturma / sıfırlama bağlantısı e-posta ile gönderilir. ",-1)),(0,s.Lk)("div",k,[a[12]||(a[12]=(0,s.Lk)("span",{class:"text-grey-7"},"E-posta:",-1)),(0,s.Lk)("span",w,(0,o.v_)((0,t.R1)(C).email||"-"),1)]),(0,t.R1)(Y)?((0,s.uX)(),(0,s.CE)("div",_," Son gönderim: "+(0,o.v_)((0,t.R1)(Y)),1)):(0,s.Q3)("",!0)]),(0,s.Lk)("div",R,[(0,t.R1)(T)?((0,s.uX)(),(0,s.Wv)(u,{key:0,label:"PAROLA MAİLİ GÖNDER",color:"primary",icon:"mail",disable:!ie.value,loading:(0,t.R1)(N),onClick:de},null,8,["disable","loading"])):(0,s.Q3)("",!0)])]),_:1})]),_:1}),(0,s.bF)(X,{flat:"",bordered:""},{default:(0,s.k6)(()=>[(0,s.bF)(m,null,{default:(0,s.k6)(()=>[(0,s.Lk)("div",x,[(0,s.Lk)("div",E,[a[15]||(a[15]=(0,s.Lk)("div",{class:"text-caption text-grey-7 q-mb-xs"},"E-Posta",-1)),(0,s.bF)(r,{modelValue:(0,t.R1)(C).email,"onUpdate:modelValue":a[3]||(a[3]=e=>(0,t.R1)(C).email=e),dense:"",filled:"",type:"email",rules:[te],"lazy-rules":""},null,8,["modelValue","rules"])]),(0,s.Lk)("div",L,[a[16]||(a[16]=(0,s.Lk)("div",{class:"text-caption text-grey-7 q-mb-xs"},"Telefon",-1)),(0,s.bF)(r,{modelValue:(0,t.R1)(C).mobile,"onUpdate:modelValue":a[4]||(a[4]=e=>(0,t.R1)(C).mobile=e),dense:"",filled:"",placeholder:"+90XXXXXXXXXX",mask:"+#############","fill-mask":"",rules:[oe],"lazy-rules":""},null,8,["modelValue","rules"])]),(0,s.Lk)("div",P,[a[17]||(a[17]=(0,s.Lk)("div",{class:"text-caption text-grey-7 q-mb-xs"},"Adres",-1)),(0,s.bF)(r,{modelValue:(0,t.R1)(C).address,"onUpdate:modelValue":a[5]||(a[5]=e=>(0,t.R1)(C).address=e),type:"textarea",dense:"",filled:"",autogrow:""},null,8,["modelValue"])]),(0,s.Lk)("div",A,[a[18]||(a[18]=(0,s.Lk)("div",{class:"text-caption text-grey-7 q-mb-xs"},"Roller",-1)),(0,s.bF)(Q,{modelValue:(0,t.R1)(C).roles,"onUpdate:modelValue":a[6]||(a[6]=e=>(0,t.R1)(C).roles=e),options:(0,t.R1)(M),"option-label":"label","option-value":"value","emit-value":"","map-options":"",multiple:"","use-input":"","use-chips":"",dense:"",filled:"",behavior:"menu"},{option:(0,s.k6)(e=>[(0,s.bF)(W,(0,s.v6)(e.itemProps,{clickable:""}),{default:(0,s.k6)(()=>[(0,s.bF)(S,{avatar:""},{default:(0,s.k6)(()=>[(0,s.bF)(O,{"model-value":e.selected,"onUpdate:modelValue":a=>e.toggleOption(e.opt)},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),(0,s.bF)(S,null,{default:(0,s.k6)(()=>[(0,s.eW)((0,o.v_)(e.opt.label),1)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","options"])]),(0,s.Lk)("div",U,[a[19]||(a[19]=(0,s.Lk)("div",{class:"text-caption text-grey-7 q-mb-xs"},"Departman",-1)),(0,s.bF)(Q,{modelValue:(0,t.R1)(C).departments,"onUpdate:modelValue":a[7]||(a[7]=e=>(0,t.R1)(C).departments=e),options:(0,t.R1)(z),"option-label":"label","option-value":"value","emit-value":"","map-options":"","use-input":"",dense:"",filled:""},null,8,["modelValue","options"])]),(0,s.Lk)("div",V,[a[20]||(a[20]=(0,s.Lk)("div",{class:"text-caption text-grey-7 q-mb-xs"},"Piyasalar",-1)),(0,s.bF)(Q,{modelValue:(0,t.R1)(C).piyasalar,"onUpdate:modelValue":a[8]||(a[8]=e=>(0,t.R1)(C).piyasalar=e),options:(0,t.R1)($),"option-label":"label","option-value":"value","emit-value":"","map-options":"",multiple:"","use-input":"","use-chips":"",dense:"",filled:"",behavior:"menu"},{option:(0,s.k6)(e=>[(0,s.bF)(W,(0,s.v6)(e.itemProps,{clickable:""}),{default:(0,s.k6)(()=>[(0,s.bF)(S,{avatar:""},{default:(0,s.k6)(()=>[(0,s.bF)(O,{"model-value":e.selected,"onUpdate:modelValue":a=>e.toggleOption(e.opt)},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),(0,s.bF)(S,null,{default:(0,s.k6)(()=>[(0,s.eW)((0,o.v_)(e.opt.label),1)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","options"])]),(0,s.Lk)("div",q,[a[21]||(a[21]=(0,s.Lk)("div",{class:"text-caption text-grey-7 q-mb-xs"},"Nebim Kullanıcıları",-1)),(0,s.bF)(Q,{modelValue:(0,t.R1)(C).nebim_users,"onUpdate:modelValue":a[9]||(a[9]=e=>(0,t.R1)(C).nebim_users=e),options:(0,t.R1)(I),"option-label":"label","option-value":"value","emit-value":"","map-options":"","use-input":"",dense:"",filled:""},null,8,["modelValue","options"])])])]),_:1})]),_:1})])]),_:1})):((0,s.uX)(),(0,s.Wv)(B,{key:1,class:"q-pa-md flex flex-center"},{default:(0,s.k6)(()=>[...a[22]||(a[22]=[(0,s.Lk)("div",{class:"text-negative text-subtitle1"}," Bu module erisim yetkiniz yok. ",-1)])]),_:1}))}}};var X=l(5013),T=l(8356),O=l(6356),S=l(6067),W=l(5725),Q=l(8155),C=l(2677),D=l(3341),K=l(222),M=l(6941),z=l(2589),$=l(4958),I=l(8349),N=l(272),Y=l.n(N);const B=F,G=B;Y()(F,"components",{QPage:X.A,QInnerLoading:T.A,QSpinner:O.A,QInput:S.A,QToggle:W.A,QBadge:Q.A,QBtn:C.A,QCard:D.A,QCardSection:K.A,QSelect:M.A,QItem:z.A,QItemSection:$.A,QCheckbox:I.A})}}]);