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 oe,Q as j,R as ne,M as K,n as Q,g as r,L as T,r as se,m as V,o as m,F as A,G as ie,J as z,e as N,c as O,q as E,a,f as _,t as B,p as P,b as W,h as F,w as f,j as G,s as re}from"./index-BCUdq-Zu.js";import{_ as ue}from"./ConfirmDialog-BLu1kBWp.js";import{_ as me,V as de}from"./ConnectedLayout-CNzvhsb9.js";import{a as C}from"./webmail-D2rioayn.js";import{d as H,V as L,e as ce,p as pe}from"./VAvatar-DbAmPjyA.js";import{V as J}from"./VSpacer-pLqQLLwB.js";import{V as ve,r as fe}from"./VForm-DwwrfSN8.js";import{V as be,a as xe,b as ge}from"./VCard-BGXTuaE-.js";import{V as ye}from"./VTextField-FBM5XwC5.js";import{V as Me}from"./VDialog-0NvxFg1X.js";import{V as Ve}from"./VMenu-CTyyRlRb.js";import{V as _e,a as R}from"./forwardRefs-Cn7kyt_f.js";import"./VToolbar-AQXTYlxS.js";import"./tag-DCSJ2lri.js";import"./VProgressCircular-1VQzh5PK.js";import"./VContainer-B8HjqhNU.js";/* empty css */import"./VApp-D2FuKvLN.js";import"./layout-CLqGxWz4.js";import"./ssrBoot-B-x5LB2_.js";import"./global.store-IwCGIFoO.js";import"./admin-B0fFM9gW.js";import"./layout.store-CSmWF8Cf.js";import"./VRow-DgX40uiD.js";import"./VSheet-C8P69LA8.js";const he="/assets/Modoboa_RVB-BLANC-SANS-BBGoASES.png",Ce=["onClick","onMouseover","onMouseleave"],we={key:0,class:"font-weight-bold"},ke={key:1},Ue={key:0,class:"font-weight-bold"},$e={key:1},Be={__name:"MailboxList",props:j({mailboxes:{type:Array,default:null},lightMode:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},unseenCounters:{type:Boolean,default:!0},allowUnselect:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:j(["update:modelValue"],["update:modelValue"]),setup(S,{emit:x}){const t=S,n=ne(S,"modelValue"),s=x,h=K(),i=Q(),k={inbox:"mdi-inbox",draft:"mdi-file",junk:"mdi-fire",sent:"mdi-email-fast-outline",trash:"mdi-trash-can-outline",normal:"mdi-folder-outline"},d=r(null),g=r({}),p=r({});function y(e){return e.label.split("/").pop()}function c(e){return d.value===null&&(d.value=e.unseen),d.value}function u(e,w){g.value[e.name]=w}function o(e){return n.value===e.name?"bg-primary-lighten-1":t.lightMode?g.value[e.name]?"bg-primary":"bg-white":g.value[e.name]?"bg-primary-lighten-1":"bg-primary"}function M(e){return p.value[e.name]}function I(e){p.value[e.name]||(p.value[e.name]=!1),p.value[e.name]=!p.value[e.name],p.value[e.name]&&!e.sub.length&&C.getUserMailboxes(e.name).then(w=>{e.sub=w.data.mailboxes})}function D(e){t.allowUnselect&&e===n.value?s("update:modelValue",null):s("update:modelValue",e)}return T(()=>i.mbCounterKey,()=>{C.getUserMailboxUnseen(h.query.mailbox).then(e=>{d.value=e.data.counter})}),(e,w)=>{const q=se("MailboxList",!0);return m(),V("div",null,[(m(!0),V(A,null,ie(t.mailboxes,l=>(m(),V("div",{key:l.name,class:z(["pl-3 text-body-2",{"py-1":!t.compact}])},[N("div",{class:z([o(l),"d-flex mailbox pa-1 align-center"]),onClick:U=>D(l.name),onMouseover:U=>u(l,!0),onMouseleave:U=>u(l,!1)},[a(H,{icon:k[l.type],class:"mr-4"},null,8,["icon"]),l.name===_(h).query.mailbox?(m(),V(A,{key:0},[d.value>0?(m(),V("span",we,B(y(l))+" ("+B(c(l))+") ",1)):(m(),V("span",ke,B(y(l)),1))],64)):(m(),V(A,{key:1},[l.unseen>0?(m(),V("span",Ue,B(y(l))+" ("+B(l.unseen)+") ",1)):(m(),V("span",$e,B(y(l)),1))],64)),a(J),l.sub?(m(),O(L,{key:2,icon:M(l)?"mdi-minus":"mdi-plus",size:"xsmall",variant:"flat",color:"transparent",onClick:P(U=>I(l),["stop"])},null,8,["icon","onClick"])):E("",!0)],42,Ce),M(l)&&l.sub&&l.sub.length?(m(),O(q,{key:0,modelValue:n.value,"onUpdate:modelValue":w[0]||(w[0]=U=>n.value=U),mailboxes:l.sub,class:"mt-1","light-mode":t.lightMode,compact:t.compact},null,8,["modelValue","mailboxes","light-mode","compact"])):E("",!0)],2))),128))])}}},Y=oe(Be,[["__scopeId","data-v-62d5beb0"]]),Ne={class:"mb-2 rounded-lg"},Le={__name:"MailboxForm",props:{userMailboxes:Array,mailbox:{type:String,default:null},hdelimiter:{type:String,default:null}},emits:["close","mailboxRenamed"],setup(S,{emit:x}){const t=S,n=x,{$gettext:s}=W(),{displayNotification:h}=Q(),i=r({}),k=r(),d=r(!1),g=F(()=>t.mailbox?s("Edit mailbox"):s("Create new mailbox")),p=F(()=>t.mailbox?s("Update"):s("Create")),y=()=>{i.value={},n("close")},c=async()=>{const{valid:u}=await k.value.validate();if(u){d.value=!0;try{const o={...i.value};t.mailbox?(o.oldname=t.mailbox,await C.renameUserMailbox(o),h({msg:s("Mailbox renamed")}),n("mailboxRenamed",`${o.parent_mailbox}${t.hdelimiter}${o.name}`)):(await C.createUserMailbox(o),h({msg:s("Mailbox created")})),y()}finally{d.value=!1}}};return T(()=>t.mailbox,u=>{if(u){const o=t.mailbox.split(t.hdelimiter);i.value.name=o.slice(-1)[0],i.value.parent_mailbox=o.slice(0,-1).join(t.hdelimiter)}else i.value={}},{immediate:!0}),(u,o)=>(m(),O(ge,{title:g.value},{default:f(()=>[a(be,null,{default:f(()=>[a(ve,{ref_key:"formRef",ref:k},{default:f(()=>[a(ye,{modelValue:i.value.name,"onUpdate:modelValue":o[0]||(o[0]=M=>i.value.name=M),label:_(s)("Name"),variant:"outlined",density:"compact",rules:[_(fe).required]},null,8,["modelValue","label","rules"]),N("div",Ne,[N("h4",null,B(_(s)("Parent mailbox")),1),a(Y,{modelValue:i.value.parent_mailbox,"onUpdate:modelValue":o[1]||(o[1]=M=>i.value.parent_mailbox=M),"active-mailbox":t.parent,mailboxes:t.userMailboxes,"light-mode":"",compact:"","unseen-counters":!1,"allow-unselect":""},null,8,["modelValue","active-mailbox","mailboxes"])])]),_:1},512)]),_:1}),a(xe,null,{default:f(()=>[a(J),a(L,{text:_(s)("Close"),variant:"flat",loading:d.value,onClick:y},null,8,["text","loading"]),a(L,{text:p.value,variant:"tonal",color:"primary",loading:d.value,onClick:c},null,8,["text","loading"])]),_:1})]),_:1},8,["title"]))}},Se={class:"d-flex align-center"},qe={class:"d-flex justify-center mb-4"},Fe={class:"border-t-sm d-flex align-center bg-grey"},sa={__name:"WebmailLayout",async setup(S){let x,t;const{$gettext:n}=W(),s=K(),h=re(),i=Q(),k=r(),d=r(!0),g=r(!1),p=r(null),y=r(null),c=r(null),u=r(s.query.mailbox||"INBOX"),o=r(!1),M=r([]),I=F(()=>["INBOX"].includes(s.query.mailbox||"INBOX")),D=F(()=>c.value.usage<50?"info":c.value.usage<80?"warning":"error"),e=F(()=>`${c.value.current} / ${c.value.limit} (${c.value.usage}%)`);function w(b){h.push({name:"MailboxView",query:{mailbox:b}}),C.getUserMailboxQuota(b).then(v=>{c.value=v.data})}const q=async()=>{const b=await C.getUserMailboxes();M.value=b.data.mailboxes,y.value=b.data.hdelimiter},l=()=>{h.push({name:"ComposeEmailView"})},U=()=>{o.value=!1,p.value=null,q()},Z=()=>{o.value=!0},ee=()=>{p.value=u.value,o.value=!0},X=b=>{u.value=b,h.push({name:"MailboxView",query:{mailbox:b}})},ae=async()=>{await C.compressUserMailbox({name:u.value}),i.displayNotification({msg:n("Mailbox compressed")})},te=async()=>{await k.value.open(n("Warning"),n("Delete this mailbox?"),{color:"warning",agreeLabel:n("Yes"),cancelLabel:n("No")})&&(await C.deleteUserMailbox({name:u.value}),i.displayNotification({msg:n("Mailbox deleted")}),X("INBOX"))};T(()=>i.dataKey,()=>{q()}),[x,t]=G(()=>q()),await x,t();const le=([x,t]=G(()=>C.getUserMailboxQuota(s.query.mailbox||"INBOX")),x=await x,t(),x);return c.value=le.data,(b,v)=>(m(),V(A,null,[a(me,null,{navbar:f(()=>[a(de,{modelValue:d.value,"onUpdate:modelValue":v[2]||(v[2]=$=>d.value=$),rail:g.value,permanent:"",color:"primary",app:""},{prepend:f(()=>[N("div",Se,[a(pe,{src:he,"max-width":"190",class:"logo"}),a(L,{icon:g.value?"mdi-chevron-right":"mdi-chevron-left",variant:"text",onClick:v[0]||(v[0]=P($=>g.value=!g.value,["stop"]))},null,8,["icon"])]),N("div",qe,[a(L,{text:_(n)("Compose"),color:"secondary",variant:"flat","prepend-icon":"mdi-pencil",onClick:l},null,8,["text"])])]),append:f(()=>[N("div",Fe,[a(L,{class:"ml-2",variant:"text",icon:"",size:"small"},{default:f(()=>[a(H,{icon:"mdi-cog"}),a(Ve,{activator:"parent"},{default:f(()=>[a(_e,{density:"compact"},{default:f(()=>[a(R,{title:_(n)("Create a new mailbox"),"prepend-icon":"mdi-plus",onClick:Z},null,8,["title"]),a(R,{title:_(n)("Edit this mailbox"),"prepend-icon":"mdi-pencil",disabled:I.value,onClick:ee},null,8,["title","disabled"]),a(R,{title:_(n)("Delete this mailbox"),"prepend-icon":"mdi-trash-can",disabled:I.value,onClick:te},null,8,["title","disabled"]),a(R,{title:_(n)("Compress this mailbox"),"prepend-icon":"mdi-folder-zip-outline",onClick:ae},null,8,["title"])]),_:1})]),_:1})]),_:1}),c.value?(m(),O(ce,{key:0,color:D.value,"model-value":c.value.usage,title:e.value},null,8,["color","model-value","title"])):E("",!0)])]),default:f(()=>[a(Y,{modelValue:u.value,"onUpdate:modelValue":[v[1]||(v[1]=$=>u.value=$),w],mailboxes:M.value,class:"mr-2"},null,8,["modelValue","mailboxes"])]),_:1},8,["modelValue","rail"])]),_:1}),a(Me,{modelValue:o.value,"onUpdate:modelValue":v[4]||(v[4]=$=>o.value=$),"max-width":"800"},{default:f(()=>[a(Le,{"user-mailboxes":M.value,mailbox:p.value,hdelimiter:y.value,onMailboxRenamed:X,onClose:v[3]||(v[3]=$=>U())},null,8,["user-mailboxes","mailbox","hdelimiter"])]),_:1},8,["modelValue"]),a(ue,{ref_key:"confirm",ref:k},null,512)],64))}};export{sa as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as t}from"./index-BCUdq-Zu.js";const n={getComponentsInformation(){return t.get("/admin/components/")},getNotifications(){return t.get("/admin/notifications/")},getNewsFeed(){return t.get("/admin/news_feed/")}};export{n as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as h,b as g,c as C,o as w,w as l,a as o,p as N,e as v,t as r,H as _,l as p,f as s,n as b}from"./index-BCUdq-Zu.js";import{V as k,r as y}from"./VForm-DwwrfSN8.js";import{c as F,V as U,a as B,b as T}from"./VCard-BGXTuaE-.js";import{V as L}from"./VAlert-DSMD0lqo.js";import{V as R}from"./VFileInput-COIdDRxq.js";import{V as $}from"./VTextField-FBM5XwC5.js";import{V as j}from"./VSwitch-BSifpScd.js";import{V as q}from"./VSpacer-pLqQLLwB.js";import{V as x}from"./VAvatar-DbAmPjyA.js";const D={class:"headline"},I={class:"m-label"},A={class:"m-label"},K={__name:"ImportForm",props:{helpText:{type:String,default:""},title:{type:String,default:""}},emits:["close","submit"],setup(f,{expose:V,emit:i}){const n=i,t=h({}),u=h(),{$gettext:e}=g();function c(){t.value={},n("close")}async function S(){const{valid:d}=await u.value.validate();if(!d)return;const a=new FormData;a.append("sourcefile",t.value.sourcefile[0]),t.value.sepchar&&a.append("sepchar",t.value.sepchar),t.value.continue_if_exists&&a.append("continue_if_exists",t.value.continue_if_exists),n("submit",a,t.value)}return V({close:c}),(d,a)=>(w(),C(T,null,{default:l(()=>[o(k,{ref_key:"vform",ref:u,onSubmit:N(S,["prevent"])},{default:l(()=>[o(F,null,{default:l(()=>[v("span",D,r(f.title),1)]),_:1}),o(U,null,{default:l(()=>[o(L,{variant:"tonal",type:"info",class:"mb-2"},{default:l(()=>[p(r(s(e)("Provide a CSV file where lines respect one of the following formats:"))+" ",1),_(d.$slots,"help"),p(" "+r(s(e)("The first element of each line is mandatory and must be equal to one of the previous values."))+" "+r(s(e)("You can use a different character as separator.")),1)]),_:3}),v("label",I,r(s(e)("Select file")),1),o(R,{modelValue:t.value.sourcefile,"onUpdate:modelValue":a[0]||(a[0]=m=>t.value.sourcefile=m),accept:"text/csv","truncate-length":"15",variant:"outlined",density:"compact",rules:[s(y).required]},null,8,["modelValue","rules"]),v("label",A,r(s(e)("Separator")),1),o($,{modelValue:t.value.sepchar,"onUpdate:modelValue":a[1]||(a[1]=m=>t.value.sepchar=m),rules:[s(y).required],variant:"outlined",density:"compact"},null,8,["modelValue","rules"]),o(j,{modelValue:t.value.continue_if_exists,"onUpdate:modelValue":a[2]||(a[2]=m=>t.value.continue_if_exists=m),label:s(e)("Continue on error"),color:"primary",density:"compact",hint:s(e)("Don't treat duplicated objects as errors"),"persistent-hint":""},null,8,["modelValue","label","hint"]),_(d.$slots,"extraFields",{form:t.value})]),_:3}),o(B,null,{default:l(()=>[o(q),o(x,{onClick:c},{default:l(()=>[p(r(s(e)("Close")),1)]),_:1}),o(x,{color:"primary",type:"submit"},{default:l(()=>[p(r(s(e)("Import")),1)]),_:1})]),_:1})]),_:3},512)]),_:3}))}},Q=()=>{function f(i,n,t){if(!i&&!i.length){b().displayNotification({msg:t("No data to export"),type:"warning"});return}const u=new Blob([i],{type:"text/csv"}),e=document.createElement("a");e.href=URL.createObjectURL(u),e.download=`modoboa-${n}.csv`,e.click(),URL.revokeObjectURL(e.href)}function V(i,n,t,u){i.importFromCSV(n).then(e=>{const c=b();e.data.status?(c.displayNotification({msg:e.data.message}),t.value.close()):c.displayNotification({msg:e.data.message,type:"error"})}).catch(()=>{b().displayNotification({msg:u("CSV seems to be badly formatted"),type:"error"})})}return{exportContent:f,importContent:V}};export{K as _,Q as i};
|