1import h from"./DLgqw6cz.js";import $ from"./pEQvfiAS.js";import s from"./ypnpOziW.js";import{D as V}from"./D9NGb0_J.js";import{_ as D}from"./BT_VV4vh.js";import{F as B}from"./td8e_GTp.js";import{C as k}from"./Blf_XS7e.js";import{_ as E,B as _,c as T,a as o,w as a,r as f,o as g,f as c,t as y,V as M,m as v,i as w,p as A,d as I}from"./DO0PG5Vn.js";import{V as x}from"./CdwZH5Ju.js";import{u as R}from"./CeHdhFgb.js";import"./C6i7pmxq.js";import"./DAVw7WOd.js";import"./BXE94CkJ.js";import"./Dv79XmTa.js";import"./BM44hcUz.js";import"./COXOUT7G.js";import"./BOD7uDBU.js";import"./Cc6QCCC3.js";import"./JXrN83Gr.js";import"./3u5HroPy.js";import"./D91Uiunz.js";import"./C1hTzUi2.js";import"./D_qxKlPu.js";import"./CKrQQpLP.js";import"./ByeaBjlz.js";import"./4bAtc9BH.js";import"./DDGlMfBa.js";import"./0VvUL2KS.js";import"./4OvLYTxi.js";import"./BU8Ebrjh.js";import"./C0OEJsYd.js";import"./DRH9bej0.js";import"./zMQNDTtr.js";import"./CZvmPmVX.js";import"./DN36ZqlB.js";import"./DUNGBoy5.js";import"./BFvRL0Jb.js";import"./DlGBzJ4s.js";import"./CJ11Xfq3.js";import"./lMyjdaov.js";import"./lppH8FZN.js";import"./F03blSqe.js";import"./qrRUC3Ms.js";import"./CchQFwPk.js";import"./vTNChzKS.js";import"./Bkf4z1VI.js";import"./DgQvQXuP.js";import"./dLVgxLFV.js";import"./DQh1dItd.js";import"./Bgo1VZKa.js";import"./DEwqqlkk.js";import"./BEOQt-XX.js";import"./CunU3ak9.js";import"./DDfp-X_f.js";import"./DpSUpQG7.js";import"./B0RYeekv.js";import"./BHI4P998.js";import"./iblz24-q.js";import"./CgwRlgUe.js";import"./DS5q1ynY.js";import"./DoBION_p.js";import"./Dzr9If9-.js";import"./iY5RtM4q.js";import"./BBGcPfmk.js";import"./Vw_xd_wX.js";import"./C9CVyl8z.js";import"./NfyJbWVU.js";import"./DpvWx4Ya.js";import"./DThhJsA6.js";import"./BAWKP4WL.js";import"./COySKRpd.js";import"./Crraxtc7.js";import"./BcA1rf8e.js";import"./BXqnex8s.js";import"./CEl7VLhM.js";import"./CvuXPBbC.js";import"./BnD8Kz_S.js";import"./CMUsJbzi.js";import"./DUGPMYYU.js";import"./C7Me_Xqy.js";import"./D2ax0i2y.js";import"./CDUodfvx.js";import"./Bw7cPR_8.js";import"./Hu5e1Eqb.js";import"./S7rIwIKY.js";import"./DHYONTLB.js";import"./CO4NVv8M.js";import"./D4laBXqi.js";import"./BV5yUDc7.js";import"./BkqPZ41s.js";import"./CJhNqTpr.js";import"./Bp-71MuC.js";import"./D21aOXAw.js";import"./5jCffWVT.js";import"./BwWXP2dJ.js";import"./n823aaVL.js";import"./DPAFf09c.js";import"./whTpWFrp.js";import"./Bl5WVzy8.js";import"./kGmsok7K.js";import"./D4Je4svy.js";import"./BtVSyvKQ.js";import"./BOMQVnYG.js";import"./DUqWZyIH.js";import"./CdGnH1RC.js";import"./eogv0mIj.js";import"./BekcUsU5.js";const P={headers(e){const t=[{disableColumnConfig:!0,default:!0,text:e.$t("billingEntityName"),value:"name",class:"name",ellipsize:!0,filterable:!0,sortable:!0,copy:!0,deepLink:n=>`/invoicing/billing-entities/${encodeURIComponent(n?.name||n?.email||"-")}?id=${n.id}&preserve=id`},{default:!0,text:e.$t("currency"),value:"currency",class:"currency",filterable:!0,sortable:!0,filterType:"select",filterOptions:[{text:e.$t("eur"),value:"EUR"},{text:e.$t("gbp"),value:"GBP"},{text:e.$t("usd"),value:"USD"},{text:e.$t("jpy"),value:"JPY"}],noWildcards:!0},{default:!0,text:e.$t("billingFrequency"),value:"billing_frequency",filterable:!0,sortable:!0,noWildcards:!0},{default:!0,text:e.$t("next_bill_date"),value:"next_bill_date",filterable:!0,sortable:!0,date:!0,filterType:"date",filterName:"next_bill_date"},{default:!0,text:e.$t("email"),value:"email",filterable:!0,sortable:!0},{default:!0,text:e.$t("accountReference"),value:"accounting_reference",filterable:!0,sortable:!0},{default:!0,text:e.$t("createdAt"),value:"created_at",class:"created_at",enabled:!0,date:!0,filterType:"date",filterName:"created_at_between",filterable:!0,sortable:!0},{default:!0,text:e.$t("updatedAt"),value:"updated_at",class:"updated_at",enabled:!0,date:!0,filterType:"date",filterName:"updated_at_between",filterable:!0,sortable:!0},{text:e.$t("invoiceCode"),value:"invoice_code",sortable:!0,filterable:!0},{text:e.$t("taxCode"),value:"tax_code",sortable:!0,filterable:!0,filterType:"select",filterOptions:[{text:e.$t("T0"),value:"T0"},{text:e.$t("T1"),value:"T1"},{text:e.$t("T9"),value:"T9"},{text:e.$t("T22"),value:"T22"}]},{text:e.$t("paymentTerm"),value:"payment_term",filterable:!0,sortable:!0},{default:!1,text:e.$t("contractingCompany"),value:"contracting_company",class:"contracting_company",filterable:!0,sortable:!0,filterType:"select",filterOptions:[{text:"com_laude",value:"com_laude"},{text:"consonum",value:"consonum"},{text:"com_laude_jp",value:"com_laude_jp"},{text:"demys",value:"demys"},{text:"valideus",value:"valideus"},{text:"markmonitor_inc",value:"markmonitor_inc"},{text:"fairwinds",value:"fairwinds"}],noWildcards:!0},{default:!1,text:e.$t("invoice_template"),value:"invoice_template",class:"invoice_template",translate:!0,filterable:!0,sortable:!0,filterType:"select",filterOptions:[{text:e.$t("default"),value:"default"},{text:e.$t("group_by_price"),value:"group_by_price"}]}];return e.$user.can("admin billing entities")&&t.push({default:!0,disableColumnConfig:!1,value:"options",class:"options",filterable:!1,sortable:!1,ellipsize:!1,disabledResize:!0}),t}},N={name:"BillingEntitiesTable",components:{ServerBaseTable:D,CurrencyCode:k,FloatingDialog:B,ActionDialog:s},data(){return{refreshData:0,availableHeaders:P.headers(this),openDeleteDialog:!1,refreshTable:0,selectedBillingEntity:null,deleteItemFromList:null,additionalInformation:"",attachedPricingRulesCount:0}},computed:{baseUrl(){return this.$user.group()!==this.$user.context()?`/billing_entities?filter[within_account_tree]=${this.$user.context()}`:"/billing_entities"}},watch:{pricingEntityItem(){this.getAssociatedPricingRules()}},methods:{getAssociatedPricingRules(){const e=`/pricing_entities/${this.pricingEntityItem.id}/pricing_rules?filter[expires_at_after]=${this.$moment.utc().format("YYYY-MM-DD")}`;this.$api.get(e).then(t=>{this.attachedPricingRulesCount=t.pagination.count})},deleteSubmit(){const e=`/pricing_entities/${this.pricingEntityItem.id}`;this.$api.delete(e).then(()=>{this.deleteItemFromList=this.pricingEntityItem,_().showMessage({content:this.$t("pricingEntityDeleted",{name:this.pricingEntityName}),color:"success"})}).catch(t=>{if(t.data.errors[0].code==="validation_failed"){let n=this.$t("unableToDeleteAtThisTime",{name:this.pricingEntityName});t.data.errors[0].details?.pricingEntityId.length&&(n=this.$t("deletePricingEntityAttachedToAccountErrorMsg",{name:this.pricingEntityName})),_().showMessage({content:n,color:"error"})}this.open=!1}).finally(()=>{this.$emit("update:modelValue",!1)})}}};function U(e,t,n,C,i,b){const p=f("currency-code"),u=D,d=s;return g(),T("div",null,[o(u,{headers:i.availableHeaders,"base-url":b.baseUrl,"initial-sort-field":{key:"name",order:"ASC"},class:"pricing-entities-table","refresh-data":i.refreshData,"enable-save-state-headers":""},{"item.currency":a(({item:l})=>[o(p,{item:l},null,8,["item"])]),"item.options":a(({item:l})=>[o(x,{location:"top"},{activator:a(({props:m})=>[o(M,v({icon:"mdi-pencil",variant:"text",density:"compact"},m,{onClick:r=>e.$emit("open-modify",l)}),null,16,["onClick"])]),default:a(()=>[c(" "+y(e.$t("modify")),1)]),_:2},1024),o(x,{location:"top"},{activator:a(({props:m})=>[o(w,v({size:"25px"},m,{color:"red",onClick:r=>{i.selectedBillingEntity=l,i.openDeleteDialog=!0}}),{default:a(()=>[...t[2]||(t[2]=[c(" mdi-delete ",-1)])]),_:1},16,["onClick"])]),default:a(()=>[c(" "+y(e.$t("delete")),1)]),_:2},1024)]),_:2},1032,["headers","base-url","refresh-data"]),o(d,{modelValue:i.openDeleteDialog,"onUpdate:modelValue":t[0]||(t[0]=l=>i.openDeleteDialog=l),name:i.selectedBillingEntity?.name||"",title:e.$t("deleteXVariable",{x:e.$t("billingEntity")}),"action-endpoint":`/billing_entities/${i.selectedBillingEntity?.id}`,onRefresh:t[1]||(t[1]=l=>i.refreshData=Math.random())},null,8,["modelValue","name","title","action-endpoint"])])}const S=E(N,[["render",U],["__scopeId","data-v-f11140a3"]]),F={name:"BillingEntities",components:{DialogBillingEntity:V,GeneralBar:h,BillingEntitiesTable:S,Widget:$,ActionDialog:s},data(){const e=[{icon:"mdi-plus",emit:"add",tooltip:this.$t("createBillingEntity")}];return{actions:this.$user.can("admin billing entities")?e:[],open:!1,dialogMode:"create",refresh:0,entity:{},openDeleteDialog:!1}},beforeCreate(){R(!this.$user.can("view billing entities"))},mounted(){A().setPageTitle(this.$t("billing-entities"))}};function O(e,t,n,C,i,b){const p=h,u=f("billing-entities-table"),d=$,l=f("dialog-billing-entity"),m=s;return g(),T("div",null,[o(p,{"disable-fab-classes":"","bar-title":e.$t("billing-entities"),actions:i.actions,onAddQuickAction:t[0]||(t[0]=r=>(i.open=!0,i.dialogMode="create"))},null,8,["bar-title","actions"]),o(d,null,{default:a(()=>[(g(),I(u,{key:i.refresh,onOpenModify:t[1]||(t[1]=r=>(i.entity=r,i.dialogMode="modify",i.open=!0))}))]),_:1}),o(l,{modelValue:i.open,"onUpdate:modelValue":[t[2]||(t[2]=r=>i.open=r),t[4]||(t[4]=r=>(i.open=!1,i.entity={}))],"billing-entity-id":i.entity?.id,"dialog-mode":i.dialogMode,onRefresh:t[3]||(t[3]=r=>i.refresh=Math.random())},null,8,["modelValue","billing-entity-id","dialog-mode"]),o(m,{modelValue:i.openDeleteDialog,"onUpdate:modelValue":[t[5]||(t[5]=r=>i.openDeleteDialog=r),t[7]||(t[7]=r=>i.openDeleteDialog=r)],item:i.entity.id,name:i.entity.name||"",title:e.$t("deleteXVariable",{x:e.$t("billingEntity")}),"redirect-url":"/invoicing/billing-entities","action-endpoint":`/billing-entities/${i.entity.id}`,onRefresh:t[6]||(t[6]=r=>i.refresh=Math.random())},null,8,["modelValue","item","name","title","action-endpoint"])])}
1const Ot=E(F,[["render",O]]);export{Ot as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.