modoboa 2.4.5__py3-none-any.whl → 2.4.6__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/core/api/v2/serializers.py +1 -1
- modoboa/frontend_dist/assets/AccountAliasForm-kM_uu76m.js +1 -0
- modoboa/frontend_dist/assets/AccountEditView-BdP-Lrlr.js +1 -0
- modoboa/frontend_dist/assets/AccountLayout-Bw0etAuB.js +1 -0
- modoboa/frontend_dist/assets/{AccountPasswordSubForm-CcDzcjPb.js → AccountPasswordSubForm-D7zaiyOj.js} +1 -1
- modoboa/frontend_dist/assets/AccountView-Du-GTL6A.js +1 -0
- modoboa/frontend_dist/assets/{AddressBook-B6Sa6mjt.js → AddressBook-Bsb173uq.js} +1 -1
- modoboa/frontend_dist/assets/AdminLayout-Bkpt_-A8.js +1 -0
- modoboa/frontend_dist/assets/AlarmsView-DSCq8RAc.js +1 -0
- modoboa/frontend_dist/assets/AliasEditView-QWMq-R1h.js +1 -0
- modoboa/frontend_dist/assets/AliasRecipientForm-rO7zW0eC.js +1 -0
- modoboa/frontend_dist/assets/AliasView-CZni2HPw.js +1 -0
- modoboa/frontend_dist/assets/AuditTrailView-DMqo60nl.js +1 -0
- modoboa/frontend_dist/assets/{CalendarView-yM5HGvWM.js → CalendarView-C32PuIes.js} +1 -1
- modoboa/frontend_dist/assets/ChoiceField-3mhgf6ob.js +1 -0
- modoboa/frontend_dist/assets/{ComposeEmailForm-DLCkPGvB.js → ComposeEmailForm-DkZQzxAe.js} +1 -1
- modoboa/frontend_dist/assets/ComposeEmailView-BNjj7sIK.js +1 -0
- modoboa/frontend_dist/assets/ConfirmDialog-q002W_T5.js +1 -0
- modoboa/frontend_dist/assets/ConnectedLayout-CuQwWdiY.js +1 -0
- modoboa/frontend_dist/assets/CreationForm-i9httQC1.js +1 -0
- modoboa/frontend_dist/assets/DashboardView-q7Q7yMK2.js +1 -0
- modoboa/frontend_dist/assets/{DomainAdminList-C3iwNb43.js → DomainAdminList-eJFjURqQ.js} +1 -1
- modoboa/frontend_dist/assets/DomainEditView-Dry1PQg1.js +1 -0
- modoboa/frontend_dist/assets/{DomainTransportForm-Blk4sH4Y.js → DomainTransportForm-Brvt1I8k.js} +1 -1
- modoboa/frontend_dist/assets/DomainView-BrQ0GZ67.js +5 -0
- modoboa/frontend_dist/assets/DomainsView-yBu065sw.js +1 -0
- modoboa/frontend_dist/assets/EmailField-CK1ZbR3C.js +1 -0
- modoboa/frontend_dist/assets/{EmailView-Dfxt2DGx.js → EmailView-BTfAqAzl.js} +1 -1
- modoboa/frontend_dist/assets/EmptyLayout-CZDgHz_u.js +1 -0
- modoboa/frontend_dist/assets/{FiltersView-meSoOehe.js → FiltersView-B7hCW2rz.js} +1 -1
- modoboa/frontend_dist/assets/ForwardEmailView-AWMrhg32.js +1 -0
- modoboa/frontend_dist/assets/{HtmlEditor-B_VCbd5z.js → HtmlEditor-DfoGrUHw.js} +1 -1
- modoboa/frontend_dist/assets/IdentitiesView-DUILBzSE.js +1 -0
- modoboa/frontend_dist/assets/InformationView-BidXYqOD.js +1 -0
- modoboa/frontend_dist/assets/LoadingData-BT9tD67O.js +1 -0
- modoboa/frontend_dist/assets/{LoginCallbackView-CVMpLe0f.js → LoginCallbackView-R1BJ5xBt.js} +1 -1
- modoboa/frontend_dist/assets/{LoginView-CUyc88IC.js → LoginView-GA-9tjIM.js} +1 -1
- modoboa/frontend_dist/assets/MailboxView-BUaJT0kp.js +1 -0
- modoboa/frontend_dist/assets/MenuItems-CaGz5Av4.js +1 -0
- modoboa/frontend_dist/assets/MessagesView-L8mRbK29.js +1 -0
- modoboa/frontend_dist/assets/MigrationsView-D46w_hKc.js +1 -0
- modoboa/frontend_dist/assets/ParametersForm-CYThYAHD.js +1 -0
- modoboa/frontend_dist/assets/ParametersView-D337Sezo.js +1 -0
- modoboa/frontend_dist/assets/ParametersView-DBCbbCEi.js +1 -0
- modoboa/frontend_dist/assets/{ProviderEditView-CIYmWpgI.js → ProviderEditView-BECcPRk7.js} +1 -1
- modoboa/frontend_dist/assets/ProviderGeneralForm-DwCmFqXI.js +1 -0
- modoboa/frontend_dist/assets/ProvidersView-B4g2wVbq.js +1 -0
- modoboa/frontend_dist/assets/ReplyEmailView-IwPYuVp5.js +1 -0
- modoboa/frontend_dist/assets/ResourcesForm-k0MAKh89.js +1 -0
- modoboa/frontend_dist/assets/{SettingsView-DeNxODAJ.js → SettingsView-Sp1ExY72.js} +2 -2
- modoboa/frontend_dist/assets/StatisticsView-CjYZKBmP.js +1 -0
- modoboa/frontend_dist/assets/TimeSerieChart-CjiX490n.js +1 -0
- modoboa/frontend_dist/assets/UserLayout-BQ7D5b4m.js +1 -0
- modoboa/frontend_dist/assets/{VAlert-DMLG8wNi.js → VAlert-BiAap6Bx.js} +1 -1
- modoboa/frontend_dist/assets/VApp-tsfSFSQl.js +1 -0
- modoboa/frontend_dist/assets/{VAutocomplete-QADGK4Mr.js → VAutocomplete-CfnbXRi6.js} +1 -1
- modoboa/frontend_dist/assets/{VAvatar-BLlAVJo2.js → VAvatar-x_79C0tA.js} +1 -1
- modoboa/frontend_dist/assets/{VCard-CgG7Sw1Z.js → VCard-DRptUN8Y.js} +1 -1
- modoboa/frontend_dist/assets/VCheckbox-DTbWq72R.js +1 -0
- modoboa/frontend_dist/assets/VCheckboxBtn-xrhfoOlo.js +1 -0
- modoboa/frontend_dist/assets/{VChip-DtLoN5pb.js → VChip-Def9BYoN.js} +1 -1
- modoboa/frontend_dist/assets/VColorPicker-D7UlInpB.js +1 -0
- modoboa/frontend_dist/assets/{VContainer-CWsXUJRX.js → VContainer-CC8lqRXa.js} +1 -1
- modoboa/frontend_dist/assets/VDataTable-CYPG0MtF.js +1 -0
- modoboa/frontend_dist/assets/{VDataTableServer-D_lPUXtC.js → VDataTableServer-DyIOcZiN.js} +1 -1
- modoboa/frontend_dist/assets/VDataTableVirtual-B6iCEfal.js +1 -0
- modoboa/frontend_dist/assets/VDialog-DzctVbsK.js +1 -0
- modoboa/frontend_dist/assets/{VExpansionPanels--ynjpeWA.js → VExpansionPanels-DpJzLCB-.js} +1 -1
- modoboa/frontend_dist/assets/{VFileInput-B3-nE2RJ.js → VFileInput-C7DE4B9B.js} +1 -1
- modoboa/frontend_dist/assets/VForm-CXf-xKYz.js +1 -0
- modoboa/frontend_dist/assets/{VMenu-ds-uYle9.js → VMenu-DTm7W1Hp.js} +1 -1
- modoboa/frontend_dist/assets/{VPicker-CNDT8tbx.js → VPicker-F4Rx1F-m.js} +1 -1
- modoboa/frontend_dist/assets/{VProgressCircular--49P1TOW.js → VProgressCircular-ubzZW5PC.js} +1 -1
- modoboa/frontend_dist/assets/VRadioGroup-Bb36EvlG.js +1 -0
- modoboa/frontend_dist/assets/{VRow-CnohEaAX.js → VRow-B-csPNw7.js} +1 -1
- modoboa/frontend_dist/assets/{VSelect-BiP6crf0.js → VSelect-tV4GZAtn.js} +1 -1
- modoboa/frontend_dist/assets/VSelectionControl-Bdgm37Tl.js +1 -0
- modoboa/frontend_dist/assets/VSheet-BV83IblO.js +1 -0
- modoboa/frontend_dist/assets/VSpacer-BcQnH0oL.js +1 -0
- modoboa/frontend_dist/assets/{VSwitch-PAZTCa-8.js → VSwitch-HiyBjUWI.js} +1 -1
- modoboa/frontend_dist/assets/{VTable-Dtu3KidF.js → VTable-B-HE2nmK.js} +1 -1
- modoboa/frontend_dist/assets/VTabs-DCb8kj6G.js +1 -0
- modoboa/frontend_dist/assets/{VTextField-4NZ7IznA.js → VTextField-CWm47OUI.js} +1 -1
- modoboa/frontend_dist/assets/{VTextarea-BXNl7Mt9.js → VTextarea-Bry3a299.js} +1 -1
- modoboa/frontend_dist/assets/{VToolbar-J3yNZ_TP.js → VToolbar-Cd2iSn8H.js} +1 -1
- modoboa/frontend_dist/assets/{VWindowItem-D0hjETv2.js → VWindowItem-pE5PWxHf.js} +1 -1
- modoboa/frontend_dist/assets/WebmailLayout-hFexxk4W.js +1 -0
- modoboa/frontend_dist/assets/{admin-B-kSn9RO.js → admin-CjK02gmr.js} +1 -1
- modoboa/frontend_dist/assets/{aliases-DoKIh-Gw.js → aliases-CTtmxHck.js} +1 -1
- modoboa/frontend_dist/assets/{contacts-BVgP-Nvk.js → contacts-HeZ9it3d.js} +1 -1
- modoboa/frontend_dist/assets/{domains-BKPjvqA_.js → domains-HueJ9pRR.js} +1 -1
- modoboa/frontend_dist/assets/{domains.store-Ck9BRSQQ.js → domains.store-BAoaJY6i.js} +1 -1
- modoboa/frontend_dist/assets/{filter-C-VZW-D6.js → filter-DaBUD6Rp.js} +1 -1
- modoboa/frontend_dist/assets/{forwardRefs-DulMu961.js → forwardRefs-BSESyuUp.js} +1 -1
- modoboa/frontend_dist/assets/{global.store-DKpKwgQU.js → global.store-C4iiNxy1.js} +1 -1
- modoboa/frontend_dist/assets/{importExport-DpEAqdAr.js → importExport-fHtEeUon.js} +1 -1
- modoboa/frontend_dist/assets/{index-BA5nENc7.js → index-CTxlYqj4.js} +25 -25
- modoboa/frontend_dist/assets/{index-DSETu0oI.js → index-a9uUi1ey.js} +1 -1
- modoboa/frontend_dist/assets/layout-BFr6o7er.js +1 -0
- modoboa/frontend_dist/assets/{layout.store-BpB_lwEX.js → layout.store-3tdRwdnE.js} +1 -1
- modoboa/frontend_dist/assets/{logs-DYj_x8NI.js → logs-B92gHEZQ.js} +1 -1
- modoboa/frontend_dist/assets/{parameters-D7GvY13G.js → parameters-1TAbI5b7.js} +1 -1
- modoboa/frontend_dist/assets/{parameters.store-OjyEFwc3.js → parameters.store-BXTaWfO7.js} +1 -1
- modoboa/frontend_dist/assets/{permissions-DKbaVxSS.js → permissions-CbdfpdU1.js} +1 -1
- modoboa/frontend_dist/assets/{ssrBoot-CTcujE2n.js → ssrBoot-DGgZQEVC.js} +1 -1
- modoboa/frontend_dist/assets/{tag-BQLfwzbO.js → tag-Dx3OexMp.js} +1 -1
- modoboa/frontend_dist/assets/{webmail-Cgnpe0EQ.js → webmail-CGWB-wMk.js} +1 -1
- modoboa/frontend_dist/config.json +1 -1
- modoboa/frontend_dist/index.html +1 -1
- {modoboa-2.4.5.dist-info → modoboa-2.4.6.dist-info}/METADATA +1 -1
- {modoboa-2.4.5.dist-info → modoboa-2.4.6.dist-info}/RECORD +116 -117
- modoboa/frontend_dist/assets/AccountAliasForm-Dnpp9_-z.js +0 -1
- modoboa/frontend_dist/assets/AccountEditView-BQaSlpsL.js +0 -1
- modoboa/frontend_dist/assets/AccountLayout-DG_Co_SZ.js +0 -1
- modoboa/frontend_dist/assets/AccountView-BoEGwq9z.js +0 -1
- modoboa/frontend_dist/assets/AdminLayout-DgwlSRlC.js +0 -1
- modoboa/frontend_dist/assets/AlarmsView-DB_IXF_s.js +0 -1
- modoboa/frontend_dist/assets/AliasEditView-Drs6U8vs.js +0 -1
- modoboa/frontend_dist/assets/AliasRecipientForm-hHFnWu8k.js +0 -1
- modoboa/frontend_dist/assets/AliasView-SUMxaGUe.js +0 -1
- modoboa/frontend_dist/assets/AuditTrailView-cSABZ3TO.js +0 -1
- modoboa/frontend_dist/assets/ChoiceField-BRXxbiWf.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailView-0l455MSI.js +0 -1
- modoboa/frontend_dist/assets/ConfirmDialog-C_e6hlR9.js +0 -1
- modoboa/frontend_dist/assets/ConnectedLayout-DZLdEDMc.js +0 -1
- modoboa/frontend_dist/assets/CreationForm-CM6XIMTJ.js +0 -1
- modoboa/frontend_dist/assets/DashboardView-EbwsBsvl.js +0 -1
- modoboa/frontend_dist/assets/DomainEditView-DChdOeWs.js +0 -1
- modoboa/frontend_dist/assets/DomainView-C_rpTRuB.js +0 -5
- modoboa/frontend_dist/assets/DomainsView-CSq9Qqa2.js +0 -1
- modoboa/frontend_dist/assets/EmailField-D44CsIWb.js +0 -1
- modoboa/frontend_dist/assets/EmptyLayout-kuBMnfgD.js +0 -1
- modoboa/frontend_dist/assets/ForwardEmailView-DJfvMH7g.js +0 -1
- modoboa/frontend_dist/assets/IdentitiesView-SddVlIrY.js +0 -1
- modoboa/frontend_dist/assets/InformationView-D_JM2475.js +0 -1
- modoboa/frontend_dist/assets/LoadingData-AOVv_iWB.js +0 -1
- modoboa/frontend_dist/assets/MailboxView-D3q8yP3G.js +0 -1
- modoboa/frontend_dist/assets/MenuItems-Cuf8-V0W.js +0 -1
- modoboa/frontend_dist/assets/MessagesView-CBspcRFp.js +0 -1
- modoboa/frontend_dist/assets/MigrationsView-C4_XQZW3.js +0 -1
- modoboa/frontend_dist/assets/ParametersForm-CMSQqJgF.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-CumtciiZ.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-DJWYKIfG.js +0 -1
- modoboa/frontend_dist/assets/ProviderGeneralForm-B3DP3kaS.js +0 -1
- modoboa/frontend_dist/assets/ProvidersView-Dob13upM.js +0 -1
- modoboa/frontend_dist/assets/ReplyEmailView-BYUjcU54.js +0 -1
- modoboa/frontend_dist/assets/ResourcesForm-BsBHUrsM.js +0 -1
- modoboa/frontend_dist/assets/StatisticsView-5VaSkD9s.js +0 -1
- modoboa/frontend_dist/assets/TimeSerieChart-BdFmjRbO.js +0 -1
- modoboa/frontend_dist/assets/UserLayout-CF0xC6tf.js +0 -1
- modoboa/frontend_dist/assets/VApp-BkjZPyh4.js +0 -1
- modoboa/frontend_dist/assets/VCheckbox-DPPPkFg8.js +0 -1
- modoboa/frontend_dist/assets/VCheckboxBtn-Bxy-LfII.js +0 -1
- modoboa/frontend_dist/assets/VColorPicker-Djl1hnN2.js +0 -1
- modoboa/frontend_dist/assets/VDataTable-C75c5ugx.js +0 -1
- modoboa/frontend_dist/assets/VDataTableVirtual-BR3-3ZhB.js +0 -1
- modoboa/frontend_dist/assets/VDialog-BZ4gm6K7.js +0 -1
- modoboa/frontend_dist/assets/VForm-B967suxO.js +0 -1
- modoboa/frontend_dist/assets/VRadioGroup-Bq0AGvQn.js +0 -1
- modoboa/frontend_dist/assets/VSelectionControl-CCdZN5dG.js +0 -1
- modoboa/frontend_dist/assets/VSheet-CajYOL8i.js +0 -1
- modoboa/frontend_dist/assets/VSpacer-DL_DqXyB.js +0 -1
- modoboa/frontend_dist/assets/VTabs-CDeotHqK.js +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-BEGfzupj.js +0 -1
- modoboa/frontend_dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
- modoboa/frontend_dist/assets/layout-DYUfCptT.js +0 -1
- {modoboa-2.4.5.data → modoboa-2.4.6.data}/scripts/modoboa-admin.py +0 -0
- {modoboa-2.4.5.dist-info → modoboa-2.4.6.dist-info}/WHEEL +0 -0
- {modoboa-2.4.5.dist-info → modoboa-2.4.6.dist-info}/entry_points.txt +0 -0
- {modoboa-2.4.5.dist-info → modoboa-2.4.6.dist-info}/licenses/LICENSE +0 -0
- {modoboa-2.4.5.dist-info → modoboa-2.4.6.dist-info}/top_level.txt +0 -0
|
@@ -141,7 +141,7 @@ class CoreGlobalParametersSerializer(serializers.Serializer):
|
|
|
141
141
|
)
|
|
142
142
|
|
|
143
143
|
# Dashboard settings
|
|
144
|
-
custom_welcome_message = serializers.CharField(required=False)
|
|
144
|
+
custom_welcome_message = serializers.CharField(required=False, allow_blank=True)
|
|
145
145
|
rss_feed_url = serializers.URLField(
|
|
146
146
|
allow_blank=True, required=False, allow_null=True
|
|
147
147
|
)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as O}from"./ChoiceField-3mhgf6ob.js";import{u as N,b as S,g as V,h as f,i as _,c as R,o as y,w as h,a as d,f as s,e as U,t as x,l as M,j as C,L as D,q as j,m as Q,F as G,G as T,N as H}from"./index-CTxlYqj4.js";import{V as P,a as L}from"./VRow-B-csPNw7.js";import{V as B}from"./VAlert-BiAap6Bx.js";import{d as z}from"./VAvatar-x_79C0tA.js";import{V as k,r as F}from"./VForm-CXf-xKYz.js";import{_ as K}from"./AccountPasswordSubForm-D7zaiyOj.js";import{E as q}from"./EmailField-CK1ZbR3C.js";import{V as E}from"./VTextField-CWm47OUI.js";import{V as $}from"./VSwitch-HiyBjUWI.js";import{u as Y}from"./domains.store-BAoaJY6i.js";import{V as J}from"./VChip-Def9BYoN.js";const W={class:"headline"},X={class:"mt-4"},_e={__name:"AccountRoleForm",props:{modelValue:{type:Object,default:null}},setup(g,{expose:w}){const i=N(),{$gettext:a}=S(),v=g,m=V(),c=f(()=>v.modelValue),l=f(()=>i.authUser),p=f(()=>{const n=b.value.find(r=>r.value===c.value.role);return n!==void 0?n.label:""}),e=f(()=>{const n=b.value.find(r=>r.value===c.value.role);return n!==void 0?n.help:""}),b=f(()=>l.value.role===_.SUPER_ADMIN?[...A,...o,...u,...t]:l.value.role===_.DOMAIN_ADMIN?[...A]:l.value.role===_.RESELLER?[...o,...A]:[]),A=[{label:a("Simple user"),value:_.USER,help:a("A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters.")}],o=[{label:a("Domain administrator"),value:_.DOMAIN_ADMIN,help:a("A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox.")}],u=[{label:a("Reseller"),value:_.RESELLER,help:a("An intermediate user who has the same privileges than a Domain administrator, plus the possibility to create domains and to assign resources.")}],t=[{label:a("Super administrator"),value:_.SUPER_ADMIN,help:a("A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features.")}];return w({vFormRef:m,roleLabel:p}),(n,r)=>(y(),R(k,{ref_key:"vFormRef",ref:m},{default:h(()=>[d(P,null,{default:h(()=>[d(L,{cols:"7"},{default:h(()=>[d(s(O),{modelValue:c.value.role,"onUpdate:modelValue":r[0]||(r[0]=I=>c.value.role=I),label:s(a)("Choose a role"),choices:b.value,"choices-per-line":2},null,8,["modelValue","label","choices"])]),_:1}),d(L,{cols:"5"},{default:h(()=>[d(B,{color:"primary",class:"mt-11 ml-4 rounded-lg"},{default:h(()=>[U("h3",W,x(p.value),1),U("p",X,x(e.value),1),d(z,{color:"white",class:"float-right",size:"large",icon:"mdi-help-circle-outline"})]),_:1})]),_:1})]),_:1})]),_:1},512))}},Z={class:"m-label"},ee={class:"m-label"},le={class:"m-label"},Ve={__name:"AccountGeneralForm",props:{modelValue:{type:Object,default:null},editing:{type:Boolean,default:!1}},setup(g,{expose:w}){const{$gettext:i}=S(),a=N(),v=g,m=V(),c=V({}),l=f(()=>v.modelValue),p=f(()=>l.value.role===_.USER?i("Enter an email address"):i("Enter a simple username or an email address")),e=f(()=>l.value.role===_.USER?"email":"text");function b(){l.value.username.indexOf("@")!==-1&&(l.value.mailbox.full_address=l.value.username,l.value.mailbox.message_limit=null)}return w({vFormRef:m,formErrors:c}),(A,o)=>(y(),R(k,{ref_key:"vFormRef",ref:m},{default:h(()=>[U("label",Z,x(s(i)("Username")),1),d(q,{ref:"username",modelValue:l.value.username,"onUpdate:modelValue":[o[0]||(o[0]=u=>l.value.username=u),b],placeholder:p.value,type:e.value,rules:e.value==="email"?[s(F).required,s(F).email]:[s(F).required],role:l.value.role,"error-msg":c.value.value?c.value.value.username:[]},null,8,["modelValue","placeholder","type","rules","role","error-msg"]),U("label",ee,x(s(i)("First name")),1),d(E,{modelValue:l.value.first_name,"onUpdate:modelValue":o[1]||(o[1]=u=>l.value.first_name=u),autocomplete:"new-password",variant:"outlined",density:"compact"},null,8,["modelValue"]),U("label",le,x(s(i)("Last name")),1),d(E,{modelValue:l.value.last_name,"onUpdate:modelValue":o[2]||(o[2]=u=>l.value.last_name=u),autocomplete:"new-password",variant:"outlined",density:"compact"},null,8,["modelValue"]),s(a).authUser.pk!==l.value.pk?(y(),R(K,{key:0,ref:"passwordForm",modelValue:l.value,"onUpdate:modelValue":o[3]||(o[3]=u=>l.value=u),editing:g.editing,"form-errors":c.value},null,8,["modelValue","editing","form-errors"])):(y(),R(B,{key:1,type:"info",variant:"tonal",class:"py-2"},{default:h(()=>[M(x(s(i)("You can update your password from the Account section")),1)]),_:1})),d($,{modelValue:l.value.is_active,"onUpdate:modelValue":o[4]||(o[4]=u=>l.value.is_active=u),label:s(i)("Enabled"),density:"compact",color:"primary"},null,8,["modelValue","label"])]),_:1},512))}},ae={class:"m-label"},oe={class:"m-label"},te={__name:"AccountMailboxForm",props:{modelValue:{type:Object,default:null}},emits:["update:modelValue"],setup(g,{expose:w,emit:i}){const{$gettext:a}=S(),v=i,m=g,c=Y(),l=f(()=>c.domains),p=V(),e=V({mailbox:{}});D(m.modelValue,t=>{t?(e.value={...t},e.value.role===_.USER&&(e.value.mailbox||(e.value.mailbox={}),e.value.mailbox.full_address=e.value.username),e.value.mailbox.message_limit===""&&(e.value.mailbox.message_limit=null)):e.value={mailbox:{}}},{immediate:!0}),D(e,t=>{v("update:modelValue",t)},{deep:!0});const b=f(()=>{const t=e.value.mailbox.full_address;if(t&&t.indexOf("@")!==-1){const n=l.value.find(r=>r.name===t.split("@")[1]);if(n)return parseInt(n.default_mailbox_quota)}}),A=f(()=>{let t=a("Use domain default value");return b.value!==void 0&&(b.value===0?t+=` (${a("unlimited")})`:t+=` (${b.value} MB)`),t});function o(t){t&&delete e.value.mailbox.quota}function u(t){t===""&&(e.value.mailbox.message_limit=null)}return w({vFormRef:p}),(t,n)=>(y(),R(k,{ref_key:"vFormRef",ref:p},{default:h(()=>[U("label",ae,x(s(a)("Quota")),1),d($,{modelValue:e.value.mailbox.use_domain_quota,"onUpdate:modelValue":[n[0]||(n[0]=r=>e.value.mailbox.use_domain_quota=r),o],label:A.value,color:"primary"},null,8,["modelValue","label"]),e.value.mailbox.use_domain_quota?j("",!0):(y(),R(E,{key:0,modelValue:e.value.mailbox.quota,"onUpdate:modelValue":n[1]||(n[1]=r=>e.value.mailbox.quota=r),placeholder:s(a)("Ex: 10MB. Leave empty for no limit"),hint:s(a)("Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."),"persistent-hint":"",variant:"outlined",density:"compact"},null,8,["modelValue","placeholder","hint"])),U("label",oe,x(s(a)("Daily message sending limit")),1),d(E,{modelValue:e.value.mailbox.message_limit,"onUpdate:modelValue":[n[2]||(n[2]=r=>e.value.mailbox.message_limit=r),u],placeholder:s(a)("Leave empty for no limit"),hint:s(a)("Number of messages this mailbox can send per day. Leave empty for no limit."),"persistent-hint":"",variant:"outlined",density:"compact",rules:[s(F).numericOrNull]},null,8,["modelValue","placeholder","hint","rules"]),d($,{modelValue:e.value.mailbox.is_send_only,"onUpdate:modelValue":n[3]||(n[3]=r=>e.value.mailbox.is_send_only=r),label:s(a)("Send only account"),density:"compact",color:"primary"},null,8,["modelValue","label"])]),_:1},512))}},he=C(te,[["__scopeId","data-v-41714779"]]),xe={__name:"AccountAliasForm",props:{modelValue:{type:Object,default:null}},setup(g,{expose:w}){const{$gettext:i}=S(),a=g,v=f(()=>a.modelValue),m=V(""),c=V(),l=V(),p=V(!1),e=V([]);async function b(){if(e.value=[],p.value=!0,v.value.aliases.indexOf(m.value)!==-1){e.value=[i("Alias already added")],m.value="",p.value=!1;return}try{await H.validate({aliases:[m.value],mailbox:v.value.mailbox}),v.value.aliases.push(m.value),m.value="",l.value.resetValidation()}catch(o){o.response.data.aliases?o.response.data.aliases:o.response.data.non_field_errors&&o.response.data.non_field_errors}finally{p.value=!1}}function A(o){v.value.aliases.splice(o,1)}return w({vFormRef:l}),(o,u)=>(y(),R(k,{ref_key:"vFormRef",ref:l},{default:h(()=>[d(s(q),{ref_key:"aliasField",ref:c,modelValue:m.value,"onUpdate:modelValue":u[0]||(u[0]=t=>m.value=t),placeholder:s(i)("Start typing a name here..."),hint:s(i)("Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)."),"persistent-hint":"",loading:p.value,"error-msg":e.value,onDomainSelected:b},null,8,["modelValue","placeholder","hint","loading","error-msg"]),(y(!0),Q(G,null,T(v.value.aliases,(t,n)=>(y(),R(J,{key:n,class:"mr-2 mt-2",closable:"","onClick:close":r=>A(n)},{default:h(()=>[M(x(t),1)]),_:2},1032,["onClick:close"]))),128))]),_:1},512))}};export{he as A,xe as _,Ve as a,_e as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as q,u as H,M as J,s as K,g as c,h as P,i as T,d as W,N as L,L as X,c as d,m as p,o,a,e as v,w as e,q as y,f as m,l as f,t as r,F as M,j as Y}from"./index-CTxlYqj4.js";import{b as Z,a as ee,A as ae,_ as le}from"./AccountAliasForm-kM_uu76m.js";import{_ as te}from"./ResourcesForm-k0MAKh89.js";import{L as oe}from"./LoadingData-BT9tD67O.js";import{p as se}from"./parameters-1TAbI5b7.js";import{u as ue}from"./permissions-CbdfpdU1.js";import{g,d as U,V as j}from"./VAvatar-x_79C0tA.js";import{V,c as b,a as x,b as re}from"./VExpansionPanels-DpJzLCB-.js";import{V as _,a as n}from"./VRow-B-csPNw7.js";import{V as ne,a as ie}from"./VToolbar-Cd2iSn8H.js";import"./ChoiceField-3mhgf6ob.js";import"./VAlert-BiAap6Bx.js";import"./VProgressCircular-ubzZW5PC.js";import"./tag-Dx3OexMp.js";import"./VForm-CXf-xKYz.js";import"./VTextField-CWm47OUI.js";import"./forwardRefs-BSESyuUp.js";import"./ssrBoot-DGgZQEVC.js";import"./AccountPasswordSubForm-D7zaiyOj.js";import"./VSwitch-HiyBjUWI.js";import"./VSelectionControl-Bdgm37Tl.js";import"./EmailField-CK1ZbR3C.js";import"./domains.store-BAoaJY6i.js";import"./domains-HueJ9pRR.js";import"./VChip-Def9BYoN.js";import"./VContainer-CC8lqRXa.js";/* empty css */const de={key:1},me={key:0},fe={key:0},ce={class:"mr-2"},_e={class:"mr-2"},ve={key:0},pe={class:"mr-2"},ye={class:"mr-2"},ke={class:"mr-2"},ge={key:0},Ve={class:"mr-2"},be={key:0},xe={class:"mr-2"},Fe={class:"mr-2"},we={class:"mt-4 d-flex justify-end"},he={__name:"AccountEditForm",setup(G){const{$gettext:i}=q(),N=H(),F=J(),O=K(),{canSetRole:S}=ue(),l=c({pk:F.params.id}),w=P(()=>l.value.username&&l.value.username.indexOf("@")!==-1),$=P(()=>{const t=C.value.params&&C.value.params.enable_admin_limits&&l.value.role!==T.USER&&l.value.role!==T.SUPER_ADMIN;return t===void 0?!1:t}),C=c({}),h=c(0),k=c(!1),E=c(!1),A=c(),B=c(),I=c(),D=c(),R=c(),Q=P(()=>{const t={roleForm:A,generalForm:B};return w.value&&(t.aliasForm=D,t.mailboxForm=I),$.value&&(t.resourcesForm=R),t});async function z(){E.value=!1,h.value=[];for(const[t,s]of Object.entries(Q.value))if(s.value!=null){const{valid:u}=await s.value.vFormRef.validate();u||(E.value=!0,h.value.push(t))}if(!E.value){k.value=!0;try{const t={...l.value};w.value?t.mailbox.full_address=t.username:t.mailbox&&delete t.mailbox.full_address,t.new_password&&(t.password=t.new_password,delete t.new_password,delete t.password_confirmation),$.value&&R.value!==null&&(t.resources=R.value.getPayload()),t.aliases===null&&delete t.aliases,S.value||(l.value.pk===N.authUser.pk?t.role=N.authUser.role:t.role=T.USER),await L.patch(l.value.pk,t),O.push({name:"AccountDetail",params:{id:F.params.id}})}finally{k.value=!1}}}return W(()=>{L.get(F.params.id).then(t=>{l.value=t.data,k.value=!1}),S.value&&se.getGlobalApplication("limits").then(t=>{C.value=t.data})}),X(l,()=>{delete l.value.domains,l.value.mailbox===null&&delete l.value.mailbox},{deep:!0}),(t,s)=>k.value?(o(),d(oe,{key:0})):(o(),p("div",de,[a(re,{modelValue:h.value,"onUpdate:modelValue":s[5]||(s[5]=u=>h.value=u),multiple:E.value},{default:e(()=>[m(S)?(o(),d(V,{key:0,eager:"",value:"roleForm"},{default:e(()=>[a(b,null,{default:e(({expanded:u})=>[a(_,{"no-gutters":""},{default:e(()=>[a(n,{cols:"4"},{default:e(()=>[f(r(m(i)("Role")),1)]),_:1}),a(n,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(g,{"leave-absolute":""},{default:e(()=>[u?(o(),p("span",me)):(o(),d(_,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[A.value?(o(),d(n,{key:0,cols:"6"},{default:e(()=>[f(r(A.value.roleLabel),1)]),_:1})):y("",!0)]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(x,null,{default:e(()=>[a(Z,{ref_key:"roleForm",ref:A,modelValue:l.value,"onUpdate:modelValue":s[0]||(s[0]=u=>l.value=u)},null,8,["modelValue"])]),_:1})]),_:1})):y("",!0),a(V,{eager:"",value:"generalForm"},{default:e(()=>[a(b,null,{default:e(({expanded:u})=>[a(_,{"no-gutters":""},{default:e(()=>[a(n,{cols:"4"},{default:e(()=>[f(r(m(i)("Identification")),1)]),_:1}),a(n,{cols:"8",class:""},{default:e(()=>[a(g,{"leave-absolute":""},{default:e(()=>[u?(o(),p("span",fe)):(o(),d(_,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(n,{cols:"6"},{default:e(()=>[v("div",ce,r(m(i)("Username:"))+" "+r(l.value.username),1)]),_:1}),a(n,{cols:"6"},{default:e(()=>[v("div",_e,[f(r(m(i)("Enabled"))+" ",1),l.value.is_active?(o(),d(U,{key:0,color:"success"},{default:e(()=>s[7]||(s[7]=[f("mdi-check-circle-outline")])),_:1,__:[7]})):(o(),d(U,{key:1},{default:e(()=>s[8]||(s[8]=[f("mdi-close-circle-outline")])),_:1,__:[8]}))])]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(x,null,{default:e(()=>[a(ee,{ref_key:"generalForm",ref:B,modelValue:l.value,"onUpdate:modelValue":s[1]||(s[1]=u=>l.value=u),editing:""},null,8,["modelValue"])]),_:1})]),_:1}),w.value?(o(),d(V,{key:1,eager:"",value:"mailboxForm"},{default:e(()=>[a(b,null,{default:e(({expanded:u})=>[a(_,{"no-gutters":""},{default:e(()=>[a(n,{cols:"4"},{default:e(()=>[f(r(m(i)("Mailbox")),1)]),_:1}),a(n,{cols:"8",class:""},{default:e(()=>[a(g,{"leave-absolute":""},{default:e(()=>[u?(o(),p("span",ve)):(o(),d(_,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[l.value.mailbox?(o(),p(M,{key:0},[l.value.mailbox.use_domain_quota?(o(),d(n,{key:0,cols:"6"},{default:e(()=>[v("div",pe,r(m(i)("Quota: "))+" "+r(m(i)("domain's default value")),1)]),_:1})):(o(),d(n,{key:1,cols:"6"},{default:e(()=>[v("div",ye,r(m(i)("Quota: "))+" "+r(l.value.mailbox.quota),1)]),_:1})),a(n,{cols:"6"},{default:e(()=>[v("div",ke,[f(r(m(i)("Send only"))+" ",1),l.value.mailbox.is_send_only?(o(),d(U,{key:0,color:"success"},{default:e(()=>s[9]||(s[9]=[f("mdi-check-circle-outline")])),_:1,__:[9]})):(o(),d(U,{key:1},{default:e(()=>s[10]||(s[10]=[f("mdi-close-circle-outline")])),_:1,__:[10]}))])]),_:1})],64)):y("",!0)]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(x,null,{default:e(()=>[a(ae,{ref_key:"mailboxForm",ref:I,modelValue:l.value,"onUpdate:modelValue":s[2]||(s[2]=u=>l.value=u)},null,8,["modelValue"])]),_:1})]),_:1})):y("",!0),w.value?(o(),d(V,{key:2,eager:"",value:"aliasForm"},{default:e(()=>[a(b,null,{default:e(({expanded:u})=>[a(_,{"no-gutters":""},{default:e(()=>[a(n,{cols:"4"},{default:e(()=>[f(r(m(i)("Alias")),1)]),_:1}),a(n,{cols:"8",class:""},{default:e(()=>[a(g,{"leave-absolute":""},{default:e(()=>[u?(o(),p("span",ge)):(o(),d(_,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[l.value.aliases?(o(),d(n,{key:0,cols:"6"},{default:e(()=>[v("div",Ve,r(m(i)("Number of associated alias:"))+" "+r(l.value.aliases.length),1)]),_:1})):y("",!0)]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(x,null,{default:e(()=>[a(le,{ref_key:"aliasForm",ref:D,modelValue:l.value,"onUpdate:modelValue":s[3]||(s[3]=u=>l.value=u)},null,8,["modelValue"])]),_:1})]),_:1})):y("",!0),$.value?(o(),d(V,{key:3,eager:"",value:"resourcesForm"},{default:e(()=>[a(b,null,{default:e(({expanded:u})=>[a(_,{"no-gutters":""},{default:e(()=>[a(n,{cols:"4"},{default:e(()=>[f(r(m(i)("Resources")),1)]),_:1}),a(n,{cols:"8",class:""},{default:e(()=>[a(g,{"leave-absolute":""},{default:e(()=>[u?(o(),p("span",be)):(o(),d(_,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[l.value.resources!=null&&l.value.resources.length==2?(o(),p(M,{key:0},[a(n,{cols:"6"},{default:e(()=>[v("div",xe,r(m(i)("Number of allowed mailboxes:"))+" "+r(l.value.resources[0].max_value),1)]),_:1}),a(n,{cols:"6"},{default:e(()=>[v("div",Fe,r(m(i)("Number of allowed mailbox aliases:"))+" "+r(l.value.resources[1].max_value),1)]),_:1})],64)):y("",!0)]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(x,null,{default:e(()=>[a(te,{ref_key:"resourcesForm",ref:R,modelValue:l.value.resources,"onUpdate:modelValue":s[4]||(s[4]=u=>l.value.resources=u)},null,8,["modelValue"])]),_:1})]),_:1})):y("",!0)]),_:1},8,["modelValue","multiple"]),v("div",we,[a(j,{loading:k.value,variant:"outlined",onClick:s[6]||(s[6]=u=>t.$router.go(-1))},{default:e(()=>[f(r(m(i)("Cancel")),1)]),_:1},8,["loading"]),a(j,{class:"ml-4",color:"primary darken-1",variant:"outlined",loading:k.value,onClick:z},{default:e(()=>[f(r(m(i)("Save")),1)]),_:1},8,["loading"])])]))}},Ee={__name:"AccountEditView",setup(G){const{$gettext:i}=q();return(N,F)=>(o(),p(M,null,[a(ne,{flat:""},{default:e(()=>[a(ie,null,{default:e(()=>[f(r(m(i)("Edit account")),1)]),_:1})]),_:1}),a(he)],64))}},ea=Y(Ee,[["__scopeId","data-v-4019c7f8"]]);export{ea as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as p,b as c,g as u,h as s,c as l,o as f}from"./index-CTxlYqj4.js";import{_}from"./ConnectedLayout-CuQwWdiY.js";import{p as h}from"./parameters-1TAbI5b7.js";import"./VContainer-CC8lqRXa.js";/* empty css */import"./tag-Dx3OexMp.js";import"./VApp-tsfSFSQl.js";import"./layout-BFr6o7er.js";import"./ssrBoot-DGgZQEVC.js";import"./global.store-C4iiNxy1.js";import"./admin-CjK02gmr.js";import"./layout.store-3tdRwdnE.js";import"./VAvatar-x_79C0tA.js";import"./VProgressCircular-ubzZW5PC.js";import"./forwardRefs-BSESyuUp.js";import"./VMenu-DTm7W1Hp.js";import"./VCard-DRptUN8Y.js";import"./VRow-B-csPNw7.js";import"./VSheet-BV83IblO.js";const j={__name:"AccountLayout",setup(d){const i=p(),{$gettext:e}=c(),r=u([]),m=s(()=>i.authUser),n=s(()=>{const t=[],a={contacts:"mdi-contacts-outline",webmail:"mdi-at"};if(t.push({text:e("Settings"),to:{name:"AccountSettings"},icon:"mdi-cog"}),m.value.mailbox){t.push({text:e("Filters"),to:{name:"AccountFilters"},icon:"mdi-filter"});for(const o of r.value)t.push({icon:a[o.name],text:o.label,to:{name:"AccountParametersEdit",params:{app:o.name}}})}return t});return h.getUserApplications().then(t=>{r.value=t.data}),(t,a)=>(f(),l(_,{color:"grey","menu-items":n.value},null,8,["menu-items"]))}};export{j as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as P,
|
|
1
|
+
import{b as P,n as _,h as b,m,o as n,q as p,a as o,F as V,e as v,t as y,f as l,w as u,c as h,N as E}from"./index-CTxlYqj4.js";import{r as c}from"./VForm-CXf-xKYz.js";import{V as w}from"./VTextField-CWm47OUI.js";import{a as g,V as q}from"./VRow-B-csPNw7.js";import{V as N}from"./VSwitch-HiyBjUWI.js";import{V as R}from"./VAlert-BiAap6Bx.js";import{V as S}from"./VAvatar-x_79C0tA.js";const A={class:"m-label"},F={class:"text-white mr-4"},$={__name:"AccountPasswordSubForm",props:{modelValue:{type:Object,default:null},withPasswordCheck:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},editing:{type:Boolean,default:!1},formErrors:{type:Object,required:!1,default:()=>{}}},setup(s){const{$gettext:t}=P(),k=_(),r=s,e=b(()=>r.modelValue),f=b(()=>!r.disabled&&(!r.editing||e.value.password)),x=i=>i===e.value.new_password||t("Password mismatch");function C(){navigator.clipboard.writeText(e.value.new_password).then(()=>{k.displayNotification({msg:t("Password copied to clipboard")})})}function B(i){i?E.getRandomPassword().then(a=>{e.value.new_password=a.data.password}):(e.value.new_password=null,e.value.password_confirmation=null)}return(i,a)=>(n(),m("div",null,[s.withPasswordCheck?(n(),m(V,{key:0},[v("label",A,y(l(t)("Current password")),1),o(w,{modelValue:e.value.password,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value.password=d),autocomplete:"new-password",variant:"outlined",type:"password",density:"compact","validate-on":"submit",rules:s.disabled?[]:[l(c).required],disabled:s.disabled,"error-messages":r.formErrors?r.formErrors.password:[]},null,8,["modelValue","rules","disabled","error-messages"])],64)):p("",!0),o(q,{justify:"center"},{default:u(()=>[o(g,{cols:"auto"},{default:u(()=>[o(N,{modelValue:e.value.random_password,"onUpdate:modelValue":[a[1]||(a[1]=d=>e.value.random_password=d),B],label:l(t)("Random password"),density:"compact",color:"primary",class:"text-center",disabled:s.disabled},null,8,["modelValue","label","disabled"])]),_:1}),o(g,null,{default:u(()=>[e.value.random_password?(n(),h(R,{key:0,style:{"background-color":"#515d78"},class:"ml-6",density:"compact"},{default:u(()=>[v("span",F,y(e.value.new_password),1),o(S,{size:"small",color:"white",variant:"text",density:"compact",disabled:s.disabled,icon:"mdi-clipboard-multiple-outline",title:l(t)("Copy to clipboard"),onClick:C},null,8,["disabled","title"])]),_:1})):p("",!0)]),_:1})]),_:1}),e.value.random_password?p("",!0):(n(),m(V,{key:1},[o(w,{modelValue:e.value.new_password,"onUpdate:modelValue":a[2]||(a[2]=d=>e.value.new_password=d),variant:"outlined",label:l(t)("Password"),type:"password",autocomplete:"new-password",density:"compact",disabled:s.disabled,rules:f.value?[l(c).required]:[]},null,8,["modelValue","label","disabled","rules"]),o(w,{modelValue:e.value.password_confirmation,"onUpdate:modelValue":a[3]||(a[3]=d=>e.value.password_confirmation=d),variant:"outlined",type:"password",label:l(t)("Confirmation"),density:"compact",disabled:s.disabled,rules:f.value?[l(c).required,x]:[],"error-messages":r.formErrors?r.formErrors.new_password:[]},null,8,["modelValue","label","disabled","rules","error-messages"])],64))]))}};export{$ as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as r,o,w as e,a as t,e as h,t as a,m as p,F as v,G as D,l as s,_ as N,n as P,b as T,g as x,f,q as g,j as U,M as G,N as z,i as M}from"./index-CTxlYqj4.js";import{u as Q}from"./permissions-CbdfpdU1.js";import{p as H}from"./parameters-1TAbI5b7.js";import{c as A,V,b as C}from"./VCard-DRptUN8Y.js";import{V as J}from"./VChip-Def9BYoN.js";import{V as K}from"./VDataTable-CYPG0MtF.js";import{V as $,d as F,e as E}from"./VAvatar-x_79C0tA.js";import{V as W}from"./VTextField-CWm47OUI.js";import{V as _,a as c}from"./VRow-B-csPNw7.js";import{V as X,a as Y}from"./VToolbar-Cd2iSn8H.js";import"./tag-Dx3OexMp.js";import"./VProgressCircular-ubzZW5PC.js";import"./VSelect-tV4GZAtn.js";import"./forwardRefs-BSESyuUp.js";import"./ssrBoot-DGgZQEVC.js";import"./VMenu-DTm7W1Hp.js";import"./VCheckboxBtn-xrhfoOlo.js";import"./VSelectionControl-Bdgm37Tl.js";import"./VTable-B-HE2nmK.js";import"./filter-DaBUD6Rp.js";/* empty css */const Z={class:"headline"},ee={__name:"AccountAliases",props:{account:{type:Object,default:null}},setup(l){return(n,m)=>(o(),r(C,null,{default:e(()=>[t(A,null,{default:e(()=>[h("span",Z,a(n.$gettext("Aliases")),1)]),_:1}),t(V,null,{default:e(()=>[(o(!0),p(v,null,D(l.account.aliases,u=>(o(),r(J,{key:u,class:"mr-2 mt-2"},{default:e(()=>[s(a(u),1)]),_:2},1024))),128))]),_:1})]),_:1}))}},w="senderaddresses",B={getAll(){return N.get(`${w}/`)},getAllForMailbox(l){return N.get(`${w}/`,{params:{mailbox:l}})},create(l){return N.post(`${w}/`,l)},delete(l){return N.delete(`${w}/${l}/`)}},te={class:"headline"},ae={key:0},le={__name:"AccountSenderAddresses",props:{account:{type:Object,default:null}},setup(l){const n=P(),{$gettext:m}=T(),u=l,i=x([]),y=x(!1),d=x(""),q=[{title:m("Address"),key:"address"},{title:"",key:"actions",align:"end",sortable:!1}];function I(){i.value.push({}),y.value=!0}function R(){B.getAllForMailbox(u.account.mailbox.pk).then(k=>{i.value=k.data})}function L(){const k={address:d.value,mailbox:u.account.mailbox.pk};B.create(k).then(()=>{R(),d.value=null,y.value=!1,n.displayNotification({msg:m("Sender address added")})})}function O(k){B.delete(k.pk).then(()=>{R(),n.displayNotification({msg:m("Sender address deleted")})})}return R(),(k,S)=>(o(),r(C,null,{default:e(()=>[t(A,null,{default:e(()=>[h("span",te,a(f(m)("Sender addresses")),1)]),_:1}),t(V,null,{default:e(()=>[t(K,{headers:q,items:i.value,"no-data-text":f(m)("No sender address defined for this account")},{"item.address":e(({item:b})=>[b.pk?(o(),p("span",ae,a(b.address),1)):(o(),r(W,{key:1,modelValue:d.value,"onUpdate:modelValue":S[0]||(S[0]=j=>d.value=j),label:f(m)("Specify an email address")},{append:e(()=>[d.value?(o(),r($,{key:0,icon:"mdi-content-save",color:"primary",variant:"text",onClick:L})):g("",!0)]),_:1},8,["modelValue","label"]))]),"item.actions":e(({item:b})=>[b.pk?(o(),r($,{key:0,icon:"mdi-delete-outline",color:"red",title:f(m)("Remove this address"),variant:"text",onClick:j=>O(b)},null,8,["title","onClick"])):g("",!0)]),bottom:e(()=>S[1]||(S[1]=[])),_:2},1032,["items","no-data-text"]),y.value?g("",!0):(o(),r($,{key:0,size:"small",color:"primary",variant:"outlined",onClick:I},{default:e(()=>[t(F,{size:"small",icon:"mdi-plus"}),s(" "+a(f(m)("Add sender address")),1)]),_:1}))]),_:1})]),_:1}))}},ne={class:"headline"},oe={__name:"AccountSummary",props:{account:{type:Object,default:null}},setup(l){return(n,m)=>(o(),r(C,null,{default:e(()=>[t(A,null,{default:e(()=>[h("span",ne,a(n.$gettext("General information")),1)]),_:1}),t(V,null,{default:e(()=>[t(_,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[s(a(n.$gettext("Creation date")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[s(a(n.$date(l.account.date_joined)),1)]),_:1})]),_:1}),t(_,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[s(a(n.$gettext("Last login date")),1)]),_:1}),l.account.last_login?(o(),r(c,{key:0,cols:"6"},{default:e(()=>[s(a(n.$date(l.account.last_login)),1)]),_:1})):(o(),r(c,{key:1,cols:"6"},{default:e(()=>[s(a(n.$gettext("Never logged-in")),1)]),_:1}))]),_:1}),t(_,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[s(a(n.$gettext("Full name")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[s(a(l.account.first_name)+" "+a(l.account.last_name),1)]),_:1})]),_:1}),t(_,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[s(a(n.$gettext("Role")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[s(a(l.account.role),1)]),_:1})]),_:1}),t(_,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[s(a(n.$gettext("Secondary email")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[s(a(l.account.secondary_email),1)]),_:1})]),_:1}),t(_,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[s(a(n.$gettext("Phone number")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[s(a(l.account.phone_number),1)]),_:1})]),_:1}),t(_,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[s(a(n.$gettext("Enabled")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[t(F,{color:l.account.is_active?"success":"error",icon:l.account.is_active?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),_:1})]),_:1}),l.account.mailbox?(o(),p(v,{key:0},[t(_,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[s(a(n.$gettext("Quota")),1)]),_:1}),l.account.mailbox.quota==="0"?(o(),r(c,{key:0,cols:"6"},{default:e(()=>[s(a(n.$gettext("Unlimited")),1)]),_:1})):(o(),r(c,{key:1,cols:"6"},{default:e(()=>[t(E,{color:l.account.mailbox.quota_usage<80?"primary":"warning","model-value":l.account.mailbox.quota_usage,height:"25",class:"white--text"},{default:e(({value:u})=>[s(a(Math.ceil(u))+"% ("+a(l.account.mailbox.quota)+" "+a(n.$gettext("MB"))+") ",1)]),_:1},8,["color","model-value"])]),_:1}))]),_:1}),l.account.mailbox.message_limit?(o(),r(_,{key:0},{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[s(a(n.$gettext("Daily sending limit")),1)]),_:1}),t(c,{cols:"6"},{default:e(()=>[s(a(l.account.mailbox.message_limit),1)]),_:1})]),_:1})):g("",!0)],64)):g("",!0)]),_:1})]),_:1}))}},se={class:"headline"},ue={key:1},ce={class:"text-disabled"},de={__name:"DomainAdminDomains",props:{account:{type:Object,default:null}},setup(l){const{$gettext:n}=T();return(m,u)=>(o(),r(C,null,{default:e(()=>[t(A,null,{default:e(()=>[h("span",se,a(f(n)("Administered domains")),1)]),_:1}),t(V,null,{default:e(()=>[l.account.domains!==void 0&&l.account.domains.length?(o(!0),p(v,{key:0},D(l.account.domains,i=>(o(),r(_,{key:i},{default:e(()=>[t(c,{cols:"12"},{default:e(()=>[s(a(i),1)]),_:2},1024)]),_:2},1024))),128)):(o(),p("div",ue,a(f(n)("No domain managed")),1)),h("div",ce,a(f(n)("Add/Remove from the domain page")),1)]),_:1})]),_:1}))}},re={class:"headline"},ie={__name:"ResourcesView",props:{resources:{type:Array,default:null}},setup(l){const{$gettext:n}=T(),m=i=>i.name==="quota"?n("No quota"):n("Creation denied");function u(i){return i<50?"primary":i<80?"warning":"error"}return(i,y)=>(o(),r(C,null,{default:e(()=>[t(A,null,{default:e(()=>[h("span",re,a(f(n)("Resources usage")),1)]),_:1}),t(V,null,{default:e(()=>[(o(!0),p(v,null,D(l.resources,d=>(o(),p("div",{key:d.name,class:"mt-4"},[d.max_value===-1?(o(),p(v,{key:0},[s(a(d.label)+" ("+a(f(n)("Unlimited"))+") ",1)],64)):d.max_value===0?(o(),p(v,{key:1},[s(a(d.label)+" ("+a(m(d))+") ",1)],64)):(o(),p(v,{key:2},[s(a(d.label)+" ("+a(Math.ceil(d.usage))+"%) ",1),t(E,{"model-value":d.usage,color:u(d.usage)},null,8,["model-value","color"])],64))]))),128))]),_:1})]),_:1}))}},me={__name:"AccountView",setup(l){const n=G(),{canSetRole:m}=Q(),u=x({pk:n.params.id}),i=x({});function y(){z.get(n.params.id).then(d=>{u.value=d.data})}return m.value&&H.getGlobalApplication("limits").then(d=>{i.value=d.data}),y(),(d,q)=>(o(),p(v,null,[t(X,{flat:""},{default:e(()=>[t(Y,null,{default:e(()=>[s(a(d.$gettext("Account"))+" "+a(u.value.username)+" ",1),t($,{color:"primary",icon:"mdi-circle-edit-outline",to:{name:"AccountEdit",params:{id:u.value.pk}}},null,8,["to"]),t($,{color:"primary",icon:"mdi-reload",onClick:y})]),_:1})]),_:1}),t(_,null,{default:e(()=>[t(c,{cols:"6"},{default:e(()=>[t(oe,{account:u.value},null,8,["account"]),u.value.role===f(M).DOMAIN_ADMIN?(o(),r(de,{key:0,class:"mt-2",account:u.value},null,8,["account"])):g("",!0)]),_:1}),t(c,{cols:"6"},{default:e(()=>[i.value.params&&i.value.params.enable_admin_limits&&u.value.role!==f(M).USER&&u.value.role!==f(M).SUPER_ADMIN?(o(),r(ie,{key:0,resources:u.value.resources},null,8,["resources"])):g("",!0),u.value.aliases?(o(),r(ee,{key:1,class:"mt-2",account:u.value},null,8,["account"])):g("",!0),u.value.mailbox?(o(),r(le,{key:2,class:"mt-2",account:u.value},null,8,["account"])):g("",!0)]),_:1})]),_:1})],64))}},Te=U(me,[["__scopeId","data-v-388d62f6"]]);export{Te as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as ie,g as V,c as A,o as p,w as t,a as e,e as j,t as f,k as x,h as P,l as O,f as m,p as D,F as z,b as Z,K as q,n as ee,E as X,L as me,m as ae,ay as ce,A as pe,q as oe}from"./index-BA5nENc7.js";import{c as N}from"./contacts-BVgP-Nvk.js";import{p as fe}from"./parameters-D7GvY13G.js";import{c as H,V as Q,a as W,b as J}from"./VCard-CgG7Sw1Z.js";import{V as ve}from"./VAlert-DMLG8wNi.js";import{V as G}from"./VSpacer-DL_DqXyB.js";import{V as $}from"./VAvatar-BLlAVJo2.js";import{r as Y,V as te}from"./VForm-B967suxO.js";import{V as w}from"./VTextField-4NZ7IznA.js";import{a as _,V as ye}from"./VRow-CnohEaAX.js";import{V as ne}from"./VSelect-BiP6crf0.js";import{V as le}from"./VTextarea-BXNl7Mt9.js";import{V as Ve}from"./VCheckbox-DPPPkFg8.js";import{_ as ge}from"./MenuItems-Cuf8-V0W.js";import{V as be}from"./VDataTable-C75c5ugx.js";import{V as Ce}from"./VMenu-ds-uYle9.js";import{V as ke}from"./VToolbar-J3yNZ_TP.js";import{V as _e}from"./VChip-DtLoN5pb.js";import{V as K}from"./VDialog-BZ4gm6K7.js";import{u as $e}from"./layout.store-BpB_lwEX.js";import"./tag-BQLfwzbO.js";import"./VProgressCircular--49P1TOW.js";/* empty css */import"./forwardRefs-DulMu961.js";import"./ssrBoot-CTcujE2n.js";import"./VCheckboxBtn-Bxy-LfII.js";import"./VSelectionControl-CCdZN5dG.js";import"./VTable-Dtu3KidF.js";import"./filter-C-VZW-D6.js";const he=ie("contacts",()=>{const y=V(null);function U(i){y.value=i}async function s(){y.value=null}return{currentCategory:y,setCurrentCategory:U,$reset:s}}),xe={class:"headline"},Ue={__name:"AddressBookInfo",props:{addressBookUrl:{type:String,default:null}},emits:["close"],setup(y,{emit:U}){return(s,i)=>(p(),A(J,null,{default:t(()=>[e(H,null,{default:t(()=>[j("span",xe,f(s.$gettext("Address book information")),1)]),_:1}),e(Q,null,{default:t(()=>[j("p",null,f(s.$gettext("To access this address book from the outside (such as Mozilla Thunderbird or your smartphone), use the following URL:")),1),e(ve,{type:"info",class:"my-4",variant:"tonal"},{default:t(()=>[x(f(y.addressBookUrl),1)]),_:1}),j("p",null,f(s.$gettext("The credentials are the same than the ones you use to access Modoboa.")),1)]),_:1}),e(W,null,{default:t(()=>[e(G),e($,{onClick:i[0]||(i[0]=a=>s.$emit("close"))},{default:t(()=>[x(f(s.$gettext("Close")),1)]),_:1})]),_:1})]),_:1}))}},we={__name:"EmailField",props:{modelValue:{type:Object,default:null},errors:{type:Object,default:null},index:{type:Number,required:!0}},emits:["add","delete","update:modelValue"],setup(y,{emit:U}){const s=y,i=U,a=P({get(){return s.modelValue},set(r){i("update:modelValue",r)}}),l=["home","work","other"];return(r,n)=>(p(),O(z,null,[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:a.value.address,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value.address=c),label:r.$gettext("Address"),variant:"outlined","prepend-icon":"mdi-email",density:"compact",rules:[m(Y).required]},null,8,["modelValue","label","rules"])]),_:1}),e(_,{cols:"4",class:"pl-4"},{default:t(()=>[e(ne,{modelValue:a.value.type,"onUpdate:modelValue":n[1]||(n[1]=c=>a.value.type=c),items:l,density:"compact",variant:"outlined",rules:[m(Y).required]},null,8,["modelValue","rules"])]),_:1}),e(_,{cols:"2",class:"pl-4"},{default:t(()=>[e($,{icon:"mdi-plus",size:"x-small",flat:"",onClick:n[2]||(n[2]=c=>r.$emit("add"))}),y.index?(p(),A($,{key:0,icon:"mdi-trash-can",color:"red",size:"x-small",flat:"",variant:"text",onClick:n[3]||(n[3]=c=>r.$emit("delete",y.index))})):D("",!0)]),_:1})],64))}},Ae={__name:"PhoneNumberField",props:{errors:{type:Object,default:null},index:{type:Number,required:!0},modelValue:{type:Object,default:null}},emits:["add","delete","update:modelValue"],setup(y,{emit:U}){const s=y,i=U,a=P({get(){return s.modelValue},set(r){i("update:modelValue",r)}}),l=["cell","fax","home","main","pager","work","other"];return(r,n)=>(p(),O(z,null,[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:a.value.number,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value.number=c),label:r.$gettext("Phone number"),variant:"outlined","prepend-icon":"mdi-phone",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"4",class:"pl-4"},{default:t(()=>[e(ne,{modelValue:a.value.type,"onUpdate:modelValue":n[1]||(n[1]=c=>a.value.type=c),items:l,density:"compact",variant:"outlined"},null,8,["modelValue"])]),_:1}),e(_,{cols:"2",class:"pl-4"},{default:t(()=>[e($,{icon:"mdi-plus",size:"x-small",flat:"",onClick:n[2]||(n[2]=c=>r.$emit("add"))}),y.index?(p(),A($,{key:0,icon:"mdi-trash-can",color:"red",size:"x-small",flat:"",variant:"text",onClick:n[3]||(n[3]=c=>r.$emit("delete",y.index))})):D("",!0)]),_:1})],64))}},Fe={class:"headline"},Se={__name:"ContactForm",props:{contact:{type:Object,required:!1}},emits:["close","added","updated"],setup(y,{emit:U}){const s=U,i=y,{$gettext:a}=Z(),l=V(v()),r=V(!1),n=V(),c=V({}),d=V(!1),F=P(()=>i.contact?a("Edit contact"):a("New contact")),h=P(()=>i.contact?a("Update"):a("Add"));function v(){return{emails:[{}],phone_numbers:[{}]}}function S(){l.value.emails.push({})}function T(B){l.value.emails.splice(B,1)}function L(){l.value.phone_numbers.push({})}function E(B){l.value.phone_numbers.splice(B,1)}async function I(){var u;const{valid:B}=await n.value.validate();if(!B)return;d.value=!0;const o=JSON.parse(JSON.stringify(l.value));Object.keys(o.phone_numbers[0]).length||o.phone_numbers.splice(0,1);try{let C;i.contact?(C=await N.updateContact(i.contact.pk,o),s("updated",C.data)):(C=await N.createContact(o),s("added",C.data)),s("close")}catch(C){((u=C.response)==null?void 0:u.status)===400&&(c.value=C.response.data)}finally{d.value=!1}}return q(()=>i.contact,B=>{B?(l.value=JSON.parse(JSON.stringify(B)),l.value.phone_numbers.length||(l.value.phone_numbers=[{}])):l.value=v()},{immediate:!0}),(B,o)=>(p(),A(J,null,{default:t(()=>[e(te,{ref_key:"formRef",ref:n,onSubmit:ee(I,["prevent"])},{default:t(()=>[e(H,null,{default:t(()=>[j("span",Fe,f(F.value),1)]),_:1}),e(Q,null,{default:t(()=>[e(ye,{"no-gutters":""},{default:t(()=>[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.first_name,"onUpdate:modelValue":o[0]||(o[0]=u=>l.value.first_name=u),label:m(a)("First name"),variant:"outlined","prepend-icon":"mdi-account",density:"compact","error-messages":c.value.first_name},null,8,["modelValue","label","error-messages"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.last_name,"onUpdate:modelValue":o[1]||(o[1]=u=>l.value.last_name=u),label:m(a)("Last name"),variant:"outlined",density:"compact","error-messages":c.value.last_name},null,8,["modelValue","label","error-messages"])]),_:1}),e(_,{cols:"12"},{default:t(()=>[e(w,{modelValue:l.value.display_name,"onUpdate:modelValue":o[2]||(o[2]=u=>l.value.display_name=u),label:m(a)("Display name"),variant:"outlined","prepend-icon":"toto",density:"compact","error-messages":c.value.display_name},null,8,["modelValue","label","error-messages"])]),_:1}),e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.company,"onUpdate:modelValue":o[3]||(o[3]=u=>l.value.company=u),label:m(a)("Company"),variant:"outlined","prepend-icon":"mdi-office-building",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.position,"onUpdate:modelValue":o[4]||(o[4]=u=>l.value.position=u),label:m(a)("Position"),variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),(p(!0),O(z,null,X(l.value.emails,(u,C)=>(p(),A(we,{key:`email-${C}`,modelValue:l.value.emails[C],"onUpdate:modelValue":M=>l.value.emails[C]=M,index:C,onAdd:S,onDelete:T},null,8,["modelValue","onUpdate:modelValue","index"]))),128)),(p(!0),O(z,null,X(l.value.phone_numbers,(u,C)=>(p(),A(Ae,{key:`phone-${C}`,modelValue:l.value.phone_numbers[C],"onUpdate:modelValue":M=>l.value.phone_numbers[C]=M,index:C,onAdd:L,onDelete:E},null,8,["modelValue","onUpdate:modelValue","index"]))),128)),r.value?(p(),O(z,{key:0},[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.birth_date,"onUpdate:modelValue":o[5]||(o[5]=u=>l.value.birth_date=u),label:m(a)("Birth date"),type:"date","prepend-icon":"mdi-calendar",variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"12"},{default:t(()=>[e(le,{modelValue:l.value.address,"onUpdate:modelValue":o[6]||(o[6]=u=>l.value.address=u),label:m(a)("Address"),"prepend-icon":"mdi-location",variant:"outlined",density:"compact",rows:"2"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.zipcode,"onUpdate:modelValue":o[7]||(o[7]=u=>l.value.zipcode=u),label:m(a)("Zip code"),"prepend-icon":"toto",variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.city,"onUpdate:modelValue":o[8]||(o[8]=u=>l.value.city=u),label:m(a)("City"),variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.country,"onUpdate:modelValue":o[9]||(o[9]=u=>l.value.country=u),label:m(a)("Country"),"prepend-icon":"toto",variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.state,"onUpdate:modelValue":o[10]||(o[10]=u=>l.value.state=u),label:m(a)("State/Province"),variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"12"},{default:t(()=>[e(le,{modelValue:l.value.note,"onUpdate:modelValue":o[11]||(o[11]=u=>l.value.note=u),label:m(a)("Note"),"prepend-icon":"mdi-file",variant:"outlined",density:"compact",rows:"2"},null,8,["modelValue","label"])]),_:1})],64)):D("",!0)]),_:1})]),_:1}),e(W,null,{default:t(()=>[r.value?(p(),A($,{key:1,onClick:o[13]||(o[13]=u=>r.value=!1)},{default:t(()=>[x(f(m(a)("Less")),1)]),_:1})):(p(),A($,{key:0,onClick:o[12]||(o[12]=u=>r.value=!0)},{default:t(()=>[x(f(m(a)("More")),1)]),_:1})),e(G),e($,{loading:d.value,onClick:o[14]||(o[14]=u=>s("close"))},{default:t(()=>[x(f(m(a)("Close")),1)]),_:1},8,["loading"]),e($,{color:"primary",type:"submit",loading:d.value},{default:t(()=>[x(f(h.value),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Ne={class:"headline"},Be={__name:"ContactCategoriesForm",props:{contact:{type:Object,default:null}},emits:["close"],setup(y,{emit:U}){const s=y,i=U,a=V([]),l=V([]),r=V(!1);function n(){i("close","updated")}async function c(){const d={categories:l.value};r.value=!0;try{await N.updateContact(s.contact.pk,d),i("updated"),n()}finally{r.value=!1}}return q(()=>s.contact,d=>{d?l.value=d.categories:l.value=[]},{immediate:!0}),N.getCategories().then(d=>{a.value=d.data}),(d,F)=>(p(),A(J,null,{default:t(()=>[e(te,{ref:"formRef",onSubmit:ee(c,["prevent"])},{default:t(()=>[e(H,null,{default:t(()=>[j("span",Ne,f(d.$gettext("Categories")),1)]),_:1}),e(Q,null,{default:t(()=>[(p(!0),O(z,null,X(a.value,h=>(p(),A(Ve,{key:h.pk,modelValue:l.value,"onUpdate:modelValue":F[0]||(F[0]=v=>l.value=v),label:h.name,"hide-details":"",value:h.pk,color:"primary"},null,8,["modelValue","label","value"]))),128))]),_:1}),e(W,null,{default:t(()=>[e(G),e($,{loading:r.value,onClick:n},{default:t(()=>[x(f(d.$gettext("Close")),1)]),_:1},8,["loading"]),e($,{color:"primary",type:"submit",loading:r.value},{default:t(()=>[x(f(d.$gettext("Update")),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Oe={class:"text-right"},ze={__name:"ContactList",emits:["editCategory"],setup(y,{emit:U}){const s=U,i=me(),{$gettext:a}=Z(),{displayNotification:l}=ae(),r=V({}),n=V([]),c=V(""),d=V(null),F=V(!1),h=V(!1),v=V(!1),S=V({}),T=[{key:"display_name",title:a("Display name")},{key:"emails",title:a("E-mail")},{key:"phone_numbers",title:a("Phone")},{key:"actions",title:a("Actions"),align:"end"}],L=[{label:a("Categories"),icon:"mdi-label",onClick:M},{label:a("Edit"),icon:"mdi-circle-edit-outline",onClick:u},{label:a("Delete"),icon:"mdi-delete-outline",onClick:ue,color:"red"}];let E;ce(()=>{E&&clearInterval(E)});function I(){h.value=!1,d.value=null}function B(g){return g.map(k=>k.address).join(", ")}function o(g){return g.map(k=>k.number).join(", ")}function u(g){d.value=g,h.value=!0}function C(){s("editCategory")}function M(g){d.value=g,v.value=!0}function se(){v.value=!1,d.value=null}function ue(g){N.deleteContact(g.pk).then(()=>{R()})}function R(){N.getContacts(i.params).then(g=>{n.value=g.data})}function re(){N.synchronizeToAddressBook().then(()=>{l({msg:a("Synchronization started")})})}return N.getDefaultAddressBook().then(g=>{r.value=g.data}),fe.getUserApplication("contacts").then(g=>{S.value=g.data.params}),R(),q(S,g=>{g&&(E=setInterval(N.synchronizeFromAddressBook,g.sync_frequency*1e3))}),q(()=>i.params.category,()=>{R()}),(g,k)=>(p(),O(z,null,[e(J,{class:"mt-6"},{default:t(()=>[e(be,{headers:T,items:n.value},{top:t(()=>[e(ke,{color:"white",flat:""},{default:t(()=>[e(w,{modelValue:c.value,"onUpdate:modelValue":k[0]||(k[0]=b=>c.value=b),"prepend-inner-icon":"mdi-magnify",placeholder:m(a)("Search"),variant:"outlined","single-line":"",flat:"","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),e($,{color:"primary",variant:"outlined",onClick:k[1]||(k[1]=b=>h.value=!0)},{default:t(()=>[x(f(m(a)("Add")),1)]),_:1}),S.value.enable_carddav_sync?(p(),O(z,{key:0},[e($,{icon:"mdi-information-outline",title:m(a)("Display address book information"),class:"ml-2",onClick:k[2]||(k[2]=b=>F.value=!0)},null,8,["title"]),r.value.last_sync?D("",!0):(p(),A($,{key:0,icon:"mdi-sync",color:"success",title:m(a)("Synchronize contacts with address book"),onClick:re},null,8,["title"]))],64)):D("",!0),g.$route.params.category?(p(),A(_e,{key:1,class:"my-2 mx-4",label:"",size:"small",color:"green","prepend-icon":"mdi-label",onClick:C},{default:t(()=>[x(f(g.$route.params.category),1)]),_:1})):D("",!0),e(G)]),_:1})]),"item.display_name":t(({item:b})=>[b.display_name?(p(),O(z,{key:0},[x(f(b.display_name),1)],64)):(p(),O(z,{key:1},[x(f(b.first_name)+" "+f(b.last_name),1)],64))]),"item.emails":t(({item:b})=>[x(f(B(b.emails)),1)]),"item.phone_numbers":t(({item:b})=>[x(f(o(b.phone_numbers)),1)]),"item.actions":t(({item:b})=>[j("div",Oe,[e(Ce,{"offset-y":""},{activator:t(({props:de})=>[e($,pe({icon:"mdi-dots-horizontal",variant:"text"},de),null,16)]),default:t(()=>[e(m(ge),{items:L,obj:b},null,8,["obj"])]),_:2},1024)])]),_:2},1032,["items"])]),_:1}),e(K,{modelValue:h.value,"onUpdate:modelValue":k[3]||(k[3]=b=>h.value=b),persistent:"","max-width":"800px"},{default:t(()=>[e(Se,{contact:d.value,onClose:I,onAdded:R,onUpdated:R},null,8,["contact"])]),_:1},8,["modelValue"]),e(K,{modelValue:v.value,"onUpdate:modelValue":k[4]||(k[4]=b=>v.value=b),persistent:"","max-width":"800px"},{default:t(()=>[e(Be,{contact:d.value,onUpdated:R,onClose:se},null,8,["contact"])]),_:1},8,["modelValue"]),e(K,{modelValue:F.value,"onUpdate:modelValue":k[6]||(k[6]=b=>F.value=b),persistent:"","max-width":"800px"},{default:t(()=>[e(Ue,{"address-book-url":r.value.url,onClose:k[5]||(k[5]=b=>F.value=!1)},null,8,["address-book-url"])]),_:1},8,["modelValue"])],64))}},Ee={class:"headline"},Le={__name:"CategoryForm",props:{category:{type:Object,default:null}},emits:["close","updated"],setup(y,{emit:U}){const s=y,i=U,a=oe(),{$gettext:l}=Z(),{displayNotification:r}=ae(),n=V({}),c=V(),d=V(!1),F=P(()=>s.category?l("Edit category"):l("Add category")),h=P(()=>s.category?l("Update"):l("Add"));function v(){n.value={},i("close")}async function S(){const{valid:L}=await c.value.validate();if(L){d.value=!0;try{s.category?await N.updateCategory(s.category.pk,n.value):await N.addCategory(n.value),i("updated"),i("close")}catch(E){console.log(E)}finally{d.value=!1}}}function T(){N.deleteCategory(s.category.pk).then(()=>{v(),i("updated"),r({msg:l("Category deleted")}),a.push({name:"ContactList"})})}return q(()=>s.category,L=>{L?n.value=JSON.parse(JSON.stringify(L)):n.value={}},{immediate:!0}),(L,E)=>(p(),A(J,null,{default:t(()=>[e(te,{ref_key:"formRef",ref:c,onSubmit:ee(S,["prevent"])},{default:t(()=>[e(H,null,{default:t(()=>[j("span",Ee,f(F.value),1)]),_:1}),e(Q,null,{default:t(()=>[e(w,{modelValue:n.value.name,"onUpdate:modelValue":E[0]||(E[0]=I=>n.value.name=I),label:m(l)("Name"),variant:"outlined",density:"compact",rules:[m(Y).required]},null,8,["modelValue","label","rules"])]),_:1}),e(W,null,{default:t(()=>[y.category?(p(),A($,{key:0,color:"red",onClick:T},{default:t(()=>[x(f(m(l)("Delete")),1)]),_:1})):D("",!0),e(G),e($,{loading:d.value,onClick:v},{default:t(()=>[x(f(m(l)("Close")),1)]),_:1},8,["loading"]),e($,{color:"primary",type:"submit",loading:d.value},{default:t(()=>[x(f(h.value),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},je={class:"text-h5 ml-4"},pt={__name:"AddressBook",setup(y){const U=oe(),{$gettext:s}=Z(),i=he(),a=$e(),l=V([]),r=V(!1),n=P(()=>{const v=[{icon:"mdi-contacts",text:s("Contacts"),to:{name:"ContactList"}},{text:s("Categories"),subheader:!0}];for(const S of l.value)v.push({icon:"mdi-label",text:S.name,action:()=>F(S)});return v.push({icon:"mdi-plus",text:s("Add a category"),action:c}),v});function c(){r.value=!0}function d(){r.value=!1}function F(v){i.setCurrentCategory(v),U.push({name:"ContactList",params:{category:v.name}})}function h(){N.getCategories().then(v=>{l.value=v.data})}return h(),q(n,v=>{a.setLeftMenuItems(v)}),(v,S)=>(p(),O(z,null,[j("div",je,f(m(s)("Contacts")),1),e(ze,{onEditCategory:c}),e(K,{modelValue:r.value,"onUpdate:modelValue":S[0]||(S[0]=T=>r.value=T),persistent:"","max-width":"800px"},{default:t(()=>[e(Le,{category:m(i).currentCategory,onClose:d,onAdded:h,onUpdated:h},null,8,["category"])]),_:1},8,["modelValue"])],64))}};export{pt as default};
|
|
1
|
+
import{O as ie,g as V,c as A,o as p,w as t,a as e,e as E,t as f,l as x,h as P,m as O,f as m,q as D,F as z,b as H,L as q,p as ee,G as X,M as me,n as ae,az as ce,B as pe,s as oe}from"./index-CTxlYqj4.js";import{c as N}from"./contacts-HeZ9it3d.js";import{p as fe}from"./parameters-1TAbI5b7.js";import{c as K,V as Q,a as W,b as J}from"./VCard-DRptUN8Y.js";import{V as ve}from"./VAlert-BiAap6Bx.js";import{V as G}from"./VSpacer-BcQnH0oL.js";import{V as $}from"./VAvatar-x_79C0tA.js";import{r as Y,V as te}from"./VForm-CXf-xKYz.js";import{V as w}from"./VTextField-CWm47OUI.js";import{a as _,V as ye}from"./VRow-B-csPNw7.js";import{V as ne}from"./VSelect-tV4GZAtn.js";import{V as le}from"./VTextarea-Bry3a299.js";import{V as Ve}from"./VCheckbox-DTbWq72R.js";import{_ as ge}from"./MenuItems-CaGz5Av4.js";import{V as be}from"./VDataTable-CYPG0MtF.js";import{V as Ce}from"./VMenu-DTm7W1Hp.js";import{V as ke}from"./VToolbar-Cd2iSn8H.js";import{V as _e}from"./VChip-Def9BYoN.js";import{V as Z}from"./VDialog-DzctVbsK.js";import{u as $e}from"./layout.store-3tdRwdnE.js";import"./tag-Dx3OexMp.js";import"./VProgressCircular-ubzZW5PC.js";/* empty css */import"./forwardRefs-BSESyuUp.js";import"./ssrBoot-DGgZQEVC.js";import"./VCheckboxBtn-xrhfoOlo.js";import"./VSelectionControl-Bdgm37Tl.js";import"./VTable-B-HE2nmK.js";import"./filter-DaBUD6Rp.js";const he=ie("contacts",()=>{const y=V(null);function U(i){y.value=i}async function s(){y.value=null}return{currentCategory:y,setCurrentCategory:U,$reset:s}}),xe={class:"headline"},Ue={__name:"AddressBookInfo",props:{addressBookUrl:{type:String,default:null}},emits:["close"],setup(y,{emit:U}){return(s,i)=>(p(),A(J,null,{default:t(()=>[e(K,null,{default:t(()=>[E("span",xe,f(s.$gettext("Address book information")),1)]),_:1}),e(Q,null,{default:t(()=>[E("p",null,f(s.$gettext("To access this address book from the outside (such as Mozilla Thunderbird or your smartphone), use the following URL:")),1),e(ve,{type:"info",class:"my-4",variant:"tonal"},{default:t(()=>[x(f(y.addressBookUrl),1)]),_:1}),E("p",null,f(s.$gettext("The credentials are the same than the ones you use to access Modoboa.")),1)]),_:1}),e(W,null,{default:t(()=>[e(G),e($,{onClick:i[0]||(i[0]=a=>s.$emit("close"))},{default:t(()=>[x(f(s.$gettext("Close")),1)]),_:1})]),_:1})]),_:1}))}},we={__name:"EmailField",props:{modelValue:{type:Object,default:null},errors:{type:Object,default:null},index:{type:Number,required:!0}},emits:["add","delete","update:modelValue"],setup(y,{emit:U}){const s=y,i=U,a=P({get(){return s.modelValue},set(r){i("update:modelValue",r)}}),l=["home","work","other"];return(r,n)=>(p(),O(z,null,[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:a.value.address,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value.address=c),label:r.$gettext("Address"),variant:"outlined","prepend-icon":"mdi-email",density:"compact",rules:[m(Y).required]},null,8,["modelValue","label","rules"])]),_:1}),e(_,{cols:"4",class:"pl-4"},{default:t(()=>[e(ne,{modelValue:a.value.type,"onUpdate:modelValue":n[1]||(n[1]=c=>a.value.type=c),items:l,density:"compact",variant:"outlined",rules:[m(Y).required]},null,8,["modelValue","rules"])]),_:1}),e(_,{cols:"2",class:"pl-4"},{default:t(()=>[e($,{icon:"mdi-plus",size:"x-small",flat:"",onClick:n[2]||(n[2]=c=>r.$emit("add"))}),y.index?(p(),A($,{key:0,icon:"mdi-trash-can",color:"red",size:"x-small",flat:"",variant:"text",onClick:n[3]||(n[3]=c=>r.$emit("delete",y.index))})):D("",!0)]),_:1})],64))}},Ae={__name:"PhoneNumberField",props:{errors:{type:Object,default:null},index:{type:Number,required:!0},modelValue:{type:Object,default:null}},emits:["add","delete","update:modelValue"],setup(y,{emit:U}){const s=y,i=U,a=P({get(){return s.modelValue},set(r){i("update:modelValue",r)}}),l=["cell","fax","home","main","pager","work","other"];return(r,n)=>(p(),O(z,null,[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:a.value.number,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value.number=c),label:r.$gettext("Phone number"),variant:"outlined","prepend-icon":"mdi-phone",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"4",class:"pl-4"},{default:t(()=>[e(ne,{modelValue:a.value.type,"onUpdate:modelValue":n[1]||(n[1]=c=>a.value.type=c),items:l,density:"compact",variant:"outlined"},null,8,["modelValue"])]),_:1}),e(_,{cols:"2",class:"pl-4"},{default:t(()=>[e($,{icon:"mdi-plus",size:"x-small",flat:"",onClick:n[2]||(n[2]=c=>r.$emit("add"))}),y.index?(p(),A($,{key:0,icon:"mdi-trash-can",color:"red",size:"x-small",flat:"",variant:"text",onClick:n[3]||(n[3]=c=>r.$emit("delete",y.index))})):D("",!0)]),_:1})],64))}},Fe={class:"headline"},Se={__name:"ContactForm",props:{contact:{type:Object,required:!1}},emits:["close","added","updated"],setup(y,{emit:U}){const s=U,i=y,{$gettext:a}=H(),l=V(v()),r=V(!1),n=V(),c=V({}),d=V(!1),F=P(()=>i.contact?a("Edit contact"):a("New contact")),h=P(()=>i.contact?a("Update"):a("Add"));function v(){return{emails:[{}],phone_numbers:[{}]}}function S(){l.value.emails.push({})}function T(B){l.value.emails.splice(B,1)}function j(){l.value.phone_numbers.push({})}function L(B){l.value.phone_numbers.splice(B,1)}async function M(){var u;const{valid:B}=await n.value.validate();if(!B)return;d.value=!0;const o=JSON.parse(JSON.stringify(l.value));Object.keys(o.phone_numbers[0]).length||o.phone_numbers.splice(0,1);try{let C;i.contact?(C=await N.updateContact(i.contact.pk,o),s("updated",C.data)):(C=await N.createContact(o),s("added",C.data)),s("close")}catch(C){((u=C.response)==null?void 0:u.status)===400&&(c.value=C.response.data)}finally{d.value=!1}}return q(()=>i.contact,B=>{B?(l.value=JSON.parse(JSON.stringify(B)),l.value.phone_numbers.length||(l.value.phone_numbers=[{}])):l.value=v()},{immediate:!0}),(B,o)=>(p(),A(J,null,{default:t(()=>[e(te,{ref_key:"formRef",ref:n,onSubmit:ee(M,["prevent"])},{default:t(()=>[e(K,null,{default:t(()=>[E("span",Fe,f(F.value),1)]),_:1}),e(Q,null,{default:t(()=>[e(ye,{"no-gutters":""},{default:t(()=>[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.first_name,"onUpdate:modelValue":o[0]||(o[0]=u=>l.value.first_name=u),label:m(a)("First name"),variant:"outlined","prepend-icon":"mdi-account",density:"compact","error-messages":c.value.first_name},null,8,["modelValue","label","error-messages"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.last_name,"onUpdate:modelValue":o[1]||(o[1]=u=>l.value.last_name=u),label:m(a)("Last name"),variant:"outlined",density:"compact","error-messages":c.value.last_name},null,8,["modelValue","label","error-messages"])]),_:1}),e(_,{cols:"12"},{default:t(()=>[e(w,{modelValue:l.value.display_name,"onUpdate:modelValue":o[2]||(o[2]=u=>l.value.display_name=u),label:m(a)("Display name"),variant:"outlined","prepend-icon":"toto",density:"compact","error-messages":c.value.display_name},null,8,["modelValue","label","error-messages"])]),_:1}),e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.company,"onUpdate:modelValue":o[3]||(o[3]=u=>l.value.company=u),label:m(a)("Company"),variant:"outlined","prepend-icon":"mdi-office-building",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.position,"onUpdate:modelValue":o[4]||(o[4]=u=>l.value.position=u),label:m(a)("Position"),variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),(p(!0),O(z,null,X(l.value.emails,(u,C)=>(p(),A(we,{key:`email-${C}`,modelValue:l.value.emails[C],"onUpdate:modelValue":I=>l.value.emails[C]=I,index:C,onAdd:S,onDelete:T},null,8,["modelValue","onUpdate:modelValue","index"]))),128)),(p(!0),O(z,null,X(l.value.phone_numbers,(u,C)=>(p(),A(Ae,{key:`phone-${C}`,modelValue:l.value.phone_numbers[C],"onUpdate:modelValue":I=>l.value.phone_numbers[C]=I,index:C,onAdd:j,onDelete:L},null,8,["modelValue","onUpdate:modelValue","index"]))),128)),r.value?(p(),O(z,{key:0},[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.birth_date,"onUpdate:modelValue":o[5]||(o[5]=u=>l.value.birth_date=u),label:m(a)("Birth date"),type:"date","prepend-icon":"mdi-calendar",variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"12"},{default:t(()=>[e(le,{modelValue:l.value.address,"onUpdate:modelValue":o[6]||(o[6]=u=>l.value.address=u),label:m(a)("Address"),"prepend-icon":"mdi-location",variant:"outlined",density:"compact",rows:"2"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.zipcode,"onUpdate:modelValue":o[7]||(o[7]=u=>l.value.zipcode=u),label:m(a)("Zip code"),"prepend-icon":"toto",variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.city,"onUpdate:modelValue":o[8]||(o[8]=u=>l.value.city=u),label:m(a)("City"),variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.country,"onUpdate:modelValue":o[9]||(o[9]=u=>l.value.country=u),label:m(a)("Country"),"prepend-icon":"toto",variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.state,"onUpdate:modelValue":o[10]||(o[10]=u=>l.value.state=u),label:m(a)("State/Province"),variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"12"},{default:t(()=>[e(le,{modelValue:l.value.note,"onUpdate:modelValue":o[11]||(o[11]=u=>l.value.note=u),label:m(a)("Note"),"prepend-icon":"mdi-file",variant:"outlined",density:"compact",rows:"2"},null,8,["modelValue","label"])]),_:1})],64)):D("",!0)]),_:1})]),_:1}),e(W,null,{default:t(()=>[r.value?(p(),A($,{key:1,onClick:o[13]||(o[13]=u=>r.value=!1)},{default:t(()=>[x(f(m(a)("Less")),1)]),_:1})):(p(),A($,{key:0,onClick:o[12]||(o[12]=u=>r.value=!0)},{default:t(()=>[x(f(m(a)("More")),1)]),_:1})),e(G),e($,{loading:d.value,onClick:o[14]||(o[14]=u=>s("close"))},{default:t(()=>[x(f(m(a)("Close")),1)]),_:1},8,["loading"]),e($,{color:"primary",type:"submit",loading:d.value},{default:t(()=>[x(f(h.value),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Ne={class:"headline"},Be={__name:"ContactCategoriesForm",props:{contact:{type:Object,default:null}},emits:["close"],setup(y,{emit:U}){const s=y,i=U,a=V([]),l=V([]),r=V(!1);function n(){i("close","updated")}async function c(){const d={categories:l.value};r.value=!0;try{await N.updateContact(s.contact.pk,d),i("updated"),n()}finally{r.value=!1}}return q(()=>s.contact,d=>{d?l.value=d.categories:l.value=[]},{immediate:!0}),N.getCategories().then(d=>{a.value=d.data}),(d,F)=>(p(),A(J,null,{default:t(()=>[e(te,{ref:"formRef",onSubmit:ee(c,["prevent"])},{default:t(()=>[e(K,null,{default:t(()=>[E("span",Ne,f(d.$gettext("Categories")),1)]),_:1}),e(Q,null,{default:t(()=>[(p(!0),O(z,null,X(a.value,h=>(p(),A(Ve,{key:h.pk,modelValue:l.value,"onUpdate:modelValue":F[0]||(F[0]=v=>l.value=v),label:h.name,"hide-details":"",value:h.pk,color:"primary"},null,8,["modelValue","label","value"]))),128))]),_:1}),e(W,null,{default:t(()=>[e(G),e($,{loading:r.value,onClick:n},{default:t(()=>[x(f(d.$gettext("Close")),1)]),_:1},8,["loading"]),e($,{color:"primary",type:"submit",loading:r.value},{default:t(()=>[x(f(d.$gettext("Update")),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Oe={class:"text-right"},ze={__name:"ContactList",emits:["editCategory"],setup(y,{emit:U}){const s=U,i=me(),{$gettext:a}=H(),{displayNotification:l}=ae(),r=V({}),n=V([]),c=V(""),d=V(null),F=V(!1),h=V(!1),v=V(!1),S=V({}),T=[{key:"display_name",title:a("Display name")},{key:"emails",title:a("E-mail")},{key:"phone_numbers",title:a("Phone")},{key:"actions",title:a("Actions"),align:"end"}],j=[{label:a("Categories"),icon:"mdi-label",onClick:I},{label:a("Edit"),icon:"mdi-circle-edit-outline",onClick:u},{label:a("Delete"),icon:"mdi-delete-outline",onClick:ue,color:"red"}];let L;ce(()=>{L&&clearInterval(L)});function M(){h.value=!1,d.value=null}function B(g){return g.map(k=>k.address).join(", ")}function o(g){return g.map(k=>k.number).join(", ")}function u(g){d.value=g,h.value=!0}function C(){s("editCategory")}function I(g){d.value=g,v.value=!0}function se(){v.value=!1,d.value=null}function ue(g){N.deleteContact(g.pk).then(()=>{R()})}function R(){N.getContacts(i.params).then(g=>{n.value=g.data})}function re(){N.synchronizeToAddressBook().then(()=>{l({msg:a("Synchronization started")})})}return N.getDefaultAddressBook().then(g=>{r.value=g.data}),fe.getUserApplication("contacts").then(g=>{S.value=g.data.params}),R(),q(S,g=>{g&&(L=setInterval(N.synchronizeFromAddressBook,g.sync_frequency*1e3))}),q(()=>i.params.category,()=>{R()}),(g,k)=>(p(),O(z,null,[e(J,{class:"mt-6"},{default:t(()=>[e(be,{headers:T,items:n.value},{top:t(()=>[e(ke,{color:"white",flat:""},{default:t(()=>[e(w,{modelValue:c.value,"onUpdate:modelValue":k[0]||(k[0]=b=>c.value=b),"prepend-inner-icon":"mdi-magnify",placeholder:m(a)("Search"),variant:"outlined","single-line":"",flat:"","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),e($,{color:"primary",variant:"outlined",onClick:k[1]||(k[1]=b=>h.value=!0)},{default:t(()=>[x(f(m(a)("Add")),1)]),_:1}),S.value.enable_carddav_sync?(p(),O(z,{key:0},[e($,{icon:"mdi-information-outline",title:m(a)("Display address book information"),class:"ml-2",onClick:k[2]||(k[2]=b=>F.value=!0)},null,8,["title"]),r.value.last_sync?D("",!0):(p(),A($,{key:0,icon:"mdi-sync",color:"success",title:m(a)("Synchronize contacts with address book"),onClick:re},null,8,["title"]))],64)):D("",!0),g.$route.params.category?(p(),A(_e,{key:1,class:"my-2 mx-4",label:"",size:"small",color:"green","prepend-icon":"mdi-label",onClick:C},{default:t(()=>[x(f(g.$route.params.category),1)]),_:1})):D("",!0),e(G)]),_:1})]),"item.display_name":t(({item:b})=>[b.display_name?(p(),O(z,{key:0},[x(f(b.display_name),1)],64)):(p(),O(z,{key:1},[x(f(b.first_name)+" "+f(b.last_name),1)],64))]),"item.emails":t(({item:b})=>[x(f(B(b.emails)),1)]),"item.phone_numbers":t(({item:b})=>[x(f(o(b.phone_numbers)),1)]),"item.actions":t(({item:b})=>[E("div",Oe,[e(Ce,{"offset-y":""},{activator:t(({props:de})=>[e($,pe({icon:"mdi-dots-horizontal",variant:"text"},de),null,16)]),default:t(()=>[e(m(ge),{items:j,obj:b},null,8,["obj"])]),_:2},1024)])]),_:2},1032,["items"])]),_:1}),e(Z,{modelValue:h.value,"onUpdate:modelValue":k[3]||(k[3]=b=>h.value=b),persistent:"","max-width":"800px"},{default:t(()=>[e(Se,{contact:d.value,onClose:M,onAdded:R,onUpdated:R},null,8,["contact"])]),_:1},8,["modelValue"]),e(Z,{modelValue:v.value,"onUpdate:modelValue":k[4]||(k[4]=b=>v.value=b),persistent:"","max-width":"800px"},{default:t(()=>[e(Be,{contact:d.value,onUpdated:R,onClose:se},null,8,["contact"])]),_:1},8,["modelValue"]),e(Z,{modelValue:F.value,"onUpdate:modelValue":k[6]||(k[6]=b=>F.value=b),persistent:"","max-width":"800px"},{default:t(()=>[e(Ue,{"address-book-url":r.value.url,onClose:k[5]||(k[5]=b=>F.value=!1)},null,8,["address-book-url"])]),_:1},8,["modelValue"])],64))}},Le={class:"headline"},je={__name:"CategoryForm",props:{category:{type:Object,default:null}},emits:["close","updated"],setup(y,{emit:U}){const s=y,i=U,a=oe(),{$gettext:l}=H(),{displayNotification:r}=ae(),n=V({}),c=V(),d=V(!1),F=P(()=>s.category?l("Edit category"):l("Add category")),h=P(()=>s.category?l("Update"):l("Add"));function v(){n.value={},i("close")}async function S(){const{valid:j}=await c.value.validate();if(j){d.value=!0;try{s.category?await N.updateCategory(s.category.pk,n.value):await N.addCategory(n.value),i("updated"),i("close")}catch(L){console.log(L)}finally{d.value=!1}}}function T(){N.deleteCategory(s.category.pk).then(()=>{v(),i("updated"),r({msg:l("Category deleted")}),a.push({name:"ContactList"})})}return q(()=>s.category,j=>{j?n.value=JSON.parse(JSON.stringify(j)):n.value={}},{immediate:!0}),(j,L)=>(p(),A(J,null,{default:t(()=>[e(te,{ref_key:"formRef",ref:c,onSubmit:ee(S,["prevent"])},{default:t(()=>[e(K,null,{default:t(()=>[E("span",Le,f(F.value),1)]),_:1}),e(Q,null,{default:t(()=>[e(w,{modelValue:n.value.name,"onUpdate:modelValue":L[0]||(L[0]=M=>n.value.name=M),label:m(l)("Name"),variant:"outlined",density:"compact",rules:[m(Y).required]},null,8,["modelValue","label","rules"])]),_:1}),e(W,null,{default:t(()=>[y.category?(p(),A($,{key:0,color:"red",onClick:T},{default:t(()=>[x(f(m(l)("Delete")),1)]),_:1})):D("",!0),e(G),e($,{loading:d.value,onClick:v},{default:t(()=>[x(f(m(l)("Close")),1)]),_:1},8,["loading"]),e($,{color:"primary",type:"submit",loading:d.value},{default:t(()=>[x(f(h.value),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Ee={class:"text-h5 ml-4"},pt={__name:"AddressBook",setup(y){const U=oe(),{$gettext:s}=H(),i=he(),a=$e(),l=V([]),r=V(!1),n=P(()=>{const v=[{icon:"mdi-contacts",text:s("Contacts"),to:{name:"ContactList"}},{text:s("Categories"),subheader:!0}];for(const S of l.value)v.push({icon:"mdi-label",text:S.name,action:()=>F(S)});return v.push({icon:"mdi-plus",text:s("Add a category"),action:c}),v});function c(){r.value=!0}function d(){r.value=!1}function F(v){i.setCurrentCategory(v),U.push({name:"ContactList",params:{category:v.name}})}function h(){N.getCategories().then(v=>{l.value=v.data})}return h(),q(n,v=>{a.setLeftMenuItems(v)}),(v,S)=>(p(),O(z,null,[E("div",Ee,f(m(s)("Contacts")),1),e(ze,{onEditCategory:c}),e(Z,{modelValue:r.value,"onUpdate:modelValue":S[0]||(S[0]=T=>r.value=T),persistent:"","max-width":"800px"},{default:t(()=>[e(je,{category:m(i).currentCategory,onClose:d,onAdded:h,onUpdated:h},null,8,["category"])]),_:1},8,["modelValue"])],64))}};export{pt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as A,b as _,u as R,g as m,h as l,i as t,d as I,c as S,o as D}from"./index-CTxlYqj4.js";import{p}from"./parameters-1TAbI5b7.js";import{_ as g}from"./ConnectedLayout-CuQwWdiY.js";import{u as b}from"./parameters.store-BXTaWfO7.js";import"./VContainer-CC8lqRXa.js";/* empty css */import"./tag-Dx3OexMp.js";import"./VApp-tsfSFSQl.js";import"./layout-BFr6o7er.js";import"./ssrBoot-DGgZQEVC.js";import"./global.store-C4iiNxy1.js";import"./admin-CjK02gmr.js";import"./layout.store-3tdRwdnE.js";import"./VAvatar-x_79C0tA.js";import"./VProgressCircular-ubzZW5PC.js";import"./forwardRefs-BSESyuUp.js";import"./VMenu-DTm7W1Hp.js";import"./VCard-DRptUN8Y.js";import"./VRow-B-csPNw7.js";import"./VSheet-BV83IblO.js";const h={getCapabilities(){return A.get("/capabilities/")}},H={__name:"AdminLayout",setup(x){const{$gettext:i}=_(),c=R(),e=b(),o=m(!1),n=m("/rspamd"),d=l(()=>c.authUser),E=l(()=>e.imapMigrationEnabled),u=()=>{window.location=n.value},r=[],M=[{text:i("Dashboard"),to:{name:"Dashboard"},exact:!0,icon:"mdi-view-dashboard-outline"},{text:i("Domains"),to:{name:"DomainList"},icon:"mdi-domain",roles:[t.DOMAIN_ADMIN,t.RESELLER,t.SUPER_ADMIN]},{text:i("Identities"),to:{name:"Identities"},icon:"mdi-account",roles:[t.DOMAIN_ADMIN,t.RESELLER,t.SUPER_ADMIN]},{text:i("Alarms"),to:{name:"Alarms"},icon:"mdi-bell"},{icon:"mdi-history",text:i("Monitoring"),roles:[t.SUPER_ADMIN,t.RESELLER,t.DOMAIN_ADMIN],children:[{text:i("Statistics"),to:{name:"Statistics"},roles:[t.SUPER_ADMIN]},{text:i("Audit trail"),to:{name:"AuditTrail"},roles:[t.SUPER_ADMIN]},{text:i("Messages"),to:{name:"MessageLog"},roles:[t.DOMAIN_ADMIN,t.RESELLER,t.SUPER_ADMIN]}]},{icon:"mdi-email-sync-outline",text:i("IMAP Migration"),roles:[t.SUPER_ADMIN,t.RESELLER],condition:()=>E.value,children:[{text:i("Email providers"),to:{name:"ProvidersList"},roles:[t.SUPER_ADMIN,t.RESELLER]},{text:i("Migrations"),to:{name:"MigrationsList"},roles:[t.RESELLER,t.SUPER_ADMIN]}]},{icon:"mdi-cog",text:i("Settings"),children:r,roles:[t.SUPER_ADMIN]},{icon:"mdi-email-check-outline",text:"Rspamd",action:u,roles:[t.SUPER_ADMIN],condition:()=>o.value},{icon:"mdi-information",text:i("Information"),roles:[t.SUPER_ADMIN],to:{name:"Information"},withBell:!0}];return I(()=>{d.value.role===t.SUPER_ADMIN&&(p.getGlobalApplications().then(a=>{a.data.forEach(s=>{r.push({text:s.label,to:{name:"ParametersEdit",params:{app:s.name}}})})}),e.imapMigrationEnabled===null&&p.getGlobalApplication("imap_migration").then(a=>{e.imapMigrationEnabled=a.data.params.enabled_imapmigration}),h.getCapabilities().then(a=>{o.value="rspamd"in a.data.capabilities,o.value&&(n.value=a.data.capabilities.rspamd.location||"/rspamd")}))}),(a,s)=>(D(),S(g,{"menu-items":M}))}};export{H as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as P}from"./index-a9uUi1ey.js";import{_ as V,j as T,b as U,n as G,g as h,c as k,w as a,a as s,e as q,f as d,B as D,l as n,t as m,m as x,F as w,i as y,o as u}from"./index-CTxlYqj4.js";import{_ as S}from"./MenuItems-CaGz5Av4.js";import{V as N}from"./VMenu-DTm7W1Hp.js";import{V as M,d as H}from"./VAvatar-x_79C0tA.js";import{V as L}from"./VChip-Def9BYoN.js";import{V as E,a as J}from"./VToolbar-Cd2iSn8H.js";import{V as K}from"./VTextField-CWm47OUI.js";import{V as Q}from"./forwardRefs-BSESyuUp.js";import{V as W}from"./VDataTableServer-DyIOcZiN.js";import{b as X}from"./VCard-DRptUN8Y.js";import"./VProgressCircular-ubzZW5PC.js";import"./tag-Dx3OexMp.js";import"./ssrBoot-DGgZQEVC.js";import"./VDataTable-CYPG0MtF.js";import"./VSelect-tV4GZAtn.js";import"./VCheckboxBtn-xrhfoOlo.js";import"./VSelectionControl-Bdgm37Tl.js";import"./VTable-B-HE2nmK.js";import"./filter-DaBUD6Rp.js";const b="alarms",v={getAll(i){return V.get(`${b}/`,{params:i})},switchStatus(i,e){return V.patch(`${b}/${i}/switch/`,e)},delete(i){return V.delete(`${b}/${i}/`)},bulkDelete(i){return V.delete(`${b}/bulk_delete/`,{params:{ids:i}})}},Y={class:"text-right"},Z={__name:"AlarmList",setup(i){const{$gettext:e}=U(),p=G(),$=h([]),A=h(!1),f=h(""),_=h([]),C=h(0),z=[{title:e("Triggered"),key:"created"},{title:e("Status"),key:"status"},{title:e("Domain"),key:"domain.name",sortable:!1},{title:e("Mailbox"),key:"mailbox",sortable:!1},{title:e("Message"),key:"title"},{title:e("Actions"),key:"actions",sortable:!1,align:"right"}];function B(){const l=[];return _.value.length>0&&l.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:R,color:"red"}),l.push({label:e("Reload"),icon:"mdi-reload",onClick:r}),l}function I(l){const o=[];return o.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:O,color:"red"}),l.status===y.ALARM_OPENED?o.push({label:e("Close alarm"),icon:"mdi-check",onClick:j,color:"green"}):o.push({label:e("Reopen alarm"),icon:"mdi-alert-circle-outline",onClick:F,color:"orange"}),o}function r({page:l,itemsPerPage:o,sortBy:t}){const g={page:l||1,page_size:o||10};t&&t.length&&(g.ordering=t.map(c=>c.order!=="asc"?`-${c.key}`:c.key).join(",")),f.value!==""&&(g.search=f.value),A.value=!0,v.getAll(g).then(c=>{$.value=c.data.results,C.value=c.data.count,A.value=!1})}async function O(l,o=!0){v.delete(l.id).then(()=>{o&&(p.displayNotification({msg:e("Alarm deleted")}),r({}))})}async function R(){await v.bulkDelete(_.value.map(l=>l.id)),p.displayNotification({msg:e("Alarms deleted")}),_.value=[],r({})}async function j(l){v.switchStatus(l.id,{status:y.ALARM_CLOSED}).then(()=>{p.displayNotification({msg:e("Alarm closed")}),r({})})}async function F(l){v.switchStatus(l.id,{status:y.ALARM_OPENED}).then(()=>{p.displayNotification({msg:e("Alarm re-opened")}),r({})})}return r=P(r,500),(l,o)=>(u(),k(X,{class:"mt-6"},{default:a(()=>[s(W,{modelValue:_.value,"onUpdate:modelValue":o[1]||(o[1]=t=>_.value=t),headers:z,items:$.value,search:f.value,"item-value":"id","items-length":C.value,loading:A.value,elevation:"0","show-select":"","onUpdate:options":r},{top:a(()=>[s(E,{color:"white",flat:""},{default:a(()=>[s(K,{modelValue:f.value,"onUpdate:modelValue":o[0]||(o[0]=t=>f.value=t),"prepend-inner-icon":"mdi-magnify",placeholder:d(e)("Search"),density:"compact",variant:"outlined","hide-details":"",flat:"","single-line":"",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),s(N,{location:"bottom"},{activator:a(({props:t})=>[s(M,D(t,{size:"small"}),{default:a(()=>[n(m(d(e)("Actions"))+" ",1),s(H,{right:""},{default:a(()=>o[2]||(o[2]=[n("mdi-chevron-down")])),_:1,__:[2]})]),_:2},1040)]),default:a(()=>[s(Q,{density:"compact"},{default:a(()=>[s(d(S),{items:B()},null,8,["items"])]),_:1})]),_:1})]),_:1})]),"item.status":a(({item:t})=>[t.status===1?(u(),k(L,{key:0,color:"warning",size:"small"},{default:a(()=>[n(m(d(e)("Opened")),1)]),_:1})):(u(),k(L,{key:1,color:"info",size:"small"},{default:a(()=>[n(m(d(e)("Closed")),1)]),_:1}))]),"item.mailbox":a(({item:t})=>[t.mailbox?(u(),x(w,{key:0},[n(m(t.mailbox.address)+"@"+m(t.domain.name),1)],64)):(u(),x(w,{key:1},[n(" / ")],64))]),"item.created":a(({item:t})=>[n(m(l.$date(t.created)),1)]),"item.actions":a(({item:t})=>[q("div",Y,[s(N,{location:"bottom"},{activator:a(({props:g})=>[s(M,D({icon:"mdi-dots-horizontal"},g,{variant:"text"}),null,16)]),default:a(()=>[s(d(S),{items:I(t),obj:t},null,8,["items","obj"])]),_:2},1024)])]),_:2},1032,["modelValue","items","search","items-length","loading"])]),_:1}))}},ee=T(Z,[["__scopeId","data-v-43da963f"]]),te={__name:"AlarmsView",setup(i){return(e,p)=>(u(),x(w,null,[s(E,{flat:""},{default:a(()=>[s(J,null,{default:a(()=>[n(m(e.$gettext("Opened alarms")),1)]),_:1})]),_:1}),s(ee)],64))}},ke=T(te,[["__scopeId","data-v-d7e4ea18"]]);export{ke as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as L,_ as M}from"./AliasRecipientForm-rO7zW0eC.js";import{L as U}from"./LoadingData-BT9tD67O.js";import{b as R,M as I,s as S,g as p,d as z,c as f,m as v,o as s,a,e as E,w as e,l as r,t as i,f as u,F as B,G as O,j as q}from"./index-CTxlYqj4.js";import{a as w}from"./aliases-CTtmxHck.js";import{g as b,d as A,V as T}from"./VAvatar-x_79C0tA.js";import{V as $,c as h,a as C,b as H}from"./VExpansionPanels-DpJzLCB-.js";import{V as k,a as c}from"./VRow-B-csPNw7.js";import{V as J}from"./VChip-Def9BYoN.js";import{V as K,a as Q}from"./VToolbar-Cd2iSn8H.js";import"./EmailField-CK1ZbR3C.js";import"./VTextField-CWm47OUI.js";import"./tag-Dx3OexMp.js";import"./VProgressCircular-ubzZW5PC.js";import"./forwardRefs-BSESyuUp.js";import"./ssrBoot-DGgZQEVC.js";import"./domains.store-BAoaJY6i.js";import"./domains-HueJ9pRR.js";import"./VForm-CXf-xKYz.js";import"./VSwitch-HiyBjUWI.js";import"./VSelectionControl-Bdgm37Tl.js";import"./VSelect-tV4GZAtn.js";import"./VMenu-DTm7W1Hp.js";import"./VCheckboxBtn-xrhfoOlo.js";import"./VTextarea-Bry3a299.js";import"./VContainer-CC8lqRXa.js";/* empty css */const W={key:1},X={key:0},Y={class:"mr-2"},Z={key:0},ee={class:"mt-4 d-flex justify-end"},ae={__name:"AliasEditForm",setup(N){const{$gettext:n}=R(),d=I(),y=S(),o=p({pk:d.params.id}),V=p(0),m=p(!0),g=p(!1),x=p(),F=p(),P={generalForm:x,recipientForm:F};async function j(){g.value=!1,V.value=[];for(const[_,t]of Object.entries(P))if(t.value!=null){const{valid:l}=await t.value.vFormRef.validate();l||(g.value=!0,V.value.push(_))}if(!g.value){m.value=!0;try{await w.patch(d.params.id,o.value),y.push({name:"AliasDetail",params:{id:d.params.id}})}finally{m.value=!1}}}return z(()=>{w.get(d.params.id).then(_=>{o.value=_.data,m.value=!1})}),(_,t)=>m.value?(s(),f(U,{key:0})):(s(),v("div",W,[a(H,{modelValue:V.value,"onUpdate:modelValue":t[2]||(t[2]=l=>V.value=l),multiple:g.value},{default:e(()=>[a($,{eager:"",value:"generalForm"},{default:e(()=>[a(h,null,{default:e(({expanded:l})=>[a(k,{"no-gutters":""},{default:e(()=>[a(c,{cols:"4"},{default:e(()=>[r(i(u(n)("General")),1)]),_:1}),a(c,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(b,{"leave-absolute":""},{default:e(()=>[l?(s(),v("span",X)):(s(),f(k,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(c,{cols:"6"},{default:e(()=>[r(i(u(n)("Address"))+": "+i(o.value.address),1)]),_:1}),a(c,{cols:"6"},{default:e(()=>[E("div",Y,i(u(n)("Enabled")),1),o.value.enabled?(s(),f(A,{key:0,color:"success"},{default:e(()=>t[4]||(t[4]=[r("mdi-check-circle-outline")])),_:1,__:[4]})):(s(),f(A,{key:1},{default:e(()=>t[5]||(t[5]=[r("mdi-close-circle-outline")])),_:1,__:[5]}))]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(C,null,{default:e(()=>[a(L,{ref_key:"generalForm",ref:x,modelValue:o.value,"onUpdate:modelValue":t[0]||(t[0]=l=>o.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),a($,{eager:"",value:"recipientForm"},{default:e(()=>[a(h,null,{default:e(({expanded:l})=>[a(k,{"no-gutters":""},{default:e(()=>[a(c,{cols:"4"},{default:e(()=>[r(i(u(n)("Recipients")),1)]),_:1}),a(c,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(b,{"leave-absolute":""},{default:e(()=>[l?(s(),v("span",Z)):(s(),f(k,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[(s(!0),v(B,null,O(o.value.recipients,(D,G)=>(s(),f(J,{key:G,size:"small"},{default:e(()=>[r(i(D),1)]),_:2},1024))),128))]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(C,null,{default:e(()=>[a(u(M),{ref_key:"recipientForm",ref:F,modelValue:o.value.recipients,"onUpdate:modelValue":t[1]||(t[1]=l=>o.value.recipients=l)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","multiple"]),E("div",ee,[a(T,{loading:m.value,onClick:t[3]||(t[3]=l=>_.$router.go(-1))},{default:e(()=>[r(i(u(n)("Cancel")),1)]),_:1},8,["loading"]),a(T,{class:"ml-4",color:"primary darken-1",loading:m.value,onClick:j},{default:e(()=>[r(i(u(n)("Save")),1)]),_:1},8,["loading"])])]))}},te={__name:"AliasEditView",setup(N){const{$gettext:n}=R();return(d,y)=>(s(),v(B,null,[a(K,{flat:""},{default:e(()=>[a(Q,null,{default:e(()=>[r(i(u(n)("Edit alias")),1)]),_:1})]),_:1}),a(ae,{alias:d.alias},null,8,["alias"])],64))}},he=q(te,[["__scopeId","data-v-21c8ea90"]]);export{he as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as S}from"./aliases-CTtmxHck.js";import{E as w}from"./EmailField-CK1ZbR3C.js";import{r as A,V as E}from"./VForm-CXf-xKYz.js";import{d as T}from"./domains-HueJ9pRR.js";import{V as U}from"./VSwitch-HiyBjUWI.js";import{V as q}from"./VSelect-tV4GZAtn.js";import{V as h}from"./VAvatar-x_79C0tA.js";import{V as C}from"./VTextField-CWm47OUI.js";import{V as G}from"./VTextarea-Bry3a299.js";import{h as _,g as m,c as f,o as r,w as u,q as N,m as x,a as o,e as V,F,t as i,f as d,b as j,G as L,l as O}from"./index-CTxlYqj4.js";import{V as P}from"./VChip-Def9BYoN.js";const z={class:"m-label"},H={class:"m-label"},I={class:"m-label"},J={class:"m-label"},se={__name:"AliasGeneralForm",props:{modelValue:{type:Object,default:null}},setup(b,{expose:y}){const g=b,e=_(()=>g.modelValue),p=m([]),c=m();function n(){e.value.address!=null&&navigator.clipboard.writeText(e.value.address)}async function s(){e.value.domain!=null&&S.getRandomAddress().then(t=>{e.value.address=`${t.data.address}@${e.value.domain.name}`})}return T.getDomains().then(t=>{p.value=t.data}),y({vFormRef:c}),(t,a)=>(r(),f(E,{ref_key:"vFormRef",ref:c},{default:u(()=>[e.value.pk?N("",!0):(r(),f(U,{key:0,modelValue:e.value.random,"onUpdate:modelValue":a[0]||(a[0]=l=>e.value.random=l),label:t.$gettext("Random address"),color:"primary"},null,8,["modelValue","label"])),e.value.random?(r(),x(F,{key:2},[V("label",H,i(t.$gettext("Domain")),1),o(q,{modelValue:e.value.domain,"onUpdate:modelValue":[a[2]||(a[2]=l=>e.value.domain=l),s],items:p.value,"item-title":"name","return-object":"",variant:"outlined",density:"compact",rules:[d(A).required]},{append:u(()=>[o(h,{variant:"flat",icon:"mdi-reload",onClick:s})]),_:1},8,["modelValue","items","rules"]),o(C,{modelValue:e.value.address,"onUpdate:modelValue":a[3]||(a[3]=l=>e.value.address=l),label:t.$gettext("Generated address"),variant:"outlined",readonly:""},{"append-inner":u(()=>[o(h,{variant:"flat",icon:"mdi-clipboard-outline",onClick:n})]),_:1},8,["modelValue","label"])],64)):(r(),x(F,{key:1},[V("label",z,i(t.$gettext("Email address")),1),o(d(w),{ref:"address",modelValue:e.value.address,"onUpdate:modelValue":a[1]||(a[1]=l=>e.value.address=l),type:"email",variant:"outlined",density:"compact",rules:[d(A).required]},null,8,["modelValue","rules"])],64)),o(U,{modelValue:e.value.enabled,"onUpdate:modelValue":a[4]||(a[4]=l=>e.value.enabled=l),label:t.$gettext("Enabled"),color:"primary"},null,8,["modelValue","label"]),V("label",I,i(t.$gettext("Expire at")),1),o(C,{modelValue:e.value.expire,"onUpdate:modelValue":a[5]||(a[5]=l=>e.value.expire=l),variant:"outlined",density:"compact"},null,8,["modelValue"]),V("label",J,i(t.$gettext("Description")),1),o(G,{modelValue:e.value.description,"onUpdate:modelValue":a[6]||(a[6]=l=>e.value.description=l),rows:"2",variant:"outlined",density:"compact"},null,8,["modelValue"])]),_:1},512))}},re={__name:"AliasRecipientForm",props:{modelValue:{type:Array,default:()=>[]}},emits:["update:model-value"],setup(b,{expose:y,emit:g}){const{$gettext:e}=j(),p=g,c=b,n=_({get:()=>c.modelValue,set:v=>p("update:model-value",v)}),s=m(""),t=m(),a=m();async function l(){n.value.push(s.value),s.value="",a.value.resetValidation()}function B(v){n.value.splice(v,1)}const D=[()=>n.value.length>0||e("Please add at least one recipient.")];return y({vFormRef:a}),(v,$)=>(r(),f(E,{ref_key:"vFormRef",ref:a},{default:u(()=>[o(d(w),{ref_key:"recipientField",ref:t,modelValue:s.value,"onUpdate:modelValue":$[0]||($[0]=k=>s.value=k),placeholder:d(e)("Start typing a name here..."),hint:d(e)("Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)."),"persistent-hint":"","allow-add":"",rules:D,onDomainSelected:l},null,8,["modelValue","placeholder","hint"]),(r(!0),x(F,null,L(n.value,(k,R)=>(r(),f(P,{key:R,class:"mr-2 mt-2",closable:"","onClick:close":K=>B(R)},{default:u(()=>[O(i(k),1)]),_:2},1032,["onClick:close"]))),128))]),_:1},512))}};export{re as _,se as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as g,V as v,b as y}from"./VCard-DRptUN8Y.js";import{c,o as n,w as e,a,e as k,t as l,m as f,F as x,G as b,q as V,l as o,j as h,b as A,g as C,M as T,f as w}from"./index-CTxlYqj4.js";import{V as u,a as s}from"./VRow-B-csPNw7.js";import{d as B,V as $}from"./VAvatar-x_79C0tA.js";import{a as E}from"./aliases-CTtmxHck.js";import{V as N,a as R}from"./VToolbar-Cd2iSn8H.js";import"./tag-Dx3OexMp.js";/* empty css */import"./VProgressCircular-ubzZW5PC.js";const j={class:"headline"},G={__name:"AliasRecipientsSummary",props:{alias:{type:Object,default:null}},setup(i){return(t,d)=>(n(),c(y,null,{default:e(()=>[a(g,null,{default:e(()=>[k("div",j,l(t.$gettext("Recipients")),1)]),_:1}),a(v,null,{default:e(()=>[(n(!0),f(x,null,b(i.alias.recipients,r=>(n(),f("p",{key:r},l(r),1))),128))]),_:1})]),_:1}))}},S={class:"headline"},D={__name:"AliasSummary",props:{alias:{type:Object,default:null}},setup(i){return(t,d)=>(n(),c(y,null,{default:e(()=>[a(g,null,{default:e(()=>[k("div",S,l(t.$gettext("General information")),1)]),_:1}),a(v,null,{default:e(()=>[a(u,null,{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Creation date")),1)]),_:1}),a(s,{cols:"6"},{default:e(()=>[o(l(t.$date(i.alias.creation)),1)]),_:1})]),_:1}),a(u,null,{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Modified")),1)]),_:1}),a(s,{cols:"6"},{default:e(()=>[o(l(t.$date(i.alias.last_modification)),1)]),_:1})]),_:1}),a(u,null,{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Enabled")),1)]),_:1}),a(s,{cols:"6"},{default:e(()=>[a(B,{color:i.alias.enabled?"success":"error",icon:i.alias.enabled?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),_:1})]),_:1}),i.alias.expiry?(n(),c(u,{key:0},{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Expire at")),1)]),_:1}),a(s,{cols:"6"})]),_:1})):V("",!0),i.alias.description?(n(),c(u,{key:1},{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Description")),1)]),_:1}),a(s,{cols:"6"},{default:e(()=>[o(l(i.alias.description),1)]),_:1})]),_:1})):V("",!0)]),_:1})]),_:1}))}},F={__name:"AliasView",setup(i){const{$gettext:t}=A(),d=T(),r=C({pk:d.params.id});function m(){E.get(d.params.id).then(_=>{r.value=_.data})}return m(),(_,p)=>(n(),f("div",null,[a(N,{flat:""},{default:e(()=>[a(R,null,{default:e(()=>[o(l(w(t)("Alias"))+" "+l(r.value.address)+" ",1),a($,{color:"primary",icon:"mdi-circle-edit-outline",to:{name:"AliasEdit",params:{id:r.value.pk}}},null,8,["to"]),a($,{color:"primary",icon:"mdi-reload",onClick:p[0]||(p[0]=I=>m())})]),_:1})]),_:1}),a(u,null,{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[a(D,{alias:r.value},null,8,["alias"]),a(G,{alias:r.value,class:"mt-2"},null,8,["alias"])]),_:1})]),_:1})]))}},Q=h(F,[["__scopeId","data-v-ad04a3d2"]]);export{Q as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as w,g as i,c as A,o as f,w as r,a as o,l as g,t as _,f as y,j as b,m as C,F as L}from"./index-CTxlYqj4.js";import{l as I}from"./logs-B92gHEZQ.js";import{d as N}from"./index-a9uUi1ey.js";import{V as R}from"./VDataTableServer-DyIOcZiN.js";import{V as F}from"./VChip-Def9BYoN.js";import{V as h,a as D}from"./VToolbar-Cd2iSn8H.js";import{V as S}from"./VTextField-CWm47OUI.js";import{b as $}from"./VCard-DRptUN8Y.js";import"./VDataTable-CYPG0MtF.js";import"./VAvatar-x_79C0tA.js";import"./tag-Dx3OexMp.js";import"./VProgressCircular-ubzZW5PC.js";import"./VSelect-tV4GZAtn.js";import"./forwardRefs-BSESyuUp.js";import"./ssrBoot-DGgZQEVC.js";import"./VMenu-DTm7W1Hp.js";import"./VCheckboxBtn-xrhfoOlo.js";import"./VSelectionControl-Bdgm37Tl.js";import"./VTable-B-HE2nmK.js";import"./filter-DaBUD6Rp.js";const z={__name:"AuditTrailList",setup(V){const{$gettext:t}=w(),s=i(!1),c=i([]),n=i(""),d=i(0),v=[{title:t("Date"),key:"date_created"},{title:t("Level"),key:"level"},{title:t("Logger"),key:"logger"},{title:t("Message"),key:"message"}];function x(a){return a==="INFO"?"primary":a==="WARNING"?"orange":a==="CRITICAL"||a==="ERROR"?"red":""}function m({page:a,itemsPerPage:l,sortBy:e,search:T}){let p;e.length&&(p=(e[0].order==="desc"?"-":"")+e[0].key);const k={ordering:p,page:a,page_size:l,search:T};s.value=!0,I.getAuditTrail(k).then(u=>{c.value=u.data.results,d.value=u.data.count,s.value=!1})}return m=N(m,500),(a,l)=>(f(),A($,{class:"mt-6"},{default:r(()=>[o(R,{headers:v,items:c.value,search:n.value,class:"elevation-0","items-length":d.value,"onUpdate:options":m},{top:r(()=>[o(h,{flat:"",color:"white"},{default:r(()=>[o(S,{modelValue:n.value,"onUpdate:modelValue":l[0]||(l[0]=e=>n.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:y(t)("Search"),variant:"outlined","hide-details":"",density:"compact",class:"flex-grow-0 w-33"},null,8,["modelValue","placeholder"])]),_:1})]),"item.level":r(({item:e})=>[o(F,{color:x(e.level),"text-color":"white",size:"small"},{default:r(()=>[g(_(e.level),1)]),_:2},1032,["color"])]),_:2},1032,["items","search","items-length"])]),_:1}))}},E={__name:"AuditTrailView",setup(V){return(t,s)=>(f(),C(L,null,[o(h,{flat:""},{default:r(()=>[o(D,null,{default:r(()=>[g(_(t.$gettext("Audit trail")),1)]),_:1})]),_:1}),o(z)],64))}},oe=b(E,[["__scopeId","data-v-5d9f29af"]]);export{oe as default};
|