modoboa 2.4.9__py3-none-any.whl → 2.4.11__py3-none-any.whl
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.
- modoboa/admin/api/v1/serializers.py +8 -1
- modoboa/admin/api/v2/serializers.py +5 -3
- modoboa/admin/api/v2/tests.py +11 -1
- modoboa/admin/lib.py +1 -1
- modoboa/admin/models/mailbox.py +15 -13
- modoboa/admin/models/mxrecord.py +4 -0
- modoboa/admin/tests/test_import_.py +11 -11
- modoboa/core/api/v2/serializers.py +43 -15
- modoboa/core/api/v2/tests.py +18 -0
- modoboa/core/api/v2/urls.py +5 -0
- modoboa/core/api/v2/views.py +20 -1
- modoboa/core/app_settings.py +12 -1
- modoboa/core/fido2_auth.py +1 -2
- modoboa/core/management/commands/cleanlogs.py +9 -0
- modoboa/core/management/commands/load_initial_data.py +7 -15
- modoboa/core/migrations/0025_rename_user_email_is_active_core_user_email_c0c03f_idx.py +5 -5
- modoboa/core/tests/test_core.py +5 -0
- modoboa/core/utils.py +3 -0
- modoboa/dnstools/api/v2/serializers.py +9 -11
- modoboa/frontend_dist/assets/{AccountAliasForm-DO4IpT1M.js → AccountAliasForm-BV6KvTu6.js} +1 -1
- modoboa/frontend_dist/assets/{AccountEditView-BLA0CnKd.js → AccountEditView-DDOFyfBD.js} +1 -1
- modoboa/frontend_dist/assets/AccountLayout-rX51xgxT.js +1 -0
- modoboa/frontend_dist/assets/{AccountPasswordSubForm-D9xU4Or7.js → AccountPasswordSubForm-D9S6LaeH.js} +1 -1
- modoboa/frontend_dist/assets/AccountView-cmvaZNq3.js +1 -0
- modoboa/frontend_dist/assets/{AddressBook-CJM-ajGg.js → AddressBook-DCJxL8SU.js} +1 -1
- modoboa/frontend_dist/assets/AdminLayout-r0wfG2lO.js +1 -0
- modoboa/frontend_dist/assets/{AlarmsView-CpIExehE.js → AlarmsView-C0bqC4PA.js} +1 -1
- modoboa/frontend_dist/assets/{AliasEditView-Bu0rnLCQ.js → AliasEditView-DVoWoCGY.js} +1 -1
- modoboa/frontend_dist/assets/{AliasRecipientForm-CGuaOz6K.js → AliasRecipientForm-IOae6sjF.js} +1 -1
- modoboa/frontend_dist/assets/{AliasView-Cdwd7AvE.js → AliasView-DrONZXOh.js} +1 -1
- modoboa/frontend_dist/assets/{AuditTrailView-Dn1B2S23.js → AuditTrailView-OTkoZaMU.js} +1 -1
- modoboa/frontend_dist/assets/{CalendarView-CV-DAWtd.js → CalendarView-CqF4_Ui9.js} +1 -1
- modoboa/frontend_dist/assets/{ChoiceField-BS45Bjds.js → ChoiceField-DJ_c78Cm.js} +1 -1
- modoboa/frontend_dist/assets/{ComposeEmailForm-22JKKl9M.js → ComposeEmailForm-DO5_GB3e.js} +1 -1
- modoboa/frontend_dist/assets/ComposeEmailView-A91HCBsN.js +1 -0
- modoboa/frontend_dist/assets/{ConfirmDialog-BLu1kBWp.js → ConfirmDialog-BBcgdAnO.js} +1 -1
- modoboa/frontend_dist/assets/ConnectedLayout-1oRW-Rql.js +1 -0
- modoboa/frontend_dist/assets/{ConnectedLayout-AhwwAZvE.css → ConnectedLayout-Dvwmicnc.css} +1 -1
- modoboa/frontend_dist/assets/CreationForm-71YJbjsA.js +1 -0
- modoboa/frontend_dist/assets/CreationForm-HaiQhqwK.css +1 -0
- modoboa/frontend_dist/assets/DashboardView-CdLpSfUl.js +1 -0
- modoboa/frontend_dist/assets/{DashboardView-BLlMi6Qb.css → DashboardView-gwwVAPvt.css} +1 -1
- modoboa/frontend_dist/assets/DomainAdminList-BjC4KsqI.js +1 -0
- modoboa/frontend_dist/assets/DomainEditView-CQjKwYxl.js +1 -0
- modoboa/frontend_dist/assets/DomainTransportForm-C2xo0Yd7.js +1 -0
- modoboa/frontend_dist/assets/{DomainView-DCfSLvj-.css → DomainView-BDKoBFYr.css} +1 -1
- modoboa/frontend_dist/assets/DomainView-BhhuZI_N.js +5 -0
- modoboa/frontend_dist/assets/DomainsView-Cft4BP8Z.js +1 -0
- modoboa/frontend_dist/assets/{DomainsView-BUgJLN9o.css → DomainsView-DasJ0NdZ.css} +1 -1
- modoboa/frontend_dist/assets/{EmailField-phdi2rhQ.js → EmailField-C8umy0EU.js} +1 -1
- modoboa/frontend_dist/assets/{EmailView-B8eqs4jh.js → EmailView-ki7uEQPD.js} +1 -1
- modoboa/frontend_dist/assets/EmptyLayout-DaA1XH9n.js +1 -0
- modoboa/frontend_dist/assets/{FiltersView-Dq_lXOZQ.js → FiltersView-FYFZxG4B.js} +1 -1
- modoboa/frontend_dist/assets/ForwardEmailView-cUbnSYCF.js +1 -0
- modoboa/frontend_dist/assets/{HtmlEditor-KH0pmxrK.js → HtmlEditor-CJ9umKeO.js} +1 -1
- modoboa/frontend_dist/assets/IdentitiesView-0ziuQ5s-.css +1 -0
- modoboa/frontend_dist/assets/IdentitiesView-njNo8N5n.js +1 -0
- modoboa/frontend_dist/assets/{InformationView-DlwtlpvG.js → InformationView-D1h38POt.js} +1 -1
- modoboa/frontend_dist/assets/{LoadingData-BYDZn1pb.js → LoadingData-CYwX3Jpn.js} +1 -1
- modoboa/frontend_dist/assets/{LoginCallbackView-xSv3LV4_.js → LoginCallbackView-E01qkKn0.js} +1 -1
- modoboa/frontend_dist/assets/{LoginView-R5FtOIzW.js → LoginView-Cy4uFV9h.js} +1 -1
- modoboa/frontend_dist/assets/{MailboxView-esEw0ueS.js → MailboxView-IlrLWm_H.js} +1 -1
- modoboa/frontend_dist/assets/{MenuItems-Bck8ixGf.js → MenuItems-BAtHWzAE.js} +1 -1
- modoboa/frontend_dist/assets/MessagesView-OSpjixFq.js +1 -0
- modoboa/frontend_dist/assets/{MigrationsView-BHTt1qeH.js → MigrationsView-DKNOsVzF.js} +1 -1
- modoboa/frontend_dist/assets/Modoboa_RVB-BLEU-SANS-pKrnjsR_.png +0 -0
- modoboa/frontend_dist/assets/{ParametersForm-Bx5J7UU0.js → ParametersForm-BZM0QSvg.js} +1 -1
- modoboa/frontend_dist/assets/ParametersView-C4bXASiq.js +1 -0
- modoboa/frontend_dist/assets/ParametersView-CYXgNmc1.js +1 -0
- modoboa/frontend_dist/assets/{ProviderEditView-d2fBym_r.js → ProviderEditView-CyxCWTST.js} +1 -1
- modoboa/frontend_dist/assets/{ProviderGeneralForm-C9jkYxB7.js → ProviderGeneralForm-BYPjNHqB.js} +1 -1
- modoboa/frontend_dist/assets/ProvidersView-CxrMkRyk.js +1 -0
- modoboa/frontend_dist/assets/ReplyEmailView-Dkw9-N26.js +1 -0
- modoboa/frontend_dist/assets/{ResourcesForm-RZNnt_x1.js → ResourcesForm-CuUvrOdY.js} +1 -1
- modoboa/frontend_dist/assets/SettingsView-BxLJBFY0.js +6 -0
- modoboa/frontend_dist/assets/{StatisticsView-CABa0tgU.js → StatisticsView-BN7QsZMT.js} +1 -1
- modoboa/frontend_dist/assets/{TimeSerieChart-BjM9PGIT.js → TimeSerieChart-BMN8BeFZ.js} +1 -1
- modoboa/frontend_dist/assets/UserLayout-B6-JQg4F.js +1 -0
- modoboa/frontend_dist/assets/{VAlert-DSMD0lqo.js → VAlert-DIQTrRif.js} +1 -1
- modoboa/frontend_dist/assets/{VApp-D2FuKvLN.js → VApp-CpkYA7js.js} +1 -1
- modoboa/frontend_dist/assets/{VAutocomplete-CQ5LL_Nk.js → VAutocomplete-C4IpXyl8.js} +1 -1
- modoboa/frontend_dist/assets/{VAvatar-DbAmPjyA.js → VAvatar-Lpb-Dion.js} +1 -1
- modoboa/frontend_dist/assets/{VCard-BGXTuaE-.js → VCard-er_isjE_.js} +1 -1
- modoboa/frontend_dist/assets/{VCheckbox-BM1QzY5m.js → VCheckbox-D-u8JXP1.js} +1 -1
- modoboa/frontend_dist/assets/{VCheckboxBtn-DdHQE-gt.js → VCheckboxBtn-Dt810gWf.js} +1 -1
- modoboa/frontend_dist/assets/{VChip-Bm7znPZ6.js → VChip-B4iSpj8_.js} +1 -1
- modoboa/frontend_dist/assets/{VColorPicker-CYCnVu_Z.js → VColorPicker-BAjGDsXv.js} +1 -1
- modoboa/frontend_dist/assets/VContainer-DvTbsotR.js +1 -0
- modoboa/frontend_dist/assets/{VDataTable-Etpc99CI.js → VDataTable-4JRjbtgF.js} +1 -1
- modoboa/frontend_dist/assets/{VDataTableServer-BNNG6dBx.js → VDataTableServer-tIDT1m3-.js} +1 -1
- modoboa/frontend_dist/assets/{VDataTableVirtual-D9Km3t6e.js → VDataTableVirtual-BlnO18u_.js} +1 -1
- modoboa/frontend_dist/assets/{VDialog-0NvxFg1X.js → VDialog-Bk6EWNhz.js} +1 -1
- modoboa/frontend_dist/assets/{VExpansionPanels-eED_hKBs.js → VExpansionPanels-CwGtXDhr.js} +1 -1
- modoboa/frontend_dist/assets/{VFileInput-COIdDRxq.js → VFileInput-D1_7ZkO_.js} +1 -1
- modoboa/frontend_dist/assets/{VForm-DwwrfSN8.js → VForm-DAkW4nfy.js} +1 -1
- modoboa/frontend_dist/assets/{VMenu-CTyyRlRb.js → VMenu-BPFJwj2f.js} +1 -1
- modoboa/frontend_dist/assets/{VPicker-3NOHH3h1.js → VPicker-CfT82M8N.js} +1 -1
- modoboa/frontend_dist/assets/{VProgressCircular-1VQzh5PK.js → VProgressCircular-w75-3ogi.js} +1 -1
- modoboa/frontend_dist/assets/{VRadioGroup-CnRLqIcd.js → VRadioGroup-0j6DNC_k.js} +1 -1
- modoboa/frontend_dist/assets/{VRow-DgX40uiD.js → VRow-BF35mT1S.js} +1 -1
- modoboa/frontend_dist/assets/{VSelect-CeY-emKK.js → VSelect-Cs4ARbAS.js} +1 -1
- modoboa/frontend_dist/assets/{VSelectionControl-BYdVI5Q9.js → VSelectionControl-Dg-XyRRS.js} +1 -1
- modoboa/frontend_dist/assets/VSheet-Btq_Mu4s.js +1 -0
- modoboa/frontend_dist/assets/VSpacer-C7xukQmu.js +1 -0
- modoboa/frontend_dist/assets/{VSwitch-BSifpScd.js → VSwitch-Cs1NQrmk.js} +1 -1
- modoboa/frontend_dist/assets/{VTable-BeyU0Uhj.js → VTable-CNz2SGk4.js} +1 -1
- modoboa/frontend_dist/assets/{VTabs-Dzq8prKm.js → VTabs-B1fyVn4M.js} +1 -1
- modoboa/frontend_dist/assets/{VTextField-FBM5XwC5.js → VTextField-BdyvgvkG.js} +1 -1
- modoboa/frontend_dist/assets/{VTextarea-BwkVlXPS.js → VTextarea-DnOMpe0Q.js} +1 -1
- modoboa/frontend_dist/assets/{VToolbar-AQXTYlxS.js → VToolbar-BiCiBxBJ.js} +1 -1
- modoboa/frontend_dist/assets/{VWindowItem-p9SJ1V9Y.js → VWindowItem-ChWm_kz3.js} +1 -1
- modoboa/frontend_dist/assets/WebmailLayout-o4uEkp9e.js +1 -0
- modoboa/frontend_dist/assets/admin-o-HRGnmT.js +1 -0
- modoboa/frontend_dist/assets/{aliases-C-hC9If-.js → aliases-DDVeehyg.js} +1 -1
- modoboa/frontend_dist/assets/{contacts-DZDbAN4o.js → contacts-C84DY-Q1.js} +1 -1
- modoboa/frontend_dist/assets/{domains-CWdc-ODs.js → domains-Bgn4ixHL.js} +1 -1
- modoboa/frontend_dist/assets/{domains.store-B6sc48r9.js → domains.store-DTE-V7Y1.js} +1 -1
- modoboa/frontend_dist/assets/{filter-BSw3r225.js → filter-CnffiQAW.js} +1 -1
- modoboa/frontend_dist/assets/{forwardRefs-Cn7kyt_f.js → forwardRefs-Dvjn_Xq4.js} +1 -1
- modoboa/frontend_dist/assets/{global.store-IwCGIFoO.js → global.store-BaiD63EN.js} +1 -1
- modoboa/frontend_dist/assets/importExport-BlQYb0NO.js +1 -0
- modoboa/frontend_dist/assets/index-DuzUMVLM.js +1 -0
- modoboa/frontend_dist/assets/index-I1VDlN4g.js +984 -0
- modoboa/frontend_dist/assets/layout-D8ZJPiJ_.js +1 -0
- modoboa/frontend_dist/assets/{layout.store-CSmWF8Cf.js → layout.store-DkjrAoXt.js} +1 -1
- modoboa/frontend_dist/assets/logos-q8SEyAa4.js +1 -0
- modoboa/frontend_dist/assets/{logs-DIXCC1C0.js → logs-B7IJ7LBa.js} +1 -1
- modoboa/frontend_dist/assets/{parameters-u6VE5cq8.js → parameters-A6iBEYQq.js} +1 -1
- modoboa/frontend_dist/assets/{parameters.store-D4x8W7LS.js → parameters.store-BiXS4_6w.js} +1 -1
- modoboa/frontend_dist/assets/{permissions-C7XVO62l.js → permissions-CITHLHVg.js} +1 -1
- modoboa/frontend_dist/assets/{ssrBoot-B-x5LB2_.js → ssrBoot-AzTdjPjk.js} +1 -1
- modoboa/frontend_dist/assets/{tag-DCSJ2lri.js → tag-BnSYRTcD.js} +1 -1
- modoboa/frontend_dist/assets/transports-Dz7c6kIy.js +1 -0
- modoboa/frontend_dist/assets/{webmail-D2rioayn.js → webmail-CSH_3l6R.js} +1 -1
- modoboa/frontend_dist/config.json +1 -3
- modoboa/frontend_dist/index.html +1 -1
- modoboa/lib/redis.py +1 -5
- modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ja_JP/LC_MESSAGES/django.po +122 -263
- modoboa/maillog/management/commands/logparser.py +1 -0
- modoboa/pdfcredentials/api/v2/serializers.py +17 -5
- modoboa/pdfcredentials/api/v2/tests.py +28 -0
- modoboa/pdfcredentials/app_settings.py +1 -1
- {modoboa-2.4.9.dist-info → modoboa-2.4.11.dist-info}/METADATA +2 -2
- {modoboa-2.4.9.dist-info → modoboa-2.4.11.dist-info}/RECORD +150 -147
- modoboa/frontend_dist/assets/AccountLayout-DMwguvdC.js +0 -1
- modoboa/frontend_dist/assets/AccountView-DegeD2uG.js +0 -1
- modoboa/frontend_dist/assets/AdminLayout-CTbzqJSq.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailView-B6Tbw3MS.js +0 -1
- modoboa/frontend_dist/assets/ConnectedLayout-CNzvhsb9.js +0 -1
- modoboa/frontend_dist/assets/CreationForm-ChgnxngD.js +0 -1
- modoboa/frontend_dist/assets/CreationForm-DLumMdUy.css +0 -1
- modoboa/frontend_dist/assets/DashboardView-CubvMqxt.js +0 -1
- modoboa/frontend_dist/assets/DomainAdminList-B0z8fRmf.js +0 -1
- modoboa/frontend_dist/assets/DomainEditView-DrZ9__pt.js +0 -1
- modoboa/frontend_dist/assets/DomainTransportForm-DEsm5zOa.js +0 -1
- modoboa/frontend_dist/assets/DomainView-RmJalGk7.js +0 -5
- modoboa/frontend_dist/assets/DomainsView-DzL9wtff.js +0 -1
- modoboa/frontend_dist/assets/EmptyLayout-FS-cJHKI.js +0 -1
- modoboa/frontend_dist/assets/ForwardEmailView-Lpw9sqB4.js +0 -1
- modoboa/frontend_dist/assets/IdentitiesView-7nHABB9n.js +0 -1
- modoboa/frontend_dist/assets/IdentitiesView-cvIq8q24.css +0 -1
- modoboa/frontend_dist/assets/MessagesView-Dyg8Y4bi.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-Bkw5_CyJ.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-CyAAGtfU.js +0 -1
- modoboa/frontend_dist/assets/ProvidersView-CjKsqSYV.js +0 -1
- modoboa/frontend_dist/assets/ReplyEmailView-DcUkD2HR.js +0 -1
- modoboa/frontend_dist/assets/SettingsView-TStQqZWd.js +0 -6
- modoboa/frontend_dist/assets/UserLayout-C6_Zjp6P.js +0 -1
- modoboa/frontend_dist/assets/VContainer-B8HjqhNU.js +0 -1
- modoboa/frontend_dist/assets/VSheet-C8P69LA8.js +0 -1
- modoboa/frontend_dist/assets/VSpacer-pLqQLLwB.js +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-E3DJFEW2.js +0 -1
- modoboa/frontend_dist/assets/admin-B0fFM9gW.js +0 -1
- modoboa/frontend_dist/assets/importExport-B7mBfHxZ.js +0 -1
- modoboa/frontend_dist/assets/index-BCUdq-Zu.js +0 -852
- modoboa/frontend_dist/assets/index-CJ87ZZG1.js +0 -1
- modoboa/frontend_dist/assets/layout-CLqGxWz4.js +0 -1
- {modoboa-2.4.9.data → modoboa-2.4.11.data}/scripts/modoboa-admin.py +0 -0
- {modoboa-2.4.9.dist-info → modoboa-2.4.11.dist-info}/WHEEL +0 -0
- {modoboa-2.4.9.dist-info → modoboa-2.4.11.dist-info}/entry_points.txt +0 -0
- {modoboa-2.4.9.dist-info → modoboa-2.4.11.dist-info}/licenses/LICENSE +0 -0
- {modoboa-2.4.9.dist-info → modoboa-2.4.11.dist-info}/top_level.txt +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as ae,r as De,c as P,o as V,w as y,a as s,b0 as fe,b1 as Ne,ac as D,h as S,a8 as Re,d as Z,L as Y,aA as he,b2 as He,b3 as q,ag as ge,b4 as ye,aF as Oe,v as pe,x as we,ai as Ye,ar as _e,V as Ue,T as ke,g as N,ad as Q,a6 as be,b5 as We,Y as ze,e as B,B as F,F as A,C as xe,$ as Fe,u as Ve,s as Ge,i as Xe,f as X,a0 as qe,p as je,m as $,G as K,q as ee,l as j,t as U,a1 as Ze,b as Se,b6 as Ke,ak as Je,_ as Qe,S as et,b7 as tt,U as at,n as nt,z as ot,H as lt}from"./index-BCUdq-Zu.js";import{V as rt}from"./VContainer-B8HjqhNU.js";import{V as it,a as st}from"./VApp-D2FuKvLN.js";import{u as ut}from"./global.store-IwCGIFoO.js";import{u as ct}from"./layout.store-CSmWF8Cf.js";import{C as vt,r as dt,u as Ce,D as mt,E as ft,b as Te,s as ht,A as gt,p as Pe,h as Be,V as J,d as te,f as yt,F as pt,G as wt,k as _t,e as kt,z as bt,H as xt,c as Vt}from"./VAvatar-DbAmPjyA.js";import{V as Me,g as St,a as O,h as Ct,c as Tt,b as Pt,f as Bt}from"./forwardRefs-Cn7kyt_f.js";import{u as se}from"./VProgressCircular-1VQzh5PK.js";import{u as Ee,m as Mt,a as Et}from"./tag-DCSJ2lri.js";import{u as Le,b as Lt,m as It,V as ue,a as ce,c as At}from"./VMenu-CTyyRlRb.js";import{u as $t,a as Dt,V as Nt,b as Rt}from"./layout-CLqGxWz4.js";import{u as Ht}from"./ssrBoot-B-x5LB2_.js";import{b as ve}from"./VCard-BGXTuaE-.js";import{V as Ot,a as Yt}from"./VRow-DgX40uiD.js";import{V as Ut}from"./VSheet-C8P69LA8.js";const Wt={__name:"ConnectedView",setup(e){return(l,n)=>{const i=De("router-view");return V(),P(it,null,{default:y(()=>[s(rt,{fluid:"",style:{height:"100%"}},{default:y(()=>[s(i,null,{default:y(({Component:t})=>[s(fe,{name:"fade"},{default:y(()=>[(V(),P(Ne(t)))]),_:2},1024)]),_:1})]),_:1})]),_:1})}}},zt=ae(Wt,[["__scopeId","data-v-b2ffa9e6"]]);function Ft(e){let{rootEl:l,isSticky:n,layoutItemStyles:i}=e;const t=D(!1),c=D(0),r=S(()=>{const a=typeof t.value=="boolean"?"top":t.value;return[n.value?{top:"auto",bottom:"auto",height:void 0}:void 0,t.value?{[a]:Re(c.value)}:{top:i.value.top}]});Z(()=>{Y(n,a=>{a?window.addEventListener("scroll",_,{passive:!0}):window.removeEventListener("scroll",_)},{immediate:!0})}),he(()=>{window.removeEventListener("scroll",_)});let u=0;function _(){const a=u>window.scrollY?"up":"down",v=l.value.getBoundingClientRect(),g=parseFloat(i.value.top??0),b=window.scrollY-Math.max(0,c.value-g),p=v.height+Math.max(c.value,g)-window.scrollY-window.innerHeight,f=parseFloat(getComputedStyle(l.value).getPropertyValue("--v-body-scroll-y"))||0;v.height<window.innerHeight-g?(t.value="top",c.value=g):a==="up"&&t.value==="bottom"||a==="down"&&t.value==="top"?(c.value=window.scrollY+v.top-f,t.value=!0):a==="down"&&p<=0?(c.value=0,t.value="bottom"):a==="up"&&b<=0&&(f?t.value!=="top"&&(c.value=-b+f+g,t.value="top"):(c.value=v.top+b,t.value="top")),u=window.scrollY}return{isStuck:t,stickyStyles:r}}const Gt=100,Xt=20;function de(e){return(e<0?-1:1)*Math.sqrt(Math.abs(e))*1.41421356237}function me(e){if(e.length<2)return 0;if(e.length===2)return e[1].t===e[0].t?0:(e[1].d-e[0].d)/(e[1].t-e[0].t);let l=0;for(let n=e.length-1;n>0;n--){if(e[n].t===e[n-1].t)continue;const i=de(l),t=(e[n].d-e[n-1].d)/(e[n].t-e[n-1].t);l+=(t-i)*Math.abs(t),n===e.length-1&&(l*=.5)}return de(l)*1e3}function qt(){const e={};function l(t){Array.from(t.changedTouches).forEach(c=>{(e[c.identifier]??(e[c.identifier]=new He(Xt))).push([t.timeStamp,c])})}function n(t){Array.from(t.changedTouches).forEach(c=>{delete e[c.identifier]})}function i(t){var a;const c=(a=e[t])==null?void 0:a.values().reverse();if(!c)throw new Error(`No samples for touch id ${t}`);const r=c[0],u=[],_=[];for(const v of c){if(r[0]-v[0]>Gt)break;u.push({t:v[0],d:v[1].clientX}),_.push({t:v[0],d:v[1].clientY})}return{x:me(u),y:me(_),get direction(){const{x:v,y:g}=this,[b,p]=[Math.abs(v),Math.abs(g)];return b>p&&v>=0?"right":b>p&&v<=0?"left":p>b&&g>=0?"down":p>b&&g<=0?"up":jt()}}}return{addMovement:l,endTouch:n,getVelocity:i}}function jt(){throw new Error}function Zt(e){let{el:l,isActive:n,isTemporary:i,width:t,touchless:c,position:r}=e;Z(()=>{window.addEventListener("touchstart",L,{passive:!0}),window.addEventListener("touchmove",M,{passive:!1}),window.addEventListener("touchend",W,{passive:!0})}),he(()=>{window.removeEventListener("touchstart",L),window.removeEventListener("touchmove",M),window.removeEventListener("touchend",W)});const u=S(()=>["left","right"].includes(r.value)),{addMovement:_,endTouch:a,getVelocity:v}=qt();let g=!1;const b=D(!1),p=D(0),f=D(0);let o;function x(d,h){return(r.value==="left"?d:r.value==="right"?document.documentElement.clientWidth-d:r.value==="top"?d:r.value==="bottom"?document.documentElement.clientHeight-d:z())-(h?t.value:0)}function R(d){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const w=r.value==="left"?(d-f.value)/t.value:r.value==="right"?(document.documentElement.clientWidth-d-f.value)/t.value:r.value==="top"?(d-f.value)/t.value:r.value==="bottom"?(document.documentElement.clientHeight-d-f.value)/t.value:z();return h?Oe(w):w}function L(d){if(c.value)return;const h=d.changedTouches[0].clientX,w=d.changedTouches[0].clientY,k=25,C=r.value==="left"?h<k:r.value==="right"?h>document.documentElement.clientWidth-k:r.value==="top"?w<k:r.value==="bottom"?w>document.documentElement.clientHeight-k:z(),m=n.value&&(r.value==="left"?h<t.value:r.value==="right"?h>document.documentElement.clientWidth-t.value:r.value==="top"?w<t.value:r.value==="bottom"?w>document.documentElement.clientHeight-t.value:z());(C||m||n.value&&i.value)&&(o=[h,w],f.value=x(u.value?h:w,n.value),p.value=R(u.value?h:w),g=f.value>-20&&f.value<80,a(d),_(d))}function M(d){const h=d.changedTouches[0].clientX,w=d.changedTouches[0].clientY;if(g){if(!d.cancelable){g=!1;return}const C=Math.abs(h-o[0]),m=Math.abs(w-o[1]);(u.value?C>m&&C>3:m>C&&m>3)?(b.value=!0,g=!1):(u.value?m:C)>3&&(g=!1)}if(!b.value)return;d.preventDefault(),_(d);const k=R(u.value?h:w,!1);p.value=Math.max(0,Math.min(1,k)),k>1?f.value=x(u.value?h:w,!0):k<0&&(f.value=x(u.value?h:w,!1))}function W(d){if(g=!1,!b.value)return;_(d),b.value=!1;const h=v(d.changedTouches[0].identifier),w=Math.abs(h.x),k=Math.abs(h.y);(u.value?w>k&&w>400:k>w&&k>3)?n.value=h.direction===({left:"right",right:"left",top:"down",bottom:"up"}[r.value]||z()):n.value=p.value>.5}const H=S(()=>b.value?{transform:r.value==="left"?`translateX(calc(-100% + ${p.value*t.value}px))`:r.value==="right"?`translateX(calc(100% - ${p.value*t.value}px))`:r.value==="top"?`translateY(calc(-100% + ${p.value*t.value}px))`:r.value==="bottom"?`translateY(calc(100% - ${p.value*t.value}px))`:z(),transition:"none"}:void 0);return q(b,()=>{var w,k;const d=((w=l.value)==null?void 0:w.style.transform)??null,h=((k=l.value)==null?void 0:k.style.transition)??null;ge(()=>{var C,m,E,I;(m=l.value)==null||m.style.setProperty("transform",((C=H.value)==null?void 0:C.transform)||"none"),(I=l.value)==null||I.style.setProperty("transition",((E=H.value)==null?void 0:E.transition)||null)}),ye(()=>{var C,m;(C=l.value)==null||C.style.setProperty("transform",d),(m=l.value)==null||m.style.setProperty("transition",h)})}),{isDragging:b,dragProgress:p,dragStyles:H}}function z(){throw new Error}const Kt=["start","end","left","right","top","bottom"],Jt=we({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:e=>Kt.includes(e)},sticky:Boolean,...gt(),...Et(),...It(),...Fe({mobile:null}),...ht(),...Dt(),...Te(),...Mt({tag:"nav"}),...xe()},"VNavigationDrawer"),Qt=pe()({name:"VNavigationDrawer",props:Jt(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,l){let{attrs:n,emit:i,slots:t}=l;const{isRtl:c}=Ye(),{themeClasses:r}=_e(e),{borderClasses:u}=vt(e),{backgroundColorClasses:_,backgroundColorStyles:a}=se(()=>e.color),{elevationClasses:v}=dt(e),{displayClasses:g,mobile:b}=Ue(e),{roundedClasses:p}=Ce(e),f=mt(),o=ke(e,"modelValue",null,T=>!!T),{ssrBootStyles:x}=Ht(),{scopeId:R}=Le(),L=N(),M=D(!1),{runOpenDelay:W,runCloseDelay:H}=Lt(e,T=>{M.value=T}),d=S(()=>e.rail&&e.expandOnHover&&M.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),h=S(()=>ft(e.location,c.value)),w=Q(()=>e.persistent),k=S(()=>!e.permanent&&(b.value||e.temporary)),C=S(()=>e.sticky&&!k.value&&h.value!=="bottom");q(()=>e.expandOnHover&&e.rail!=null,()=>{Y(M,T=>i("update:rail",!T))}),q(()=>!e.disableResizeWatcher,()=>{Y(k,T=>!e.permanent&&be(()=>o.value=!T))}),q(()=>!e.disableRouteWatcher&&!!f,()=>{Y(f.currentRoute,()=>k.value&&(o.value=!1))}),Y(()=>e.permanent,T=>{T&&(o.value=!0)}),e.modelValue==null&&!k.value&&(o.value=e.permanent||!b.value);const{isDragging:m,dragProgress:E}=Zt({el:L,isActive:o,isTemporary:k,width:d,touchless:Q(()=>e.touchless),position:h}),I=S(()=>{const T=k.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):d.value;return m.value?T*E.value:T}),{layoutItemStyles:G,layoutItemScrimStyles:Ie}=$t({id:e.name,order:S(()=>parseInt(e.order,10)),position:h,layoutSize:I,elementSize:d,active:We(o),disableTransitions:Q(()=>m.value),absolute:S(()=>e.absolute||C.value&&typeof ne.value!="string")}),{isStuck:ne,stickyStyles:Ae}=Ft({rootEl:L,isSticky:C,layoutItemStyles:G}),oe=se(()=>typeof e.scrim=="string"?e.scrim:null),$e=S(()=>({...m.value?{opacity:E.value*.2,transition:"none"}:void 0,...Ie.value}));return ze({VList:{bgColor:"transparent"}}),Ee(()=>{const T=t.image||e.image;return B(A,null,[s(e.tag,F({ref:L,onMouseenter:W,onMouseleave:H,class:["v-navigation-drawer",`v-navigation-drawer--${h.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":M.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":k.value,"v-navigation-drawer--persistent":w.value,"v-navigation-drawer--active":o.value,"v-navigation-drawer--sticky":C.value},r.value,_.value,u.value,g.value,v.value,p.value,e.class],style:[a.value,G.value,x.value,Ae.value,e.style]},R,n),{default:()=>{var le,re,ie;return[T&&B("div",{key:"image",class:"v-navigation-drawer__img"},[t.image?s(Be,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},t.image):s(Pe,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),t.prepend&&B("div",{class:"v-navigation-drawer__prepend"},[(le=t.prepend)==null?void 0:le.call(t)]),B("div",{class:"v-navigation-drawer__content"},[(re=t.default)==null?void 0:re.call(t)]),t.append&&B("div",{class:"v-navigation-drawer__append"},[(ie=t.append)==null?void 0:ie.call(t)])]}}),s(fe,{name:"fade-transition"},{default:()=>[k.value&&(m.value||o.value)&&!!e.scrim&&B("div",F({class:["v-navigation-drawer__scrim",oe.backgroundColorClasses.value],style:[$e.value,oe.backgroundColorStyles.value],onClick:()=>{w.value||(o.value=!1)}},R),null)]})])}),{isStuck:ne}}}),ea={class:"d-flex align-center"},ta={__name:"NavBar",props:{color:{type:String,default:"primary"},menuItems:{type:Array,required:!1,default:null},logoRoute:{type:Object,default:null}},setup(e){const l=e,n=ut(),i=Ve(),t=ct(),c=Ge(),r=qe(),u=N(!1),_=N(!0),a=S(()=>i.authUser),v=S(()=>i.isAuthenticated),g=S(()=>n.notifications.length!==void 0&&n.notifications.length!==0);function b(p){return v.value?(p.roles===void 0||p.roles.indexOf(a.value.role)!==-1)&&(p.condition===void 0||p.condition())&&p.activated!==!1:!1}return Z(()=>{a.value.role===Xe.SUPER_ADMIN&&n.fetchNotifications()}),(p,f)=>(V(),P(Qt,{modelValue:_.value,"onUpdate:modelValue":f[2]||(f[2]=o=>_.value=o),rail:u.value,permanent:"",color:e.color,app:""},{default:y(()=>[B("div",ea,[s(Pe,{src:X(r).MENU_LOGO_PATH,"max-width":"190",class:"logo",onClick:f[0]||(f[0]=o=>X(c).push(l.logoRoute))},null,8,["src"]),s(J,{icon:u.value?"mdi-chevron-right":"mdi-chevron-left",variant:"text",onClick:f[1]||(f[1]=je(o=>u.value=!u.value,["stop"]))},null,8,["icon"])]),s(Me,{density:X(t).compactLeftMenu?"compact":"default",lines:!X(t).compactLeftMenu,nav:""},{default:y(()=>[(V(!0),$(A,null,K(e.menuItems,o=>(V(),$(A,{key:o.text},[b(o)?(V(),$(A,{key:0},[o.subheader?(V(),P(St,{key:0,class:"text-white"},{default:y(()=>[j(U(o.text.toUpperCase()),1)]),_:2},1024)):o.action?(V(),P(O,{key:1,value:o,exact:o.exact,title:o.text,"prepend-icon":o.icon,onClick:o.action},null,8,["value","exact","title","prepend-icon","onClick"])):o.children?(V(),P(Ct,{key:3,value:o.text},{activator:y(({props:x})=>[(V(),P(O,F({ref_for:!0},x,{key:o.text,title:o.text,color:"white","prepend-icon":o.icon}),null,16,["title","prepend-icon"]))]),default:y(()=>[(V(!0),$(A,null,K(o.children,x=>(V(),$(A,{key:x.text},[b(x)?(V(),$(A,{key:0},[x.action?(V(),P(O,{key:0,title:x.text,value:x,"prepend-icon":x.icon,onClick:x.action},null,8,["title","value","prepend-icon","onClick"])):(V(),P(O,{key:1,to:x.to,link:"",title:x.text,value:x,"prepend-icon":x.icon},null,8,["to","title","value","prepend-icon"]))],64)):ee("",!0)],64))),128))]),_:2},1032,["value"])):(V(),P(O,{key:2,value:o,to:o.to,link:"",exact:o.exact,title:o.text,"prepend-icon":o.icon},Ze({_:2},[o.withBell&&g.value?{name:"append",fn:y(()=>[s(te,{color:"red",icon:"mdi-bell-alert-outline"})]),key:"0"}:void 0]),1032,["value","to","exact","title","prepend-icon"]))],64)):ee("",!0)],64))),128))]),_:1},8,["density","lines"])]),_:1},8,["modelValue","rail","color"]))}},aa=ae(ta,[["__scopeId","data-v-614c9d9f"]]),na={key:0,class:"top-menu"},oa={class:"mt-2"},la={class:"text-center"},ra={class:"text-h5"},ia={__name:"TopMenu",props:{user:{type:Object,default:null},remote:{type:Boolean,default:!1}},setup(e){const l=e,{$gettext:n}=Se(),i=N([]),t=S(()=>l.user.first_name&&l.user.last_name?`${l.user.first_name[0].toUpperCase()}${l.user.last_name[0].toUpperCase()}`:l.user.username?l.user.username.slice(0,2).toUpperCase():""),c=S(()=>[{text:n("Account"),icon:"mdi-account-circle-outline",to:l.remote?null:{name:"AccountSettings"},href:l.remote?"https://localhost:3000/account":"",click:()=>null},{text:n("Logout"),icon:"mdi-logout",click:r}]);async function r(){Ke()._s.forEach(async u=>await u.$reset())}return Z(()=>{Je.getAvailableApplications().then(u=>{i.value=u.data})}),(u,_)=>e.user?(V(),$("div",na,[s(ue,{activator:"parent",location:"bottom"},{activator:y(({props:a})=>[s(J,F({icon:"mdi-apps",flat:"",class:"mr-4"},a),null,16)]),default:y(()=>[s(ve,{"min-width":"350","max-width":"400",class:"pa-4"},{default:y(()=>[s(Ot,{class:"justify-center"},{default:y(()=>[(V(!0),$(A,null,K(i.value,a=>(V(),P(Yt,{key:a.name,cols:"6"},{default:y(()=>[s(Ut,{rounded:"",class:"application text-center pa-4 text-body-2",onClick:v=>u.$router.push(a.url)},{default:y(()=>[s(te,{color:"primary",icon:a.icon,size:"x-large"},null,8,["icon"]),B("div",oa,U(a.label),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),s(J,{icon:"",flat:"",color:"primary"},{default:y(()=>[j(U(t.value)+" ",1),s(ue,{activator:"parent",location:"bottom"},{default:y(()=>[s(ve,{"min-width":"300","max-width":"350"},{default:y(()=>[s(Me,null,{default:y(()=>[B("div",la,[s(yt,{color:"primary"},{default:y(()=>[B("span",ra,U(t.value),1)]),_:1}),s(O,{title:e.user.username},null,8,["title"])]),s(Tt),(V(!0),$(A,null,K(c.value,a=>(V(),P(O,{key:a.text,to:a.to,href:a.href,link:"",onClick:a.click},{prepend:y(()=>[s(te,{icon:a.icon},null,8,["icon"])]),default:y(()=>[s(Pt,null,{default:y(()=>[j(U(a.text),1)]),_:2},1024)]),_:2},1032,["to","href","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})])):ee("",!0)}},sa=ae(ia,[["__scopeId","data-v-adb37b5d"]]),ua={getTheme(){return Qe.get("/theme/")}};function ca(e){const l=D(e());let n=-1;function i(){clearInterval(n)}function t(){i(),be(()=>l.value=e())}function c(r){const u=r?getComputedStyle(r):{transitionDuration:.2},_=parseFloat(u.transitionDuration)*1e3||200;if(i(),l.value<=0)return;const a=performance.now();n=window.setInterval(()=>{const v=performance.now()-a+_;l.value=Math.max(e()-v,0),l.value<=0&&i()},_)}return ye(i),{clear:i,time:l,start:c,reset:t}}const va=we({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...Vt({location:"bottom"}),...xt(),...Te(),...bt(),...xe(),...at(At({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","scrim","scrollStrategy"])},"VSnackbar"),da=pe()({name:"VSnackbar",props:va(),emits:{"update:modelValue":e=>!0},setup(e,l){let{slots:n}=l;const i=ke(e,"modelValue"),{positionClasses:t}=pt(e),{scopeId:c}=Le(),{themeClasses:r}=_e(e),{colorClasses:u,colorStyles:_,variantClasses:a}=wt(e),{roundedClasses:v}=Ce(e),g=ca(()=>Number(e.timeout)),b=N(),p=N(),f=D(!1),o=D(0),x=N(),R=et(Nt,void 0);q(()=>!!R,()=>{const m=Rt();ge(()=>{x.value=m.mainStyles.value})}),Y(i,M),Y(()=>e.timeout,M),Z(()=>{i.value&&M()});let L=-1;function M(){g.reset(),window.clearTimeout(L);const m=Number(e.timeout);if(!i.value||m===-1)return;const E=tt(p.value);g.start(E),L=window.setTimeout(()=>{i.value=!1},m)}function W(){g.reset(),window.clearTimeout(L)}function H(){f.value=!0,W()}function d(){f.value=!1,M()}function h(m){o.value=m.touches[0].clientY}function w(m){Math.abs(o.value-m.changedTouches[0].clientY)>50&&(i.value=!1)}function k(){f.value&&d()}const C=S(()=>e.location.split(" ").reduce((m,E)=>(m[`v-snackbar--${E}`]=!0,m),{}));return Ee(()=>{const m=ce.filterProps(e),E=!!(n.default||n.text||e.text);return s(ce,F({ref:b,class:["v-snackbar",{"v-snackbar--active":i.value,"v-snackbar--multi-line":e.multiLine&&!e.vertical,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},C.value,t.value,e.class],style:[x.value,e.style]},m,{modelValue:i.value,"onUpdate:modelValue":I=>i.value=I,contentProps:F({class:["v-snackbar__wrapper",r.value,u.value,v.value,a.value],style:[_.value],onPointerenter:H,onPointerleave:d},m.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:h,onTouchend:w,onAfterLeave:k},c),{default:()=>{var I,G;return[_t(!1,"v-snackbar"),e.timer&&!f.value&&B("div",{key:"timer",class:"v-snackbar__timer"},[s(kt,{ref:p,color:typeof e.timer=="string"?e.timer:"info",max:e.timeout,"model-value":g.time.value},null)]),E&&B("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[((I=n.text)==null?void 0:I.call(n))??e.text,(G=n.default)==null?void 0:G.call(n)]),n.actions&&s(Be,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[B("div",{class:"v-snackbar__actions"},[n.actions({isActive:i})])]})]},activator:n.activator})}),Bt({},b)}}),ma=2e3,Ba={__name:"ConnectedLayout",props:{color:{type:String,default:"primary"},menuItems:{type:Array,default:null}},setup(e){const l=Ve(),n=nt(),{$gettext:i}=Se(),t=ot(),c=S(()=>l.authUser),r=S(()=>n.notificationColor),u=S(()=>n.notification),_=N(!1);return n.$onAction(({name:a,after:v})=>{a==="displayNotification"&&v(()=>{_.value=!0})},!0),ua.getTheme().then(a=>{a.data.theme_primary_color!==t.themes.value.light.colors.primary&&(t.themes.value.light.colors.primary=a.data.theme_primary_color),a.data.theme_primary_color_light!==t.themes.value.light.colors["primary-lighten-1"]&&(t.themes.value.light.colors["primary-lighten-1"]=a.data.theme_primary_color_light),a.data.theme_primary_color_dark!==t.themes.value.light.colors["primary-darken-1"]&&(t.themes.value.light.colors["primary-darken-1"]=a.data.theme_primary_color_dark),a.data.theme_secondary_color!==t.themes.value.light.colors.secondary&&(t.themes.value.light.colors.secondary=a.data.theme_secondary_color),a.data.theme_label_color!==t.themes.value.light.colors.label&&(t.themes.value.light.colors.label=a.data.theme_label_color)}),(a,v)=>(V(),P(st,null,{default:y(()=>[lt(a.$slots,"navbar",{},()=>[s(aa,{color:e.color,"menu-items":e.menuItems},null,8,["color","menu-items"])]),s(sa,{user:c.value},null,8,["user"]),s(zt),s(da,{modelValue:_.value,"onUpdate:modelValue":v[1]||(v[1]=g=>_.value=g),color:r.value,timeout:ma,location:"top"},{actions:y(()=>[s(J,{color:"white",text:"",onClick:v[0]||(v[0]=g=>_.value=!1)},{default:y(()=>[j(U(X(i)("Close")),1)]),_:1})]),default:y(()=>[j(U(u.value)+" ",1)]),_:1},8,["modelValue","color"])]),_:3}))}};export{Qt as V,Ba as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as me}from"./ConfirmDialog-BLu1kBWp.js";import{k as pe,b as se,m as W,o as S,G as L,F as T,e as v,t as f,f as _,c as C,w as c,H as M,q as re,a as l,l as x,v as R,x as $,y as ve,h as b,D as fe,J as ye,I as P,S as Ve,T as Se,B as q,U as be,V as oe,W as ke,X as Q,Y as ge,Z as he,$ as _e,g as H,a0 as xe,a1 as we,a2 as Ie,a3 as Ce}from"./index-BCUdq-Zu.js";import{a as F,V as ie}from"./VRow-DgX40uiD.js";import{V as A,h as ee,i as Pe,R as te,j as $e,k as Be,d as Ae,f as We,l as Te,n as je,o as Fe,p as Le}from"./VAvatar-DbAmPjyA.js";import{u as D}from"./tag-DCSJ2lri.js";import{V as ae,m as Re,a as le,b as De}from"./VWindowItem-p9SJ1V9Y.js";import{V as Ee}from"./VContainer-B8HjqhNU.js";import{V as ne,m as Ge}from"./VSheet-C8P69LA8.js";import{c as Ne}from"./forwardRefs-Cn7kyt_f.js";const Oe={class:"subtitle mt-4 d-flex"},ze={class:"text-h6"},He=["onClick"],Me={class:"text-grey"},Ue={__name:"CreationSummary",props:{sections:{type:Array,default:()=>[]}},emits:["modify-step"],setup(e,{emit:y}){const{$gettext:t}=se(),a=y;function u(s){return s.length?s.join(", "):t("Empty")}return(s,o)=>(S(!0),W(T,null,L(e.sections,(d,p)=>(S(),W(T,{key:p},[v("div",Oe,[v("span",ze,f(d.title),1),v("a",{href:"#",class:"edit-link ml-auto",onClick:n=>a("modify-step",p+1)},f(_(t)("Modify")),9,He)]),(S(!0),W(T,null,L(d.items,(n,m)=>(S(),C(ie,{key:m,dense:""},{default:c(()=>[n.value!==void 0?M(s.$slots,`item.${n.name}`,{key:0,item:n,displayList:u},()=>[l(F,null,{default:c(()=>[v("span",Me,f(n.key),1)]),_:2},1024),n.type==="yesno"?(S(),C(F,{key:0,class:"text-right"},{default:c(()=>[x(f(s.$yesno(n.value)),1)]),_:2},1024)):n.type==="list"?(S(),C(F,{key:1,class:"text-right"},{default:c(()=>[x(f(u(n.value)),1)]),_:2},1024)):(S(),C(F,{key:2,class:"text-right"},{default:c(()=>[x(f(n.value),1)]),_:2},1024))],!0):re("",!0)]),_:2},1024))),128))],64))),128))}},Ye=pe(Ue,[["__scopeId","data-v-6e743e1a"]]),J=Symbol.for("vuetify:v-stepper"),ue=$({color:String,disabled:{type:[Boolean,String],default:!1},prevText:{type:String,default:"$vuetify.stepper.prev"},nextText:{type:String,default:"$vuetify.stepper.next"}},"VStepperActions"),qe=R()({name:"VStepperActions",props:ue(),emits:{"click:prev":()=>!0,"click:next":()=>!0},setup(e,y){let{emit:t,slots:a}=y;const{t:u}=ve();function s(){t("click:prev")}function o(){t("click:next")}return D(()=>{const d={onClick:s},p={onClick:o};return v("div",{class:"v-stepper-actions"},[l(ee,{defaults:{VBtn:{disabled:["prev",!0].includes(e.disabled),text:u(e.prevText),variant:"text"}}},{default:()=>{var n;return[((n=a.prev)==null?void 0:n.call(a,{props:d}))??l(A,d,null)]}}),l(ee,{defaults:{VBtn:{color:e.color,disabled:["next",!0].includes(e.disabled),text:u(e.nextText),variant:"tonal"}}},{default:()=>{var n;return[((n=a.next)==null?void 0:n.call(a,{props:p}))??l(A,p,null)]}})])}),{}}}),ce=Pe("v-stepper-header"),Je=$({color:String,title:String,subtitle:String,complete:Boolean,completeIcon:{type:P,default:"$complete"},editable:Boolean,editIcon:{type:P,default:"$edit"},error:Boolean,errorIcon:{type:P,default:"$error"},icon:P,ripple:{type:[Boolean,Object],default:!0},rules:{type:Array,default:()=>[]}},"StepperItem"),Xe=$({...Je(),...Te()},"VStepperItem"),U=R()({name:"VStepperItem",directives:{vRipple:te},props:Xe(),emits:{"group:selected":e=>!0},setup(e,y){let{slots:t}=y;const a=$e(e,J,!0),u=b(()=>(a==null?void 0:a.value.value)??e.value),s=b(()=>e.rules.every(I=>I()===!0)),o=b(()=>!e.disabled&&e.editable),d=b(()=>!e.disabled&&e.editable),p=b(()=>e.error||!s.value),n=b(()=>e.complete||e.rules.length>0&&s.value),m=b(()=>p.value?e.errorIcon:n.value?e.completeIcon:a.isSelected.value&&e.editable?e.editIcon:e.icon),w=b(()=>({canEdit:d.value,hasError:p.value,hasCompleted:n.value,title:e.title,subtitle:e.subtitle,step:u.value,value:e.value}));return D(()=>{var r,i,h;const I=(!a||a.isSelected.value||n.value||d.value)&&!p.value&&!e.disabled,j=!!(e.title!=null||t.title),V=!!(e.subtitle!=null||t.subtitle);function k(){a==null||a.toggle()}return fe(v("button",{class:ye(["v-stepper-item",{"v-stepper-item--complete":n.value,"v-stepper-item--disabled":e.disabled,"v-stepper-item--error":p.value},a==null?void 0:a.selectedClass.value]),disabled:!e.editable,type:"button",onClick:k},[o.value&&Be(!0,"v-stepper-item"),l(We,{key:"stepper-avatar",class:"v-stepper-item__avatar",color:I?e.color:void 0,size:24},{default:()=>{var g;return[((g=t.icon)==null?void 0:g.call(t,w.value))??(m.value?l(Ae,{icon:m.value},null):u.value)]}}),v("div",{class:"v-stepper-item__content"},[j&&v("div",{key:"title",class:"v-stepper-item__title"},[((r=t.title)==null?void 0:r.call(t,w.value))??e.title]),V&&v("div",{key:"subtitle",class:"v-stepper-item__subtitle"},[((i=t.subtitle)==null?void 0:i.call(t,w.value))??e.subtitle]),(h=t.default)==null?void 0:h.call(t,w.value)])]),[[te,e.ripple&&e.editable,null]])}),{}}}),Ze=$({...be(Re(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VStepperWindow"),de=R()({name:"VStepperWindow",props:Ze(),emits:{"update:modelValue":e=>!0},setup(e,y){let{slots:t}=y;const a=Ve(J,null),u=Se(e,"modelValue"),s=b({get(){var o;return u.value!=null||!a?u.value:(o=a.items.value.find(d=>a.selected.value.includes(d.id)))==null?void 0:o.value},set(o){u.value=o}});return D(()=>{const o=ae.filterProps(e);return l(ae,q({_as:"VStepperWindow"},o,{modelValue:s.value,"onUpdate:modelValue":d=>s.value=d,class:["v-stepper-window",e.class],style:e.style,mandatory:!1,touch:!1}),t)}),{}}}),Ke=$({...De()},"VStepperWindowItem"),Y=R()({name:"VStepperWindowItem",props:Ke(),setup(e,y){let{slots:t}=y;return D(()=>{const a=le.filterProps(e);return l(le,q({_as:"VStepperWindowItem"},a,{class:["v-stepper-window-item",e.class],style:e.style}),t)}),{}}}),Qe=$({altLabels:Boolean,bgColor:String,completeIcon:P,editIcon:P,editable:Boolean,errorIcon:P,hideActions:Boolean,items:{type:Array,default:()=>[]},itemTitle:{type:String,default:"title"},itemValue:{type:String,default:"value"},nonLinear:Boolean,flat:Boolean,..._e()},"Stepper"),et=$({...Qe(),...Fe({mandatory:"force",selectedClass:"v-stepper-item--selected"}),...Ge(),...he(ue(),["prevText","nextText"])},"VStepper"),tt=R()({name:"VStepper",props:et(),emits:{"update:modelValue":e=>!0},setup(e,y){let{slots:t}=y;const{items:a,next:u,prev:s,selected:o}=je(e,J),{displayClasses:d,mobile:p}=oe(e),{completeIcon:n,editIcon:m,errorIcon:w,color:I,editable:j,prevText:V,nextText:k}=ke(e),r=b(()=>e.items.map((g,N)=>{const E=Q(g,e.itemTitle,g),O=Q(g,e.itemValue,N+1);return{title:E,value:O,raw:g}})),i=b(()=>a.value.findIndex(g=>o.value.includes(g.id))),h=b(()=>e.disabled?e.disabled:i.value===0?"prev":i.value===a.value.length-1?"next":!1);return ge({VStepperItem:{editable:j,errorIcon:w,completeIcon:n,editIcon:m,prevText:V,nextText:k},VStepperActions:{color:I,disabled:h,prevText:V,nextText:k}}),D(()=>{const g=ne.filterProps(e),N=!!(t.header||e.items.length),E=e.items.length>0,O=!e.hideActions&&!!(E||t.actions);return l(ne,q(g,{color:e.bgColor,class:["v-stepper",{"v-stepper--alt-labels":e.altLabels,"v-stepper--flat":e.flat,"v-stepper--non-linear":e.nonLinear,"v-stepper--mobile":p.value},d.value,e.class],style:e.style}),{default:()=>{var X,Z;return[N&&l(ce,{key:"stepper-header"},{default:()=>[r.value.map((B,G)=>{let{raw:z,...K}=B;return v(T,null,[!!G&&l(Ne,null,null),l(U,K,{default:t[`header-item.${K.value}`]??t.header,icon:t.icon,title:t.title,subtitle:t.subtitle})])})]}),E&&l(de,{key:"stepper-window"},{default:()=>[r.value.map(B=>l(Y,{value:B.value},{default:()=>{var G,z;return((G=t[`item.${B.value}`])==null?void 0:G.call(t,B))??((z=t.item)==null?void 0:z.call(t,B))}}))]}),(X=t.default)==null?void 0:X.call(t,{prev:s,next:u}),O&&(((Z=t.actions)==null?void 0:Z.call(t,{next:u,prev:s}))??l(qe,{key:"stepper-actions","onClick:prev":s,"onClick:next":u},t))]}})}),{prev:s,next:u}}}),at={class:"d-flex justify-center inner fill-height"},lt={class:"mb-5 text-h5"},nt={class:"text-grey-darken-1"},st={class:"d-flex justify-end mt-4"},rt={class:"text-center text-h3"},ot={class:"d-flex justify-center mt-8"},Vt={__name:"CreationForm",props:{title:{type:String,default:""},steps:{type:Array,default:()=>[]},summarySections:{type:Array,default:()=>[]},getVFormRef:{type:Function,default:null},formGetter:{type:Function,default:null},validateObject:{type:Function,default:null}},emits:["close","create","validationError"],setup(e,{expose:y,emit:t}){const{smAndDown:a}=oe(),u=xe(),s=e,o=H(1),d=H(!1),p=H(),n=t,{$gettext:m}=se();async function w(){await p.value.open(m("Warning"),m("If you close this form now, your modifications won't be saved. Do you confirm?"),{color:"warning",agreeLabel:m("Yes"),cancelLabel:m("No")})&&n("close")}async function I(V,k){const r=s.getVFormRef(s.steps[V-1]);if(r!==void 0){const{valid:i}=await r.validate();if(!i)return;if(s.validateObject)try{await s.validateObject(V)}catch(h){n("validationError",V,h.response.data);return}}o.value=k}function j(){d.value=!0,n("create")}return y({working:d}),(V,k)=>(S(),W("div",at,[l(tt,{modelValue:o.value,"onUpdate:modelValue":k[1]||(k[1]=r=>o.value=r),mobile:!_(a)},{default:c(()=>[l(_(me),{ref_key:"confirm",ref:p},null,512),l(ce,{class:"align-center px-10"},{default:c(()=>[l(Le,{src:_(u).CREATION_FORM_LOGO_PATH,"max-width":"190",class:"hidden-sm-and-down"},null,8,["src"]),(S(!0),W(T,null,L(e.steps,(r,i)=>(S(),C(U,{key:r.name,color:"primary",value:i+1,complete:o.value>i+1},{default:c(()=>[x(f(r.title),1)]),_:2},1032,["value","complete"]))),128)),l(U,{value:e.steps.length+1},{default:c(()=>[x(f(_(m)("Summary")),1)]),_:1},8,["value"]),l(A,{icon:"mdi-close",color:"primary",size:_(a)?"small":"x-large",variant:"text",onClick:w},null,8,["size"])]),_:1}),l(de,{class:"mt-4 d-flex justify-center"},{default:c(()=>[(S(!0),W(T,null,L(e.steps,(r,i)=>(S(),C(Y,{key:r.name,value:i+1,class:"flex-grow-1 ma-10"},{default:c(()=>[l(Ee,{fluid:""},{default:c(()=>[l(ie,{align:"center",justify:"center"},{default:c(()=>[l(F,{cols:"8",align:"start"},{default:c(()=>[v("div",lt,[v("span",nt,f(e.title),1),x(" / "+f(r.title),1)]),M(V.$slots,`form.${r.name}`,{step:r,currentStep:i+1})]),_:2},1024)]),_:2},1024)]),_:2},1024),v("div",st,[i+1>1?(S(),C(A,{key:0,class:"mr-10",variant:"text",onClick:h=>o.value=i},{default:c(()=>[x(f(_(m)("Back")),1)]),_:2},1032,["onClick"])):re("",!0),l(A,{color:"primary",size:"large",onClick:h=>I(i+1,i+2)},{default:c(()=>[x(f(_(m)("Next")),1)]),_:2},1032,["onClick"])])]),_:2},1032,["value"]))),128)),l(Y,{value:e.steps.length+1,class:"flex-grow-0"},{default:c(()=>[v("div",rt,f(_(m)("Summary")),1),l(Ye,{sections:e.summarySections,onModifyStep:k[0]||(k[0]=r=>o.value=r)},we({_:2},[L(V.$slots,(r,i)=>({name:i,fn:c(h=>[M(V.$slots,i,Ie(Ce(h)))])}))]),1032,["sections"]),v("div",ot,[l(A,{color:"primary",size:"large",loading:d.value,onClick:j},{default:c(()=>[x(f(_(m)("Confirm and create")),1)]),_:1},8,["loading"])])]),_:3},8,["value"])]),_:3})]),_:3},8,["modelValue","mobile"])]))}};export{Vt as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.subtitle[data-v-6e743e1a]{color:#000;border-bottom:1px solid #dbdddf}.edit-link[data-v-6e743e1a]{text-decoration:none}.inner{background-color:#fff}.v-stepper{width:100%;overflow:auto}.v-window__container{width:60%}.v-stepper.v-sheet{overflow:hidden}.v-stepper.v-sheet{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-stepper.v-sheet{border-radius:4px}.v-stepper.v-sheet.v-stepper--flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-stepper-header{align-items:center;display:flex;position:relative;overflow-x:auto;justify-content:space-between;z-index:1}.v-stepper-header{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-stepper-header .v-divider{margin:0 -16px}.v-stepper-header .v-divider:last-child{margin-inline-end:0}.v-stepper-header .v-divider:first-child{margin-inline-start:0}.v-stepper--alt-labels .v-stepper-header{height:auto}.v-stepper--alt-labels .v-stepper-header .v-divider{align-self:flex-start;margin:35px -67px 0}.v-stepper-window{margin:1.5rem}.v-stepper-actions{display:flex;align-items:center;justify-content:space-between;padding:1rem}.v-stepper .v-stepper-actions{padding:0 1.5rem 1rem}.v-stepper-window-item .v-stepper-actions{padding:1.5rem 0 0}.v-stepper-item{align-items:center;align-self:stretch;display:inline-flex;flex:none;outline:none;opacity:var(--v-medium-emphasis-opacity);padding:1.5rem;position:relative;transition-duration:.2s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.v-stepper-item:hover>.v-stepper-item__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-stepper-item:focus-visible>.v-stepper-item__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-stepper-item:focus>.v-stepper-item__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-stepper-item--active>.v-stepper-item__overlay,.v-stepper-item[aria-haspopup=menu][aria-expanded=true]>.v-stepper-item__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-stepper-item--active:hover>.v-stepper-item__overlay,.v-stepper-item[aria-haspopup=menu][aria-expanded=true]:hover>.v-stepper-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-stepper-item--active:focus-visible>.v-stepper-item__overlay,.v-stepper-item[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-stepper-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-stepper-item--active:focus>.v-stepper-item__overlay,.v-stepper-item[aria-haspopup=menu][aria-expanded=true]:focus>.v-stepper-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-stepper--non-linear .v-stepper-item{opacity:var(--v-high-emphasis-opacity)}.v-stepper-item--selected{opacity:1}.v-stepper-item--error{color:rgb(var(--v-theme-error))}.v-stepper-item--disabled{opacity:var(--v-medium-emphasis-opacity);pointer-events:none}.v-stepper--alt-labels .v-stepper-item{flex-direction:column;justify-content:flex-start;align-items:center;flex-basis:175px}.v-stepper-item__avatar.v-avatar{background:rgba(var(--v-theme-surface-variant),var(--v-medium-emphasis-opacity));color:rgb(var(--v-theme-on-surface-variant));font-size:.75rem;margin-inline-end:8px}.v-stepper--mobile .v-stepper-item__avatar.v-avatar{margin-inline-end:0}.v-stepper-item__avatar.v-avatar .v-icon{font-size:.875rem}.v-stepper-item--selected .v-stepper-item__avatar.v-avatar,.v-stepper-item--complete .v-stepper-item__avatar.v-avatar{background:rgb(var(--v-theme-surface-variant))}.v-stepper-item--error .v-stepper-item__avatar.v-avatar{background:rgb(var(--v-theme-error))}.v-stepper--alt-labels .v-stepper-item__avatar.v-avatar{margin-bottom:16px;margin-inline-end:0}.v-stepper-item__title{line-height:1}.v-stepper--mobile .v-stepper-item__title{display:none}.v-stepper-item__subtitle{font-size:.75rem;text-align:left;line-height:1;opacity:var(--v-medium-emphasis-opacity)}.v-stepper--alt-labels .v-stepper-item__subtitle{text-align:center}.v-stepper--mobile .v-stepper-item__subtitle{display:none}.v-stepper-item__overlay{background-color:currentColor;border-radius:inherit;opacity:0;transition:opacity .2s ease-in-out}.v-stepper-item__overlay,.v-stepper-item__underlay{pointer-events:none}.v-stepper-item__overlay,.v-stepper-item__underlay{position:absolute;top:0;left:0;width:100%;height:100%}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as n,g as p,j as b,c as h,o as c,w as e,a as t,l as _,t as i,e as m,b as g,d as w,m as V,f as k}from"./index-BCUdq-Zu.js";import{a as v}from"./admin-B0fFM9gW.js";import{V as x,a as y,b as C}from"./VCard-BGXTuaE-.js";import{V as N}from"./VDataTable-Etpc99CI.js";import{p as T}from"./parameters-u6VE5cq8.js";import{V as A,a as $}from"./VToolbar-AQXTYlxS.js";import{V as B,a as D}from"./VRow-DgX40uiD.js";import"./tag-DCSJ2lri.js";import"./VAvatar-DbAmPjyA.js";import"./VProgressCircular-1VQzh5PK.js";import"./VSelect-CeY-emKK.js";import"./VTextField-FBM5XwC5.js";import"./forwardRefs-Cn7kyt_f.js";import"./ssrBoot-B-x5LB2_.js";import"./VMenu-CTyyRlRb.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VSelectionControl-BYdVI5Q9.js";import"./VChip-Bm7znPZ6.js";import"./VTable-BeyU0Uhj.js";import"./filter-BSw3r225.js";/* empty css */const F=["href"],M={href:"https://modoboa.org/weblog/",target:"_blank"},W={__name:"NewsFeedWidget",async setup(f){let a,o;const s=p([]),d=[{title:"",key:"title"},{title:"",key:"published",align:"end"}],u=([a,o]=b(()=>v.getNewsFeed()),a=await a,o(),a);return s.value=u.data,(l,I)=>(c(),h(C,{title:l.$gettext("Latest news")},{default:e(()=>[t(x,null,{default:e(()=>[t(N,{headers:d,items:s.value,"hide-default-header":"","hide-default-footer":""},{"item.title":e(({item:r})=>[m("a",{href:r.link,target:"_blank"},i(r.title),9,F)]),"item.published":e(({item:r})=>[_(i(l.$date(r.published)),1)]),_:2},1032,["items"])]),_:1}),t(y,{class:"justify-center"},{default:e(()=>[m("div",null,[m("a",M,i(l.$gettext("Visit the official weblog for more information")),1)])]),_:1})]),_:1},8,["title"]))}},j=n(W,[["__scopeId","data-v-e0975b37"]]),G={__name:"DashboardView",setup(f){const{$gettext:a}=g(),o=p("");return w(async()=>{const s=await T.getGlobalApplication("core");s.data.params.custom_welcome_message?o.value=s.data.params.custom_welcome_message:o.value=a("Welcome to Modoboa")}),(s,d)=>(c(),V("div",null,[t(A,{flat:""},{default:e(()=>[t($,null,{default:e(()=>[_(i(o.value),1)]),_:1})]),_:1}),t(B,null,{default:e(()=>[t(D,{sm:"12",md:"6"},{default:e(()=>[t(k(j))]),_:1})]),_:1})]))}},re=n(G,[["__scopeId","data-v-cbf2b4b5"]]);export{re as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as I,b as L,g as v,d as j,c as r,o,w as e,a as l,e as O,m as y,t as s,f as u,q as V,l as m,N as U,i as B}from"./index-BCUdq-Zu.js";import{d as h}from"./domains-CWdc-ODs.js";import{c as $,V as q,a as G,b as H}from"./VCard-BGXTuaE-.js";import{V as F}from"./VDataTableVirtual-D9Km3t6e.js";import{V as A,d as C}from"./VAvatar-DbAmPjyA.js";import{V as J}from"./VAutocomplete-CQ5LL_Nk.js";import{V as K,a as D}from"./VRow-DgX40uiD.js";const P={class:"headline"},Q={key:0,class:"headline"},W={key:1,class:"headline"},X={key:0},oe={__name:"DomainAdminList",props:{domain:{type:Object,default:()=>{}},dialogMode:{type:Boolean,default:!1}},emits:["close"],setup(c,{emit:M}){const x=I(),{$gettext:a}=L(),f=c,R=M,p=v([]),_=v([]),S=v([{title:a("Username"),value:"username"},{title:a("Name"),value:"name"},{title:"",value:"actions",align:"end",sortable:!1}]),k=v(!1),d=v(null);function w(){_.value.push({}),k.value=!0}function E(){k.value=!1,R("close")}function g(n){h.getDomainAdministrators(n.pk).then(t=>{_.value=t.data})}function N(){U.getAll({role:[B.RESELLER,B.DOMAIN_ADMIN],page_size:50}).then(n=>{p.value=n.data.results.filter(t=>_.value.find(i=>i.id===t.pk)===void 0)})}function T(){h.addDomainAdministrator(f.domain.pk,d.value.pk).then(()=>{g(f.domain),p.value=p.value.filter(n=>n.pk!==d.value.pk),d.value=null,k.value=!1,x.displayNotification({msg:a("Administrator added")})})}function z(n){h.removeDomainAdministrator(f.domain.pk,n.id).then(()=>{g(f.domain),N(),x.displayNotification({msg:a("Administrator removed")})})}return j(()=>{g(f.domain),N()}),(n,t)=>(o(),r(H,null,{default:e(()=>[l($,null,{default:e(()=>[O("span",P,[c.dialogMode?(o(),y("div",Q,s(u(a)("Administrators of"))+" "+s(c.domain.name),1)):(o(),y("div",W,s(u(a)("Administrators")),1))])]),_:1}),l(q,null,{default:e(()=>[l(F,{headers:S.value,items:_.value},{"item.username":e(({item:i})=>[i.id?(o(),y("span",X,s(i.username),1)):(o(),r(J,{key:1,modelValue:d.value,"onUpdate:modelValue":t[0]||(t[0]=b=>d.value=b),label:u(a)("Select an account"),items:p.value,variant:"outlined","item-title":"username",class:"mt-5","return-object":""},{append:e(()=>[d.value?(o(),r(A,{key:0,variant:"text",color:"primary",size:"x-large",onClick:T},{default:e(()=>[l(C,null,{default:e(()=>t[1]||(t[1]=[m("mdi-content-save")])),_:1,__:[1]})]),_:1})):V("",!0)]),_:1},8,["modelValue","label","items"]))]),"item.name":e(({item:i})=>[m(s(i.first_name)+" "+s(i.last_name),1)]),"item.actions":e(({item:i})=>[i.id?(o(),r(A,{key:0,variant:"text",color:"red",title:u(a)("Remove this administrator"),size:"x-large",onClick:b=>z(i)},{default:e(()=>[l(C,null,{default:e(()=>t[2]||(t[2]=[m("mdi-delete-outline")])),_:1,__:[2]})]),_:2},1032,["title","onClick"])):V("",!0)]),_:2},1032,["headers","items"])]),_:1}),l(G,null,{default:e(()=>[l(K,null,{default:e(()=>[l(D,{align:c.dialogMode?"left":"right"},{default:e(()=>[k.value?V("",!0):(o(),r(A,{key:0,color:"primary",variant:"outlined",onClick:w},{default:e(()=>[l(C,{small:""},{default:e(()=>t[3]||(t[3]=[m("mdi-plus")])),_:1,__:[3]}),m(" "+s(u(a)("Add administrator")),1)]),_:1}))]),_:1},8,["align"]),c.dialogMode?(o(),r(D,{key:0,align:"right"},{default:e(()=>[l(A,{color:"grey darken-1",variant:"text",onClick:E},{default:e(()=>[m(s(u(a)("Close")),1)]),_:1})]),_:1})):V("",!0)]),_:1})]),_:1})]),_:1}))}};export{oe as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as I,u as q,h as U,g as f,i as b,d as J,c as d,m as g,a,e as k,w as e,q as P,l as c,t as o,f as s,s as K,o as u,k as Q,M as z,F as H}from"./index-BCUdq-Zu.js";import{c as W,b as X,a as Y,_ as Z}from"./DomainTransportForm-DEsm5zOa.js";import{L as ee}from"./LoadingData-BYDZn1pb.js";import{p as ae}from"./parameters-u6VE5cq8.js";import{_ as te}from"./ResourcesForm-RZNnt_x1.js";import{d as O}from"./domains-CWdc-ODs.js";import{g as N,d as w,V as B}from"./VAvatar-DbAmPjyA.js";import{V,c as F,a as h,b as le}from"./VExpansionPanels-eED_hKBs.js";import{V as _,a as i}from"./VRow-DgX40uiD.js";import{u as oe}from"./domains.store-B6sc48r9.js";import{V as se,a as ue}from"./VToolbar-AQXTYlxS.js";import"./ChoiceField-BS45Bjds.js";import"./VForm-DwwrfSN8.js";import"./tag-DCSJ2lri.js";import"./VTextField-FBM5XwC5.js";import"./VProgressCircular-1VQzh5PK.js";import"./forwardRefs-Cn7kyt_f.js";import"./ssrBoot-B-x5LB2_.js";import"./VSwitch-BSifpScd.js";import"./VSelectionControl-BYdVI5Q9.js";import"./VAutocomplete-CQ5LL_Nk.js";import"./VSelect-CeY-emKK.js";import"./VMenu-CTyyRlRb.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VChip-Bm7znPZ6.js";import"./filter-BSw3r225.js";import"./VCheckbox-BM1QzY5m.js";import"./VContainer-B8HjqhNU.js";/* empty css */const ne={key:1},re={key:0},ie={key:0},me={key:0},de={class:"mr-2"},ce={class:"mr-2"},fe={class:"mr-2"},_e={key:0},pe={class:"mr-2"},ve={class:"mt-4 d-flex justify-end"},ge={__name:"DomainEditForm",props:{domain:{type:Object,default:null}},setup($){const x=K(),{$gettext:n}=I(),R=q(),E=$,p=U(()=>R.authUser),v=f({}),D=f(0),y=f(!1),t=U(()=>E.domain),C=f(),L=f(),T=f(),A=f(),M=f(),j=U(()=>{const m={generalForm:C,limitationForm:A,dnsForm:M};return t.value.type==="relaydomain"&&(m.transportForm=T),v.value.params&&v.value.params.enable_domain_limits&&(p.value.role===b.SUPER_ADMIN||p.value.role===b.RESELLER)&&(m.resourcesForm=L),m}),S=f(!1);async function G(){S.value=!1,D.value=[];for(const[m,r]of Object.entries(j.value))if(r.value!=null){const{valid:l}=await r.value.vFormRef.validate();l||(S.value=!0,D.value.push(m))}if(!S.value){y.value=!0;try{const m=JSON.parse(JSON.stringify(t.value));m.transport===null&&delete m.transport,m.type==="relaydomain"&&T.value.checkSettingTypes(m),m.message_limit===""&&(m.message_limit=null),await O.updateDomain(t.value.pk,m),x.push({name:"DomainDetail",params:{id:t.value.pk}})}finally{y.value=!1}}}return J(()=>{ae.getGlobalApplication("limits").then(m=>{v.value.data=m.data})}),(m,r)=>y.value?(u(),d(ee,{key:0})):(u(),g("div",ne,[a(le,{modelValue:D.value,"onUpdate:modelValue":r[5]||(r[5]=l=>D.value=l),multiple:S.value},{default:e(()=>[a(V,{eager:"",value:"generalForm"},{default:e(()=>[a(F,null,{default:e(({expanded:l})=>[a(_,{"no-gutters":""},{default:e(()=>[a(i,{cols:"4"},{default:e(()=>[c(o(s(n)("General")),1)]),_:1}),a(i,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(N,{"leave-absolute":""},{default:e(()=>[l?(u(),g("span",re)):(u(),d(_,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(i,{cols:"6"},{default:e(()=>[c(o(s(n)("Name: "))+" "+o(t.value.name),1)]),_:1}),a(i,{cols:"6"},{default:e(()=>[c(o(s(n)("Type: "))+" "+o(t.value.type),1)]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(h,null,{default:e(()=>[a(W,{ref_key:"generalForm",ref:C,modelValue:t.value,"onUpdate:modelValue":r[0]||(r[0]=l=>t.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),a(V,{eager:"",value:"dnsForm"},{default:e(()=>[a(F,null,{default:e(({expanded:l})=>[a(_,{"no-gutters":""},{default:e(()=>[a(i,{cols:"4"},{default:e(()=>[c(o(s(n)("DNS")),1)]),_:1}),a(i,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(N,{"leave-absolute":""},{default:e(()=>[l?(u(),g("span",ie)):(u(),d(_,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(i,{cols:"6"},{default:e(()=>[c(o(s(n)("DNS checks"))+" ",1),t.value.enable_dns_checks?(u(),d(w,{key:0,color:"success",icon:"mdi-check-circle-outline"})):(u(),d(w,{key:1,icon:"mdi-check-circle-outline"}))]),_:1}),a(i,{cols:"6"},{default:e(()=>[c(o(s(n)("DKIM signing"))+" ",1),t.value.enable_dkim?(u(),d(w,{key:0,color:"success",icon:"mdi-check-circle-outline"})):(u(),d(w,{key:1,icon:"mdi-close-circle-outline"}))]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(h,null,{default:e(()=>[a(X,{ref_key:"dnsForm",ref:M,modelValue:t.value,"onUpdate:modelValue":r[1]||(r[1]=l=>t.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),a(V,{eager:"",value:"limitationForm"},{default:e(()=>[a(F,null,{default:e(({expanded:l})=>[a(_,{"no-gutters":""},{default:e(()=>[a(i,{cols:"4"},{default:e(()=>[c(o(s(n)("Limitations")),1)]),_:1}),a(i,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(N,{"leave-absolute":""},{default:e(()=>[l?(u(),g("span",me)):(u(),d(_,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(i,{cols:"6"},{default:e(()=>[k("div",de,o(s(n)("Quota: "))+" "+o(t.value.quota),1)]),_:1}),t.value.message_limit?(u(),d(i,{key:0,cols:"6"},{default:e(()=>[k("div",ce,o(s(n)("Sending limit: "))+" "+o(t.value.message_limit),1)]),_:1})):(u(),d(i,{key:1,cols:"6"},{default:e(()=>[k("div",fe,o(s(n)("No sending limit")),1)]),_:1}))]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(h,null,{default:e(()=>[a(Y,{ref_key:"limitationForm",ref:A,modelValue:t.value,"onUpdate:modelValue":r[2]||(r[2]=l=>t.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),t.value.type==="relaydomain"?(u(),d(V,{key:0,value:"transportForm",eager:""},{default:e(()=>[a(F,null,{default:e(({expanded:l})=>[a(_,{"no-gutters":""},{default:e(()=>[a(i,{cols:"4"},{default:e(()=>[c(o(s(n)("Transport")),1)]),_:1}),a(i,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(N,{"leave-absolute":""},{default:e(()=>[l?(u(),g("span",_e)):(u(),d(_,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(i,{cols:"6"},{default:e(()=>[k("div",pe,o(s(n)("Service: "))+" "+o(t.value.transport.service),1)]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(h,null,{default:e(()=>[a(Z,{ref_key:"transportForm",ref:T,modelValue:t.value.transport,"onUpdate:modelValue":r[3]||(r[3]=l=>t.value.transport=l)},null,8,["modelValue"])]),_:1})]),_:1})):P("",!0),v.value.params&&v.value.params.enable_domain_limits&&(p.value.role===s(b).SUPER_ADMIN||p.value.role===s(b).RESELLER)?(u(),d(V,{key:1,value:"resourcesForm",eager:""},{default:e(()=>[a(F,null,{default:e(()=>[a(_,{"no-gutters":""},{default:e(()=>[a(i,{cols:"4"},{default:e(()=>[c(o(s(n)("Resources")),1)]),_:1})]),_:1})]),_:1}),a(h,null,{default:e(()=>[a(te,{ref_key:"resourcesForm",ref:L,modelValue:t.value.resources,"onUpdate:modelValue":r[4]||(r[4]=l=>t.value.resources=l)},null,8,["modelValue"])]),_:1})]),_:1})):P("",!0)]),_:1},8,["modelValue","multiple"]),k("div",ve,[a(B,{loading:y.value,onClick:r[6]||(r[6]=l=>s(x).go(-1))},{default:e(()=>[c(o(s(n)("Cancel")),1)]),_:1},8,["loading"]),a(B,{class:"ml-4",color:"primary darken-1",loading:y.value,onClick:G},{default:e(()=>[c(o(s(n)("Save")),1)]),_:1},8,["loading"])])]))}},ye={__name:"DomainEditView",setup($){const{$gettext:x}=I(),n=z(),R=oe(),E=f({});return R.getDomains(),O.getDomain(n.params.id).then(p=>{E.value=p.data}),(p,v)=>(u(),g(H,null,[a(se,{flat:""},{default:e(()=>[a(ue,null,{default:e(()=>[c(o(s(x)("Edit domain")),1)]),_:1})]),_:1}),a(s(ge),{domain:E.value},null,8,["domain"])],64))}},ze=Q(ye,[["__scopeId","data-v-2221e277"]]);export{ze as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as M}from"./ChoiceField-BS45Bjds.js";import{b as g,h as R,g as b,c as x,o as v,w as h,a as r,f as a,e as D,_ as K,d as S,m as q,q as C,t as N,F as U,G as T}from"./index-BCUdq-Zu.js";import{r as y,V as $}from"./VForm-DwwrfSN8.js";import{V as k}from"./VTextField-FBM5XwC5.js";import{V as B}from"./VSwitch-BSifpScd.js";import{V as j}from"./VAutocomplete-CQ5LL_Nk.js";import{V as A}from"./VCheckbox-BM1QzY5m.js";const X={__name:"DomainGeneralForm",props:{modelValue:{type:Object,default:null}},emits:["update:modelValue"],setup(V,{expose:c,emit:o}){const{$gettext:m}=g(),i=V,t=o,u=R({get(){return i.modelValue},set(_){t("update:modelValue",_)}}),l=b();function e(_){_==="relaydomain"&&u.value.transport==null&&(u.value.transport={})}const s=[{label:m("Domain"),icon:"mdi-earth",value:"domain"},{label:m("Relay domain"),icon:"mdi-earth",value:"relaydomain"}];return c({vFormRef:l}),(_,p)=>(v(),x($,{ref_key:"vFormRef",ref:l},{default:h(()=>[r(k,{modelValue:u.value.name,"onUpdate:modelValue":p[0]||(p[0]=d=>u.value.name=d),label:a(m)("Domain name (ex: domain.tld)"),rules:[a(y).required],variant:"outlined",class:"mb-5"},null,8,["modelValue","label","rules"]),r(a(M),{modelValue:u.value.type,"onUpdate:modelValue":[p[1]||(p[1]=d=>u.value.type=d),e],label:a(m)("Type"),choices:s},null,8,["modelValue","label"]),r(B,{modelValue:u.value.enabled,"onUpdate:modelValue":p[2]||(p[2]=d=>u.value.enabled=d),label:a(m)("Enabled"),hint:a(m)("Control if this domain will be allowed to send and receive messages"),color:"primary","persistent-hint":""},null,8,["modelValue","label","hint"])]),_:1},512))}},Y={__name:"DomainDNSForm",props:{modelValue:{type:Object,default:()=>{}}},setup(V,{expose:c}){const{$gettext:o}=g(),m=V,i=b(),t=R(()=>m.modelValue),u=b([{label:"1024",value:1024},{label:"2048",value:2048},{label:"4096",value:4096}]);return c({vFormRef:i}),(l,e)=>(v(),x($,{ref_key:"vFormRef",ref:i},{default:h(()=>[D("div",null,[r(B,{modelValue:t.value.enable_dns_checks,"onUpdate:modelValue":e[0]||(e[0]=s=>t.value.enable_dns_checks=s),label:a(o)("Enable DNS checks"),color:"primary"},null,8,["modelValue","label"]),r(B,{modelValue:t.value.enable_dkim,"onUpdate:modelValue":e[1]||(e[1]=s=>t.value.enable_dkim=s),label:a(o)("Enable DKIM signing"),color:"primary"},null,8,["modelValue","label"]),r(k,{modelValue:t.value.dkim_key_selector,"onUpdate:modelValue":e[2]||(e[2]=s=>t.value.dkim_key_selector=s),label:a(o)("DKIM key selector"),disabled:!t.value.enable_dkim,variant:"outlined"},null,8,["modelValue","label","disabled"]),r(a(M),{modelValue:t.value.dkim_key_length,"onUpdate:modelValue":e[3]||(e[3]=s=>t.value.dkim_key_length=s),label:a(o)("DKIM key length"),choices:u.value,disabled:!t.value.enable_dkim},null,8,["modelValue","label","choices","disabled"])])]),_:1},512))}},Z={__name:"DomainLimitationsForm",props:{modelValue:{type:Object,default:null}},setup(V,{expose:c}){const{$gettext:o}=g(),m=V,i=b(),t=R(()=>m.modelValue);return c({vFormRef:i}),(u,l)=>(v(),x($,{ref_key:"vFormRef",ref:i},{default:h(()=>[r(k,{modelValue:t.value.quota,"onUpdate:modelValue":l[0]||(l[0]=e=>t.value.quota=e),label:a(o)("Quota"),hint:a(o)("Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."),"persistent-hint":"",class:"mb-4",variant:"outlined",rules:[a(y).required]},null,8,["modelValue","label","hint","rules"]),r(k,{modelValue:t.value.default_mailbox_quota,"onUpdate:modelValue":l[1]||(l[1]=e=>t.value.default_mailbox_quota=e),label:a(o)("Default mailbox quota"),hint:a(o)("Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota."),"persistent-hint":"",class:"mb-4",variant:"outlined",rules:[a(y).required]},null,8,["modelValue","label","hint","rules"]),r(k,{modelValue:t.value.message_limit,"onUpdate:modelValue":l[2]||(l[2]=e=>t.value.message_limit=e),label:a(o)("Message sending limit"),hint:a(o)("Number of messages this domain can send per day. Leave empty for no limit."),type:"number","persistent-hint":"",variant:"outlined",rules:[a(y).numericOrNull]},null,8,["modelValue","label","hint","rules"])]),_:1},512))}},G="transports",O={getAll(){return K.get(`/${G}/`)}},E={class:"m-label"},I={class:"m-label"},ee={__name:"DomainTransportForm",props:{modelValue:{type:Object,default:()=>{}}},emits:["update:modelValue"],setup(V,{expose:c,emit:o}){const{$gettext:m}=g(),i=V,t=o,u=b(),l=b({}),e=b(),s=b([]);function _(d){for(const f of e.value.settings)if(f.type==="int"){const n=`${e.value.name}_${f.name}`;d.transport.settings[n]=parseInt(d.transport.settings[n])}}function p(){l.value.service=e.value.name,t("update:modelValue",l.value)}return S(()=>{l.value={...i.modelValue},l.value.settings||(l.value.settings={}),O.getAll().then(d=>{s.value=d.data,l.value.service&&(e.value=s.value.find(f=>f.name===l.value.service))})}),c({checkSettingTypes:_,service:e,vFormRef:u}),(d,f)=>(v(),x($,{ref_key:"vFormRef",ref:u},{default:h(()=>[D("label",E,N(a(m)("Service")),1),r(j,{modelValue:e.value,"onUpdate:modelValue":f[0]||(f[0]=n=>e.value=n),items:s.value,"item-title":"name","return-object":"",variant:"outlined",rules:[a(y).required]},null,8,["modelValue","items","rules"]),e.value?(v(!0),q(U,{key:0},T(e.value.settings,(n,w)=>(v(),q(U,{key:w},[n.type==="str"||n.type==="int"?(v(),q(U,{key:0},[D("label",I,N(n.label),1),r(k,{modelValue:l.value.settings[`${e.value.name}_${n.name}`],"onUpdate:modelValue":[F=>l.value.settings[`${e.value.name}_${n.name}`]=F,p],variant:"outlined",type:l.value.type==="int"?"number":"text",rules:[!!n.required||a(y).required]},null,8,["modelValue","onUpdate:modelValue","type","rules"])],64)):n.type==="boolean"?(v(),x(A,{key:1,modelValue:l.value.settings[`${e.value.name}_${n.name}`],"onUpdate:modelValue":[F=>l.value.settings[`${e.value.name}_${n.name}`]=F,p],label:n.label},null,8,["modelValue","onUpdate:modelValue","label"])):C("",!0)],64))),128)):C("",!0)]),_:1},512))}};export{ee as _,Z as a,Y as b,X as c};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{_ as ve}from"./DomainAdminList-B0z8fRmf.js";import{c as O}from"./colors-DoZdCu1D.js";import{b as R,m as x,o as r,e as n,a as t,l as i,t as l,J as ie,w as e,F as j,G as ee,f as o,g as k,K as J,h as G,d as _e,L as te,r as re,c as m,q as I,k as se,n as pe,M as ge}from"./index-BCUdq-Zu.js";import{f as U,V as C,d as ye}from"./VAvatar-DbAmPjyA.js";import{V as ke}from"./VTable-BeyU0Uhj.js";import{d as B}from"./domains-CWdc-ODs.js";import{V as ue,a as de}from"./VToolbar-AQXTYlxS.js";import{V as le}from"./VSpacer-pLqQLLwB.js";import{V as F,b as z,c as W,a as ce}from"./VCard-BGXTuaE-.js";import{V as b,a as c}from"./VRow-DgX40uiD.js";import{V as be}from"./VSheet-C8P69LA8.js";import{V as he,a as xe,b as we}from"./VExpansionPanels-eED_hKBs.js";import{V as S}from"./VAlert-DSMD0lqo.js";import{_ as Ve}from"./ConfirmDialog-BLu1kBWp.js";import{V as D}from"./VChip-Bm7znPZ6.js";import{V as De}from"./VDataTableVirtual-D9Km3t6e.js";import{V as oe}from"./VDialog-0NvxFg1X.js";import{L as $e}from"./LoadingData-BYDZn1pb.js";import{_ as Ce}from"./ResourcesForm-RZNnt_x1.js";import{T as ne}from"./TimeSerieChart-BjM9PGIT.js";import{V as Me,a as Ne,b as Q,c as Z}from"./VTabs-Dzq8prKm.js";import"./VAutocomplete-CQ5LL_Nk.js";import"./VSelect-CeY-emKK.js";import"./VTextField-FBM5XwC5.js";import"./tag-DCSJ2lri.js";import"./VProgressCircular-1VQzh5PK.js";import"./forwardRefs-Cn7kyt_f.js";import"./ssrBoot-B-x5LB2_.js";import"./VMenu-CTyyRlRb.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VSelectionControl-BYdVI5Q9.js";import"./filter-BSw3r225.js";/* empty css */import"./VDataTable-Etpc99CI.js";import"./VContainer-B8HjqhNU.js";import"./VForm-DwwrfSN8.js";import"./VPicker-3NOHH3h1.js";import"./VWindowItem-p9SJ1V9Y.js";const Ie={class:"text-h6"},Te={width:"40%"},Se={class:"text-white"},Ke={class:"text-white"},Ae={class:"text-white"},Pe={class:"text-white"},q={__name:"DmarcSourceTable",props:{title:{type:String,default:""},color:{type:String,default:""},total:{type:Number,default:null},sources:{type:Object,default:null}},setup(s){const{$gettext:a}=R();return(y,d)=>(r(),x("div",null,[n("div",Ie,[i(l(s.title)+" ",1),n("span",{class:ie(`text-${s.color}-lighten-2`)},l(s.total),3)]),t(ke,null,{default:e(()=>[n("tbody",null,[(r(!0),x(j,null,ee(s.sources,(u,f)=>(r(),x(j,{key:f},[n("tr",null,[n("th",Te,l(f),1),n("th",null,l(o(a)("Total")),1),d[0]||(d[0]=n("th",null,"SPF",-1)),d[1]||(d[1]=n("th",null,"DKIM",-1))]),(r(!0),x(j,null,ee(u,(v,w)=>(r(),x("tr",{key:w},[n("td",null,l(w),1),n("td",null,l(v.total),1),n("td",null,[t(U,{color:"green lighten-2",size:"24"},{default:e(()=>[n("span",Se,l(v.spf.success),1)]),_:2},1024),t(U,{color:"red lighten-2 ml-1",size:"24"},{default:e(()=>[n("span",Ke,l(v.spf.failure),1)]),_:2},1024)]),n("td",null,[t(U,{color:"green lighten-2",size:"24"},{default:e(()=>[n("span",Ae,l(v.dkim.success),1)]),_:2},1024),t(U,{color:"red lighten-2 ml-1",size:"24"},{default:e(()=>[n("span",Pe,l(v.dkim.failure),1)]),_:2},1024)])]))),128))],64))),128))])]),_:1})]))}},Fe={key:0},ze={class:"mx-2"},Re={class:"text-subtitle-1"},Le={key:1},je={__name:"DmarcAligmentChart",props:{domain:{type:Object,default:()=>null}},setup(s){const{$gettext:a}=R(),y=["aligned","trusted","forwarded","failed"],d=s,u=k({colors:[O.green.lighten2,O.orange.lighten2,O.blue.lighten2,O.red.lighten2],labels:[a("Fully aligned"),a("Partially aligned"),a("Forwarded"),a("Failed")],legend:{position:"bottom"}}),f=k(null),v=k([{key:"total",label:a("Total"),color:"primary lighten-2"},{key:"aligned",label:a("Fully aligned"),color:"green lighten-2"},{key:"trusted",label:a("Partially aligned"),color:"orange lighten-2"},{key:"forwarded",label:a("Forwarded"),color:"blue lighten-2"},{key:"failed",label:a("Failed"),color:"red lighten-2"}]),w=J.now(),_=k(w.year),p=k(w.weekNumber),K=k(!1),L=k(!1),E=k(null),A=k([]),M=k({}),X=G(()=>J.fromObject({weekYear:_.value,weekNumber:p.value}).startOf("week")),N=G(()=>J.fromObject({weekYear:_.value,weekNumber:p.value}).endOf("week"));function g(P){let h="";for(const T of P.split(" "))h!==""&&(h+=" "),h+="text-"+T;return h}function Y(){p.value===52?(_.value+=1,p.value=1):p.value+=1}function $(){p.value===1?(_.value-=1,p.value=52):p.value-=1}function H(){if(L.value)return;const P=`${_.value}-${p.value}`;L.value=!0,B.getDomainDmarcAlignment(d.domain.pk,P).then(h=>{if(L.value=!1,h.status===204){K.value=!0;return}M.value={total:0},f.value=h.data,A.value=[];for(const T of y){let V=0;for(const ae in h.data[T])for(const fe in h.data[T][ae])V+=h.data[T][ae][fe].total;M.value.total+=V,M.value[T]=V,A.value.push(V)}})}return _e(()=>H()),te(p,()=>{H()}),te(_,()=>{H()}),(P,h)=>{const T=re("apexchart");return f.value?(r(),x("div",Fe,[t(z,null,{default:e(()=>[t(ue,{dense:"",elevation:"0",class:"mr-2"},{default:e(()=>[t(de,null,{default:e(()=>[i(l(o(a)("Alignment")),1)]),_:1}),t(le),t(C,{icon:"mdi-arrow-left",size:"x-small",onClick:$}),n("span",ze,l(X.value.toLocaleString())+" - "+l(N.value.toLocaleString()),1),t(C,{icon:"mdi-arrow-right",size:"x-small",onClick:Y})]),_:1}),t(F,null,{default:e(()=>[t(b,null,{default:e(()=>[t(c,{cols:"5"},{default:e(()=>[A.value?(r(),m(T,{key:0,type:"pie",height:"350",options:u.value,series:A.value},null,8,["options","series"])):I("",!0)]),_:1}),t(c,{cols:"7"},{default:e(()=>[t(b,null,{default:e(()=>[(r(!0),x(j,null,ee(v.value,V=>(r(),m(c,{key:V.key,cols:"6"},{default:e(()=>[t(be,{outlined:"",color:V.color,rounded:""},{default:e(()=>[t(z,{outlined:"",class:"pa-10 text-center"},{default:e(()=>[n("span",{class:ie("text-h4 "+g(V.color))},l(M.value[V.key]),3),h[1]||(h[1]=n("br",null,null,-1)),n("span",Re,l(V.label),1)]),_:2,__:[1]},1024)]),_:2},1032,["color"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(we,{modelValue:E.value,"onUpdate:modelValue":h[0]||(h[0]=V=>E.value=V),class:"mt-2"},{default:e(()=>[t(he,{title:o(a)("Detail")},{default:e(()=>[t(xe,null,{default:e(()=>[t(q,{title:o(a)("Trusted sources"),color:"green",total:M.value.aligned,sources:f.value.aligned},null,8,["title","total","sources"]),t(q,{title:o(a)("Partially trusted sources / Forwarders"),color:"orange",total:M.value.trusted,sources:f.value.trusted,class:"mt-4"},null,8,["title","total","sources"]),t(q,{title:o(a)("Forwarders with ARC"),color:"blue",total:M.value.forwarded,sources:f.value.forwarded,class:"mt-4"},null,8,["title","total","sources"]),t(q,{title:o(a)("Unknown sources / Threats"),color:"red",total:M.value.failed,sources:f.value.failed,class:"mt-4"},null,8,["title","total","sources"])]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"])])):(r(),x("div",Le,[K.value?(r(),m(S,{key:0,type:"info",variant:"outlined",prominent:"",border:"start",class:"mt-6"},{default:e(()=>[n("div",null,l(o(a)("DMARC support does not seem to be enabled for this domain.")),1),n("div",null,l(o(a)("If you configured it recently, please wait for the first report to be received and processed.")),1)]),_:1})):I("",!0)]))}}},Be={id:"dkimdns",class:"dkim"},me={__name:"DKIMKeyViewer",props:{domain:{type:Object,default:null}},setup(s){const a=s,y=G(()=>{let u=`v=DKIM1;k=rsa;p=${a.domain.dkim_public_key}`;const f=[];for(;u.length>0;)if(u.length>74)f.push(` "${u.substring(0,74)}"`),u=u.substring(74);else{f.push(` "${u}"`);break}return f.join(`
|
|
2
|
-
`)});function d(){navigator.clipboard.writeText(document.getElementById("dkimdns").textContent)}return(u,f)=>(r(),x("button",{class:"dkimbutton",onClick:f[0]||(f[0]=v=>d())},[n("pre",Be,l(s.domain.dkim_key_selector)+"._domainkey."+l(s.domain.name)+". IN TXT ("+l(y.value)+`)
|
|
3
|
-
}})`,1)]))}},Ee={class:"headline"},Oe={id:"dkimpub",class:"dkim"},Ue={__name:"DomainDKIMKey",props:{domain:{type:Object,default:null}},emits:["close"],setup(s,{emit:a}){const{$gettext:y}=R(),d=a;function u(){navigator.clipboard.writeText(document.getElementById("dkimpub").textContent)}return(f,v)=>(r(),m(z,null,{default:e(()=>[t(W,null,{default:e(()=>[n("span",Ee,l(o(y)("DKIM public key for"))+" "+l(s.domain.name),1)]),_:1}),t(F,null,{default:e(()=>[n("p",null,l(o(y)("Raw format. Click to copy")),1),t(S,{border:"start","colored-border":"","border-color":"primary lighten-3",elevation:"2",dense:""},{default:e(()=>[n("button",{class:"dkimbutton",onClick:v[0]||(v[0]=w=>u())},[n("pre",Oe,l(s.domain.dkim_public_key),1)])]),_:1})]),_:1}),t(F,null,{default:e(()=>[n("p",null,l(o(y)("Bind/named format. Click to copy")),1),t(S,{border:"start","colored-border":"","border-color":"primary lighten-3",elevation:"2",dense:""},{default:e(()=>[t(me,{domain:s.domain},null,8,["domain"])]),_:1})]),_:1}),t(ce,null,{default:e(()=>[t(le),t(C,{onClick:v[1]||(v[1]=w=>d("close"))},{default:e(()=>[i(l(o(y)("Close")),1)]),_:1})]),_:1})]),_:1}))}},qe={class:"text-subtitle-1 text-grey-darken-2 mb-4"},Ge={class:"text-h6"},We={__name:"DomainDNSConfig",props:{domain:{type:Object,default:null}},emits:["close"],setup(s,{emit:a}){const y=a;return(d,u)=>(r(),m(z,null,{default:e(()=>[t(W,{class:"text-h5"},{default:e(()=>[n("span",null,l(d.$gettext("DNS configuration for "))+" "+l(s.domain.name),1)]),_:1}),t(F,null,{default:e(()=>[n("p",qe,l(d.$gettext("Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones.")),1),t(S,{class:"mb-4",border:"start","border-color":"primary lighten-3",elevation:"2",color:"white"},{default:e(()=>[u[1]||(u[1]=n("div",{class:"text-h6"},"MX",-1)),n("pre",null,[i("mail."+l(s.domain.name)+". IN A ",1),n("strong",null,"["+l(d.$gettext("IP address of your Modoboa server"))+"]",1),i(`
|
|
4
|
-
@ IN MX 10 mail.`+l(s.domain.name)+".",1)])]),_:1,__:[1]}),t(S,{class:"mb-4",border:"start","border-color":"primary lighten-3",elevation:"2",dense:"",color:"white"},{default:e(()=>u[2]||(u[2]=[n("div",{class:"text-h6"},"SPF",-1),n("pre",null,'@ IN TXT "v=spf1 mx ~all"',-1)])),_:1,__:[2]}),s.domain.enable_dkim&&s.domain.dkim_public_key?(r(),m(S,{key:0,class:"mb-4",border:"start","border-color":"primary lighten-3",elevation:"2",dense:"",color:"white"},{default:e(()=>[u[3]||(u[3]=n("div",{class:"text-h6"},"DKIM",-1)),t(me,{domain:s.domain},null,8,["domain"])]),_:1,__:[3]})):I("",!0),t(S,{class:"mb-4",border:"start","border-color":"primary lighten-3",elevation:"2",dense:"",color:"white"},{default:e(()=>[u[4]||(u[4]=n("div",{class:"text-h6"},"DMARC",-1)),n("pre",null,"_dmarc."+l(s.domain.name)+'. IN TXT "v=DMARC1; p=quarantine; pct=100;"',1)]),_:1,__:[4]}),t(S,{class:"mb-4",border:"start","border-color":"primary lighten-3",elevation:"2",dense:"",color:"white"},{default:e(()=>[n("div",Ge,l(d.$gettext("Auto configuration")),1),n("pre",null,[i("autoconfig."+l(s.domain.name)+". IN CNAME ",1),n("strong",null,"["+l(d.$gettext("hostname of your automx server"))+"]",1),i(`
|
|
5
|
-
autodiscover.`+l(s.domain.name)+". IN CNAME ",1),n("strong",null,"["+l(d.$gettext("hostname of your automx server"))+"]",1)])]),_:1})]),_:1}),t(ce,null,{default:e(()=>[t(le),t(C,{onClick:u[0]||(u[0]=f=>y("close"))},{default:e(()=>[i(l(d.$gettext("Close")),1)]),_:1})]),_:1})]),_:1}))}},Xe=se(We,[["__scopeId","data-v-506783e1"]]),Ye={class:"overline"},He={class:"overline"},Je={key:4,class:"d-flex align-center flex-nowrap mt-4"},Qe={class:"text-subtitle-2"},Ze={class:"ml-6"},et={key:0},tt={key:1},lt={__name:"DNSDetail",props:{modelValue:{type:Object,default:null}},setup(s){const{$gettext:a}=R(),y=pe(),d=s,u=G(()=>d.modelValue),f=k(),v=k({}),w=k([{title:a("Name"),value:"name"},{title:a("Address"),value:"address"},{title:a("Updated"),value:"updated"}]),_=k(!1),p=k(!1),K=k(!1);function L(){navigator.clipboard.writeText(u.value.dkim_public_key),y.displayNotification({msg:a("DKIM key copied to clipboard"),type:"success"})}function E(){const N={dkim_private_key_path:""};B.patchDomain(u.value.pk,N).then(()=>{y.displayNotification({msg:a("A new key will be generated soon. Refresh the page in a moment to see it."),type:"success"}),u.value.dkim_private_key_path="",_.value=!1}).catch(()=>{_.value=!1})}function A(){_.value=!1}async function M(){_.value=!0,B.getDomainDNSDetail(u.value.pk).then(async N=>{v.value=N.data,await f.value.open(a("warning"),a("DKIM key does not seem to be generated yet or has failed. Do you want to requeue the job?"),{color:"warning",cancelLabel:a("No"),agreeLabel:a("Yes")})?E():A()})}function X(){f.value.open(a("Warning"),a("DKIM keys already exist for this domain. Do you want to overwrite them?"),{color:"error",cancelLabel:a("No"),agreeLabel:a("Yes")})}return te(u,N=>{N&&B.getDomainDNSDetail(N.pk).then(g=>{v.value=g.data})},{immediate:!0}),(N,g)=>{const Y=re("translate");return u.value?(r(),m(z,{key:0},{default:e(()=>[t(W,null,{default:e(()=>[g[6]||(g[6]=n("span",null," DNS ",-1)),t(C,{class:"ml-2",icon:"mdi-information-outline",title:o(a)("DNS configuration help"),variant:"text",density:"compact",onClick:g[0]||(g[0]=$=>p.value=!0)},null,8,["title"])]),_:1,__:[6]}),t(F,null,{default:e(()=>[t(Y,{class:"overline"},{default:e(()=>g[7]||(g[7]=[i("MX records")])),_:1,__:[7]}),u.value.dns_global_status=="pending"?(r(),m(b,{key:0},{default:e(()=>[t(c,null,{default:e(()=>[t(D,{color:"info",size:"small"},{default:e(()=>[i(l(o(a)("Pending")),1)]),_:1})]),_:1})]),_:1})):(r(),m(De,{key:1,headers:w.value,items:v.value.mx_records},{"item.updated":e(({item:$})=>[i(l(N.$date($.updated)),1)]),_:2},1032,["headers","items"])),n("div",Ye,l(o(a)("Auto configuration")),1),u.value.dns_global_status=="pending"?(r(),m(b,{key:2},{default:e(()=>[t(c,null,{default:e(()=>[t(D,{color:"info",size:"small"},{default:e(()=>[i(l(o(a)("Pending")),1)]),_:1})]),_:1})]),_:1})):(r(),x(j,{key:3},[t(b,null,{default:e(()=>[t(c,null,{default:e(()=>[v.value.autoconfig_record?(r(),m(D,{key:0,color:"success"},{default:e(()=>[i(l(o(a)("autoconfig record (Mozilla): %{ value }",{value:v.value.autoconfig_record.value})),1)]),_:1})):(r(),m(D,{key:1,color:"warning"},{default:e(()=>[i(l(o(a)("autoconfig record (Mozilla) not found")),1)]),_:1}))]),_:1}),t(c,null,{default:e(()=>[v.value.autodiscover_record?(r(),m(D,{key:0,color:"success"},{default:e(()=>[i(l(o(a)("autodiscover record (Microsoft): %{ value }",{value:v.value.autodiscover_record.value})),1)]),_:1})):(r(),m(D,{key:1,color:"warning"},{default:e(()=>[i(l(o(a)("autodiscover record (Microsoft) not found")),1)]),_:1}))]),_:1})]),_:1}),n("div",He,l(o(a)("Authentication")),1),t(b,null,{default:e(()=>[t(c,null,{default:e(()=>[v.value.spf_record?(r(),m(D,{key:0,color:"success"},{default:e(()=>[i(l(o(a)("SPF record found")),1)]),_:1})):(r(),m(D,{key:1,color:"error"},{default:e(()=>[i(l(o(a)("SPF record not found")),1)]),_:1}))]),_:1}),t(c,null,{default:e(()=>[v.value.dkim_record?(r(),m(D,{key:0,color:"success"},{default:e(()=>[i(l(o(a)("DKIM record found")),1)]),_:1})):(r(),m(D,{key:1,color:"error"},{default:e(()=>[i(l(o(a)("DKIM record not found")),1)]),_:1}))]),_:1}),t(c,null,{default:e(()=>[v.value.dmarc_record?(r(),m(D,{key:0,color:"success"},{default:e(()=>[i(l(o(a)("DMARC record found")),1)]),_:1})):(r(),m(D,{key:1,color:"error"},{default:e(()=>[i(l(o(a)("DMARC record not found")),1)]),_:1}))]),_:1})]),_:1})],64)),u.value.enable_dkim?(r(),x("div",Je,[n("div",Qe,l(o(a)("DKIM key")),1),n("div",Ze,[u.value.dkim_private_key_path&&u.value.dkim_public_key?(r(),x("div",et,[t(C,{color:"primary",size:"small",onClick:g[1]||(g[1]=$=>K.value=!0)},{default:e(()=>[i(l(o(a)("Show key")),1)]),_:1}),t(C,{icon:"mdi-content-copy",variant:"text",class:"ml-2",title:o(a)("Copy key to clipboard"),onClick:L},null,8,["title"]),t(C,{icon:"mdi-refresh",title:o(a)("Generate a new DKIM key"),variant:"text",loading:_.value,onClick:X},null,8,["title","loading"])])):(r(),x("div",tt,[i(l(o(a)("Not generated"))+" ",1),t(C,{icon:"mdi-reload",color:"primary",variant:"text",loading:_.value,onClick:M},null,8,["loading"])]))])])):I("",!0)]),_:1}),t(oe,{modelValue:p.value,"onUpdate:modelValue":g[3]||(g[3]=$=>p.value=$),"max-width":"800px",persistent:""},{default:e(()=>[t(Xe,{domain:u.value,onClose:g[2]||(g[2]=$=>p.value=!1)},null,8,["domain"])]),_:1},8,["modelValue"]),t(oe,{modelValue:K.value,"onUpdate:modelValue":g[5]||(g[5]=$=>K.value=$),"max-width":"800px",persistent:""},{default:e(()=>[t(Ue,{domain:u.value,onClose:g[4]||(g[4]=$=>K.value=!1)},null,8,["domain"])]),_:1},8,["modelValue"]),t(Ve,{ref_key:"dialog",ref:f},null,512)]),_:1})):I("",!0)}}},at={class:"headline"},ot={__name:"DomainSummary",props:{domain:{type:Object,default:null}},setup(s){const{$gettext:a}=R();return(y,d)=>s.domain?(r(),m(z,{key:0},{default:e(()=>[t(W,null,{default:e(()=>[n("div",at,l(o(a)("General information")),1)]),_:1}),t(F,null,{default:e(()=>[t(b,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[i(l(o(a)("Creation date")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[i(l(y.$date(s.domain.creation)),1)]),_:1})]),_:1}),t(b,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[i(l(o(a)("Last modification date")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[i(l(y.$date(s.domain.last_modification)),1)]),_:1})]),_:1}),t(b,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[i(l(o(a)("Quota")),1)]),_:1}),s.domain.quota==="0"?(r(),m(c,{key:0,cols:"6"},{default:e(()=>[i(l(o(a)("Unlimited")),1)]),_:1})):(r(),m(c,{key:1,cols:"6"},{default:e(()=>[i(l(s.domain.quota)+" "+l(o(a)("MB")),1)]),_:1}))]),_:1}),t(b,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[i(l(o(a)("Default mailbox quota")),1)]),_:1}),s.domain.default_mailbox_quota==="0"?(r(),m(c,{key:0,cols:"6"},{default:e(()=>[i(l(o(a)("Unlimited")),1)]),_:1})):(r(),m(c,{key:1,cols:"6"},{default:e(()=>[i(l(s.domain.default_mailbox_quota)+" MB",1)]),_:1}))]),_:1}),s.domain.message_limit!==void 0?(r(),m(b,{key:0},{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[i(l(o(a)("Daily sending limit")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[i(l(s.domain.message_limit)+" "+l(o(a)("messages")),1)]),_:1})]),_:1})):I("",!0),t(b,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[i(l(o(a)("Mailboxes")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[i(l(s.domain.mailbox_count),1)]),_:1})]),_:1}),t(b,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[i(l(o(a)("Aliases")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[i(l(s.domain.mbalias_count),1)]),_:1})]),_:1}),t(b,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[i(l(o(a)("Enabled")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[t(ye,{color:s.domain.enabled?"success":"error",icon:s.domain.enabled?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),_:1})]),_:1})]),_:1})]),_:1})):I("",!0)}},nt={key:1},it={__name:"DomainView",setup(s){const{$gettext:a}=R(),y=ge(),d=k(null),u=k({}),f=k(null);function v(){B.getDomain(y.params.id).then(w=>{d.value=w.data})}return v(),(w,_)=>d.value?(r(),x("div",nt,[t(ue,{flat:""},{default:e(()=>[t(de,null,{default:e(()=>[i(l(o(a)("Domain"))+" "+l(d.value.name)+" ",1),t(C,{color:"primary",icon:"mdi-circle-edit-outline",to:{name:"DomainEdit",params:{id:d.value.pk}}},null,8,["to"]),t(C,{color:"primary",icon:"mdi-reload",onClick:_[0]||(_[0]=p=>v())})]),_:1})]),_:1}),t(Me,{modelValue:f.value,"onUpdate:modelValue":_[1]||(_[1]=p=>f.value=p),class:"mb-4",color:"primary"},{default:e(()=>[t(Q,null,{default:e(()=>[i(l(o(a)("General")),1)]),_:1}),t(Q,null,{default:e(()=>[i(l(o(a)("Statistics")),1)]),_:1}),t(Q,null,{default:e(()=>[i(l(o(a)("DMARC")),1)]),_:1})]),_:1},8,["modelValue"]),t(Ne,{modelValue:f.value,"onUpdate:modelValue":_[3]||(_[3]=p=>f.value=p)},{default:e(()=>[t(Z,null,{default:e(()=>[t(b,null,{default:e(()=>[t(c,{cols:"12",md:"6"},{default:e(()=>[t(ot,{domain:d.value},null,8,["domain"]),_[4]||(_[4]=n("div",{class:"mt-4"},null,-1)),t(ve,{domain:d.value},null,8,["domain"])]),_:1,__:[4]}),t(c,{cols:"12",md:"6"},{default:e(()=>[t(lt,{modelValue:d.value,"onUpdate:modelValue":_[2]||(_[2]=p=>d.value=p)},null,8,["modelValue"]),_[5]||(_[5]=n("div",{class:"mt-4"},null,-1)),u.value.params&&u.value.params.enable_domain_limits&&d.value.resources&&d.value.resources.length?(r(),m(Ce,{key:0,resources:d.value.resources},null,8,["resources"])):I("",!0)]),_:1,__:[5]})]),_:1})]),_:1}),t(Z,null,{default:e(()=>[t(b,null,{default:e(()=>[t(c,{cols:"12"},{default:e(()=>[d.value.name?(r(),m(ne,{key:0,domain:d.value,"graphic-set":"mailtraffic","graphic-name":"averagetraffic"},null,8,["domain"])):I("",!0)]),_:1}),t(c,{cols:"12"},{default:e(()=>[d.value.name?(r(),m(ne,{key:0,domain:d.value,"graphic-set":"mailtraffic","graphic-name":"averagetrafficsize"},null,8,["domain"])):I("",!0)]),_:1})]),_:1})]),_:1}),t(Z,null,{default:e(()=>[t(je,{domain:d.value},null,8,["domain"])]),_:1})]),_:1},8,["modelValue"])])):(r(),m($e,{key:0}))}},qt=se(it,[["__scopeId","data-v-e7f32894"]]);export{qt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as U}from"./domains-CWdc-ODs.js";import{b as M,n as te,g as m,h as B,d as le,c as $,o as C,w as l,a,p as xe,e as v,t as k,f as d,q as E,l as D,s as de,m as z,F as me,v as Ce,x as De,y as we,z as he,A as Ae,B as O,C as Se,I as $e,D as Ne,E as Ue,k as ce,G as Fe,r as Te,H as qe}from"./index-BCUdq-Zu.js";import{u as fe}from"./permissions-C7XVO62l.js";import{V as pe,r as Z}from"./VForm-DwwrfSN8.js";import{c as Le,V as Be,a as Re,b as ve}from"./VCard-BGXTuaE-.js";import{V as oe}from"./VTextField-FBM5XwC5.js";import{V as Pe}from"./VSelect-CeY-emKK.js";import{V as J}from"./VSwitch-BSifpScd.js";import{V as Ee}from"./VSpacer-pLqQLLwB.js";import{V as N,u as Oe,a as Me,m as ze,b as Ie,c as Ge,M as Je,d as _e,e as ie}from"./VAvatar-DbAmPjyA.js";import{p as je}from"./parameters-u6VE5cq8.js";import{_ as We}from"./CreationForm-ChgnxngD.js";import{_ as Ke,a as Ye,b as He,c as Qe}from"./DomainTransportForm-DEsm5zOa.js";import{_ as Xe}from"./AccountPasswordSubForm-D9xU4Or7.js";import{a as P,V as se}from"./VRow-DgX40uiD.js";import{_ as Ze}from"./DomainAdminList-B0z8fRmf.js";import{_ as ea}from"./ConfirmDialog-BLu1kBWp.js";import{V as ee}from"./VChip-Bm7znPZ6.js";import{_ as aa}from"./MenuItems-Bck8ixGf.js";import{V as ta}from"./VCheckboxBtn-DdHQE-gt.js";import{V as ae}from"./VMenu-CTyyRlRb.js";import{u as la,a as oa}from"./VProgressCircular-1VQzh5PK.js";import{u as na,m as ia,a as sa}from"./tag-DCSJ2lri.js";import{V as ye,a as ra}from"./VToolbar-AQXTYlxS.js";import{V as be,a as re,b as ue}from"./forwardRefs-Cn7kyt_f.js";import{V as ua}from"./VDataTable-Etpc99CI.js";import{V as da}from"./VCheckbox-BM1QzY5m.js";import{V as I}from"./VDialog-0NvxFg1X.js";import{_ as ma,i as ca}from"./importExport-B7mBfHxZ.js";import"./VSelectionControl-BYdVI5Q9.js";/* empty css */import"./VWindowItem-p9SJ1V9Y.js";import"./ssrBoot-B-x5LB2_.js";import"./VContainer-B8HjqhNU.js";import"./VSheet-C8P69LA8.js";import"./ChoiceField-BS45Bjds.js";import"./VAutocomplete-CQ5LL_Nk.js";import"./filter-BSw3r225.js";import"./VAlert-DSMD0lqo.js";import"./VDataTableVirtual-D9Km3t6e.js";import"./VTable-BeyU0Uhj.js";import"./VFileInput-COIdDRxq.js";const fa={class:"headline"},pa={class:"m-label"},va={class:"m-label"},ge={__name:"DomainAliasForm",props:{domainAlias:{type:Object,default:()=>null}},emits:["close"],setup(i,{emit:b}){const{$gettext:e}=M(),f=b,{displayNotification:x}=te(),_=i,w=m([]),t=m({enabled:!0}),c=m(!1),S=m(),V=B(()=>_.domainAlias?e("Update"):e("Add")),p=B(()=>_.domainAlias?e("Edit domain alias"):e("Add a new domain alias"));async function g(){c.value=!0;try{await U.deleteDomainAlias(_.domainAlias.pk),x({msg:e("Domain alias deleted")}),f("close")}finally{c.value=!1}}async function h(){const{valid:s}=await S.value.validate();if(s){c.value=!0;try{if(!t.value.pk)await U.createDomainAlias(t.value),x({msg:e("Domain alias created")});else{const u=JSON.parse(JSON.stringify(t.value));await U.updateDomainAlias(_.domainAlias.pk,u),x({msg:e("Domain alias updated")})}f("close")}finally{c.value=!1}}}return le(()=>{U.getDomains().then(s=>{w.value=s.data}),_.domainAlias&&(t.value=JSON.parse(JSON.stringify(_.domainAlias)))}),(s,u)=>(C(),$(ve,null,{default:l(()=>[a(pe,{ref_key:"vFormRef",ref:S,onSubmit:xe(h,["prevent"])},{default:l(()=>[a(Le,null,{default:l(()=>[v("span",fa,k(p.value),1)]),_:1}),a(Be,null,{default:l(()=>[v("label",pa,k(d(e)("Name")),1),a(oe,{modelValue:t.value.name,"onUpdate:modelValue":u[0]||(u[0]=A=>t.value.name=A),variant:"outlined",density:"compact",rules:[d(Z).required]},null,8,["modelValue","rules"]),v("label",va,k(d(e)("Choose a domain")),1),a(Pe,{modelValue:t.value.target,"onUpdate:modelValue":u[1]||(u[1]=A=>t.value.target=A),items:w.value,"item-title":"name","item-value":"pk",rules:[d(Z).required],"single-line":"",variant:"outlined",density:"compact"},null,8,["modelValue","items","rules"]),a(J,{modelValue:t.value.enabled,"onUpdate:modelValue":u[2]||(u[2]=A=>t.value.enabled=A),label:"Enabled",color:"primary"},null,8,["modelValue"])]),_:1}),a(Re,null,{default:l(()=>[a(Ee),a(N,{loading:c.value,onClick:u[3]||(u[3]=A=>f("close"))},{default:l(()=>[D(k(d(e)("Close")),1)]),_:1},8,["loading"]),i.domainAlias&&i.domainAlias.pk?(C(),$(N,{key:0,color:"error",loading:c.value,onClick:g},{default:l(()=>[D(k(d(e)("Delete")),1)]),_:1},8,["loading"])):E("",!0),a(N,{color:"primary",type:"submit",loading:c.value},{default:l(()=>[D(k(V.value),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},_a={__name:"DomainOptionsForm",props:{modelValue:{type:Object,default:null}},emits:["createAdmin"],setup(i,{expose:b,emit:e}){const{$gettext:f}=M(),x=i,_=e,w=m(),t=m(!1),c=B(()=>x.modelValue);function S(V){_("createAdmin",V)}return b({vFormRef:w}),(V,p)=>(C(),$(pe,{ref_key:"vFormRef",ref:w},{default:l(()=>[a(J,{modelValue:t.value,"onUpdate:modelValue":[p[0]||(p[0]=g=>t.value=g),S],label:d(f)("Create a domain administrator"),color:"primary"},null,8,["modelValue","label"]),a(oe,{modelValue:c.value.domain_admin.username,"onUpdate:modelValue":p[1]||(p[1]=g=>c.value.domain_admin.username=g),label:d(f)("Name"),hint:d(f)("Name of the administrator"),"persistent-hint":"",variant:"outlined",disabled:!t.value,suffix:`@${c.value.name}`,rules:[!t.value||d(Z).required]},null,8,["modelValue","label","hint","disabled","suffix","rules"]),a(Xe,{modelValue:c.value.domain_admin,"onUpdate:modelValue":p[2]||(p[2]=g=>c.value.domain_admin=g),disabled:!t.value},null,8,["modelValue","disabled"]),a(J,{modelValue:c.value.domain_admin.with_mailbox,"onUpdate:modelValue":p[3]||(p[3]=g=>c.value.domain_admin.with_mailbox=g),label:d(f)("With a mailbox"),disabled:!t.value,hint:d(f)("Create a mailbox for the administrator."),"persistent-hint":"",color:"primary"},null,8,["modelValue","label","disabled","hint"]),a(J,{modelValue:c.value.domain_admin.with_aliases,"onUpdate:modelValue":p[4]||(p[4]=g=>c.value.domain_admin.with_aliases=g),label:d(f)("Create aliases"),disabled:!t.value,hint:d(f)("Create standard aliases for the domain."),"persistent-hint":"",color:"primary"},null,8,["modelValue","label","disabled","hint"])]),_:1},512))}},ya={class:"text-grey"},ba={__name:"DomainCreationForm",emits:["close","created"],setup(i,{emit:b}){const{$gettext:e}=M(),f=te(),x=de(),_=b,t=m({name:"",type:"domain",enabled:!0,enable_dns_checks:!0,enable_dkim:!1,dkim_key_selector:"modoboa",quota:0,default_mailbox_quota:0,domain_admin:{username:"admin",random_password:!1,with_mailbox:!1,with_aliases:!1},transport:{settings:{}}});le(()=>{je.getGlobalApplication("admin").then(n=>{const o=n.data.params;t.value.quota=o.default_domain_quota,t.value.default_mailbox_quota=o.default_mailbox_quota,o.default_domain_message_limit!==null&&(t.value.message_limit=o.default_domain_message_limit)})});const c=m(!1),S=m(),V=m(),p=m(),g=m(),h=m(),s=m(),u={general:V,dns:p,limitations:g,options:h,transport:s},A=[{name:"general",title:e("General")},{name:"dns",title:e("DNS")},{name:"limitations",title:e("Limitations")},{name:"options",title:e("Options")}],q=[{name:"general",title:e("General")},{name:"dns",title:e("DNS")},{name:"limitations",title:e("Limitations")},{name:"transport",title:e("Transport")}],j=B(()=>t.value.type==="domain"?A:q),R=B(()=>{const n=[{title:e("General"),items:[{key:e("Name"),value:t.value.name},{key:e("Type"),value:t.value.type},{key:e("Enabled"),value:t.value.enabled,type:"yesno"}]},{title:e("DNS"),items:[{key:e("Enable DNS checks"),value:t.value.enable_dns_checks,type:"yesno"},{key:e("Enable DKIM signing"),value:t.value.enable_dkim,type:"yesno"}]},{title:e("Limitations"),items:[{key:e("Quota"),value:t.value.quota},{key:e("Default mailbox quota"),value:t.value.default_mailbox_quota},{key:e("Message sending limit"),value:t.value.message_limit}]}];if(t.value.enable_dkim&&(n[1].items.push({key:e("DKIM key selector"),value:t.value.dkim_key_selector}),n[1].items.push({key:e("DKIM key length"),value:t.value.dkim_key_length})),t.value.type==="relaydomain"&&t.value.transport.service){const o={title:e("Transport"),items:[{key:e("Service"),value:t.value.transport.service}]};for(const y of s.value.service.settings){const r={key:y.label,value:t.value.transport.settings[`${t.value.transport.service}_${y.name}`]};y.type==="boolean"&&(r.type="yesno"),o.items.push(r)}n.push(o)}else if(t.value.type==="domain"){const o={title:e("Options"),items:[{key:e("Create a domain administrator"),value:c.value,type:"yesno"}]};c.value&&o.items.push({key:e("Administrator name"),value:t.value.domain_admin.username},{name:"random_password",key:e("Random password"),value:t.value.domain_admin.random_password,type:"yesno"},{key:e("With mailbox"),value:t.value.domain_admin.with_mailbox,type:"yesno"},{key:e("Create aliases"),value:t.value.domain_admin.with_aliases,type:"yesno"}),n.push(o)}return n});function G(){_("close")}function W(){navigator.clipboard.writeText(t.value.domain_admin.password).then(()=>{f.displayNotification({msg:e("Password copied to clipboard")})})}function K(n){return u.value[n.name]}function Y(n){return u[n.name].value.vFormRef}async function H(){}function Q(n){c.value=n}async function X(){const n=JSON.parse(JSON.stringify(t.value));c.value||delete n.domain_admin,n.message_limit===""&&delete n.message_limit,n.type==="relaydomain"?s.value.checkSettingTypes(n):delete n.transport;try{const o=await U.createDomain(n);x.push({name:"DomainDetail",params:{id:o.data.pk}}),f.displayNotification({msg:e("Domain created")}),G()}finally{S.value.working=!1}}return(n,o)=>(C(),$(We,{ref_key:"form",ref:S,title:d(e)("New domain"),steps:j.value,"form-getter":K,"get-v-form-ref":Y,"validate-object":H,"summary-sections":R.value,onClose:G,onCreate:X},{"form.general":l(()=>[a(Qe,{ref_key:"general",ref:V,modelValue:t.value,"onUpdate:modelValue":o[0]||(o[0]=y=>t.value=y),class:"ml-4"},null,8,["modelValue"])]),"form.dns":l(()=>[a(He,{ref_key:"dns",ref:p,modelValue:t.value,"onUpdate:modelValue":o[1]||(o[1]=y=>t.value=y),class:"ml-4"},null,8,["modelValue"])]),"form.limitations":l(()=>[a(Ye,{ref_key:"limitations",ref:g,modelValue:t.value,"onUpdate:modelValue":o[2]||(o[2]=y=>t.value=y),class:"ml-4"},null,8,["modelValue"])]),"form.options":l(()=>[a(_a,{ref_key:"options",ref:h,modelValue:t.value,"onUpdate:modelValue":o[3]||(o[3]=y=>t.value=y),class:"ml-4",onCreateAdmin:Q},null,8,["modelValue"])]),"form.transport":l(()=>[a(Ke,{ref_key:"transport",ref:s,modelValue:t.value.transport,"onUpdate:modelValue":o[4]||(o[4]=y=>t.value.transport=y),class:"ml-4"},null,8,["modelValue"])]),"item.random_password":l(({item:y})=>[y.value?(C(),$(P,{key:0,cols:"12",class:"highligth text-white"},{default:l(()=>[a(se,null,{default:l(()=>[a(P,null,{default:l(()=>[v("span",null,k(y.key),1)]),_:2},1024),a(P,{class:"text-right"},{default:l(()=>[D(k(n.$yesno(y.value)),1)]),_:2},1024)]),_:2},1024),a(se,null,{default:l(()=>[a(P,{class:"text-right py-1"},{default:l(()=>[D(k(t.value.domain_admin.password)+" ",1),a(N,{icon:"mdi-clipboard-multiple-outline",color:"white",variant:"text",title:d(e)("Copy to clipboard"),onClick:W},null,8,["title"])]),_:1})]),_:1})]),_:2},1024)):(C(),z(me,{key:1},[a(P,null,{default:l(()=>[v("span",ya,k(y.key),1)]),_:2},1024),a(P,{class:"text-right"},{default:l(()=>[D(k(n.$yesno(y.value)),1)]),_:2},1024)],64))]),_:2},1032,["title","steps","summary-sections"]))}},ga={__name:"DNSStatusChip",props:{status:{type:String,default:"pending"}},setup(i){const b=i,{$gettext:e}=M(),f=B(()=>b.status==="disabled"?e("Disabled"):b.status==="pending"?e("Pending"):b.status==="critical"?e("Problem"):b.status==="ok"?e("Valid"):e("Unknown")),x=B(()=>b.status==="disabled"?"":b.status==="pending"?"info":b.status==="critical"?"error":b.status==="ok"?"success":"warning");return(_,w)=>(C(),$(ee,{color:x.value,size:"small"},{default:l(()=>[D(k(f.value),1)]),_:1},8,["color"]))}},Va=De({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:$e,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...sa(),...Ge({location:"top end"}),...Ie(),...ia(),...Se(),...ze({transition:"scale-rotate-transition"})},"VBadge"),ka=Ce()({name:"VBadge",inheritAttrs:!1,props:Va(),setup(i,b){const{backgroundColorClasses:e,backgroundColorStyles:f}=la(()=>i.color),{roundedClasses:x}=Oe(i),{t:_}=we(),{textColorClasses:w,textColorStyles:t}=oa(()=>i.textColor),{themeClasses:c}=he(),{locationStyles:S}=Me(i,!0,V=>(i.floating?i.dot?2:4:i.dot?8:12)+(["top","bottom"].includes(V)?Number(i.offsetY??0):["left","right"].includes(V)?Number(i.offsetX??0):0));return na(()=>{const V=Number(i.content),p=!i.max||isNaN(V)?i.content:V<=Number(i.max)?V:`${i.max}+`,[g,h]=Ae(b.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return a(i.tag,O({class:["v-badge",{"v-badge--bordered":i.bordered,"v-badge--dot":i.dot,"v-badge--floating":i.floating,"v-badge--inline":i.inline},i.class]},h,{style:i.style}),{default:()=>{var s,u;return[v("div",{class:"v-badge__wrapper"},[(u=(s=b.slots).default)==null?void 0:u.call(s),a(Je,{transition:i.transition},{default:()=>{var A,q;return[Ne(v("span",O({class:["v-badge__badge",c.value,e.value,x.value,w.value],style:[f.value,t.value,i.inline?{}:S.value],"aria-atomic":"true","aria-label":_(i.label,V),"aria-live":"polite",role:"status"},g),[i.dot?void 0:b.slots.badge?(q=(A=b.slots).badge)==null?void 0:q.call(A):i.icon?a(_e,{icon:i.icon},null):p]),[[Ue,i.modelValue]])]}})])]}})}),{}}}),xa={class:"v-data-table__td v-data-table-column--no-padding v-data-table-column--align-start"},Ca={key:0},Da={class:"text-right"},wa={class:"grey lighten-4"},ha=["colspan"],Aa=["onClick"],Sa={__name:"DomainList",setup(i,{expose:b}){const{$gettext:e}=M(),f=de(),{canSetRole:x}=fe(),_=te(),w=[{title:e("Name"),key:"name"},{title:e("Enabled"),key:"enabled",width:"5%"},{title:e("Aliases"),key:"domainalias_count"},{title:e("DNS status"),key:"dns_global_status",sortable:!1},{title:e("Sending limit"),key:"message_limit"},{title:e("Quota"),key:"allocated_quota_in_percent"}];x.value&&w.push({title:e("Actions"),value:"actions",sortable:!1,align:"end"});const t=m({}),c=m(),S=m([]),V=m(!1),p=m(!1),g=m(null),h=m(null),s=m(!1),u=m(!1),A=m(""),q=m([]),j=m([]);async function R(){t.value={},p.value=!0;try{const n=await U.getDomains();S.value=n.data}finally{p.value=!1}}function G(){u.value=!1,g.value=null,h.value=null}async function W(n){if(await c.value.open(e("Warning"),e("Do you really want to delete the domain %{ domain }?",{domain:n.name}),{color:"error",cancelLabel:e("No"),agreeLabel:e("Yes")})){p.value=!0;try{const y={keep_folder:V.value};await U.deleteDomain(n.pk,y),R(),_.displayNotification({msg:e("Domain deleted")}),V.value=!1}finally{p.value=!1}}}function K(n){f.push({name:"DomainEdit",params:{id:n.pk}})}function Y(n,o){g.value=n,h.value=o,u.value=!0}function H(n,o,y,r){if(y(o)){r(o);return}U.getDomainAliases(n.name).then(F=>{t.value[n.name]=F.data,r(o)})}function Q(n){g.value=n,s.value=!0}function X(n){const o=[{label:e("Administrators"),icon:"mdi-account-supervisor",onClick:Q},{label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:K},{label:e("Delete"),icon:"mdi-delete-outline",onClick:W,color:"red"}];return n.opened_alarms_count&&o.push({label:e("Alarms"),icon:"mdi-bell",color:"red",onClick:()=>f.push({name:"Alarms"})}),o}return le(()=>{R()}),b({reloadDomains:R}),(n,o)=>{const y=Te("router-link");return C(),$(ve,{class:"mt-6"},{default:l(()=>[a(ua,{modelValue:q.value,"onUpdate:modelValue":o[1]||(o[1]=r=>q.value=r),expanded:j.value,headers:w,items:S.value,"item-value":"name",search:A.value,"show-select":"","expand-on-click":"",loading:p.value},{top:l(()=>[a(ye,{color:"white",flat:""},{default:l(()=>[a(oe,{modelValue:A.value,"onUpdate:modelValue":o[0]||(o[0]=r=>A.value=r),"prepend-inner-icon":"mdi-magnify",placeholder:d(e)("Search"),variant:"outlined","single-line":"","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),qe(n.$slots,"extraActions",{},void 0,!0),a(ae,{location:"bottom"},{activator:l(({props:r})=>[a(N,O({variant:"flat","append-icon":"mdi-chevron-down"},r,{size:"small"}),{default:l(()=>[D(k(d(e)("Actions")),1)]),_:2},1040)]),default:l(()=>[a(be,{density:"compact"})]),_:1}),a(N,{variant:"text",icon:"mdi-reload",onClick:R})]),_:3})]),item:l(({item:r,internalItem:L,isExpanded:F,toggleExpand:ne,isSelected:Ve,toggleSelect:ke})=>[v("tr",null,[v("td",xa,[a(ta,{value:!Ve(L),onClick:T=>ke(L)},null,8,["value","onClick"])]),v("td",null,[a(y,{to:{name:"DomainDetail",params:{id:r.pk}}},{default:l(()=>[D(k(r.name),1)]),_:2},1032,["to"]),r.type==="relaydomain"?(C(),$(ee,{key:0,size:"small",color:"primary",class:"ml-2"},{default:l(()=>[D(k(d(e)("Relay")),1)]),_:1})):E("",!0)]),v("td",null,[a(_e,{color:r.enabled?"success":"error",icon:r.enabled?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),v("td",null,[D(k(r.domainalias_count)+" aliases ",1),r.domainalias_count?(C(),$(N,{key:0,variant:"text",icon:F(L)?"mdi-chevron-up":"mdi-chevron-down",onClick:T=>H(r,L,F,ne)},null,8,["icon","onClick"])):E("",!0)]),v("td",null,[a(ga,{status:r.dns_global_status},null,8,["status"])]),v("td",null,[a(ie,{modelValue:r.allocated_quota_in_percent,"onUpdate:modelValue":T=>r.allocated_quota_in_percent=T},null,8,["modelValue","onUpdate:modelValue"])]),v("td",null,[a(ie,{modelValue:r.allocated_quota_in_percent,"onUpdate:modelValue":T=>r.allocated_quota_in_percent=T},null,8,["modelValue","onUpdate:modelValue"])]),d(x)?(C(),z("td",Ca,[v("div",Da,[a(ae,{"offset-y":""},{activator:l(({props:T})=>[r.opened_alarms_count?(C(),$(ka,{key:0,bordered:"",color:"error",icon:"mdi-bell",overlap:""},{default:l(()=>[a(N,O({icon:"mdi-dots-horizontal",variant:"text"},T),null,16)]),_:2},1024)):(C(),$(N,O({key:1,icon:"mdi-dots-horizontal",variant:"text"},T),null,16))]),default:l(()=>[a(aa,{items:X(r),obj:r},null,8,["items","obj"])]),_:2},1024)])])):E("",!0)])]),"expanded-row":l(({item:r,columns:L})=>[v("tr",wa,[v("td",{colspan:L.length},[(C(!0),z(me,null,Fe(t.value[r.name],F=>(C(),z("span",{key:F.name,class:"mr-4"},[v("a",{href:"#",class:"mr-2",onClick:ne=>Y(r,F)},k(F.name),9,Aa),a(ee,{variant:"flat",size:"x-small",color:"success"},{default:l(()=>o[6]||(o[6]=[D("DNS OK")])),_:1,__:[6]})]))),128))],8,ha)])]),_:3},8,["modelValue","expanded","items","search","loading"]),a(ea,{ref_key:"confirm",ref:c},{default:l(()=>[a(da,{modelValue:V.value,"onUpdate:modelValue":o[2]||(o[2]=r=>V.value=r),label:d(e)("Do not delete domain folder"),"hide-details":""},null,8,["modelValue","label"])]),_:1},512),a(I,{modelValue:u.value,"onUpdate:modelValue":o[3]||(o[3]=r=>u.value=r),persistent:"","max-width":"800px"},{default:l(()=>[a(ge,{"domain-alias":h.value,onClose:G},null,8,["domain-alias"])]),_:1},8,["modelValue"]),a(I,{modelValue:s.value,"onUpdate:modelValue":o[5]||(o[5]=r=>s.value=r),persistent:"","max-width":"800px"},{default:l(()=>[a(Ze,{domain:g.value,"dialog-mode":"",onClose:o[4]||(o[4]=r=>s.value=!1)},null,8,["domain"])]),_:1},8,["modelValue"])]),_:3})}}},$a=ce(Sa,[["__scopeId","data-v-d8d314e4"]]),Na={__name:"DomainsView",setup(i){const b=m(),e=m(!1),f=m(!1),x=m(!1),{$gettext:_}=M(),{canAddDomain:w}=fe(),t=m(),{importContent:c,exportContent:S}=ca();function V(){U.exportAll().then(h=>{S(h.data,"domains",_)})}function p(h){c(U,h,t,_)}const g=()=>{e.value=!1,b.value.reloadDomains()};return(h,s)=>(C(),z("div",null,[a(ye,{flat:""},{default:l(()=>[a(ra,null,{default:l(()=>[D(k(d(_)("Domains")),1)]),_:1})]),_:1}),a(d($a),{ref_key:"domainList",ref:b},{extraActions:l(()=>[d(w)?(C(),$(ae,{key:0,"offset-y":""},{activator:l(({props:u})=>[a(N,O({color:"primary",variant:"outlined"},u,{"prepend-icon":"mdi-plus",class:"mr-4"}),{default:l(()=>[D(k(d(_)("New")),1)]),_:2},1040)]),default:l(()=>[a(be,{density:"compact"},{default:l(()=>[a(re,{onClick:s[0]||(s[0]=u=>f.value=!0)},{default:l(()=>[a(ue,null,{default:l(()=>[D(k(d(_)("Domain")),1)]),_:1})]),_:1}),a(re,{onClick:s[1]||(s[1]=u=>e.value=!0)},{default:l(()=>[a(ue,null,{default:l(()=>[D(k(d(_)("Alias")),1)]),_:1})]),_:1})]),_:1})]),_:1})):E("",!0),d(w)?(C(),$(N,{key:1,class:"mr-2",title:d(_)("Import domains and aliases from CSV file"),variant:"flat",icon:"mdi-file-import-outline",onClick:s[2]||(s[2]=u=>x.value=!0)},null,8,["title"])):E("",!0),a(N,{class:"mr-2",title:d(_)("Export domains and aliases to CSV"),variant:"flat",icon:"mdi-file-export-outline",onClick:V},null,8,["title"])]),_:1},512),a(I,{modelValue:f.value,"onUpdate:modelValue":s[4]||(s[4]=u=>f.value=u),fullscreen:"",scrollable:"","z-index":"10"},{default:l(()=>[a(d(ba),{onClose:s[3]||(s[3]=u=>f.value=!1)})]),_:1},8,["modelValue"]),a(I,{modelValue:e.value,"onUpdate:modelValue":s[6]||(s[6]=u=>e.value=u),persistent:"","max-width":"800px"},{default:l(()=>[a(d(ge),{onClose:s[5]||(s[5]=u=>g())})]),_:1},8,["modelValue"]),a(I,{modelValue:x.value,"onUpdate:modelValue":s[8]||(s[8]=u=>x.value=u),persistent:"","max-width":"800px"},{default:l(()=>[a(d(ma),{ref_key:"importForm",ref:t,title:d(_)("Import domains"),onSubmit:p,onClose:s[7]||(s[7]=u=>x.value=!1)},{help:l(()=>s[9]||(s[9]=[v("ul",null,[v("li",null,[v("em",null,"domain; name; quota; default mailbox quota; enabled")]),v("li",null,[v("em",null,"domainalias; name; targeted domain; enabled")]),v("li",null,[v("em",null,"relaydomain; name; target host; target port; service; enabled; verify recipients")])],-1)])),_:1},8,["title"])]),_:1},8,["modelValue"])]))}},gt=ce(Na,[["__scopeId","data-v-50470732"]]);export{gt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{V as s,a as c}from"./VApp-D2FuKvLN.js";import{r as m,c as t,o as e,w as o,a as r}from"./index-BCUdq-Zu.js";import"./tag-DCSJ2lri.js";import"./layout-CLqGxWz4.js";import"./ssrBoot-B-x5LB2_.js";const u={__name:"EmptyView",setup(a){return(_,n)=>{const p=m("router-view");return e(),t(s,null,{default:o(()=>[r(p)]),_:1})}}},d={__name:"EmptyLayout",setup(a){return(_,n)=>(e(),t(c,null,{default:o(()=>[r(u)]),_:1}))}};export{d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as i,M as m,c as p,f as a,o as e}from"./index-BCUdq-Zu.js";import{_ as n}from"./ComposeEmailForm-22JKKl9M.js";import{a as l}from"./webmail-D2rioayn.js";import"./index-CJ87ZZG1.js";import"./VForm-DwwrfSN8.js";import"./tag-DCSJ2lri.js";import"./VTextField-FBM5XwC5.js";import"./VAvatar-DbAmPjyA.js";import"./VProgressCircular-1VQzh5PK.js";import"./forwardRefs-Cn7kyt_f.js";import"./ssrBoot-B-x5LB2_.js";import"./VCard-BGXTuaE-.js";import"./VFileInput-COIdDRxq.js";import"./VChip-Bm7znPZ6.js";import"./VTable-BeyU0Uhj.js";import"./VSpacer-pLqQLLwB.js";/* empty css */import"./HtmlEditor-KH0pmxrK.js";import"./VTextarea-BwkVlXPS.js";import"./contacts-DZDbAN4o.js";import"./VToolbar-AQXTYlxS.js";import"./VRow-DgX40uiD.js";import"./VSelect-CeY-emKK.js";import"./VMenu-CTyyRlRb.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VSelectionControl-BYdVI5Q9.js";import"./filter-BSw3r225.js";import"./VDialog-0NvxFg1X.js";const J={__name:"ForwardEmailView",setup(s){const o=m(),r=i();return l.getEmailContent(o.query.mailbox,o.query.mailid,{context:"forward"}).then(t=>{r.value=t.data}),(t,c)=>(e(),p(a(n),{"original-email":r.value},null,8,["original-email"]))}};export{J as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as K,Q as oe,R as Fe,c as U,o as h,w as t,a,m as W,F as ce,G as Se,l as g,t as b,k as pe,b as J,n as le,g as u,h as j,d as Ee,q as Q,B as te,r as Ue,H as Le,f as _,N as Y,s as fe,i as X,e as M}from"./index-BCUdq-Zu.js";import{_ as ie}from"./MenuItems-Bck8ixGf.js";import{_ as ne}from"./ConfirmDialog-BLu1kBWp.js";import{V as Ne,a as De,b as ve}from"./VCard-BGXTuaE-.js";import{V as ye}from"./VCheckbox-BM1QzY5m.js";import{V as Te}from"./VSpacer-pLqQLLwB.js";import{V as L,d as Z}from"./VAvatar-DbAmPjyA.js";import{a as H}from"./aliases-C-hC9If-.js";import{d as Me}from"./index-CJ87ZZG1.js";import{V as ae}from"./VMenu-CTyyRlRb.js";import{V as je}from"./VChip-Bm7znPZ6.js";import{V as _e,a as ze}from"./VToolbar-AQXTYlxS.js";import{V as Pe}from"./VTextField-FBM5XwC5.js";import{V as be,a as se,b as re}from"./forwardRefs-Cn7kyt_f.js";import{V as qe,a as ue}from"./VRadioGroup-CnRLqIcd.js";import{V as Be}from"./VDataTableServer-BNNG6dBx.js";import{V as G}from"./VDialog-0NvxFg1X.js";import{_ as Oe,a as Ge}from"./AliasRecipientForm-CGuaOz6K.js";import{_ as Ve}from"./CreationForm-ChgnxngD.js";import{_ as We,A as Qe,a as Ye,b as He}from"./AccountAliasForm-DO4IpT1M.js";import{u as Je}from"./permissions-C7XVO62l.js";import{a as q,V as de}from"./VRow-DgX40uiD.js";import{u as Ke}from"./domains.store-B6sc48r9.js";import{_ as Xe,i as Ze}from"./importExport-B7mBfHxZ.js";import{V as et}from"./VSwitch-BSifpScd.js";import"./tag-DCSJ2lri.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VSelectionControl-BYdVI5Q9.js";import"./VProgressCircular-1VQzh5PK.js";/* empty css */import"./ssrBoot-B-x5LB2_.js";import"./VDataTable-Etpc99CI.js";import"./VSelect-CeY-emKK.js";import"./VTable-BeyU0Uhj.js";import"./filter-BSw3r225.js";import"./EmailField-phdi2rhQ.js";import"./VForm-DwwrfSN8.js";import"./domains-CWdc-ODs.js";import"./VTextarea-BwkVlXPS.js";import"./VWindowItem-p9SJ1V9Y.js";import"./VContainer-B8HjqhNU.js";import"./VSheet-C8P69LA8.js";import"./ChoiceField-BS45Bjds.js";import"./VAlert-DSMD0lqo.js";import"./AccountPasswordSubForm-D9xU4Or7.js";import"./VFileInput-COIdDRxq.js";const ee="identities",me={getAll(){return K.get(`${ee}/`)},exportAll(){return K.get(`/${ee}/export/`)},importFromCSV(N){return K.post(`/${ee}/import/`,N,{headers:{"Content-Type":"multipart/form-data"}})}},tt={__name:"ChooseColumnsForm",props:oe({availableColumns:{type:Array,default:null},mandatoryColumns:{type:Array,default:null},columns:{type:Array,default:null}},{modelValue:{type:Array},modelModifiers:{}}),emits:oe(["apply"],["update:modelValue"]),setup(N,{emit:V}){const e=N,R=Fe(N,"modelValue"),I=V,C=()=>{I("apply",R.value)};return R.value=e.columns.map(x=>x.key),(x,k)=>(h(),U(ve,{title:x.$gettext("Choose columns to display")},{default:t(()=>[a(Ne,null,{default:t(()=>[(h(!0),W(ce,null,Se(e.availableColumns,$=>(h(),W("div",{key:$.key},[a(ye,{modelValue:R.value,"onUpdate:modelValue":k[0]||(k[0]=v=>R.value=v),value:$.key,label:$.title,color:"primary","hide-details":"",density:"compact",disabled:e.mandatoryColumns.includes($.key)},null,8,["modelValue","value","label","disabled"])]))),128))]),_:1}),a(De,null,{default:t(()=>[a(Te),a(L,{color:"primary",variant:"outlined",onClick:C},{default:t(()=>[g(b(x.$gettext("Apply")),1)]),_:1})]),_:1})]),_:1},8,["title"]))}},at={__name:"IdentityList",setup(N,{expose:V}){const{$gettext:e}=J(),R=fe(),{displayNotification:I}=le(),C={address:{title:e("Address"),key:"address"},enabled:{title:e("Enabled"),key:"enabled"},recipients:{title:e("Recipients"),key:"recipients"},expire_at:{title:e("Expire at"),key:"expire_at"},description:{title:e("Description"),key:"description"},creation:{title:e("Creation date"),key:"creation"},last_modification:{title:e("Last modification"),key:"last_modification"}},x=[C.address,C.enabled,C.recipients],k={username:{title:e("Name"),key:"username"},first_name:{title:e("First name"),key:"first_name"},last_name:{title:e("Last Name"),key:"last_name"},is_active:{title:e("Enabled"),key:"is_active"},role:{title:e("Role"),key:"role"},language:{title:e("Language"),key:"language"},phone_number:{title:e("Phone number"),key:"phone_number"},secondary_email:{title:e("Secondary email"),key:"secondary_email"},tfa_enabled:{title:e("TFA enabled"),key:"tfa_enabled"},totp_enabled:{title:e("TOTP enabled"),key:"totp_enabled"},webauth_enabled:{title:e("WebAutn enabled"),key:"webauth_enabled"},date_joined:{title:e("Creation date"),key:"date_joined"},last_login:{title:e("Last login"),key:"last_login"}},$=[k.username,k.is_active,k.role],v=u("account"),n=u(0),c=u([]),p=u(!1),o=u(""),r=u([]),F=u(!1),E=u(),z=u(),T=u(1),y=u(10),w=u([]),A=u($),P=u(!1),B=j(()=>A.value.concat([{title:e("Actions"),key:"actions",sortable:!1,align:"end"}])),O=j(()=>v.value==="account"?Object.values(k):Object.values(C)),d=j(()=>v.value==="account"?["username"]:["address"]);async function m(s){p.value=!0,c.value=[],w.value=[],s==="account"?A.value=$:A.value=x,await S()}async function f({page:s,itemsPerPage:i,sortBy:D}){T.value=s,y.value=i,w.value=D,S()}async function S(){p.value=!0;const s={page:T.value||1,page_size:y.value||10};w.value&&w.value.length&&(s.ordering=w.value.map(i=>i.order!=="asc"?`-${i.key}`:i.key).join(",")),o.value!==""&&(s.search=o.value);try{const i=v.value==="account"?await Y.getAll(s):await H.getAll(s);c.value=i.data.results,n.value=i.data.count,r.value=[]}finally{p.value=!1}}function ke(s){A.value=O.value.filter(i=>s.includes(i.key)),P.value=!1}function ge(s){const i=[];return v.value==="account"?(s.possible_actions.forEach(D=>{i.push({label:D.label,icon:D.icon,onClick:()=>{D.type,S()}})}),i.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Ce}),i.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:we,color:"red"})):v.value==="alias"&&(i.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Ae}),i.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:he,color:"red"})),i}function xe(){const s=[];return r.value.length>0&&s.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:$e,color:"red"}),s}function Ce(s){R.push({name:"AccountEdit",params:{id:s.pk}})}async function we(s){if(await z.value.open(e("Warning"),e("Are you sure you want to delete this identity ?"),{color:"error",agreeLabel:e("Yes"),cancelLabel:e("No")})){p.value=!1;try{await Y.delete(s.pk,{keepdir:F.value}),S(),I({msg:e("Account deleted")})}finally{p.value=!1}}}function Ae(){}function $e(){}async function he(s){if(await E.value.open(e("Warning"),e("Are you sure you want to delete this alias?"),{color:"error",agreeLabel:e("Yes"),cancelLabel:e("No")})){p.value=!1;try{await H.delete(s.pk),S(),I({msg:e("Alias deleted")})}finally{p.value=!1}}}function Re(s){return s.recipients?s.recipients.join(", "):""}return Ee(()=>{S()}),V({fetchIdentities:S}),S=Me(S,500),(s,i)=>{const D=Ue("router-link");return h(),U(ve,{class:"mt-6"},{default:t(()=>[a(Be,{modelValue:r.value,"onUpdate:modelValue":i[3]||(i[3]=l=>r.value=l),headers:B.value,items:c.value,search:o.value,loading:p.value,"items-length":n.value,page:T.value,"items-per-page":y.value,"item-value":"pk",elevation:"0","show-select":"","sort-by":w.value,"onUpdate:options":f},{top:t(()=>[a(_e,{flat:"",color:"white"},{extension:t(()=>[a(qe,{modelValue:v.value,"onUpdate:modelValue":[i[2]||(i[2]=l=>v.value=l),m],inline:"",readonly:p.value,"hide-details":""},{default:t(()=>[a(ue,{color:"primary",label:_(e)("Accounts"),value:"account"},null,8,["label"]),a(ue,{color:"primary",label:_(e)("Alias"),value:"alias"},null,8,["label"])]),_:1},8,["modelValue","readonly"])]),default:t(()=>[a(Pe,{modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=l=>o.value=l),"prepend-inner-icon":"mdi-magnify",placeholder:_(e)("Search"),variant:"outlined","hide-details":"","single-line":"",flat:"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),Le(s.$slots,"extraActions",{},void 0,!0),a(L,{variant:"text",icon:"mdi-format-columns",title:_(e)("Customize displayed columns"),onClick:i[1]||(i[1]=l=>P.value=!0)},null,8,["title"]),r.value.length>1?(h(),U(ae,{key:0,location:"bottom"},{activator:t(({props:l})=>[a(L,te({"append-icon":"mdi-chevron-down"},l,{size:"small",variant:"flat"}),{default:t(()=>[g(b(_(e)("Actions")),1)]),_:2},1040)]),default:t(()=>[a(be,{density:"compact"},{default:t(()=>[a(ie,{items:xe()},null,8,["items"])]),_:1})]),_:1})):Q("",!0),a(L,{variant:"text",icon:"mdi-reload",onClick:S})]),_:3})]),"item.username":t(({item:l})=>[a(D,{to:{name:"AccountDetail",params:{id:l.pk}}},{default:t(()=>[g(b(l.username),1)]),_:2},1032,["to"])]),"item.address":t(({item:l})=>[a(D,{to:{name:"AliasDetail",params:{id:l.pk}}},{default:t(()=>[g(b(l.address),1)]),_:2},1032,["to"])]),"item.is_active":t(({item:l})=>[a(Z,{color:l.is_active?"success":"error",icon:l.is_active?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),"item.enabled":t(({item:l})=>[a(Z,{color:l.enabled?"success":"error",icon:l.enabled?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),"item.recipients":t(({item:l})=>[g(b(Re(l)),1)]),"item.date_joined":t(({item:l})=>[g(b(s.$date(l.date_joined)),1)]),"item.creation":t(({item:l})=>[g(b(s.$date(l.creation)),1)]),"item.last_modification":t(({item:l})=>[g(b(s.$date(l.last_modification)),1)]),"item.last_login":t(({item:l})=>[g(b(s.$date(l.last_login)),1)]),"item.role":t(({item:l})=>[a(je,{color:"default",size:"small"},{default:t(()=>[g(b(l.role),1)]),_:2},1024)]),"item.actions":t(({item:l})=>[l.possible_actions!==void 0&&l.possible_actions.length!==0?(h(),U(Z,{key:0,size:"large",color:"blue"},{default:t(()=>i[6]||(i[6]=[g("mdi-circle-small")])),_:1,__:[6]})):Q("",!0),a(ae,{location:"bottom"},{activator:t(({props:Ie})=>[a(L,te(Ie,{size:"small",icon:"mdi-dots-horizontal",variant:"text"}),null,16)]),default:t(()=>[a(ie,{items:ge(l),obj:l},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["modelValue","headers","items","search","loading","items-length","page","items-per-page","sort-by"]),a(ne,{ref_key:"confirmAlias",ref:E},null,512),a(ne,{ref_key:"confirmAccount",ref:z},{default:t(()=>[a(ye,{modelValue:F.value,"onUpdate:modelValue":i[4]||(i[4]=l=>F.value=l),label:_(e)("Do not delete account folder"),"hide-details":""},null,8,["modelValue","label"])]),_:1},512),a(G,{modelValue:P.value,"onUpdate:modelValue":i[5]||(i[5]=l=>P.value=l),"max-width":"500"},{default:t(()=>[a(tt,{columns:A.value,"available-columns":O.value,"mandatory-columns":d.value,onApply:ke},null,8,["columns","available-columns","mandatory-columns"])]),_:1},8,["modelValue"])]),_:3})}}},lt=pe(at,[["__scopeId","data-v-77d18fd9"]]),ot={__name:"AliasCreationForm",emits:["close","created"],setup(N,{emit:V}){const{$gettext:e}=J(),R=le(),I=fe(),C=V,x=u(),k=u(),$=u(),v={general:k,recipients:$},n=j(()=>{const y=[{title:e("General"),items:[{key:e("Random address"),value:c.value.random,type:"yesno"},{key:e("Address"),value:c.value.address}]}];return c.value.expire_at!==void 0&&y[0].items.push({key:e("Expire at"),value:c.value.expire_at}),c.value.description!==void 0&&y[0].items.push({key:e("Description"),value:c.value.description}),y.push({title:e("Recipients"),items:[{key:e("Recipients"),value:c.value.recipients.join(", ")}]}),y}),c=u(r()),p=u([{name:"general",title:e("General")},{name:"recipients",title:e("Recipients")}]);function o(){c.value=r(),C("close")}function r(){return{random:!1,enabled:!0,recipients:[]}}function F(y){return v.step[y.name]}function E(y){return v[y.name].value.vFormRef}function z(){const y={...c.value};y.recipients.length===0&&delete y.recipients;const w=H.validate(y);return w.catch(A=>{A.response.status===409&&A.response.data.id!==void 0&&(R.displayNotification({msg:e("Alias already exists, redirecting to edit page"),type:"warning"}),I.push({name:"AliasEdit",params:{id:A.response.data.id}}))}),w}async function T(){c.value.domain!==void 0&&delete c.value.domain;try{await H.create(c.value),C("created"),o()}finally{x.value.working=!1}}return(y,w)=>(h(),U(Ve,{ref_key:"form",ref:x,title:_(e)("New alias"),steps:p.value,"form-getter":F,"get-v-form-ref":E,"validate-object":z,"summary-sections":n.value,onClose:o,onCreate:T},{"form.general":t(()=>[a(Ge,{ref_key:"general",ref:k,modelValue:c.value,"onUpdate:modelValue":w[0]||(w[0]=A=>c.value=A)},null,8,["modelValue"])]),"form.recipients":t(()=>[a(Oe,{ref_key:"recipients",ref:$,modelValue:c.value.recipients,"onUpdate:modelValue":w[1]||(w[1]=A=>c.value.recipients=A)},null,8,["modelValue"])]),_:2},1032,["title","steps","summary-sections"]))}},it={class:"grey--text"},nt={__name:"AccountCreationForm",emits:["close","created"],setup(N,{emit:V}){const{$gettext:e}=J(),{canSetRole:R}=Je(),I=le(),C=Ke(),x=V,k=j(()=>n.value.username&&n.value.username.indexOf("@")!==-1),$=j(()=>{const d=[{title:e("Role"),items:[{key:e("Role"),value:n.value.role}]},{title:e("Identification"),items:[{key:e("Username"),value:n.value.username},{key:e("First name"),value:n.value.first_name},{key:e("Last name"),value:n.value.last_name},{name:"random_password",key:e("Random password"),value:n.value.random_password,type:"yesno"},{key:e("Enabled"),value:n.value.is_active,type:"yesno"}]}];return k.value?d.concat([{title:e("Mailbox"),items:[{key:e("Email"),value:n.value.mailbox.full_address},{key:e("Quota"),value:n.value.mailbox.use_domain_quota?e("Domain default value"):n.value.mailbox.quota},{key:e("Message sending limit"),value:n.value.mailbox.message_limit},{key:e("Send only account"),value:n.value.mailbox.is_send_only,type:"yesno"}]},{title:e("Aliases"),items:[{key:e("Aliases"),value:n.value.aliases,type:"list"}]}]):d}),v=j(()=>{const d=[];return R.value&&d.push({name:"role",title:e("Role")}),d.push({name:"identification",title:e("Identification")}),k.value?d.concat([{name:"mailbox",title:e("Mailbox")},{name:"aliases",title:e("Aliases")}]):d}),n=u({aliases:[],is_active:!0,role:X.USER,mailbox:{use_domain_quota:!0},random_password:!1}),c=u(),p=u(),o=u(),r=u(),F=u(),E={role:p,identification:o,mailbox:r,aliases:F};function z(){navigator.clipboard.writeText(n.value.new_password).then(()=>{I.displayNotification({msg:e("Password copied to clipboard")})})}function T(d){return E.step[d.name]}function y(d){return E[d.name].value.vFormRef}function w(d,m){const f=v.value[d-1].name;E[f].value.formErrors&&(E[f].value.formErrors.value=m)}function A(d){const m={...d};return[X.RESELLER,X.SUPER_ADMIN].includes(m.role)&&m.username&&m.username.indexOf("@")===-1&&delete m.mailbox,m.mailbox&&(m.mailbox.message_limit===""&&(m.mailbox.message_limit=null),(m.mailbox.quota===void 0||m.mailbox.quota===null)&&(m.mailbox.quota=0)),m}function P(d){if(d===1)return!0;const m=A({...n.value});return Y.validate(m)}function B(){x("close")}async function O(){const d=A({...n.value});d.password=d.new_password,delete d.new_password,delete d.password_confirmation;try{await Y.create(d),x("created"),B()}finally{c.value.working=!1}}return C.getDomains(),(d,m)=>(h(),U(Ve,{ref_key:"form",ref:c,title:_(e)("New account"),steps:v.value,"form-getter":T,"get-v-form-ref":y,"validate-object":P,"summary-sections":$.value,onClose:B,onCreate:O,onValidationError:w},{"form.role":t(()=>[a(He,{ref_key:"role",ref:p,modelValue:n.value,"onUpdate:modelValue":m[0]||(m[0]=f=>n.value=f)},null,8,["modelValue"])]),"form.identification":t(()=>[a(Ye,{ref_key:"identification",ref:o,modelValue:n.value,"onUpdate:modelValue":m[1]||(m[1]=f=>n.value=f)},null,8,["modelValue"])]),"form.mailbox":t(()=>[a(Qe,{ref_key:"mailbox",ref:r,modelValue:n.value,"onUpdate:modelValue":m[2]||(m[2]=f=>n.value=f)},null,8,["modelValue"])]),"form.aliases":t(()=>[a(We,{ref_key:"aliases",ref:F,modelValue:n.value,"onUpdate:modelValue":m[3]||(m[3]=f=>n.value=f)},null,8,["modelValue"])]),"item.random_password":t(({item:f})=>[f.value?(h(),U(q,{key:0,cols:"12",class:"highligth text-white"},{default:t(()=>[a(de,null,{default:t(()=>[a(q,null,{default:t(()=>[M("span",null,b(f.key),1)]),_:2},1024),f.type==="yesno"?(h(),U(q,{key:0,class:"text-right"},{default:t(()=>[g(b(d.$yesno(f.value)),1)]),_:2},1024)):Q("",!0)]),_:2},1024),a(de,null,{default:t(()=>[a(q,{class:"text-right py-1"},{default:t(()=>[a(L,{"append-icon":"mdi-clipboard-multiple-outline",color:"white",variant:"text",title:_(e)("Copy to clipboard"),onClick:z},{default:t(()=>[g(b(n.value.new_password),1)]),_:1},8,["title"])]),_:1})]),_:1})]),_:2},1024)):(h(),W(ce,{key:1},[a(q,null,{default:t(()=>[M("span",it,b(f.key),1)]),_:2},1024),f.type==="yesno"?(h(),U(q,{key:0,class:"text-right"},{default:t(()=>[g(b(d.$yesno(f.value)),1)]),_:2},1024)):Q("",!0)],64))]),_:2},1032,["title","steps","summary-sections"]))}},st={__name:"IdentitiesView",setup(N){const{$gettext:V,$pgettext:e}=J(),{importContent:R,exportContent:I}=Ze(),C=u(!1),x=u(!1),k=u(!1),$=u(),v=u();function n(){me.exportAll().then(p=>{I(p.data,"identities",V)})}function c(p,o){p.append("crypt_passwords",o.crypt_passwords),R(me,p,$,V)}return(p,o)=>(h(),W("div",null,[a(_e,{flat:""},{default:t(()=>[a(ze,null,{default:t(()=>[g(b(_(V)("Identities")),1)]),_:1})]),_:1}),a(lt,{ref_key:"idList",ref:v},{extraActions:t(()=>[a(ae,{"offset-y":""},{activator:t(({props:r})=>[a(L,te({color:"primary",variant:"outlined"},r,{"prepend-icon":"mdi-plus",class:"mr-4"}),{default:t(()=>[g(b(_(e)("male","New")),1)]),_:2},1040)]),default:t(()=>[a(be,{density:"compact"},{default:t(()=>[a(se,{onClick:o[0]||(o[0]=r=>C.value=!0)},{default:t(()=>[a(re,null,{default:t(()=>[g(b(_(V)("Account")),1)]),_:1})]),_:1}),a(se,{onClick:o[1]||(o[1]=r=>x.value=!0)},{default:t(()=>[a(re,null,{default:t(()=>[g(b(_(V)("Alias")),1)]),_:1})]),_:1})]),_:1})]),_:1}),a(L,{class:"mr-2",title:_(V)("Import accounts and aliases from CSV file"),variant:"flat",icon:"mdi-file-import-outline",onClick:o[2]||(o[2]=r=>k.value=!0)},null,8,["title"]),a(L,{class:"mr-2",title:_(V)("Export accounts and aliases to CSV"),icon:"mdi-file-export-outline",variant:"flat",onClick:n},null,8,["title"])]),_:1},512),a(G,{modelValue:x.value,"onUpdate:modelValue":o[5]||(o[5]=r=>x.value=r),fullscreen:"",scrollable:"","z-index":"10"},{default:t(()=>[a(ot,{onCreated:o[3]||(o[3]=r=>v.value.fetchIdentities()),onClose:o[4]||(o[4]=r=>x.value=!1)})]),_:1},8,["modelValue"]),a(G,{modelValue:C.value,"onUpdate:modelValue":o[8]||(o[8]=r=>C.value=r),fullscreen:"",scrollable:"","z-index":"10"},{default:t(()=>[a(nt,{onCreated:o[6]||(o[6]=r=>v.value.fetchIdentities()),onClose:o[7]||(o[7]=r=>C.value=!1)})]),_:1},8,["modelValue"]),a(G,{modelValue:k.value,"onUpdate:modelValue":o[10]||(o[10]=r=>k.value=r),persistent:"","max-width":"800px"},{default:t(()=>[a(_(Xe),{ref_key:"importForm",ref:$,title:_(V)("Import identities"),onSubmit:c,onClose:o[9]||(o[9]=r=>k.value=!1)},{help:t(()=>o[11]||(o[11]=[M("ul",null,[M("li",null,[M("em",null,"account; loginname; password; first name; last name; enabled; group; address; quota; [, domain, ...]")]),M("li",null,[M("em",null,"alias; address; enabled; recipient; [more recipients; ...]")])],-1)])),extraFields:t(({form:r})=>[a(et,{modelValue:r.crypt_passwords,"onUpdate:modelValue":F=>r.crypt_passwords=F,label:_(V)("Crypt passwords"),color:"primary",density:"compact",hint:_(V)("Check this option if passwords contained in your file are not crypted"),"persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","label","hint"])]),_:1},8,["title"])]),_:1},8,["modelValue"])]))}},ea=pe(st,[["__scopeId","data-v-2549d1b3"]]);export{ea as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a[data-v-77d18fd9]{text-decoration:none;color:rgb(var(--v-theme-primary))}a[data-v-77d18fd9]:visited{color:rgb(var(--v-theme-primary))}.highligth{background-color:#515d78}.v-toolbar[data-v-2549d1b3],.v-tabs-items[data-v-2549d1b3]{background-color:#f7f8fa!important}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as y,g as l,c as b,w as a,a as s,l as m,t as c,f as h,o as V,k as T,m as M,F as $}from"./index-BCUdq-Zu.js";import{l as D}from"./logs-DIXCC1C0.js";import{d as F}from"./index-CJ87ZZG1.js";import{V as v,a as S}from"./VToolbar-AQXTYlxS.js";import{V as C}from"./VTextField-FBM5XwC5.js";import{V as I}from"./VDataTableServer-BNNG6dBx.js";import{b as N}from"./VCard-BGXTuaE-.js";import"./tag-DCSJ2lri.js";import"./VAvatar-DbAmPjyA.js";import"./VProgressCircular-1VQzh5PK.js";import"./forwardRefs-Cn7kyt_f.js";import"./ssrBoot-B-x5LB2_.js";import"./VDataTable-Etpc99CI.js";import"./VSelect-CeY-emKK.js";import"./VMenu-CTyyRlRb.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VSelectionControl-BYdVI5Q9.js";import"./VChip-Bm7znPZ6.js";import"./VTable-BeyU0Uhj.js";import"./filter-BSw3r225.js";const U={__name:"MessageList",setup(k){const{$gettext:t}=y(),d=[{title:t("Queue ID"),key:"queue_id"},{title:t("Date"),key:"date",width:"20%"},{title:t("Status"),key:"status"},{title:t("To"),key:"rcpt"},{title:t("From"),key:"sender"}],p=l(!0),u=l([]),i=l(""),f=l(0);function n({page:o,itemsPerPage:r,sortBy:e,search:w}){let g;e.length&&(g=(e[0].order==="desc"?"-":"")+e[0].key);const x={ordering:g,page:o,page_size:r,search:w};p.value=!0,D.getMessages(x).then(_=>{u.value=_.data.results,f.value=_.data.count,p.value=!1})}return n=F(n,500),(o,r)=>(V(),b(N,{class:"mt-6"},{default:a(()=>[s(I,{headers:d,items:u.value,search:i.value,class:"elevation-0","items-length":f.value,"onUpdate:options":n},{top:a(()=>[s(v,{flat:"",color:"white"},{default:a(()=>[s(C,{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=e=>i.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:h(t)("Search"),variant:"outlined","hide-details":"",density:"compact",class:"flex-grow-0 w-33"},null,8,["modelValue","placeholder"])]),_:1})]),"item.date":a(({item:e})=>[m(c(o.$date(e.date)),1)]),"item.sender":a(({item:e})=>[m(c(o.$truncate(e.sender,50)),1)]),_:2},1032,["items","search","items-length"])]),_:1}))}},q={__name:"MessagesView",setup(k){return(t,d)=>(V(),M($,null,[s(v,{flat:""},{default:a(()=>[s(S,null,{default:a(()=>[m(c(t.$gettext("Message history")),1)]),_:1})]),_:1}),s(h(U))],64))}},ae=T(q,[["__scopeId","data-v-9c91b6c8"]]);export{ae as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as b,b as g,g as r,h as S,L as h,M as V,m as x,a as e,w as u,f as n,o as P,l as w,t as G}from"./index-BCUdq-Zu.js";import{p}from"./parameters-u6VE5cq8.js";import{P as A}from"./ParametersForm-Bx5J7UU0.js";import{V as T,a as k}from"./VToolbar-AQXTYlxS.js";import{u as N}from"./global.store-IwCGIFoO.js";import{u as B}from"./parameters.store-D4x8W7LS.js";import"./HtmlEditor-KH0pmxrK.js";import"./VAvatar-DbAmPjyA.js";import"./tag-DCSJ2lri.js";import"./VProgressCircular-1VQzh5PK.js";import"./forwardRefs-Cn7kyt_f.js";import"./ssrBoot-B-x5LB2_.js";import"./VTabs-Dzq8prKm.js";import"./VWindowItem-p9SJ1V9Y.js";import"./VChip-Bm7znPZ6.js";import"./VMenu-CTyyRlRb.js";import"./VContainer-B8HjqhNU.js";/* empty css */import"./VCard-BGXTuaE-.js";import"./VSwitch-BSifpScd.js";import"./VTextField-FBM5XwC5.js";import"./VSelectionControl-BYdVI5Q9.js";import"./VSelect-CeY-emKK.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VTextarea-BwkVlXPS.js";import"./VColorPicker-CYCnVu_Z.js";import"./colors-DoZdCu1D.js";import"./VPicker-3NOHH3h1.js";import"./VSheet-C8P69LA8.js";import"./admin-B0fFM9gW.js";const E={__name:"ParametersView",setup(M){const{$gettext:c}=g(),f=N(),o=V(),d=B(),s=r([]),i=r({}),m=r(""),_=S(()=>c("Settings: "+m.value));function l(t){p.getGlobalApplicationStructure(t).then(a=>{s.value=a.data}),p.getGlobalApplication(t).then(a=>{i.value=a.data.params,m.value=a.data.label})}function v(t){f.fetchNotifications(),o.params.app==="imap_migration"&&(d.imapMigrationEnabled=t.enabled_imapmigration)}return h(o,t=>{l(t.params.app)}),l(o.params.app),(t,a)=>(P(),x("div",null,[e(T,{flat:""},{default:u(()=>[e(k,null,{default:u(()=>[w(G(_.value),1)]),_:1})]),_:1}),e(n(A),{app:t.$route.params.app,structure:s.value,values:i.value,"save-function":n(p).saveGlobalApplication,onSuccess:v},null,8,["app","structure","values","save-function"])]))}},lt=b(E,[["__scopeId","data-v-6ffadfb6"]]);export{lt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as v,b as d,g as e,h as _,L as V,M as g,m as h,a as r,w as u,f as c,o as x,l as b,t as w}from"./index-BCUdq-Zu.js";import{P}from"./ParametersForm-Bx5J7UU0.js";import{p as o}from"./parameters-u6VE5cq8.js";import{V as A,a as T}from"./VToolbar-AQXTYlxS.js";import"./HtmlEditor-KH0pmxrK.js";import"./VAvatar-DbAmPjyA.js";import"./tag-DCSJ2lri.js";import"./VProgressCircular-1VQzh5PK.js";import"./forwardRefs-Cn7kyt_f.js";import"./ssrBoot-B-x5LB2_.js";import"./VTabs-Dzq8prKm.js";import"./VWindowItem-p9SJ1V9Y.js";import"./VChip-Bm7znPZ6.js";import"./VMenu-CTyyRlRb.js";import"./VContainer-B8HjqhNU.js";/* empty css */import"./VCard-BGXTuaE-.js";import"./VSwitch-BSifpScd.js";import"./VTextField-FBM5XwC5.js";import"./VSelectionControl-BYdVI5Q9.js";import"./VSelect-CeY-emKK.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VTextarea-BwkVlXPS.js";import"./VColorPicker-CYCnVu_Z.js";import"./colors-DoZdCu1D.js";import"./VPicker-3NOHH3h1.js";import"./VSheet-C8P69LA8.js";const k={__name:"ParametersView",setup(S){const{$gettext:n}=d(),p=g(),s=e(""),i=e([]),m=e({}),f=_(()=>n("Settings: "+s.value));function l(t){o.getUserApplicationStructure(t).then(a=>{i.value=a.data}),o.getUserApplication(t).then(a=>{m.value=a.data.params,s.value=a.data.label})}return V(p,t=>{l(t.params.app)}),l(p.params.app),(t,a)=>(x(),h("div",null,[r(A,{flat:""},{default:u(()=>[r(T,null,{default:u(()=>[b(w(f.value),1)]),_:1})]),_:1}),r(c(P),{app:t.$route.params.app,structure:i.value,values:m.value,"save-function":c(o).saveUserApplication},null,8,["app","structure","values","save-function"])]))}},at=v(k,[["__scopeId","data-v-3e7380ff"]]);export{at as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as U,n as M,h as A,g as x,c as k,o as u,w as e,a as o,f,B as L,e as O,m as h,G as W,F,l as p,t as g,s as q,k as H}from"./index-BCUdq-Zu.js";import{_ as J}from"./CreationForm-ChgnxngD.js";import{u as G,_ as K,a as Q}from"./ProviderGeneralForm-C9jkYxB7.js";import{_ as X}from"./MenuItems-Bck8ixGf.js";import{V as j}from"./VMenu-CTyyRlRb.js";import{V as N,d as E}from"./VAvatar-DbAmPjyA.js";import{V as T}from"./VChip-Bm7znPZ6.js";import{V as z,a as Y}from"./VToolbar-AQXTYlxS.js";import{V as Z}from"./forwardRefs-Cn7kyt_f.js";import{V as I}from"./VSpacer-pLqQLLwB.js";import{V as ee}from"./VTextField-FBM5XwC5.js";import{V as oe}from"./VDataTable-Etpc99CI.js";import{b as te}from"./VCard-BGXTuaE-.js";import{V as ae}from"./VDialog-0NvxFg1X.js";import"./ConfirmDialog-BLu1kBWp.js";import"./VRow-DgX40uiD.js";/* empty css */import"./tag-DCSJ2lri.js";import"./VWindowItem-p9SJ1V9Y.js";import"./ssrBoot-B-x5LB2_.js";import"./VContainer-B8HjqhNU.js";import"./VSheet-C8P69LA8.js";import"./VProgressCircular-1VQzh5PK.js";import"./domains-CWdc-ODs.js";import"./VAutocomplete-CQ5LL_Nk.js";import"./VSelect-CeY-emKK.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VSelectionControl-BYdVI5Q9.js";import"./filter-BSw3r225.js";import"./VForm-DwwrfSN8.js";import"./VSwitch-BSifpScd.js";import"./VTable-BeyU0Uhj.js";const re={__name:"ProviderCreationForm",emits:["close"],setup(D,{emit:s}){const d=s,{$gettext:i}=U(),c=M(),v=G(),B=A(()=>{const n=[];let l=!0;for(const V of a.value.domains){const R=V.new_domain?`${V.name} => ${V.new_domain.name}`:`${V.name} ${i("(the domain will be created locally)")}`;n.push({key:l?i("Associated domain"):"",value:R}),l=!1}return n}),b=A(()=>[{title:i("General"),items:[{key:i("Name"),value:a.value.name},{key:i("Address"),value:a.value.address},{key:i("Port"),value:a.value.port},{key:i("Secured"),value:a.value.secured,type:"yesno"}]},{title:i("Associated domains"),items:B.value}]),P=[{name:"general",title:i("General")},{name:"associated",title:i("Associated domains")}],a=x({domains:[]}),$=x(),C=x(),S={general:$,associated:C};w();function w(){a.value={name:"",address:"",port:993,secured:!0,domains:[]}}function m(){w(),d("close")}function r(n){return S.value[n.name]}function t(n){return console.log(a.value),S[n.name].value.vFormRef}function _(){}function y(){const n={...a.value};n.domains=[];for(const l of a.value.domains)l.new_domain?n.domains.push({name:l.name,new_domain:l.new_domain.pk}):n.domains.push(l);v.createProvider(n).then(()=>{c.displayNotification({msg:i("Provider created")}),m()})}return(n,l)=>(u(),k(f(J),{ref:"form",title:f(i)("New provider"),steps:P,"form-getter":r,"get-v-form-ref":t,"validate-object":_,"summary-sections":b.value,onClose:m,onCreate:y},{"form.general":e(()=>[o(Q,{ref_key:"general",ref:$,modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=V=>a.value=V),class:"ml-4"},null,8,["modelValue"])]),"form.associated":e(()=>[o(K,{ref_key:"associated",ref:C,modelValue:a.value.domains,"onUpdate:modelValue":l[1]||(l[1]=V=>a.value.domains=V)},null,8,["modelValue"])]),_:2},1032,["title","summary-sections"]))}},se=["colspan"],ie={__name:"ProvidersList",setup(D){const{$gettext:s}=U(),d=G(),i=q(),c=A(()=>d.providers),v=A(()=>d.providersLoaded),B=[{title:s("Name"),key:"name"},{title:s("Address"),key:"address"},{title:s("Port"),key:"port"},{title:s("Secured"),key:"secured"},{title:s("Associated domains"),key:"domains"},{title:s("Actions"),key:"actions",sortable:!1,align:"right"}],b=x([]),P=x(""),a=x([]);function $(m){d.deleteProvider(m.id)}function C(m){i.push({name:"ProviderEdit",params:{id:m.id}})}function S(){const m=[];return m.push({label:s("Delete"),icon:"mdi-delete-outline",onClick:$,color:"red"}),m.push({label:s("Edit"),icon:"mdi-circle-edit-outline",onClick:C}),m}function w(){d.getProviders()}return v.value||w(),(m,r)=>(u(),k(te,{class:"mt-6"},{default:e(()=>[o(oe,{modelValue:b.value,"onUpdate:modelValue":r[1]||(r[1]=t=>b.value=t),expanded:a.value,"onUpdate:expanded":r[2]||(r[2]=t=>a.value=t),headers:B,items:Object.values(c.value),search:P.value,loading:!v.value,"item-value":"name","single-expand":"","show-select":"","onClick:row":r[3]||(r[3]=(t,_)=>_.expand(!_.isExpanded))},{top:e(()=>[o(z,{color:"white",flat:""},{default:e(()=>[o(j,{location:"bottom"},{activator:e(({props:t})=>[o(N,L(t,{variant:"flat","append-icon":"mdi-chevron-down",size:"small"}),{default:e(()=>[p(g(f(s)("Actions")),1)]),_:2},1040)]),default:e(()=>[o(Z,{density:"compact"})]),_:1}),o(N,{variant:"text",icon:"mdi-reload",onClick:w}),o(I),o(ee,{modelValue:P.value,"onUpdate:modelValue":r[0]||(r[0]=t=>P.value=t),"prepend-inner-icon":"mdi-magnify",placeholder:f(s)("Search"),"single-line":"",variant:"outlined","hide-details":""},null,8,["modelValue","placeholder"])]),_:1})]),"item.secured":e(({item:t})=>[t.secured===!0?(u(),k(E,{key:0,color:"green"},{default:e(()=>r[4]||(r[4]=[p(" mdi-lock ")])),_:1,__:[4]})):(u(),k(E,{key:1,color:"red"},{default:e(()=>r[5]||(r[5]=[p(" mdi-lock-off ")])),_:1,__:[5]}))]),"item.domains":e(({item:t})=>[t.domains.length>0?(u(),k(T,{key:0},{default:e(()=>[p(g(t.domains.length)+" associated domain(s) ",1)]),_:2},1024)):(u(),k(T,{key:1},{default:e(()=>r[6]||(r[6]=[p(" No associated domain ")])),_:1,__:[6]}))]),"expanded-item":e(({headers:t,item:_})=>[O("td",{colspan:t.length},[(u(!0),h(F,null,W(_.domains,(y,n)=>(u(),k(T,{key:n},{default:e(()=>[y.new_domain?(u(),h(F,{key:0},[p(g(y.name)+" --> "+g(y.new_domain.name),1)],64)):(u(),h(F,{key:1},[p(g(y.name)+" --> "+g(y.name),1)],64))]),_:2},1024))),128))],8,se)]),"item.actions":e(({item:t})=>[o(j,{"offset-y":""},{activator:e(({props:_})=>[o(N,L({icon:"mdi-dots-horizontal",variant:"text"},_),null,16)]),default:e(()=>[o(f(X),{items:S(),obj:t},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["modelValue","expanded","items","search","loading"])]),_:1}))}},ne={__name:"ProvidersView",setup(D){const{$gettext:s}=U(),d=x(!1);return(i,c)=>(u(),h("div",null,[o(z,{flat:""},{default:e(()=>[o(Y,null,{default:e(()=>[p(g(f(s)("Providers")),1)]),_:1}),o(I),o(N,{color:"primary",variant:"flat","prepend-icon":"mdi-plus",onClick:c[0]||(c[0]=v=>d.value=!0)},{default:e(()=>[p(g(f(s)("New")),1)]),_:1})]),_:1}),o(f(ie)),o(ae,{modelValue:d.value,"onUpdate:modelValue":c[2]||(c[2]=v=>d.value=v),fullscreen:"",scrollable:"",transition:"dialog-bottom-transition"},{default:e(()=>[o(f(re),{onClose:c[1]||(c[1]=v=>d.value=!1)})]),_:1},8,["modelValue"])]))}},ze=H(ne,[["__scopeId","data-v-1a3ee9c1"]]);export{ze as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as e,c as a,f as p,M as l,o as n}from"./index-BCUdq-Zu.js";import{_ as s}from"./ComposeEmailForm-22JKKl9M.js";import{a as u}from"./webmail-D2rioayn.js";import"./index-CJ87ZZG1.js";import"./VForm-DwwrfSN8.js";import"./tag-DCSJ2lri.js";import"./VTextField-FBM5XwC5.js";import"./VAvatar-DbAmPjyA.js";import"./VProgressCircular-1VQzh5PK.js";import"./forwardRefs-Cn7kyt_f.js";import"./ssrBoot-B-x5LB2_.js";import"./VCard-BGXTuaE-.js";import"./VFileInput-COIdDRxq.js";import"./VChip-Bm7znPZ6.js";import"./VTable-BeyU0Uhj.js";import"./VSpacer-pLqQLLwB.js";/* empty css */import"./HtmlEditor-KH0pmxrK.js";import"./VTextarea-BwkVlXPS.js";import"./contacts-DZDbAN4o.js";import"./VToolbar-AQXTYlxS.js";import"./VRow-DgX40uiD.js";import"./VSelect-CeY-emKK.js";import"./VMenu-CTyyRlRb.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VSelectionControl-BYdVI5Q9.js";import"./filter-BSw3r225.js";import"./VDialog-0NvxFg1X.js";const I={__name:"ReplyEmailView",setup(c){const t=l(),o=e(),r=i=>{o.value="",u.getEmailContent(t.query.mailbox,t.query.mailid,{context:"reply",dformat:i?"html":"plain"}).then(m=>{o.value=m.data})};return r(),(i,m)=>(n(),a(p(s),{"original-email":o.value,"reply-all":p(t).query.all==="true",onOnToggleHtmlMode:r},null,8,["original-email","reply-all"]))}};export{I as default};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{_ as Ke,b as j,n as se,u as ce,h as J,g as _,d as pe,L as _e,c as O,o as P,w as c,a as u,l as S,t as g,f as m,p as me,e as k,an as Ce,ao as H,a5 as Ue,F as B,v as Ge,x as Ye,T as We,y as Je,Y as Xe,ad as re,a6 as Ze,am as je,a7 as et,B as Re,Z as tt,J as at,ap as Pe,m as D,q as W,G as xe,ak as G,S as ot,aq as nt,k as rt,i as Me}from"./index-BCUdq-Zu.js";import{_ as lt}from"./AccountPasswordSubForm-D9xU4Or7.js";import{V as ae,r as oe}from"./VForm-DwwrfSN8.js";import{V as Ne,c as Fe,a as Te,b as st}from"./VExpansionPanels-eED_hKBs.js";import{V as K,u as it,c as ut,d as dt,e as ct}from"./VTextField-FBM5XwC5.js";import{V as ft}from"./VAutocomplete-CQ5LL_Nk.js";import{V as Q,d as be}from"./VAvatar-DbAmPjyA.js";import{c as ge,V as X,b as Z,a as Ee}from"./VCard-BGXTuaE-.js";import{V as ve,a as de}from"./VRow-DgX40uiD.js";import{V as ee}from"./VAlert-DSMD0lqo.js";import{a as vt}from"./VMenu-CTyyRlRb.js";import{V as mt}from"./VProgressCircular-1VQzh5PK.js";import{b as ht,u as pt,c as gt}from"./tag-DCSJ2lri.js";import{V as De}from"./VTable-BeyU0Uhj.js";import{V as yt}from"./VSpacer-pLqQLLwB.js";import{V as $e}from"./VDialog-0NvxFg1X.js";import{V as Oe}from"./VTextarea-BwkVlXPS.js";import{V as Le}from"./VCheckbox-BM1QzY5m.js";import{_ as we}from"./ConfirmDialog-BLu1kBWp.js";import{V as _t}from"./VDataTableVirtual-D9Km3t6e.js";import{V as bt,a as wt}from"./VToolbar-AQXTYlxS.js";import{V as Ct,a as Et,b as ie,c as ue}from"./VTabs-Dzq8prKm.js";import"./VSwitch-BSifpScd.js";import"./VSelectionControl-BYdVI5Q9.js";import"./forwardRefs-Cn7kyt_f.js";import"./ssrBoot-B-x5LB2_.js";import"./VSelect-CeY-emKK.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VChip-Bm7znPZ6.js";import"./filter-BSw3r225.js";/* empty css */import"./VDataTable-Etpc99CI.js";import"./VWindowItem-p9SJ1V9Y.js";const kt="languages",At={getAll(){return Ke.get(`/${kt}/`)}},Vt={class:"m-label"},St={class:"m-label"},Rt={class:"m-label"},Pt={class:"text-disabled"},Mt={href:"https://explore.transifex.com/tonio/modoboa/",target:"_blank"},Nt={href:"https://github.com/modoboa/modoboa/issues/new/choose",target:"_blank"},Ft={class:"m-label"},Tt={class:"m-label"},It={__name:"ProfileForm",setup(n){const{$gettext:l,available:i}=j(),s=se(),f=ce(),h=J(()=>f.authUser),o=_({}),e=_(),t=_(),a=_({}),r=_([]),d=_(0),v=_(!1),p=_(!1),w=_("");function A(R){o.value={first_name:R.first_name,last_name:R.last_name,language:R.language,phone_number:R.phone_number,secondary_email:R.secondary_email}}async function N(){const{valid:R}=await e.value.validate();R&&(v.value=!0,f.updateAccount(o.value).then(()=>{s.displayNotification({msg:l("Profile updated")}),f.accountLanguage in i||(w.value=l("Language does no exist"))}).finally(()=>v.value=!1))}async function F(){const{valid:R}=await t.value.validate();if(R){p.value=!0;try{await f.updatePassword({password:o.value.password,new_password:o.value.new_password}),s.displayNotification({msg:l("Password updated")}),t.value.reset()}catch(C){C.status===400&&(a.value=C.response.data)}finally{p.value=!1}}}return pe(()=>{A(h.value),At.getAll().then(R=>{r.value=R.data})}),_e(()=>h,R=>{R?A(R):o.value={}}),(R,C)=>(P(),O(st,{modelValue:d.value,"onUpdate:modelValue":C[6]||(C[6]=y=>d.value=y),flat:""},{default:c(()=>[u(Ne,null,{default:c(()=>[u(Fe,null,{default:c(()=>[S(g(m(l)("General settings")),1)]),_:1}),u(Te,null,{default:c(()=>[u(ae,{ref_key:"profileForm",ref:e,onSubmit:me(N,["prevent"])},{default:c(()=>[k("label",Vt,g(m(l)("First name")),1),u(K,{modelValue:o.value.first_name,"onUpdate:modelValue":C[0]||(C[0]=y=>o.value.first_name=y),variant:"outlined",density:"compact"},null,8,["modelValue"]),k("label",St,g(m(l)("Last name")),1),u(K,{modelValue:o.value.last_name,"onUpdate:modelValue":C[1]||(C[1]=y=>o.value.last_name=y),variant:"outlined",density:"compact"},null,8,["modelValue"]),k("label",Rt,[S(g(m(l)("Language"))+" ",1),k("p",Pt,[S(g(m(l)("Feel free to improve the translations"))+" ",1),k("a",Mt,g(m(l)("here")),1),S(" "+g(m(l)("or suggest a new language"))+" ",1),k("a",Nt,g(m(l)("there")),1)])]),u(ft,{modelValue:o.value.language,"onUpdate:modelValue":C[2]||(C[2]=y=>o.value.language=y),items:r.value,"item-title":"label","item-value":"code",variant:"outlined",density:"compact","error-messages":w.value},null,8,["modelValue","items","error-messages"]),k("label",Ft,g(m(l)("Phone number")),1),u(K,{modelValue:o.value.phone_number,"onUpdate:modelValue":C[3]||(C[3]=y=>o.value.phone_number=y),label:m(l)("Phone number"),variant:"outlined",density:"compact"},null,8,["modelValue","label"]),k("label",Tt,g(m(l)("Secondary email")),1),u(K,{modelValue:o.value.secondary_email,"onUpdate:modelValue":C[4]||(C[4]=y=>o.value.secondary_email=y),variant:"outlined",density:"compact",rules:[m(oe).emailOrNull]},null,8,["modelValue","rules"]),u(Q,{color:"success",type:"submit",loading:v.value},{default:c(()=>[S(g(m(l)("Update settings")),1)]),_:1},8,["loading"])]),_:1},512)]),_:1})]),_:1}),u(Ne,null,{default:c(()=>[u(Fe,null,{default:c(()=>[S(g(m(l)("Password")),1)]),_:1}),u(Te,null,{default:c(()=>[u(ae,{ref_key:"passwordForm",ref:t,onSubmit:me(F,["prevent"])},{default:c(()=>[u(lt,{modelValue:o.value,"onUpdate:modelValue":C[5]||(C[5]=y=>o.value=y),"form-errors":a.value,"with-password-check":""},null,8,["modelValue","form-errors"]),u(Q,{color:"success",type:"submit",loading:p.value},{default:c(()=>[S(g(m(l)("Update Password")),1)]),_:1},8,["loading"])]),_:1},512)]),_:1})]),_:1})]),_:1},8,["modelValue"]))}};/*!
|
|
2
|
-
* qrcode.vue v3.6.0
|
|
3
|
-
* A Vue.js component to generate QRCode. Both support Vue 2 and Vue 3
|
|
4
|
-
* © 2017-PRESENT @scopewu(https://github.com/scopewu)
|
|
5
|
-
* MIT License.
|
|
6
|
-
*/var Y=function(){return Y=Object.assign||function(l){for(var i,s=1,f=arguments.length;s<f;s++){i=arguments[s];for(var h in i)Object.prototype.hasOwnProperty.call(i,h)&&(l[h]=i[h])}return l},Y.apply(this,arguments)};var ne;(function(n){var l=function(){function o(e,t,a,r){if(this.version=e,this.errorCorrectionLevel=t,this.modules=[],this.isFunction=[],e<o.MIN_VERSION||e>o.MAX_VERSION)throw new RangeError("Version value out of range");if(r<-1||r>7)throw new RangeError("Mask value out of range");this.size=e*4+17;for(var d=[],v=0;v<this.size;v++)d.push(!1);for(var v=0;v<this.size;v++)this.modules.push(d.slice()),this.isFunction.push(d.slice());this.drawFunctionPatterns();var p=this.addEccAndInterleave(a);if(this.drawCodewords(p),r==-1)for(var w=1e9,v=0;v<8;v++){this.applyMask(v),this.drawFormatBits(v);var A=this.getPenaltyScore();A<w&&(r=v,w=A),this.applyMask(v)}f(0<=r&&r<=7),this.mask=r,this.applyMask(r),this.drawFormatBits(r),this.isFunction=[]}return o.encodeText=function(e,t){var a=n.QrSegment.makeSegments(e);return o.encodeSegments(a,t)},o.encodeBinary=function(e,t){var a=n.QrSegment.makeBytes(e);return o.encodeSegments([a],t)},o.encodeSegments=function(e,t,a,r,d,v){if(a===void 0&&(a=1),r===void 0&&(r=40),d===void 0&&(d=-1),v===void 0&&(v=!0),!(o.MIN_VERSION<=a&&a<=r&&r<=o.MAX_VERSION)||d<-1||d>7)throw new RangeError("Invalid value");var p,w;for(p=a;;p++){var A=o.getNumDataCodewords(p,t)*8,N=h.getTotalBits(e,p);if(N<=A){w=N;break}if(p>=r)throw new RangeError("Data too long")}for(var F=0,R=[o.Ecc.MEDIUM,o.Ecc.QUARTILE,o.Ecc.HIGH];F<R.length;F++){var C=R[F];v&&w<=o.getNumDataCodewords(p,C)*8&&(t=C)}for(var y=[],b=0,V=e;b<V.length;b++){var T=V[b];i(T.mode.modeBits,4,y),i(T.numChars,T.mode.numCharCountBits(p),y);for(var E=0,M=T.getData();E<M.length;E++){var $=M[E];y.push($)}}f(y.length==w);var x=o.getNumDataCodewords(p,t)*8;f(y.length<=x),i(0,Math.min(4,x-y.length),y),i(0,(8-y.length%8)%8,y),f(y.length%8==0);for(var I=236;y.length<x;I^=253)i(I,8,y);for(var q=[];q.length*8<y.length;)q.push(0);return y.forEach(function(ye,fe){return q[fe>>>3]|=ye<<7-(fe&7)}),new o(p,t,q,d)},o.prototype.getModule=function(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]},o.prototype.getModules=function(){return this.modules},o.prototype.drawFunctionPatterns=function(){for(var e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);for(var t=this.getAlignmentPatternPositions(),a=t.length,e=0;e<a;e++)for(var r=0;r<a;r++)e==0&&r==0||e==0&&r==a-1||e==a-1&&r==0||this.drawAlignmentPattern(t[e],t[r]);this.drawFormatBits(0),this.drawVersion()},o.prototype.drawFormatBits=function(e){for(var t=this.errorCorrectionLevel.formatBits<<3|e,a=t,r=0;r<10;r++)a=a<<1^(a>>>9)*1335;var d=(t<<10|a)^21522;f(d>>>15==0);for(var r=0;r<=5;r++)this.setFunctionModule(8,r,s(d,r));this.setFunctionModule(8,7,s(d,6)),this.setFunctionModule(8,8,s(d,7)),this.setFunctionModule(7,8,s(d,8));for(var r=9;r<15;r++)this.setFunctionModule(14-r,8,s(d,r));for(var r=0;r<8;r++)this.setFunctionModule(this.size-1-r,8,s(d,r));for(var r=8;r<15;r++)this.setFunctionModule(8,this.size-15+r,s(d,r));this.setFunctionModule(8,this.size-8,!0)},o.prototype.drawVersion=function(){if(!(this.version<7)){for(var e=this.version,t=0;t<12;t++)e=e<<1^(e>>>11)*7973;var a=this.version<<12|e;f(a>>>18==0);for(var t=0;t<18;t++){var r=s(a,t),d=this.size-11+t%3,v=Math.floor(t/3);this.setFunctionModule(d,v,r),this.setFunctionModule(v,d,r)}}},o.prototype.drawFinderPattern=function(e,t){for(var a=-4;a<=4;a++)for(var r=-4;r<=4;r++){var d=Math.max(Math.abs(r),Math.abs(a)),v=e+r,p=t+a;0<=v&&v<this.size&&0<=p&&p<this.size&&this.setFunctionModule(v,p,d!=2&&d!=4)}},o.prototype.drawAlignmentPattern=function(e,t){for(var a=-2;a<=2;a++)for(var r=-2;r<=2;r++)this.setFunctionModule(e+r,t+a,Math.max(Math.abs(r),Math.abs(a))!=1)},o.prototype.setFunctionModule=function(e,t,a){this.modules[t][e]=a,this.isFunction[t][e]=!0},o.prototype.addEccAndInterleave=function(e){var t=this.version,a=this.errorCorrectionLevel;if(e.length!=o.getNumDataCodewords(t,a))throw new RangeError("Invalid argument");for(var r=o.NUM_ERROR_CORRECTION_BLOCKS[a.ordinal][t],d=o.ECC_CODEWORDS_PER_BLOCK[a.ordinal][t],v=Math.floor(o.getNumRawDataModules(t)/8),p=r-v%r,w=Math.floor(v/r),A=[],N=o.reedSolomonComputeDivisor(d),F=0,R=0;F<r;F++){var C=e.slice(R,R+w-d+(F<p?0:1));R+=C.length;var y=o.reedSolomonComputeRemainder(C,N);F<p&&C.push(0),A.push(C.concat(y))}for(var b=[],V=function(T){A.forEach(function(E,M){(T!=w-d||M>=p)&&b.push(E[T])})},F=0;F<A[0].length;F++)V(F);return f(b.length==v),b},o.prototype.drawCodewords=function(e){if(e.length!=Math.floor(o.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");for(var t=0,a=this.size-1;a>=1;a-=2){a==6&&(a=5);for(var r=0;r<this.size;r++)for(var d=0;d<2;d++){var v=a-d,p=(a+1&2)==0,w=p?this.size-1-r:r;!this.isFunction[w][v]&&t<e.length*8&&(this.modules[w][v]=s(e[t>>>3],7-(t&7)),t++)}}f(t==e.length*8)},o.prototype.applyMask=function(e){if(e<0||e>7)throw new RangeError("Mask value out of range");for(var t=0;t<this.size;t++)for(var a=0;a<this.size;a++){var r=void 0;switch(e){case 0:r=(a+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=a%3==0;break;case 3:r=(a+t)%3==0;break;case 4:r=(Math.floor(a/3)+Math.floor(t/2))%2==0;break;case 5:r=a*t%2+a*t%3==0;break;case 6:r=(a*t%2+a*t%3)%2==0;break;case 7:r=((a+t)%2+a*t%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[t][a]&&r&&(this.modules[t][a]=!this.modules[t][a])}},o.prototype.getPenaltyScore=function(){for(var e=0,t=0;t<this.size;t++){for(var a=!1,r=0,d=[0,0,0,0,0,0,0],v=0;v<this.size;v++)this.modules[t][v]==a?(r++,r==5?e+=o.PENALTY_N1:r>5&&e++):(this.finderPenaltyAddHistory(r,d),a||(e+=this.finderPenaltyCountPatterns(d)*o.PENALTY_N3),a=this.modules[t][v],r=1);e+=this.finderPenaltyTerminateAndCount(a,r,d)*o.PENALTY_N3}for(var v=0;v<this.size;v++){for(var a=!1,p=0,d=[0,0,0,0,0,0,0],t=0;t<this.size;t++)this.modules[t][v]==a?(p++,p==5?e+=o.PENALTY_N1:p>5&&e++):(this.finderPenaltyAddHistory(p,d),a||(e+=this.finderPenaltyCountPatterns(d)*o.PENALTY_N3),a=this.modules[t][v],p=1);e+=this.finderPenaltyTerminateAndCount(a,p,d)*o.PENALTY_N3}for(var t=0;t<this.size-1;t++)for(var v=0;v<this.size-1;v++){var w=this.modules[t][v];w==this.modules[t][v+1]&&w==this.modules[t+1][v]&&w==this.modules[t+1][v+1]&&(e+=o.PENALTY_N2)}for(var A=0,N=0,F=this.modules;N<F.length;N++){var R=F[N];A=R.reduce(function(b,V){return b+(V?1:0)},A)}var C=this.size*this.size,y=Math.ceil(Math.abs(A*20-C*10)/C)-1;return f(0<=y&&y<=9),e+=y*o.PENALTY_N4,f(0<=e&&e<=2568888),e},o.prototype.getAlignmentPatternPositions=function(){if(this.version==1)return[];for(var e=Math.floor(this.version/7)+2,t=Math.floor((this.version*8+e*3+5)/(e*4-4))*2,a=[6],r=this.size-7;a.length<e;r-=t)a.splice(1,0,r);return a},o.getNumRawDataModules=function(e){if(e<o.MIN_VERSION||e>o.MAX_VERSION)throw new RangeError("Version number out of range");var t=(16*e+128)*e+64;if(e>=2){var a=Math.floor(e/7)+2;t-=(25*a-10)*a-55,e>=7&&(t-=36)}return f(208<=t&&t<=29648),t},o.getNumDataCodewords=function(e,t){return Math.floor(o.getNumRawDataModules(e)/8)-o.ECC_CODEWORDS_PER_BLOCK[t.ordinal][e]*o.NUM_ERROR_CORRECTION_BLOCKS[t.ordinal][e]},o.reedSolomonComputeDivisor=function(e){if(e<1||e>255)throw new RangeError("Degree out of range");for(var t=[],a=0;a<e-1;a++)t.push(0);t.push(1);for(var r=1,a=0;a<e;a++){for(var d=0;d<t.length;d++)t[d]=o.reedSolomonMultiply(t[d],r),d+1<t.length&&(t[d]^=t[d+1]);r=o.reedSolomonMultiply(r,2)}return t},o.reedSolomonComputeRemainder=function(e,t){for(var a=t.map(function(w){return 0}),r=function(w){var A=w^a.shift();a.push(0),t.forEach(function(N,F){return a[F]^=o.reedSolomonMultiply(N,A)})},d=0,v=e;d<v.length;d++){var p=v[d];r(p)}return a},o.reedSolomonMultiply=function(e,t){if(e>>>8||t>>>8)throw new RangeError("Byte out of range");for(var a=0,r=7;r>=0;r--)a=a<<1^(a>>>7)*285,a^=(t>>>r&1)*e;return f(a>>>8==0),a},o.prototype.finderPenaltyCountPatterns=function(e){var t=e[1];f(t<=this.size*3);var a=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(a&&e[0]>=t*4&&e[6]>=t?1:0)+(a&&e[6]>=t*4&&e[0]>=t?1:0)},o.prototype.finderPenaltyTerminateAndCount=function(e,t,a){return e&&(this.finderPenaltyAddHistory(t,a),t=0),t+=this.size,this.finderPenaltyAddHistory(t,a),this.finderPenaltyCountPatterns(a)},o.prototype.finderPenaltyAddHistory=function(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)},o.MIN_VERSION=1,o.MAX_VERSION=40,o.PENALTY_N1=3,o.PENALTY_N2=3,o.PENALTY_N3=40,o.PENALTY_N4=10,o.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],o.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],o}();n.QrCode=l;function i(o,e,t){if(e<0||e>31||o>>>e)throw new RangeError("Value out of range");for(var a=e-1;a>=0;a--)t.push(o>>>a&1)}function s(o,e){return(o>>>e&1)!=0}function f(o){if(!o)throw new Error("Assertion error")}var h=function(){function o(e,t,a){if(this.mode=e,this.numChars=t,this.bitData=a,t<0)throw new RangeError("Invalid argument");this.bitData=a.slice()}return o.makeBytes=function(e){for(var t=[],a=0,r=e;a<r.length;a++){var d=r[a];i(d,8,t)}return new o(o.Mode.BYTE,e.length,t)},o.makeNumeric=function(e){if(!o.isNumeric(e))throw new RangeError("String contains non-numeric characters");for(var t=[],a=0;a<e.length;){var r=Math.min(e.length-a,3);i(parseInt(e.substring(a,a+r),10),r*3+1,t),a+=r}return new o(o.Mode.NUMERIC,e.length,t)},o.makeAlphanumeric=function(e){if(!o.isAlphanumeric(e))throw new RangeError("String contains unencodable characters in alphanumeric mode");var t=[],a;for(a=0;a+2<=e.length;a+=2){var r=o.ALPHANUMERIC_CHARSET.indexOf(e.charAt(a))*45;r+=o.ALPHANUMERIC_CHARSET.indexOf(e.charAt(a+1)),i(r,11,t)}return a<e.length&&i(o.ALPHANUMERIC_CHARSET.indexOf(e.charAt(a)),6,t),new o(o.Mode.ALPHANUMERIC,e.length,t)},o.makeSegments=function(e){return e==""?[]:o.isNumeric(e)?[o.makeNumeric(e)]:o.isAlphanumeric(e)?[o.makeAlphanumeric(e)]:[o.makeBytes(o.toUtf8ByteArray(e))]},o.makeEci=function(e){var t=[];if(e<0)throw new RangeError("ECI assignment value out of range");if(e<128)i(e,8,t);else if(e<16384)i(2,2,t),i(e,14,t);else if(e<1e6)i(6,3,t),i(e,21,t);else throw new RangeError("ECI assignment value out of range");return new o(o.Mode.ECI,0,t)},o.isNumeric=function(e){return o.NUMERIC_REGEX.test(e)},o.isAlphanumeric=function(e){return o.ALPHANUMERIC_REGEX.test(e)},o.prototype.getData=function(){return this.bitData.slice()},o.getTotalBits=function(e,t){for(var a=0,r=0,d=e;r<d.length;r++){var v=d[r],p=v.mode.numCharCountBits(t);if(v.numChars>=1<<p)return 1/0;a+=4+p+v.bitData.length}return a},o.toUtf8ByteArray=function(e){e=encodeURI(e);for(var t=[],a=0;a<e.length;a++)e.charAt(a)!="%"?t.push(e.charCodeAt(a)):(t.push(parseInt(e.substring(a+1,a+3),16)),a+=2);return t},o.NUMERIC_REGEX=/^[0-9]*$/,o.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,o.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",o}();n.QrSegment=h})(ne||(ne={}));(function(n){(function(l){var i=function(){function s(f,h){this.ordinal=f,this.formatBits=h}return s.LOW=new s(0,1),s.MEDIUM=new s(1,0),s.QUARTILE=new s(2,3),s.HIGH=new s(3,2),s}();l.Ecc=i})(n.QrCode||(n.QrCode={}))})(ne||(ne={}));(function(n){(function(l){var i=function(){function s(f,h){this.modeBits=f,this.numBitsCharCount=h}return s.prototype.numCharCountBits=function(f){return this.numBitsCharCount[Math.floor((f+7)/17)]},s.NUMERIC=new s(1,[10,12,14]),s.ALPHANUMERIC=new s(2,[9,11,13]),s.BYTE=new s(4,[8,16,16]),s.KANJI=new s(8,[8,10,12]),s.ECI=new s(7,[0,0,0]),s}();l.Mode=i})(n.QrSegment||(n.QrSegment={}))})(ne||(ne={}));var le=ne,ke="L",Ae={L:le.QrCode.Ecc.LOW,M:le.QrCode.Ecc.MEDIUM,Q:le.QrCode.Ecc.QUARTILE,H:le.QrCode.Ecc.HIGH},Ut=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}();function Ve(n){return n in Ae}function Be(n,l){l===void 0&&(l=0);var i=[];return n.forEach(function(s,f){var h=null;s.forEach(function(o,e){if(!o&&h!==null){i.push("M".concat(h+l," ").concat(f+l,"h").concat(e-h,"v1H").concat(h+l,"z")),h=null;return}if(e===s.length-1){if(!o)return;h===null?i.push("M".concat(e+l,",").concat(f+l," h1v1H").concat(e+l,"z")):i.push("M".concat(h+l,",").concat(f+l," h").concat(e+1-h,"v1H").concat(h+l,"z"));return}o&&h===null&&(h=e)})}),i.join("")}function ze(n,l,i,s){var f=s.width,h=s.height,o=s.x,e=s.y,t=n.length+i*2,a=Math.floor(l*.1),r=t/l,d=(f||a)*r,v=(h||a)*r,p=o==null?n.length/2-d/2:o*r,w=e==null?n.length/2-v/2:e*r,A=null;if(s.excavate){var N=Math.floor(p),F=Math.floor(w),R=Math.ceil(d+p-N),C=Math.ceil(v+w-F);A={x:N,y:F,w:R,h:C}}return{x:p,y:w,h:v,w:d,excavation:A}}function Qe(n,l){return n.slice().map(function(i,s){return s<l.y||s>=l.y+l.h?i:i.map(function(f,h){return h<l.x||h>=l.x+l.w?f:!1})})}var Se={value:{type:String,required:!0,default:""},size:{type:Number,default:100},level:{type:String,default:ke,validator:function(n){return Ve(n)}},background:{type:String,default:"#fff"},foreground:{type:String,default:"#000"},margin:{type:Number,required:!1,default:0},imageSettings:{type:Object,required:!1,default:function(){return{}}},gradient:{type:Boolean,required:!1,default:!1},gradientType:{type:String,required:!1,default:"linear",validator:function(n){return["linear","radial"].indexOf(n)>-1}},gradientStartColor:{type:String,required:!1,default:"#000"},gradientEndColor:{type:String,required:!1,default:"#fff"}},xt=Y(Y({},Se),{renderAs:{type:String,required:!1,default:"canvas",validator:function(n){return["canvas","svg"].indexOf(n)>-1}}}),Dt=Ce({name:"QRCodeSvg",props:Se,setup:function(n){var l=_(0),i=_(""),s,f=function(){var o=n.value,e=n.level,t=n.margin,a=t>>>0,r=Ve(e)?e:ke,d=le.QrCode.encodeText(o,Ae[r]).getModules();if(l.value=d.length+a*2,n.imageSettings.src){var v=ze(d,n.size,a,n.imageSettings);s={x:v.x+a,y:v.y+a,width:v.w,height:v.h},v.excavation&&(d=Qe(d,v.excavation))}i.value=Be(d,a)},h=function(){if(!n.gradient)return null;var o=n.gradientType==="linear"?{x1:"0%",y1:"0%",x2:"100%",y2:"100%"}:{cx:"50%",cy:"50%",r:"50%",fx:"50%",fy:"50%"};return H(n.gradientType==="linear"?"linearGradient":"radialGradient",Y({id:"qr-gradient"},o),[H("stop",{offset:"0%",style:{stopColor:n.gradientStartColor}}),H("stop",{offset:"100%",style:{stopColor:n.gradientEndColor}})])};return f(),Ue(f),function(){return H("svg",{width:n.size,height:n.size,"shape-rendering":"crispEdges",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(l.value," ").concat(l.value)},[H("defs",{},[h()]),H("rect",{width:"100%",height:"100%",fill:n.background}),H("path",{fill:n.gradient?"url(#qr-gradient)":n.foreground,d:i.value}),n.imageSettings.src&&H("image",Y({href:n.imageSettings.src},s))])}}}),$t=Ce({name:"QRCodeCanvas",props:Se,setup:function(n,l){var i=_(null),s=_(null),f=function(){var o=n.value,e=n.level,t=n.size,a=n.margin,r=n.background,d=n.foreground,v=n.gradient,p=n.gradientType,w=n.gradientStartColor,A=n.gradientEndColor,N=a>>>0,F=Ve(e)?e:ke,R=i.value;if(R){var C=R.getContext("2d");if(C){var y=le.QrCode.encodeText(o,Ae[F]).getModules(),b=y.length+N*2,V=s.value,T={x:0,y:0,width:0,height:0},E=n.imageSettings.src&&V!=null&&V.naturalWidth!==0&&V.naturalHeight!==0;if(E){var M=ze(y,n.size,N,n.imageSettings);T={x:M.x+N,y:M.y+N,width:M.w,height:M.h},M.excavation&&(y=Qe(y,M.excavation))}var $=window.devicePixelRatio||1,x=t/b*$;if(R.height=R.width=t*$,C.scale(x,x),C.fillStyle=r,C.fillRect(0,0,b,b),v){var I=void 0;p==="linear"?I=C.createLinearGradient(0,0,b,b):I=C.createRadialGradient(b/2,b/2,0,b/2,b/2,b/2),I.addColorStop(0,w),I.addColorStop(1,A),C.fillStyle=I}else C.fillStyle=d;Ut?C.fill(new Path2D(Be(y,N))):y.forEach(function(q,ye){q.forEach(function(fe,He){fe&&C.fillRect(He+N,ye+N,1,1)})}),E&&C.drawImage(V,T.x,T.y,T.width,T.height)}}};pe(f),Ue(f);var h=l.attrs.style;return function(){return H(B,[H("canvas",Y(Y({},l.attrs),{ref:i,style:Y(Y({},h),{width:"".concat(n.size,"px"),height:"".concat(n.size,"px")})})),n.imageSettings.src&&H("img",{ref:s,src:n.imageSettings.src,style:{display:"none"},onLoad:f})])}}}),Ot=Ce({name:"Qrcode",render:function(){var n=this.$props,l=n.renderAs,i=n.value,s=n.size,f=n.margin,h=n.level,o=n.background,e=n.foreground,t=n.imageSettings,a=n.gradient,r=n.gradientType,d=n.gradientStartColor,v=n.gradientEndColor;return H(l==="svg"?Dt:$t,{value:i,size:s,margin:f,level:h,background:o,foreground:e,imageSettings:t,gradient:a,gradientType:r,gradientStartColor:d,gradientEndColor:v})},props:xt});const Lt=Ye({autofocus:Boolean,divider:String,focusAll:Boolean,label:{type:String,default:"$vuetify.input.otp"},length:{type:[Number,String],default:6},modelValue:{type:[Number,String],default:void 0},placeholder:String,type:{type:String,default:"number"},...gt(),...dt(),...tt(ct({variant:"outlined"}),["baseColor","bgColor","class","color","disabled","error","loading","rounded","style","theme","variant"])},"VOtpInput"),Bt=Ge()({name:"VOtpInput",props:Lt(),emits:{finish:n=>!0,"update:focused":n=>!0,"update:modelValue":n=>!0},setup(n,l){let{attrs:i,emit:s,slots:f}=l;const{dimensionStyles:h}=ht(n),{isFocused:o,focus:e,blur:t}=it(n),a=We(n,"modelValue","",E=>E==null?[]:String(E).split(""),E=>E.join("")),{t:r}=Je(),d=J(()=>Number(n.length)),v=J(()=>Array(d.value).fill(0)),p=_(-1),w=_(),A=_([]),N=J(()=>A.value[p.value]);function F(){if(T(N.value.value)){N.value.value="";return}const E=a.value.slice(),M=N.value.value;E[p.value]=M;let $=null;p.value>a.value.length?$=a.value.length+1:p.value+1!==d.value&&($="next"),a.value=E,$&&Pe(w.value,$)}function R(E){const M=a.value.slice(),$=p.value;let x=null;["ArrowLeft","ArrowRight","Backspace","Delete"].includes(E.key)&&(E.preventDefault(),E.key==="ArrowLeft"?x="prev":E.key==="ArrowRight"?x="next":["Backspace","Delete"].includes(E.key)&&(M[p.value]="",a.value=M,p.value>0&&E.key==="Backspace"?x="prev":requestAnimationFrame(()=>{var I;(I=A.value[$])==null||I.select()})),requestAnimationFrame(()=>{x!=null&&Pe(w.value,x)}))}function C(E,M){var x,I;M.preventDefault(),M.stopPropagation();const $=((x=M==null?void 0:M.clipboardData)==null?void 0:x.getData("Text").trim().slice(0,d.value))??"";T($)||(a.value=$.split(""),(I=A.value)==null||I[E].blur())}function y(){a.value=[]}function b(E,M){e(),p.value=M}function V(){t(),p.value=-1}function T(E){return n.type==="number"&&/[^0-9]/g.test(E)}return Xe({VField:{color:re(()=>n.color),bgColor:re(()=>n.color),baseColor:re(()=>n.baseColor),disabled:re(()=>n.disabled),error:re(()=>n.error),variant:re(()=>n.variant)}},{scoped:!0}),_e(a,E=>{E.length===d.value&&(p.value=d.value-1,s("finish",E.join("")))},{deep:!0}),_e(p,E=>{E<0||Ze(()=>{var M;(M=A.value[E])==null||M.select()})}),pt(()=>{var $;const[E,M]=je(i);return k("div",Re({class:["v-otp-input",{"v-otp-input--divided":!!n.divider},n.class],style:[n.style]},E),[k("div",{ref:w,class:"v-otp-input__content",style:et([h.value])},[v.value.map((x,I)=>k(B,null,[n.divider&&I!==0&&k("span",{class:"v-otp-input__divider"},[n.divider]),u(ut,{focused:o.value&&n.focusAll||p.value===I,key:I},{...f,loader:void 0,default:()=>k("input",{ref:q=>A.value[I]=q,"aria-label":r(n.label,I+1),autofocus:I===0&&n.autofocus,autocomplete:"one-time-code",class:at(["v-otp-input__field"]),disabled:n.disabled,inputmode:n.type==="number"?"numeric":"text",min:n.type==="number"?0:void 0,maxlength:I===0?d.value:"1",placeholder:n.placeholder,type:n.type==="number"?"text":n.type,value:a.value[I],onInput:F,onFocus:q=>b(q,I),onBlur:V,onKeydown:R,onPaste:q=>C(I,q)},null)})])),k("input",Re({class:"v-otp-input-input",type:"hidden"},M,{value:a.value.join("")}),null),u(vt,{contained:!0,"content-class":"v-otp-input__loader","model-value":!!n.loading,persistent:!0},{default:()=>{var x;return[((x=f.loader)==null?void 0:x.call(f))??u(mt,{color:typeof n.loading=="boolean"?void 0:n.loading,indeterminate:!0,size:"24",width:"2"},null)]}}),($=f.default)==null?void 0:$.call(f)])])}),{blur:()=>{var E;(E=A.value)==null||E.some(M=>M.blur())},focus:()=>{var E;(E=A.value)==null||E[0].focus()},reset:y,isFocused:o}}}),zt={class:"text-h6"},Qt={class:"m-label"},qt={class:"mt-4"},Ht={class:"m-label"},Kt={class:"mt-5"},Gt={tag:"p",class:"my-4"},Yt={__name:"TotpAuthForm",setup(n){const{$gettext:l}=j(),i=se(),s=ce(),f=_(),h=_(""),o=_([]),e=_(null),t=_(null),a=_(!1),r=_(!1),d=_(""),v=_([]),p=_([]),w=_(!1),A=J(()=>s.authUser.totp_enabled);function N(){G.getKeyForTFASetup().then(b=>{e.value=b.data.key,t.value=b.data.url})}function F(){navigator.clipboard.writeText(e.value),a.value=!0}function R(){G.startTFASetup().then(()=>{N()})}function C(){s.finalizeTFASetup(h.value).then(b=>{e.value=null,t.value=null,b.status===200&&(p.value=b.data.tokens),w.value=!0}).catch(b=>{b.response.status===400&&(o.value=b.response.data.pin_code)})}async function y(){if(!await f.value.validate())return;const V={password:d.value};r.value=!0,G.disableTFA(V).then(()=>{s.fetchUser()}).catch(T=>{T.response.status===400?v.value=T.response.data.password:i.displayNotification({msg:l(T.response.data),type:"error"})}).finally(()=>{r.value=!1,f.value.reset()})}return(b,V)=>(P(),D("div",null,[u(Z,{flat:""},{default:c(()=>[u(ge,null,{default:c(()=>[k("span",zt,g(m(l)("One-time passwords")),1)]),_:1}),u(X,null,{default:c(()=>[t.value?(P(),O(ve,{key:0},{default:c(()=>[u(de,{cols:"4"},{default:c(()=>[u(ve,{rows:"2"},{default:c(()=>[u(Ot,{value:t.value,size:250,"render-as":"svg",level:"H",class:"qrcode"},null,8,["value"])]),_:1}),u(ve,null,{default:c(()=>[u(Q,{color:"primary",class:"key",onClick:F},{default:c(()=>[S(g(m(l)("Click here to copy the key"))+" ",1),a.value?(P(),O(be,{key:0,color:"success"},{default:c(()=>V[2]||(V[2]=[S(" mdi-check-all ")])),_:1,__:[2]})):W("",!0)]),_:1})]),_:1})]),_:1}),u(de,{cols:"6"},{default:c(()=>[u(ee,{type:"info",class:"ma-4"},{default:c(()=>[S(g(m(l)("Install a soft token authenticator like FreeOTP or Google Authenticator from your application repository and use that app to scan this QR code.")),1)]),_:1}),k("label",Qt,g(m(l)("Pin code")),1),u(Bt,{modelValue:h.value,"onUpdate:modelValue":V[0]||(V[0]=T=>h.value=T),error:o.value.length!==0},null,8,["modelValue","error"]),u(Q,{color:"primary",onClick:C},{default:c(()=>[S(g(m(l)("Register")),1)]),_:1})]),_:1})]),_:1})):w.value?(P(),D(B,{key:1},[u(ee,{type:"success"},{default:c(()=>[S(g(m(l)("Congratulations! Two-factor authentication using one-time passwords is now enabled for your account.")),1)]),_:1}),p.value.length?(P(),D(B,{key:0},[k("p",qt,g(m(l)("The following recovery codes can be used one time each to let you regain access to your account, in case you lose your phone for example. Make sure to save them in a safe place, otherwise you won't be able to access your account anymore.")),1),u(De,{density:"compact"},{default:c(()=>[k("tbody",null,[(P(!0),D(B,null,xe(p.value,T=>(P(),D("tr",{key:T},[k("td",null,g(T),1)]))),128))])]),_:1})],64)):W("",!0)],64)):A.value?(P(),D(B,{key:2},[u(ee,{type:"info",class:"mb-2"},{default:c(()=>[S(g(m(l)("Two-factor authentication using one-time passwords is enabled for your account.")),1)]),_:1}),u(ae,{ref_key:"editTFAForm",ref:f},{default:c(()=>[k("label",Ht,g(m(l)("Password")),1),u(K,{modelValue:d.value,"onUpdate:modelValue":V[1]||(V[1]=T=>d.value=T),autocomplete:"new-password",type:"password",variant:"outlined",density:"compact",rules:[m(oe).required],"error-messages":v.value},null,8,["modelValue","rules","error-messages"]),k("div",Kt,[u(Q,{color:"error",class:"mr-2",loading:r.value,onClick:y},{default:c(()=>[S(g(m(l)("Disable 2FA")),1)]),_:1},8,["loading"])])]),_:1},512)],64)):(P(),D(B,{key:3},[k("div",Gt,g(m(l)("Two-factor authentication (2FA) using one-time passwords is not yet activated for your account.")),1),u(Q,{color:"success",onClick:R},{default:c(()=>[S(g(m(l)("Register authenticator")),1)]),_:1})],64))]),_:1})]),_:1})]))}},Wt={class:"headline"},qe={__name:"RecoveryCodesResetDialog",props:{tokens:{type:Array,default:null}},emits:["close"],setup(n,{emit:l}){const{$gettext:i}=j(),s=l;function f(){s("close")}return(h,o)=>(P(),O(Z,null,{default:c(()=>[u(ge,null,{default:c(()=>[k("span",Wt,g(m(i)("New recovery codes")),1)]),_:1}),u(X,null,{default:c(()=>[u(ee,{type:"info"},{default:c(()=>[S(g(m(i)("The following recovery codes can be used one time each to let you regain access to your account, in case you lose your phone for example. Make sure to save them in a safe place, otherwise you won't be able to access your account anymore.")),1)]),_:1}),u(De,{class:"mt-4",density:"compact"},{default:c(()=>[k("tbody",null,[(P(!0),D(B,null,xe(n.tokens,e=>(P(),D("tr",{key:e},[k("td",null,g(e),1)]))),128))])]),_:1})]),_:1}),u(Ee,null,{default:c(()=>[u(yt),u(Q,{color:"grey darken-1",text:"",onClick:f},{default:c(()=>[S(g(m(i)("Close")),1)]),_:1})]),_:1})]),_:1}))}},Jt={class:"text-h6"},Xt={class:"m-label"},Zt={class:"mt-5"},jt={key:1,tag:"p",class:"my-4"},ea={__name:"BackupCodeAuthForm",setup(n){const{$gettext:l}=j(),i=se(),s=ce(),f=J(()=>s.authUser.tfa_enabled),h=_(!1),o=_(),e=_(""),t=_([]),a=_(),r=_(!1);async function d(){if(!await o.value.validate())return;const w={password:e.value};h.value=!0,G.resetRecoveryCodes(w).then(A=>{t.value=A.data.tokens,r.value=!0}).catch(A=>{A.response.status===400?a.value=A.response.data.password:i.displayNotification({msg:l(A.response.data),type:"error"})}).finally(()=>{h.value=!1,o.value.reset()})}function v(){t.value=[],r.value=!1}return(p,w)=>(P(),D("div",null,[u(Z,{flat:""},{default:c(()=>[u(ge,null,{default:c(()=>[k("span",Jt,g(m(l)("Backup codes")),1)]),_:1}),u(X,null,{default:c(()=>[f.value?(P(),D(B,{key:0},[u(ee,{type:"info",class:"mb-2"},{default:c(()=>[S(g(m(l)("You already have generated backup codes for this account. If you don't remember them or have used them all, you can generate new ones.")),1)]),_:1}),u(ae,{ref_key:"editTFAForm",ref:o},{default:c(()=>[k("label",Xt,g(m(l)("Password")),1),u(K,{modelValue:e.value,"onUpdate:modelValue":w[0]||(w[0]=A=>e.value=A),autocomplete:"new-password",type:"password",variant:"outlined",density:"compact",rules:[m(oe).required],"error-messages":a.value},null,8,["modelValue","rules","error-messages"]),k("div",Zt,[u(Q,{loading:h.value,color:"success",onClick:d},{default:c(()=>[S(g(m(l)("Reset recovery codes")),1)]),_:1},8,["loading"])])]),_:1},512)],64)):(P(),D("div",jt,g(m(l)("No two-factor authentificator is yet set for your account.")),1)),u($e,{modelValue:r.value,"onUpdate:modelValue":w[1]||(w[1]=A=>r.value=A),"max-width":"800px",persistent:""},{default:c(()=>[u(m(qe),{tokens:t.value,onClose:v},null,8,["tokens"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]))}},ta={class:"m-label"},aa={__name:"ForwardForm",setup(n){const{$gettext:l}=j(),i=se(),s=_({}),f=_(!1);function h(){f.value=!0,G.setForward(s.value).then(()=>{f.value=!1,i.displayNotification({type:"success",msg:l("Forward updated")})})}return G.getForward().then(o=>{s.value=o.data}),(o,e)=>(P(),O(Z,{flat:""},{default:c(()=>[u(X,null,{default:c(()=>[k("label",ta,g(m(l)("Recipient(s)")),1),u(Oe,{modelValue:s.value.recipients,"onUpdate:modelValue":e[0]||(e[0]=t=>s.value.recipients=t),hint:m(l)("Indicate one or more recipients separated by a comma (,)"),"persistent-hint":"",rows:"3",variant:"outlined"},null,8,["modelValue","hint"]),u(Le,{modelValue:s.value.keepcopies,"onUpdate:modelValue":e[1]||(e[1]=t=>s.value.keepcopies=t),label:m(l)("Keep local copies"),hint:m(l)("Forward messages and store copies into your local mailbox"),"persistent-hint":""},null,8,["modelValue","label","hint"])]),_:1}),u(Ee,{class:"pa-4"},{default:c(()=>[u(Q,{color:"success",variant:"flat",loading:f.value,onClick:h},{default:c(()=>[S(g(m(l)("Update")),1)]),_:1},8,["loading"])]),_:1})]),_:1}))}},oa={class:"m-label"},na={class:"mb-4"},ra={class:"m-label"},la={class:"mb-4"},sa={class:"m-label"},ia={class:"mb-4"},ua={class:"m-label"},da={__name:"AutoReplyForm",setup(n){const l=se(),{$gettext:i}=j(),s=_({}),f=_(),h=_(!1);async function o(){const{valid:e}=await f.value.validate();e&&(h.value=!0,s.value.fromdate===""&&(s.value.fromdate=null),s.value.untildate===""&&(s.value.untildate=null),G.setARMessage(s.value).then(()=>{l.displayNotification({msg:i("Auto-reply message updated")}),h.value=!1}).catch(()=>{h.value=!1}))}return G.getARMessage().then(e=>{s.value=e.data,s.value.fromdate&&(s.value.fromdate=s.value.fromdate.slice(0,-4)),s.value.untildate&&(s.value.untildate=s.value.untildate.slice(0,-4))}),(e,t)=>(P(),O(Z,{flat:""},{default:c(()=>[u(X,null,{default:c(()=>[u(ae,{ref_key:"formRef",ref:f,onSubmit:me(o,["prevent"])},{default:c(()=>[u(Le,{modelValue:s.value.enabled,"onUpdate:modelValue":t[0]||(t[0]=a=>s.value.enabled=a),label:m(i)("Enabled"),color:"primary","hide-details":"",class:"mb-4"},null,8,["modelValue","label"]),k("label",oa,g(m(i)("Subject")),1),u(K,{modelValue:s.value.subject,"onUpdate:modelValue":t[1]||(t[1]=a=>s.value.subject=a),variant:"outlined",density:"compact",rules:[m(oe).required]},null,8,["modelValue","rules"]),k("div",na,[k("label",ra,g(m(i)("Content")),1),u(Oe,{modelValue:s.value.content,"onUpdate:modelValue":t[2]||(t[2]=a=>s.value.content=a),hint:m(i)("The content of your answer. You can use the following variables, which will be automatically replaced by the appropriate value: %(name)s, %(fromdate)s, %(untildate)s"),"persistent-hint":"",variant:"outlined",rows:"3",density:"compact",rules:[m(oe).required]},null,8,["modelValue","hint","rules"])]),k("div",la,[k("label",sa,g(m(i)("From")),1),u(K,{modelValue:s.value.fromdate,"onUpdate:modelValue":t[3]||(t[3]=a=>s.value.fromdate=a),hint:m(i)("Activate your auto reply from this date"),variant:"outlined","persistent-hint":"",type:"datetime-local",density:"compact"},null,8,["modelValue","hint"])]),k("div",ia,[k("label",ua,g(m(i)("Until")),1),u(K,{modelValue:s.value.untildate,"onUpdate:modelValue":t[4]||(t[4]=a=>s.value.untildate=a),hint:m(i)("Activate your auto reply until this date"),variant:"outlined","persistent-hint":"",type:"datetime-local",density:"compact"},null,8,["modelValue","hint"])]),u(Q,{color:"success",type:"submit",loading:h.value},{default:c(()=>[S(g(m(i)("Update auto-reply")),1)]),_:1},8,["loading"])]),_:1},512)]),_:1})]),_:1}))}},ca={class:"m-label"},fa={class:"ml-5 mr-5"},va=["href"],ma={__name:"APISetupForm",setup(n){const{$gettext:l}=j(),i=se(),s=ot("$config"),f=J(()=>s.API_DOC_URL),h=_(!1),o=_(null),e=_();function t(){navigator.clipboard.writeText(o.value),i.displayNotification({msg:l("API token copied to your clipboard"),type:"success"})}function a(){h.value=!0,G.createAPIToken().then(v=>{o.value=v.data.token,i.displayNotification({msg:l("API token created"),type:"success"})}).finally(()=>h.value=!1)}function r(){e.value.open(l("Warning"),l("You are about to delete your API access token"),{color:"error",cancelLabel:l("Cancel"),agreeLabel:l("Proceed")})}async function d(){await G.deleteAPIToken(),i.displayNotification({msg:l("API token deleted"),type:"success"}),o.value=null}return pe(()=>{G.getAPIToken().then(v=>{o.value=v.data.token})}),(v,p)=>(P(),D(B,null,[o.value?(P(),O(Z,{key:1,flat:""},{default:c(()=>[u(X,null,{default:c(()=>[k("label",ca,g(m(l)("Your API token is:")),1),k("code",fa,g(o.value),1),u(Q,{icon:"mdi-clipboard-plus",density:"compact",title:m(l)("Copy token to clipboard"),variant:"text",onClick:p[0]||(p[0]=w=>t())},null,8,["title"]),u(Q,{icon:"mdi-delete",density:"compact",color:"error",variant:"text",title:m(l)("Delete token"),onClick:r},null,8,["title"])]),_:1})]),_:1})):(P(),O(Z,{key:0,flat:""},{default:c(()=>[u(X,null,{default:c(()=>[S(g(m(l)("Your API token has not been generated yet.")),1)]),_:1}),u(Ee,null,{default:c(()=>[u(Q,{color:"success",variant:"flat",loading:h.value,onClick:a},{default:c(()=>[S(g(m(l)("Generate")),1)]),_:1},8,["loading"])]),_:1})]),_:1})),u(ee,{type:"info",variant:"tonal",border:"start",class:"mt-4"},{default:c(()=>[S(g(m(l)("A documentation of the API is available"))+" ",1),k("a",{href:f.value,target:"_blank"},g(m(l)("here")),9,va),p[1]||(p[1]=S(". "))]),_:1,__:[1]}),u(we,{ref_key:"confirm",ref:e,onAgree:d},null,512)],64))}};function ha(n){const l="==".slice(0,(4-n.length%4)%4),i=n.replace(/-/g,"+").replace(/_/g,"/")+l,s=atob(i),f=new ArrayBuffer(s.length),h=new Uint8Array(f);for(let o=0;o<s.length;o++)h[o]=s.charCodeAt(o);return f}function pa(n){const l=new Uint8Array(n);let i="";for(const h of l)i+=String.fromCharCode(h);return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var U="copy",te="convert";function he(n,l,i){if(l===U)return i;if(l===te)return n(i);if(l instanceof Array)return i.map(s=>he(n,l[0],s));if(l instanceof Object){const s={};for(const[f,h]of Object.entries(l)){if(h.derive){const o=h.derive(i);o!==void 0&&(i[f]=o)}if(!(f in i)){if(h.required)throw new Error(`Missing key: ${f}`);continue}if(i[f]==null){s[f]=null;continue}s[f]=he(n,h.schema,i[f])}return s}}function Ie(n,l){return{required:!0,schema:n,derive:l}}function L(n){return{required:!0,schema:n}}function z(n){return{required:!1,schema:n}}var ga={type:L(U),id:L(te),transports:z(U)},ya={appid:z(U),appidExclude:z(U),credProps:z(U)},_a={appid:z(U),appidExclude:z(U),credProps:z(U)},ba={publicKey:L({rp:L(U),user:L({id:L(te),name:L(U),displayName:L(U)}),challenge:L(te),pubKeyCredParams:L(U),timeout:z(U),excludeCredentials:z([ga]),authenticatorSelection:z(U),attestation:z(U),extensions:z(ya)}),signal:z(U)},wa={type:L(U),id:L(U),rawId:L(te),authenticatorAttachment:z(U),response:L({clientDataJSON:L(te),attestationObject:L(te),transports:Ie(U,n=>{var l;return((l=n.getTransports)==null?void 0:l.call(n))||[]})}),clientExtensionResults:Ie(_a,n=>n.getClientExtensionResults())};function Ca(n){return he(ha,ba,n)}function Ea(n){return he(pa,wa,n)}async function ka(n){const l=await navigator.credentials.create(n);return l.toJSON=()=>Ea(l),l}const Aa={class:"text-h6"},Va={tag:"p",class:"my-4"},Sa={__name:"FidoAuthForm",setup(n){const l=ce(),{$gettext:i}=j(),s=_(),f=_(!1),h=!!(navigator.credentials&&navigator.credentials.create&&navigator.credentials.get&&window.PublicKeyCredential),o=_(),e=J(()=>l.fidoCreds),t=[{title:i("Name"),key:"name"},{title:i("Added On"),key:"added_on"},{title:i("Last Used"),key:"last_used"},{title:i("Use count"),key:"use_count"},{title:i("Actions"),key:"actions"}],a=_(),r=_(),d=_(),v=_(""),p=_(),w=_(!1);async function A(){const{valid:y}=await o.value.validate();if(!y)return;f.value=!0;const b=await nt.beginFidoRegistration();if(b){const V=Ca(b.data),E=(await ka(V)).toJSON();E.name=s.value,l.addFidoCred(E).then(M=>{M.status===200&&(p.value=M.data.tokens,w.value=!0)}),o.value.reset(),f.value=!1;return}f.value=!1}function N(){p.value=[],w.value=!1}async function F(y){await a.value.open(i("Warning"),i("Do you really want to delete this WebAuthn device?"),{color:"warning",cancelLabel:i("No"),agreeLabel:i("Yes")})&&l.deleteFidoCreds(y.id)}async function R(){return(await d.value.validate()).valid}async function C(y){if(v.value=y.name,!await r.value.open(i("Edition"),i("Edit your device"),{color:"warning",cancelLabel:i("Cancel"),agreeLabel:i("Save")}))return;const V={name:v.value};await l.editFidoCred(y.id,V)}return pe(()=>{l.getFidoCreds()}),(y,b)=>(P(),D(B,null,[k("div",null,[u(Z,{flat:""},{default:c(()=>[u(ge,null,{default:c(()=>[k("span",Aa,g(m(i)("WebAuthn")),1)]),_:1}),u(X,null,{default:c(()=>[u(ve,null,{default:c(()=>[e.value.length===0?(P(),O(de,{key:0,cols:"4"},{default:c(()=>[k("div",Va,g(m(i)("You don't have any WebAuthN device registered as a second authentication method.")),1)]),_:1})):(P(),O(de,{key:1,cols:"8"},{default:c(()=>[k("h3",null,g(m(i)("Registered Webauthn devices")),1),u(_t,{headers:t,items:e.value,"item-value":"id"},{"item.added_on":c(({item:V})=>[S(g(y.$date(V.added_on)),1)]),"item.last_used":c(({item:V})=>[V.last_used===null?(P(),D(B,{key:0},[S(g(m(i)("Never")),1)],64)):(P(),D(B,{key:1},[S(g(y.$date(V.last_used)),1)],64))]),"item.enabled":c(({item:V})=>[S(g(y.$yesno(V.enabled)),1)]),"item.actions":c(({item:V})=>[u(be,{class:"me-2",size:"small",onClick:T=>C(V)},{default:c(()=>b[3]||(b[3]=[S(" mdi-pencil ")])),_:2,__:[3]},1032,["onClick"]),u(be,{size:"small",onClick:T=>F(V)},{default:c(()=>b[4]||(b[4]=[S(" mdi-delete ")])),_:2,__:[4]},1032,["onClick"])]),_:2},1032,["items"])]),_:1})),u(de,{cols:"4"},{default:c(()=>[h?(P(),D(B,{key:0},[k("h3",null,g(m(i)("Enter a name to register a new webauthn device.")),1),u(ae,{ref_key:"fidoForm",ref:o,onSubmit:me(A,["prevent"])},{default:c(()=>[u(K,{modelValue:s.value,"onUpdate:modelValue":b[0]||(b[0]=V=>s.value=V),label:m(i)("New device name"),rules:[m(oe).required]},null,8,["modelValue","label","rules"]),u(Q,{color:"success",type:"submit",loading:f.value},{default:c(()=>[S(g(m(i)("Setup device")),1)]),_:1},8,["loading"])]),_:1},512)],64)):(P(),O(ee,{key:1,type:"error"},{default:c(()=>[S(g(m(i)("Your browser does not seem compatible with WebAuthN")),1)]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1})]),u(we,{ref_key:"confirmDeletion",ref:a},null,512),u(we,{ref_key:"confirmEdition",ref:r,callback_agree:R},{default:c(()=>[u(ae,{ref_key:"editForm",ref:d},{default:c(()=>[u(K,{modelValue:v.value,"onUpdate:modelValue":b[1]||(b[1]=V=>v.value=V),label:m(i)("name"),rules:[m(oe).required]},null,8,["modelValue","label","rules"])]),_:1},512)]),_:1},512),u($e,{modelValue:w.value,"onUpdate:modelValue":b[2]||(b[2]=V=>w.value=V),"max-width":"800px",persistent:""},{default:c(()=>[u(qe,{tokens:p.value,onClose:N},null,8,["tokens"])]),_:1},8,["modelValue"])],64))}},Ra={class:"pa-4"},Pa={__name:"SettingsView",setup(n){const l=ce(),i=_();return(s,f)=>(P(),D(B,null,[u(bt,{flat:""},{default:c(()=>[u(wt,null,{default:c(()=>[S(g(s.$gettext("Account settings")),1)]),_:1})]),_:1}),k("div",Ra,[u(Ct,{modelValue:i.value,"onUpdate:modelValue":f[0]||(f[0]=h=>i.value=h),color:"primary",class:"mb-4"},{default:c(()=>[u(ie,{value:"profile"},{default:c(()=>[S(g(s.$gettext("Profile")),1)]),_:1}),u(ie,{value:"security"},{default:c(()=>[S(g(s.$gettext("Two-factor auth")),1)]),_:1}),m(l).userHasMailbox?(P(),O(ie,{key:0,value:"forward"},{default:c(()=>[S(g(s.$gettext("Forward")),1)]),_:1})):W("",!0),m(l).userHasMailbox?(P(),O(ie,{key:1,value:"autoreply"},{default:c(()=>[S(g(s.$gettext("Auto-reply message")),1)]),_:1})):W("",!0),m(l).authUser.role===m(Me).SUPER_ADMIN?(P(),O(ie,{key:2,value:"api"},{default:c(()=>[S(g(s.$gettext("API access")),1)]),_:1})):W("",!0)]),_:1},8,["modelValue"]),u(Et,{modelValue:i.value,"onUpdate:modelValue":f[1]||(f[1]=h=>i.value=h)},{default:c(()=>[u(ue,{value:"profile"},{default:c(()=>[u(It)]),_:1}),u(ue,{value:"security"},{default:c(()=>[u(Yt),u(Sa),u(ea)]),_:1}),m(l).userHasMailbox?(P(),O(ue,{key:0,value:"forward"},{default:c(()=>[u(aa)]),_:1})):W("",!0),m(l).userHasMailbox?(P(),O(ue,{key:1,value:"autoreply"},{default:c(()=>[u(da)]),_:1})):W("",!0),m(l).authUser.role===m(Me).SUPER_ADMIN?(P(),O(ue,{key:2,value:"api"},{default:c(()=>[u(ma)]),_:1})):W("",!0)]),_:1},8,["modelValue"])])],64))}},uo=rt(Pa,[["__scopeId","data-v-fc9b36ca"]]);export{uo as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as o,f as r,o as m}from"./index-BCUdq-Zu.js";import{_ as p}from"./ConnectedLayout-CNzvhsb9.js";import{u as e}from"./layout.store-CSmWF8Cf.js";import"./VContainer-B8HjqhNU.js";/* empty css */import"./tag-DCSJ2lri.js";import"./VApp-D2FuKvLN.js";import"./layout-CLqGxWz4.js";import"./ssrBoot-B-x5LB2_.js";import"./global.store-IwCGIFoO.js";import"./admin-B0fFM9gW.js";import"./VAvatar-DbAmPjyA.js";import"./VProgressCircular-1VQzh5PK.js";import"./forwardRefs-Cn7kyt_f.js";import"./VMenu-CTyyRlRb.js";import"./VCard-BGXTuaE-.js";import"./VRow-DgX40uiD.js";import"./VSheet-C8P69LA8.js";const b={__name:"UserLayout",setup(i){const t=e();return(s,a)=>(m(),o(p,{"menu-items":r(t).leftMenuItems},null,8,["menu-items"]))}};export{b as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/* empty css */import{b as t,u as r,m as i,c as l,a as m}from"./tag-DCSJ2lri.js";import{v as c,x as u,ai as p,a as C,a7 as d,J as f}from"./index-BCUdq-Zu.js";const y=u({fluid:{type:Boolean,default:!1},...m(),...l(),...i()},"VContainer"),P=c()({name:"VContainer",props:y(),setup(e,a){let{slots:s}=a;const{rtlClasses:n}=p(),{dimensionStyles:o}=t(e);return r(()=>C(e.tag,{class:f(["v-container",{"v-container--fluid":e.fluid},n.value,e.class]),style:d([o.value,e.style])},s)),{}}});export{P as V};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as d,r as v,a as C,F as k,u as P,b as S,H as h,c as g,s as y,A as V}from"./VAvatar-DbAmPjyA.js";import{u as b}from"./VProgressCircular-1VQzh5PK.js";import{b as f,u as p,m as B,c as R,a as T}from"./tag-DCSJ2lri.js";import{v as x,x as z,ar as D,a as E,a7 as F,J as L,C as A}from"./index-BCUdq-Zu.js";const H=z({color:String,...V(),...T(),...R(),...y(),...g(),...h(),...S(),...B(),...A()},"VSheet"),w=x()({name:"VSheet",props:H(),setup(e,s){let{slots:a}=s;const{themeClasses:o}=D(e),{backgroundColorClasses:t,backgroundColorStyles:n}=b(()=>e.color),{borderClasses:r}=d(e),{dimensionStyles:l}=f(e),{elevationClasses:m}=v(e),{locationStyles:u}=C(e),{positionClasses:i}=k(e),{roundedClasses:c}=P(e);return p(()=>E(e.tag,{class:L(["v-sheet",o.value,t.value,r.value,m.value,i.value,c.value,e.class]),style:F([n.value,l.value,u.value,e.style])},a)),{}}});export{w as V,H as m};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/* empty css */import{i as r}from"./VAvatar-DbAmPjyA.js";const p=r("v-spacer","div","VSpacer");export{p as V};
|