UNPKG

@rero/rero-ils-ui

Version:

User interface for RERO integrated library system (RERO ILS).

18 lines (17 loc) 111 kB
import{b as tn,c as nn,d as rn,f as M,g as Jt,h as Qe,i as Ln,j as Dn,k as Xt,l as ce,m as X,n as Z,o as In,p as Pn,r as qn,s as Bn,t as Mn,u as Ie}from"./chunk-SH7HDVOD.js";import{a as Vn,b as Fn}from"./chunk-GHXVB46D.js";import{a as $i,b as Gi,c as Ui,d as Hi,e as zi,f as ae,g as re,h as he}from"./chunk-BNO2ALQS.js";import{$ as Bt,A as Ot,Ab as Xi,Ac as k,Bd as Ge,C as Ii,Cb as Zi,Cc as mi,Dd as ne,Fb as Yi,Fc as _n,Fe as wn,Gb as ot,Gc as vn,Gd as Tn,Ha as Te,I as Lt,Ib as Ki,Ic as hn,Jc as Cn,Ka as Vt,L as it,Ma as ki,Mb as Ft,Mc as at,Me as On,Ne as He,Oa as ji,Ob as Mt,Pd as st,Qb as en,Qc as xn,Qd as En,R as Pi,S as nt,Sc as gn,T as Dt,U as It,Ud as Le,Vc as yn,W as qi,Wb as Nt,Wc as Sn,Wd as F,Xb as kt,Xd as Ue,Y as Pt,Yb as jt,Z as qt,Zb as $t,_ as Bi,_b as Gt,_c as fe,ac as $e,ad as we,c as Li,ca as Vi,d as Di,dd as ie,de as ct,ec as Ut,fa as Fi,fc as on,g as je,ga as Mi,gc as an,ha as Ni,hd as bn,ic as sn,id as _e,ie as pt,jc as cn,kb as Wi,kc as pn,lc as ln,mc as dn,nd as zt,od as An,p as wt,pb as Qi,pc as H,q as te,qc as I,rc as R,sc as mn,tb as rt,te as Qt,u as tt,ub as Ji,ud as P,vd as ve,wb as Ee,wc as Ht,we as Rn,xc as un,y as U,yc as fn,yd as Oe,ye as De,zc as Re,zd as Wt}from"./chunk-DMPOHDCX.js";import{$ as K,$b as j,$c as ee,Ab as be,Bb as Ae,Bc as se,C as Fe,Cc as c,Db as _,Dc as A,Ec as h,Fc as ge,G as Ci,Ha as Me,Hc as At,Ic as Tt,Jc as Et,K as We,Kc as ye,Lc as qe,Mc as Se,Nc as Ri,Ob as Si,Oc as de,Pb as bi,Pc as T,Qc as ke,Rc as Be,Sb as u,T as xi,Tb as gt,Ub as Ai,Vb as Ti,Vc as wi,Wb as oe,Xb as yt,Yb as f,Yc as l,Zb as le,Zc as v,_c as S,a as E,ac as $,ad as Ve,b as vi,ba as G,bc as s,cb as ue,cc as a,cd as V,db as gi,dc as C,ec as li,fa as N,fc as di,ga as Ye,gc as Ne,h as z,hb as o,hc as B,id as Rt,la as m,m as ft,nc as D,nd as Oi,oc as p,pc as St,qc as bt,rc as Ei,s as L,sa as Ke,sb as yi,ta as w,ua as O,w as x,wa as W,x as hi,xb as g,yb as et}from"./chunk-GDWQHTGO.js";var Nn={amount:0,value:0},ui={self:0,children:0,total:0},_t={name:"",number:"",depth:0,is_active:!1,allocated_amount:0,distribution:0,encumbrance_exceedance:Nn,expenditure_exceedance:Nn,encumbrance_amount:ui,expenditure_amount:ui,remaining_balance:ui};var Ce=(()=>{class t{constructor(){this.httpClient=m(it),this.recordService=m(P),this.resourceName="acq_accounts"}getAccount(e){return this.recordService.getRecords(this.resourceName,`pid:${e}`,1,1).pipe(x(i=>this.recordService.totalHits(i.hits.total)===0?[]:i.hits.hits),x(i=>i.map(r=>E(E({},_t),r.metadata))),x(i=>i.find(Boolean)))}getAccounts(e,i,r){let d=["is_active:true",`library.pid:${e}`];if(i!==void 0){let q=i===null?"depth:0":`parent.pid:${i}`;d.push(q)}let y=d.join(" AND ");return r=E({sort:"name"},r),this.recordService.getRecords(this.resourceName,y,1,P.MAX_REST_RESULTS_SIZE,void 0,void 0,{Accept:"application/rero+json"},r.sort).pipe(x(q=>this.recordService.totalHits(q.hits.total)===0?[]:q.hits.hits),x(q=>q.map(Y=>E(E({},_t),Y.metadata))))}delete(e){return this.recordService.delete(this.resourceName,e)}transferFunds(e,i,r){let d="/api/acq_accounts/transfer_funds",y=new Lt().set("source",e).set("target",i).set("amount",r.toString());return this.httpClient.get(d,{params:y})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=N({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var kn=(()=>{class t{transform(e){return 0-Math.abs(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=be({name:"negativeAmount",type:t,pure:!0,standalone:!1})}}return t})();var vt=t=>({"text-error":t}),Br=(t,n)=>({"text-success":t,"text-error":n}),Vr=t=>["/acquisition","records","acq_accounts","detail",t];function Fr(t,n){t&1&&(C(0,"p-message",1),l(1,"translate")),t&2&&u("text",v(1,1,"Fiscal year closed"))}function Mr(t,n){t&1&&(s(0,"span",15),c(1,"Details"),a())}function Nr(t,n){if(t&1&&(s(0,"dt",5),c(1,"Parent account"),a(),s(2,"dd")(3,"a",16),c(4),l(5,"getRecord"),l(6,"async"),a()()),t&2){let e=p();o(3),u("routerLink",T(9,Vr,e.parent.pid)),o(),h(" ",v(6,7,Ve(5,2,e.parent.pid,"acq_accounts","field","name"))," ")}}function kr(t,n){t&1&&(s(0,"span",15),c(1,"Accounting informations"),a())}function jr(t,n){if(t&1&&(_(0,Fr,2,3,"p-message",1),s(1,"h1"),c(2),a(),s(3,"div",2)(4,"p-panel",3),_(5,Mr,2,0,"ng-template",null,0,V),s(7,"dl",4)(8,"dt",5),c(9,"Account number"),a(),s(10,"dd"),c(11),a(),s(12,"dt",5),c(13,"Budget"),a(),s(14,"dd"),c(15),l(16,"getRecord"),l(17,"async"),a(),s(18,"dt",5),c(19,"Library"),a(),s(20,"dd"),c(21),l(22,"getRecord"),l(23,"async"),a(),_(24,Nr,7,11),a()(),s(25,"p-panel",3),_(26,kr,2,0,"ng-template",null,0,V),s(28,"div",6)(29,"table",7)(30,"tbody")(31,"tr",8)(32,"td",9),c(33,"Allocated amount"),a(),s(34,"td",10),c(35),l(36,"currency"),a()(),s(37,"tr")(38,"td",9),c(39,"Distribution"),a(),s(40,"td",11),c(41),l(42,"negativeAmount"),l(43,"currency"),a()(),s(44,"tr")(45,"td",12),c(46,"Current encumbrance"),a(),s(47,"td",12),c(48,"Self"),a(),s(49,"td",11),c(50),l(51,"negativeAmount"),l(52,"currency"),a()(),s(53,"tr"),C(54,"td"),s(55,"td",12),c(56,"Children"),a(),s(57,"td",11),c(58),l(59,"negativeAmount"),l(60,"currency"),a()(),s(61,"tr")(62,"td",12),c(63,"Current expenditure"),a(),s(64,"td",12),c(65,"Self"),a(),s(66,"td",11),c(67),l(68,"negativeAmount"),l(69,"currency"),a()(),s(70,"tr"),C(71,"td"),s(72,"td",12),c(73,"Children"),a(),s(74,"td",11),c(75),l(76,"negativeAmount"),l(77,"currency"),a()(),s(78,"tr",13)(79,"td",9),c(80,"Balance"),a(),s(81,"td",11),c(82),l(83,"currency"),a()(),s(84,"tr")(85,"td",9),c(86,"Allowed encumbrance exceedance"),a(),s(87,"td",14),c(88),a(),s(89,"td",14),c(90),l(91,"currency"),a()(),s(92,"tr")(93,"td",9),c(94,"Allowed expenditure exceedance"),a(),s(95,"td",14),c(96),a(),s(97,"td",14),c(98),l(99,"currency"),a()()()()()()()),t&2){let e=n,i=p();f(e.is_active?-1:0),o(2),A(e.name),o(9),A(e.number),o(4),A(v(17,28,Ve(16,23,e.budget.pid,"budgets","field","name"))),o(6),A(v(23,35,Ve(22,30,e.library.pid,"libraries","field","name"))),o(3),f(e.parent?24:-1),o(11),h(" ",S(36,37,e.allocated_amount,i.organisation.default_currency)," "),o(5),u("ngClass",T(74,vt,e.distribution>0)),o(),h(" ",S(43,42,v(42,40,e.distribution),i.organisation.default_currency)," "),o(8),u("ngClass",T(76,vt,e.encumbrance_amount.self>0)),o(),h(" ",S(52,47,v(51,45,e.encumbrance_amount.self),i.organisation.default_currency)," "),o(7),u("ngClass",T(78,vt,e.encumbrance_amount.children>0)),o(),h(" ",S(60,52,v(59,50,e.encumbrance_amount.children),i.organisation.default_currency)," "),o(8),u("ngClass",T(80,vt,e.expenditure_amount.self>0)),o(),h(" ",S(69,57,v(68,55,e.expenditure_amount.self),i.organisation.default_currency)," "),o(7),u("ngClass",T(82,vt,e.expenditure_amount.children>0)),o(),h(" ",S(77,62,v(76,60,e.expenditure_amount.children),i.organisation.default_currency)," "),o(6),u("ngClass",ke(84,Br,e.remaining_balance.self>0,e.remaining_balance.self<0)),o(),h(" ",S(83,65,e.remaining_balance.self,i.organisation.default_currency)," "),o(6),h("",e.encumbrance_exceedance.value,"%"),o(2),h(" ",S(91,68,e.encumbrance_exceedance.amount,i.organisation.default_currency)," "),o(6),h("",e.expenditure_exceedance.value,"%"),o(2),h(" ",S(99,71,e.expenditure_exceedance.amount,i.organisation.default_currency)," ")}}var Gn=(()=>{class t{constructor(){this.acqAccountApiService=m(Ce),this.organisationService=m(re)}get organisation(){return this.organisationService.organisation}ngOnInit(){this.record$.subscribe(e=>{this.esRecord$=this.acqAccountApiService.getAccount(e.metadata.pid)})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=g({type:t,selectors:[["admin-acquisition-account-detail-view"]],standalone:!1,decls:2,vars:3,consts:[["header",""],["severity","warn","showTransitionOptions","0ms",3,"text"],[1,"ui:flex","ui:flex-col","ui:gap-y-4","ui:mt-5"],["styleClass","ui:pb-3"],[1,"metadata","ui:mx-4"],["translate",""],[1,"ui:mx-3"],[1,"ui:w-full","ui:border-spacing-0"],[1,"ui:p-2"],["colspan","2","translate","",1,"ui:font-bold"],["colspan","2",1,"text-success","ui:text-right"],["colspan","2",1,"ui:text-right",3,"ngClass"],["translate","",1,"ui:font-bold"],[1,"ui:bg-surface-100"],[1,"ui:text-right"],["translate","",1,"ui:text-xl"],[3,"routerLink"]],template:function(i,r){if(i&1&&(_(0,jr,100,87),l(1,"async")),i&2){let d;f((d=v(1,1,r.organisation&&r.esRecord$))?0:-1,d)}},dependencies:[k,je,at,ot,I,te,U,ve,R,kn],encapsulation:2})}}return t})();var lt=class{constructor(){this.recordService=m(P),this.router=m(Re)}canActivate(n){throw new Error("Missing canActivate implementation.")}canAdd(n,e){return this.recordService.getRecord(n,e,0,Le.reroJsonheaders).pipe(x(i=>i.metadata),x(i=>!("is_current_budget"in i)||!i.is_current_budget?(this.router.navigate(["/errors/403"],{skipLocationChange:!0}),!1):!0),We(()=>(this.router.navigate(["/errors/404"],{skipLocationChange:!0}),L(!1))))}};var Un=(()=>{class t extends lt{canActivate(e){let i=e.queryParams.budget;return i?this.canAdd("budgets",i):(this.router.navigate(["/errors/400"],{skipLocationChange:!0}),L(!1))}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=W(t)))(r||t)}})()}static{this.\u0275prov=N({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Hn=[{label:"CSV",format:"csv",disableMaxRestResultsSize:!0}],Zt=class extends ce{constructor(){super(...arguments),this.name="acq_accounts",this.recordType="acq_accounts"}getConfiguration(){return{matcher:n=>this.routeMatcher(n,this.name),children:[{path:"detail/:pid",component:Ge,title:"Accounts",canActivate:[X],data:{action:Z.READ}},{path:"edit/:pid",component:ne,title:"Account",canActivate:[X],canDeactivate:[ie],data:{action:Z.UPDATE}},{path:"new",component:ne,title:"Account",canActivate:[ae,Un],canDeactivate:[ie],data:{permissions:[F.ACAC_CREATE]}}],data:{types:[{key:this.name,label:"Acquisition account",detailComponent:Gn,permissions:n=>this.routeToolService.permissions(n,this.recordType),preCreateRecord:n=>this._addDefaultInformation(n),redirectUrl:()=>L("/acquisition/accounts"),formFieldMap:(n,e)=>e.widget?.formlyConfig?.props?.fieldMap==="amount"?this._amountSymbol(n):n}]}}}_addDefaultInformation(n){let{user:e}=this.routeToolService.userService;return n.library={$ref:this.routeToolService.apiService.getRefEndpoint("libraries",e.currentLibrary)},n.budget={$ref:this.routeToolService.apiService.getRefEndpoint("budgets",this.routeToolService.getRouteQueryParam("budget"))},n}_amountSymbol(n){let e=this.routeToolService.getInjectorToken(re);return e.organisation&&(n.props.addonLeft=[He.currencySymbol(this.routeToolService.translateService.currentLang,e.organisation.default_currency)]),n}};var zn=(()=>{class t{transform(e){return e.allocated_amount-e.distribution}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=be({name:"accountAvailableAmount",type:t,pure:!0,standalone:!1})}}return t})();var Ur=()=>["/acquisition","records","acq_accounts","new"],Hr=t=>({budget:t}),zr=()=>["/","acquisition","accounts","transfer"],Wr=t=>["/acquisition","records","acq_accounts","detail",t],Qr=(t,n,e)=>({"text-success":t," ui:text-muted-color":n,"text-warning":e}),Wn=(t,n)=>({"text-error":t," ui:text-muted-color":n}),Jr=(t,n)=>({" ui:text-muted-color":t,"text-warning":n}),Xr=t=>["/acquisition","records","acq_accounts","edit",t];function Zr(t,n){t&1&&(s(0,"tr")(1,"th",14),c(2,"Name"),a(),s(3,"th",15),c(4,"Amount"),a(),s(5,"th",15),c(6,"Available"),a(),s(7,"th",15),c(8,"Engagement"),a(),s(9,"th",15),c(10,"Expenditure"),a(),s(11,"th",15),c(12,"Balance"),a(),C(13,"th"),a())}function Yr(t,n){if(t&1&&(C(0,"p-button",21),l(1,"translate")),t&2){let e=p().rowData;u("title",v(1,2,"Edit account"))("routerLink",T(4,Xr,e.pid))}}function Kr(t,n){if(t&1&&(C(0,"span",23),l(1,"nl2br")),t&2){let e=p().rowData,i=p(3);u("innerHTML",v(1,1,i.deleteInfoMessage(e.permissions)),ue)}}function eo(t,n){if(t&1){let e=B();s(0,"tr")(1,"td",16),C(2,"p-treeTableToggler",17),s(3,"a",18),c(4),a()(),s(5,"td",19),c(6),l(7,"currency"),a(),s(8,"td",19),ye(9),l(10,"accountAvailableAmount"),s(11,"span"),c(12),l(13,"currency"),a()(),s(14,"td",19),c(15),l(16,"currency"),a(),s(17,"td",19),c(18),l(19,"currency"),a(),s(20,"td",19),c(21),l(22,"currency"),a(),s(23,"td")(24,"div",20),_(25,Yr,2,6,"p-button",21),s(26,"p-button",22),l(27,"translate"),D("onClick",function(){let r=w(e).$implicit,d=p(3);return O(d.accountDelete(r))}),a(),_(28,Kr,2,3,"ng-template",null,2,V),a()()()}if(t&2){let e=n.$implicit,i=n.rowData,r=se(29),d=p(3);o(2),u("rowNode",e),o(),u("title",i.name+" ("+i.number+")")("routerLink",T(41,Wr,i.pid)),o(),A(i.name),o(2),h(" ",S(7,22,i.allocated_amount,d.organisation.default_currency)," ");let y=v(10,25,i);o(5),oe(Be(43,Qr,y>0,y===0,y<0)),o(),h(" ",S(13,27,y,d.organisation.default_currency)," "),o(2),oe(ke(47,Wn,i.encumbrance_amount.self>0,i.encumbrance_amount.self<=0)),o(),h(" ",S(16,30,i.encumbrance_amount.self,d.organisation.default_currency)," "),o(2),oe(ke(50,Wn,i.expenditure_amount.self>0,i.expenditure_amount.self<=0)),o(),h(" ",S(19,33,i.expenditure_amount.self,d.organisation.default_currency)," "),o(2),oe(ke(53,Jr,i.remaining_balance.self===0,i.remaining_balance.self<0)),o(),h(" ",S(22,36,i.remaining_balance.self,d.organisation.default_currency)," "),o(4),f(i.permissions&&(i.permissions!=null&&i.permissions.update)&&(!(i==null||i.permissions==null||i.permissions.update==null)&&i.permissions.update.can)?25:-1),o(),u("title",v(27,39,"Delete account"))("pTooltip",r)("disabled",!(!(i.permissions==null||i.permissions.delete==null)&&i.permissions.delete.can))("tooltipDisabled",i.permissions==null||i.permissions.delete==null?null:i.permissions.delete.can)}}function to(t,n){if(t&1){let e=B();s(0,"div",10)(1,"p-button",11),l(2,"translate"),D("onClick",function(){w(e);let r=p(2);return O(r.expandAll())}),a(),s(3,"p-button",12),l(4,"translate"),D("onClick",function(){w(e);let r=p(2);return O(r.collapseAll())}),a()(),s(5,"p-treeTable",13),_(6,Zr,14,0,"ng-template",null,0,V)(8,eo,30,56,"ng-template",null,1,V),a()}if(t&2){let e=p(2);o(),u("label",v(2,3,"Expand all")),o(2),u("label",v(4,5,"Collapse all")),o(2),u("value",e.rootAccounts)}}function io(t,n){t&1&&(s(0,"div",9),c(1,"No account available"),a())}function no(t,n){if(t&1&&(s(0,"header",3)(1,"h1",4),c(2,"Acquisition accounts"),a(),s(3,"div",5),C(4,"p-button",6),l(5,"translate"),C(6,"ng-core-export-button",7)(7,"p-button",8),l(8,"translate"),a()(),s(9,"section"),_(10,to,10,7)(11,io,2,0,"div",9),a()),t&2){let e=p();o(4),u("label",v(5,9,"Add"))("routerLink",de(13,Ur))("queryParams",T(14,Hr,e.organisation.current_budget_pid))("permissions",e.permissions.ACAC_CREATE),o(2),u("exportOptions",e.exportOptions),o(),u("label",v(8,11,"Transfer funds"))("routerLink",de(16,zr))("permissions",e.permissions.ACAC_TRANSFER),o(3),f(e.rootAccounts.length>0?10:11)}}var Qn=(()=>{class t{constructor(){this.userService=m(De),this.acqAccountApiService=m(Ce),this.organisationService=m(re),this.apiService=m(fe),this.translateService=m(H),this.recordPermissionService=m(he),this.messageService=m(Te),this.rootAccounts=[],this.permissions=F}get organisation(){return this.organisationService.organisation}get exportInfoMessage(){return this.rootAccounts.length===0?this.translateService.instant("Result list is empty."):this.translateService.instant("Too many items. Should be less than {{max}}.",{max:P.MAX_REST_RESULTS_SIZE})}orderAccountsAsTree(e){let i={};e=this.processAccount(e),e.map(d=>{let y=d?.data?.parent?.pid?d.data.parent.pid:-1;i[y]||(i[y]=[]),i[y].push(d)});let r=i[-1].sort((d,y)=>d.label.localeCompare(y.label));return this.attachChildren(r,i),r}attachChildren(e,i){e.map(r=>{i[r.data.pid]&&(r.children=i[r.data.pid].sort((d,y)=>d.label.localeCompare(y.label)),this.attachChildren(r.children,i))})}ngOnInit(){this._libraryPid=this.userService.user.currentLibrary;let e;this.acqAccountApiService.getAccounts(this._libraryPid,void 0,{sort:"depth"}).pipe(G(i=>e=i),K(i=>{let r=i.map(d=>this.recordPermissionService.getPermission("acq_accounts",d.pid).pipe(G(y=>d.permissions=y)));return Fe(r)}),G(()=>this.rootAccounts=this.orderAccountsAsTree(e)),G(()=>this.exportOptions=this._exportFormats())).subscribe()}processAccount(e){return e.map(i=>({data:i,label:i.name,leaf:!(i?.number_of_children>0)}))}accountDelete(e){this.acqAccountApiService.delete(e.node.data.pid).pipe(G(()=>{e.parent?(e.parent.children=e.parent.children.filter(i=>i.data.pid!==e.node.data.pid),e.parent.leaf=!(e.parent.children.length>0)):this.rootAccounts=this.rootAccounts.filter(i=>i.data.pid!==e.node.data.pid),this.rootAccounts=[...this.rootAccounts]})).subscribe(()=>{this.messageService.add({severity:"success",summary:this.translateService.instant("Account"),detail:this.translateService.instant("Account deleted"),life:Oe.MESSAGE_LIFE})})}deleteInfoMessage(e){return this.recordPermissionService.generateTooltipMessage(e.delete.reasons,"delete")}expandAll(){this.rootAccounts.forEach(e=>{this.expandRecursive(e,!0)}),this.rootAccounts=[...this.rootAccounts]}collapseAll(){this.rootAccounts.forEach(e=>{this.expandRecursive(e,!1)}),this.rootAccounts=[...this.rootAccounts]}expandRecursive(e,i){e.expanded=i,e.children&&e.children.forEach(r=>{this.expandRecursive(r,i)})}_exportFormats(){return Hn.map(e=>({label:e.label,url:this.getExportFormatUrl(e),disabled:!this.canExport(e),disabled_message:this.exportInfoMessage}))}getExportFormatUrl(e){let r=["is_active:true",`library.pid:${this._libraryPid}`].join(" AND "),d=e.endpoint||this.apiService.getExportEndpointByType("acq_accounts"),y=new Lt().set("q",r).set("format",e.format);return e.disableMaxRestResultsSize||y.append("size",String(P.MAX_REST_RESULTS_SIZE)),`${d}?${y.toString()}`}canExport(e){let i=this.rootAccounts.length;return Object.hasOwn(e,"disableMaxRestResultsSize")&&e.disableMaxRestResultsSize?i>0:i>0&&i<P.MAX_REST_RESULTS_SIZE}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=g({type:t,selectors:[["admin-account-list"]],standalone:!1,decls:1,vars:1,consts:[["header",""],["body",""],["tooltipContent",""],[1,"ui:flex","ui:items-baseline","ui:justify-between"],["translate",""],[1,"ui:flex","ui:gap-2","ui:flex-wrap"],["icon","fa fa-plus",3,"label","routerLink","queryParams","permissions"],[3,"exportOptions"],["icon","fa fa-exchange","outlined","",3,"label","routerLink","permissions"],["translate","",1,"ui:font-bold","ui:mt-2"],[1,"ui:flex","ui:flex-wrap","ui:gap-1","ui:my-4"],["size","small","outlined","","icon","fa fa-plus",3,"onClick","label"],["size","small","outlined","","icon","fa fa-minus",3,"onClick","label"],["autoLayout","","styleClass","p-treetable-sm",3,"value"],["translate","",1,"ui:min-w-75","ui:max-w-75"],["translate","",1,"ui:!text-right"],[1,"ui:min-w-75","ui:max-w-75","ui:truncate"],[3,"rowNode"],[3,"title","routerLink"],[1,"ui:!text-right"],[1,"ui:flex","ui:gap-1","ui:justify-end","ui:flex-wrap"],["icon","fa fa-pencil","outlined","","size","small",3,"title","routerLink"],["icon","fa fa-trash","severity","danger","outlined","","size","small","tooltipPosition","top",1,"ui:pointer-events-auto",3,"onClick","title","pTooltip","disabled","tooltipDisabled"],[3,"innerHTML"]],template:function(i,r){i&1&&_(0,no,12,17),i&2&&f(r.organisation?0:-1)},dependencies:[k,Ee,Ft,I,Tn,Rn,tn,nn,U,R,we,zn],encapsulation:2})}}return t})();function dt(t){let n=(i,r)=>{r.push(i),t.filter(d=>d.parent!==void 0&&d.parent.pid===i.pid).forEach(d=>n(d,r))};t.sort((i,r)=>i.depth===r.depth?i.name.localeCompare(r.name):i.depth-r.depth);let e=[];return t.filter(i=>i.depth===0).forEach(i=>n(i,e)),e}var oo=t=>["/acquisition","records","acq_accounts","detail",t],ao=(t,n,e)=>({"text-success":t," ui:text-muted-color":n,"text-warning":e}),so=t=>({"ng-invalid ng-dirty":t}),co=()=>["/acquisition","accounts"],po=(t,n)=>n.pid;function lo(t,n){if(t&1&&(c(0),l(1,"getRecord"),l(2,"async")),t&2){let e=p(3);h(" ",v(2,6,Ve(1,1,e.selectedBudget.code,"budgets","field","name"))," ")}}function mo(t,n){if(t&1&&(c(0),l(1,"getRecord"),l(2,"async")),t&2){let e=n.$implicit;h(" ",v(2,6,Ve(1,1,e.code,"budgets","field","name"))," ")}}function uo(t,n){if(t&1){let e=B();s(0,"p-select",9),D("onChange",function(r){w(e);let d=p(2);return O(d.selectBudget(r))}),_(1,lo,3,8,"ng-template",null,2,V)(3,mo,3,8,"ng-template",null,3,V),a()}if(t&2){let e=p(2);u("ngModel",e.selectedBudget)("options",e.budgets)}}function fo(t,n){t&1&&(s(0,"div",10)(1,"div",11),c(2,"Source"),a(),s(3,"div",12),c(4,"Amount"),a(),s(5,"div",13),c(6,"Available"),a(),s(7,"div",11),c(8,"Target"),a()())}function _o(t,n){if(t&1&&C(0,"p-radioButton",16),t&2){let e=p().$implicit;u("value",e)}}function vo(t,n){if(t&1&&C(0,"p-radioButton",20),t&2){let e=p().$implicit;u("value",e)}}function ho(t,n){if(t&1&&(s(0,"div",14)(1,"div",15),_(2,_o,1,1,"p-radioButton",16),a(),s(3,"div",17)(4,"a",18),c(5),a()(),s(6,"div",19),c(7),l(8,"currency"),a(),s(9,"div",19),c(10),l(11,"currency"),a(),s(12,"div",15),_(13,vo,1,1,"p-radioButton",20),a()()),t&2){let e=n.$implicit,i=p(3);o(2),f(i.form.get("target").value&&i.form.get("target").value.pid===e.pid?-1:2),o(2),gt("padding-left",e.depth*10,"px"),u("routerLink",T(16,oo,e.pid)),o(),h(" ",e.name," "),o(2),h(" ",S(8,10,e.allocated_amount,i.organisation.default_currency)," "),o(2),oe(Be(18,ao,e.remaining_balance.self>0,e.remaining_balance.self===0,e.remaining_balance.self<0)),o(),h(" ",S(11,13,e.remaining_balance.self,i.organisation.default_currency)," "),o(3),f(i.form.get("source").value&&i.form.get("source").value.pid===e.pid?-1:13)}}function Co(t,n){if(t&1&&j(0,ho,14,22,"div",14,po),t&2){let e=p(2);$(e.accountsToDisplay)}}function xo(t,n){t&1&&(c(0),l(1,"translate")),t&2&&h(" ",v(1,1,"No account available")," ")}function go(t,n){t&1&&(s(0,"small",27),c(1,"This field is required."),a())}function yo(t,n){if(t&1&&(s(0,"small",28),c(1),l(2,"translate"),a()),t&2){let e=p(4);o(),ge(" ",v(2,2,"Minimum amount is")," ",e.form.get("amount").errors.min.min,". ")}}function So(t,n){if(t&1&&(s(0,"small",28),c(1),l(2,"translate"),a()),t&2){let e=p(4);o(),ge(" ",v(2,2,"Maximum amount is")," ",e.form.get("amount").errors.max.max,". ")}}function bo(t,n){if(t&1&&_(0,go,2,0,"small",27)(1,yo,3,4,"small",28)(2,So,3,4,"small",28),t&2){let e=p(3);f(e.form.get("amount").hasError("required")?0:-1),o(),f(e.form.get("amount").hasError("min")?1:-1),o(),f(e.form.get("amount").hasError("max")?2:-1)}}function Ao(t,n){if(t&1&&(s(0,"div",21)(1,"label",22),c(2,"Amount"),a(),s(3,"div",4)(4,"div")(5,"p-inputGroup")(6,"p-inputGroupAddon"),c(7),a(),C(8,"input",23),a()(),s(9,"div",24),C(10,"p-button",25),l(11,"translate"),C(12,"p-button",26),l(13,"translate"),a()(),_(14,bo,3,3),a()),t&2){let e=p(2);o(7),A(e.currencySymbol),o(),oe(T(12,so,e.checkInput("amount"))),o(2),u("label",v(11,8,"Cancel"))("routerLink",de(14,co)),o(2),u("label",v(13,10,"Transfer"))("disabled",e.form.invalid),o(2),f(e.checkInput("amount")?14:-1)}}function To(t,n){if(t&1){let e=B();s(0,"div",4)(1,"h1",5),c(2,"Fund transfer"),a(),_(3,uo,5,2,"p-select",6),a(),s(4,"form",7),D("ngSubmit",function(){w(e);let r=p();return O(r.submit())}),s(5,"p-card"),_(6,fo,9,0,"ng-template",null,0,V),s(8,"div",8),_(9,Co,2,0)(10,xo,2,3),a(),_(11,Ao,15,15,"ng-template",null,1,V),a()()}if(t&2){let e=p();o(3),f(e.budgets.length>1?3:-1),o(),u("formGroup",e.form),o(5),f(e.accountsToDisplay.length>0?9:10)}}var Xn=(()=>{class t{get organisation(){return this.organisationService.organisation}get currencySymbol(){return He.currencySymbol(this.translateService.currentLang,this.organisation.default_currency)}constructor(){this.acqAccountApiService=m(Ce),this.organisationService=m(re),this.formBuilder=m(Fi),this.translateService=m(H),this.router=m(Re),this.userService=m(De),this.messageService=m(Te),this.accountsToDisplay=[],this.budgets=[],this.accountsTree=[],this.selectedBudget=void 0,this.subscriptions=new z,this.form=this.formBuilder.group({source:[void 0,nt.required],target:[void 0,nt.required],amount:[0,nt.min(.01)]})}ngOnInit(){this._loadData(),this.subscriptions.add(this.form.controls.source.valueChanges.subscribe(e=>{let i=e.remaining_balance.self;this.form.controls.amount.setValidators([nt.min(.01),nt.max(i)])}))}ngOnDestroy(){this.subscriptions.unsubscribe()}selectBudget(e){this.selectedBudget=e.value,this._filterAccountToDisplay()}selectAccount(e,i){this.form.controls[e].patchValue(i)}submit(){this.acqAccountApiService.transferFunds(this.form.value.source.pid,this.form.value.target.pid,this.form.value.amount).subscribe({next:()=>{this.messageService.add({severity:"success",summary:this.translateService.instant("Account"),detail:this.translateService.instant("Fund transfer successful!"),life:Oe.MESSAGE_LIFE}),this.router.navigate(["/","acquisition","accounts"])},error:e=>this.messageService.add({severity:"error",summary:this.translateService.instant("Account"),detail:this.translateService.instant(e.error.message),sticky:!0,closable:!0})})}checkInput(e){return this.form.get(e)===void 0?!0:this.form.get(e).invalid&&this.form.get(e).errors&&(this.form.get(e).dirty||this.form.get(e).touched)}_loadData(){let e=this.userService.user.currentLibrary;this.acqAccountApiService.getAccounts(e,void 0,{sort:"depth"}).subscribe(i=>{this.accountsTree=dt(i),this.budgets=Array.from(new Set(this.accountsTree.map(r=>r.budget.pid))).map(r=>({code:r})),this.selectedBudget=this.budgets.find(Boolean),this._filterAccountToDisplay()})}_filterAccountToDisplay(){this.accountsToDisplay=this.accountsTree.filter(e=>e.budget.pid===this.selectedBudget.code)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=g({type:t,selectors:[["admin-account-transfer"]],standalone:!1,decls:1,vars:1,consts:[["header",""],["footer",""],["selectedItem",""],["item",""],[1,"ui:flex","ui:flex-wrap","ui:gap-2","ui:justify-between"],["translate",""],[3,"ngModel","options"],["onkeydown","return event.key != 'Enter';",1,"ui:mt-3",3,"ngSubmit","formGroup"],[1,"ui:mt-4"],[3,"onChange","ngModel","options"],[1,"ui:grid","ui:grid-cols-12","ui:bg-surface-100","ui:p-2","ui:text-lg","ui:font-bold"],["translate","",1,"ui:col-span-1","ui:text-center"],["translate","",1,"ui:col-span-8","ui:text-right"],["translate","",1,"ui:col-span-2","ui:text-right"],[1,"ui:grid","ui:grid-cols-12","ui:py-1","ui:odd:bg-surface-50"],[1,"ui:col-span-1","ui:text-center"],["name","source","formControlName","source",3,"value"],[1,"ui:col-span-6"],[3,"routerLink"],[1,"ui:col-span-2","ui:text-right"],["name","target","formControlName","target",3,"value"],[1,"ui:flex","ui:flex-col","ui:gap-1","ui:py-4","ui:px-6","ui:pb-6","ui:mt-2","ui:border-t","ui:border-surface"],["for","amount","translate",""],["pInputText","","type","number","id","amount","formControlName","amount"],[1,"ui:flex","ui:flex-wrap","ui:gap-1","ui:justify-end"],["type","cancel","severity","danger","outlined","",3,"label","routerLink"],["type","submit",3,"label","disabled"],["translate","",1,"text-error"],[1,"text-error"]],template:function(i,r){i&1&&_(0,To,13,3),i&2&&f(r.accountsToDisplay&&r.organisation?0:-1)},dependencies:[k,qt,Pi,Bi,Dt,It,Pt,Bt,Vi,Ee,Qi,Zi,Xi,Wi,Ki,Mt,I,te,U,ve,R],encapsulation:2})}}return t})();function Eo(t,n){if(t&1&&(s(0,"div",1)(1,"div",2),c(2),a(),C(3,"p",3),a()),t&2){let e=n.$implicit;o(2),h(" ",e.summary," "),o(),u("innerHtml",e.detail,ue)}}var Zn=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=g({type:t,selectors:[["admin-acquisition-main"]],standalone:!1,decls:5,vars:0,consts:[["message",""],[1,"ui:flex","ui:flex-col","ui:items-start",2,"flex","1"],[1,"ui:font-medium","ui:text-lg","ui:text-surface-900"],[3,"innerHtml"]],template:function(i,r){i&1&&(C(0,"router-outlet"),s(1,"p-toast"),_(2,Eo,4,2,"ng-template",null,0,V),a(),C(4,"p-confirmDialog"))},dependencies:[un,Cn,xn],encapsulation:2})}}return t})();var Ro=(t,n)=>({"text-success":t,"text-error":n}),wo=t=>[t],Yn=(()=>{class t{constructor(){this.translateService=m(H)}get title(){return this.record.metadata.is_active?this.translateService.instant("Active"):this.translateService.instant("Inactive")}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=g({type:t,selectors:[["admin-budgets-brief-view"]],inputs:{record:"record",type:"type",detailUrl:"detailUrl"},standalone:!1,decls:5,vars:9,consts:[[1,"fa","fa-circle","ui:mr-2",3,"title","ngClass"],[3,"routerLink"]],template:function(i,r){i&1&&(s(0,"h5"),C(1,"i",0),c(2,"\xA0 "),s(3,"a",1),c(4),a()()),i&2&&(o(),u("title",r.title)("ngClass",ke(4,Ro,r.record.metadata.is_active,!r.record.metadata.is_active)),o(2),u("routerLink",T(7,wo,r.detailUrl.link)),o(),A(r.record.metadata.name))},dependencies:[k,je],encapsulation:2})}}return t})();var Kt=class{constructor(n){this.$schema=null,this.pid=null,this.name="",this.start_date="",this.end_date="",this.is_active=!1,Object.assign(this,n)}};var Kn=(()=>{class t{constructor(){this.recordService=m(P),this.resourceName="budgets"}getBudgets(e){return e=e||"",this.recordService.getRecords(this.resourceName,e,1,P.MAX_REST_RESULTS_SIZE).pipe(x(i=>this.recordService.totalHits(i.hits.total)===0?[]:i.hits.hits),x(i=>i.map(r=>new Kt(r.metadata))))}getBudgetTotalAmount(e){return this.recordService.getRecords("acq_accounts",`budget.pid:${e} AND depth:0`,1,P.MAX_REST_RESULTS_SIZE).pipe(x(i=>this.recordService.totalHits(i.hits.total)===0?[]:i.hits.hits),x(i=>i.map(r=>E(E({},_t),r.metadata))),x(i=>i.reduce((r,d)=>r+d.allocated_amount,0)))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=N({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Oo(t,n){t&1&&(C(0,"p-message",0),l(1,"translate")),t&2&&u("text",v(1,1,"Fiscal year closed"))}function Lo(t,n){if(t&1&&(_(0,Oo,2,3,"p-message",0),s(1,"header",1)(2,"h1"),c(3),a()(),s(4,"section")(5,"dl",2)(6,"dt",3),c(7,"Total"),a(),s(8,"dd"),c(9),l(10,"currency"),a()()()),t&2){let e=n,i=p();f(e.metadata.is_active?-1:0),o(3),A(e.metadata.name),o(6),A(ee(10,3,i.totalAmount,i.currencyCode,"symbol"))}}var er=(()=>{class t{constructor(){this.budgetApiService=m(Kn),this.organisationService=m(re),this.totalAmount=0,this._subscriptions=new z}get currencyCode(){return this.organisationService.organisation.default_currency}ngOnInit(){this._subscriptions.add(this.record$.pipe(K(e=>this.budgetApiService.getBudgetTotalAmount(e.metadata.pid))).subscribe(e=>this.totalAmount=e))}ngOnDestroy(){this._subscriptions.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=g({type:t,selectors:[["admin-budget-detail-view"]],standalone:!1,decls:2,vars:3,consts:[["severity","warn","showTransitionOptions","0ms",3,"text"],[1,"ui:my-3"],[1,"metadata"],["translate",""]],template:function(i,r){if(i&1&&(_(0,Lo,11,7),l(1,"async")),i&2){let d;f((d=v(1,1,r.record$))?0:-1,d)}},dependencies:[at,I,te,U,R],encapsulation:2})}}return t})();var ei=class extends ce{constructor(){super(...arguments),this.name="budgets",this.recordType="budgets"}getConfiguration(){return{matcher:n=>this.routeMatcher(n,this.name),children:[{path:"",component:st,title:"Budgets",canActivate:[ae],data:{permissions:[F.BUDG_ACCESS,F.BUDG_SEARCH],operator:Ue.AND}},{path:"detail/:pid",component:Ge,title:"Budget",canActivate:[X],data:{action:Z.READ}}],data:{adminMode:this.DISABLED,types:[{key:this.name,label:"Budgets",component:Yn,detailComponent:er,searchFilters:[this.expertSearchFilter()]}]}}}};var ti=(()=>{class t extends Bn{constructor(){super(...arguments),this.recordService=m(P)}getOwningLibrary$(e){let i=e.queryParams.order;return i===void 0&&(i=e.params.pid),this.recordService.getRecord("acq_orders",i).pipe(x(r=>r.metadata||{}),x(r=>r.library||{}),x(r=>_e(r.$ref)))}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=W(t)))(r||t)}})()}static{this.\u0275prov=N({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var tr=(()=>{class t extends lt{canActivate(e){let i=e.queryParams.order;return i?this.canAdd("acq_orders",i):(this.router.navigate(["/errors/400"],{skipLocationChange:!0}),L(!1))}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=W(t)))(r||t)}})()}static{this.\u0275prov=N({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var mt=(()=>{class t{constructor(){this.recordService=m(P),this.router=m(Re)}canActivate(e){let{type:i,pid:r}=e.params;return!i||!r?L(!1):this.recordService.getRecord(i,r,0,Le.reroJsonheaders).pipe(x(d=>"metadata"in d?d.metadata:d),x(d=>!("is_current_budget"in d)||!d.is_current_budget?(this.router.navigate(["/errors/403"],{skipLocationChange:!0}),!1):!0))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=N({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var ii=class extends ce{constructor(){super(...arguments),this.name="acq_order_lines",this.recordType="acq_order_lines"}getConfiguration(){return{matcher:n=>this.routeMatcher(n,this.name),children:[{path:"edit/:pid",component:ne,title:"Order line",canActivate:[X,mt],canDeactivate:[ie],data:{action:Z.UPDATE}},{path:"new",component:ne,title:"Order line",canActivate:[ae,tr,ti],canDeactivate:[ie],data:{permissions:[F.ACOL_CREATE]}}],data:{types:[{key:this.name,label:"Order lines",canAdd:()=>L({can:this.routeToolService.permissionsService.canAccess(F.ACOL_CREATE)}),preCreateRecord:n=>this._addDefaultInformation(n),preUpdateRecord:n=>this.fieldsToRemoved(n,["is_current_budget"]),redirectUrl:n=>this.redirectUrl(n.metadata.acq_order,"/acquisition/records/acq_orders/detail"),formFieldMap:(n,e)=>e.widget?.formlyConfig?.props?.fieldMap==="amount"?this._amountSymbol(n):n}]}}}_addDefaultInformation(n){return n.acq_order={$ref:this.routeToolService.apiService.getRefEndpoint("acq_orders",this.routeToolService.getRouteQueryParam("order"))},n}_amountSymbol(n){let e=this.routeToolService.getInjectorToken(re);return n.props.addonLeft=[He.currencySymbol(this.routeToolService.translateService.currentLang,e.organisation.default_currency)],n}};var Je=function(t){return t.STAFF_NOTE="staff_note",t.VENDOR_NOTE="vendor_note",t.RECEIPT_NOTE="receipt_note",t}(Je||{});var ir=t=>[t];function Do(t,n){if(t&1&&(C(0,"div",3),l(1,"nl2br")),t&2){p();let e=Se(5);u("innerHTML",v(1,1,e[0].content),ue)}}function Io(t,n){if(t&1&&(c(0),l(1,"dateTranslate")),t&2){let e=p(2);h(" - ",S(1,1,e.order.order_date,"shortDate")," ")}}function Po(t,n){if(t&1&&(c(0),l(1,"dateTranslate")),t&2){let e=p(2);h(" - ",S(1,1,e.receptionDate,"shortDate")," ")}}function qo(t,n){if(t&1&&(c(0),l(1,"dateTranslate")),t&2){let e=p(2);h(" - ",S(1,1,e.receptionDate,"shortDate")," ")}}function Bo(t,n){if(t&1&&(c(0),l(1,"truncateText")),t&2){p();let e=Se(14);h(" - ",ee(1,1,e,10,"\u2026")," ")}}function Vo(t,n){if(t&1&&(s(0,"div",6)(1,"span",7),c(2),l(3,"currency"),a(),s(4,"span",8),C(5,"i",9),c(6),a()()),t&2){let e=p(2);o(2),h(" ",S(3,2,e.order.account_statement.provisional.total_amount,e.order.currency)," "),o(4),h("\xA0",e.order.account_statement.provisional.quantity," ")}}function Fo(t,n){if(t&1&&(s(0,"div",6)(1,"span",7),c(2),l(3,"currency"),a(),s(4,"span",8),C(5,"i",10),c(6),a()()),t&2){let e=p(2);o(2),h(" ",S(3,2,e.order.account_statement.expenditure.total_amount,e.order.currency)," "),o(4),h("\xA0",e.order.account_statement.expenditure.quantity," ")}}function Mo(t,n){if(t&1&&(s(0,"article",0)(1,"div",1)(2,"h5")(3,"a",2),c(4),a()(),ye(5),l(6,"notesFilter"),_(7,Do,2,3,"div",3),s(8,"span",4),c(9),l(10,"translate"),_(11,Io,2,4)(12,Po,2,4)(13,qo,2,4),ye(14),l(15,"getRecord"),l(16,"async"),_(17,Bo,2,5),c(18," ] "),a()(),s(19,"div",5),_(20,Vo,7,5,"div",6)(21,Fo,7,5,"div",6),a()()),t&2){let e,i=p();o(3),u("routerLink",T(22,ir,i.detailUrl.link)),o(),A(i.order.reference),o();let r=qe(S(6,8,i.order.notes,T(24,ir,i.noteType.STAFF_NOTE)));o(2),f(r.length>0?7:-1),o(2),h(" [ ",v(10,12,i.order.status)," "),o(2),f((e=i.order.status)===i.orderStatus.ORDERED?11:e===i.orderStatus.RECEIVED?12:e===i.orderStatus.PARTIALLY_RECEIVED?13:-1),o(3);let d=qe(v(16,19,Ve(15,14,i.order.vendor.pid,"vendors","field","name")));o(3),f(d?17:-1),o(3),f(i.displayProvisionalAccountingData?20:-1),o(),f(i.displayExpenditureAccountingData?21:-1)}}var nr=(()=>{class t{constructor(){this.order=null,this.orderStatus=M,this.noteType=Je}get receptionDate(){return this.record.metadata.receipts.filter(e=>Object.hasOwn(e,"receipt_date")&&Array.isArray(e.receipt_date)&&e.receipt_date.length>0).map(e=>e.receipt_date[0]).shift()}get displayProvisionalAccountingData(){return this.order.account_statement.provisional.quantity>0&&this.order.status!==M.RECEIVED&&this.order.status!==M.CANCELLED}get displayExpenditureAccountingData(){return this.order.account_statement.expenditure.quantity>0}ngOnInit(){let e=E(E({},Jt),this.record.metadata);e.notes=e.notes.filter(i=>i.source.type==="acor"),this.order=e}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=g({type:t,selectors:[["admin-acquisition-order-brief-view"]],inputs:{record:"record",type:"type",detailUrl:"detailUrl"},standalone:!1,decls:1,vars:1,consts:[[1,"ui:grid","ui:grid-cols-12","ui:gap-4"],[1,"ui:col-span-12","ui:lg:col-span-9"],[3,"routerLink"],[1,"ui:italic",3,"innerHTML"],[1,"ui:font-bold","ui:text-muted-color","ui:text-sm"],[1,"ui:col-span-12","ui:lg:col-span-3","ui:flex","ui:flex-col","ui:gap-1"],[1,"ui:flex"],[1,"ui:w-8/12","ui:text-center","ui:border-surface","ui:border","ui:p-2","ui:bg-surface-100","ui:rounded-l","ui:font-bold"],[1,"ui:w-4/12","ui:text-center","ui:border-surface","ui:border","ui:p-2","ui:bg-surface-100","ui:rounded-r","ui:text-muted-color","ui:text-right"],[1,"fa","fa-shopping-cart"],[1,"fa","fa-sign-in"]],template:function(i,r){i&1&&_(0,Mo,22,26,"article",0),i&2&&f(r.order?0:-1)},dependencies:[k,te,U,ve,R,we,bn,zt,wn],encapsulation:2})}}return t})();var J=(()=>{class t extends Le{constructor(){super(...arguments),this.httpClient=m(it),this.recordService=m(P),this.recordUiService=m(Wt),this._deletedOrderLineSubject$=new ft}get deletedOrderLineSubject$(){return this._deletedOrderLineSubject$.asObservable()}getOrder(e,i=0){return this.recordService.getRecord("acq_orders",e,i,Le.reroJsonheaders).pipe(x(r=>E(E({},Jt),r.metadata)))}getOrderPreview(e){let i=`/api/acq_order/${e}/acquisition_order/preview`;return this.httpClient.get(i)}sendOrder(e,i){let r=`/api/acq_order/${e}/send_order`;return this.httpClient.post(r,{emails:i}).pipe(x(d=>new qn(d.data)))}getOrderHistory(e){let i=`/api/acq_order/${e}/history`;return this.httpClient.get(i)}getOrderLines(e,i){let r=`acq_order.pid:${e}`;return i&&(r+=` ${i}`),this.recordService.getRecords("acq_order_lines",r,1,P.MAX_REST_RESULTS_SIZE,void 0,void 0,void 0,"priority").pipe(x(d=>this.recordService.totalHits(d.hits.total)===0?[]:d.hits.hits),x(d=>d.map(y=>E(E({},Ln),y.metadata))))}deleteOrderLine(e){this.recordUiService.deleteRecord("acq_order_lines",e.pid).subscribe(i=>{i&&this._deletedOrderLineSubject$.next(e)})}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=W(t)))(r||t)}})()}static{this.\u0275prov=N({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Ct={amount_adjustments:[],quantity:0,total_amount:0,receipt_lines:[],notes:[]},rr={quantity:0,amount:0,notes:[]};var ni=function(t){return t.SUCCESS="success",t.FAILURE="failure",t}(ni||{}),Xe=(()=>{class t{constructor(){this.apiService=m(fe)}get model(){return{pid:null,acqOrderRef:null,libraryRef:null,organisationRef:null,receiptDate:gn.now().toISODate(),reference:null,amountAdjustments:[],notes:[],receiptLines:[]}}processBaseRecord(e){return{acq_order:{$ref:e.acqOrderRef},library:{$ref:e.libraryRef},organisation:{$ref:e.organisationRef},amount_adjustments:[],notes:[]}}processExistingRecord(e){return{pid:e.pid,$schema:e.$schema,acq_order:{$ref:this.apiService.getRefEndpoint("acq_orders",e.acq_order.pid)},library:{$ref:this.apiService.getRefEndpoint("libraries",e.library.pid)},organisation:{$ref:this.apiService.getRefEndpoint("organisation",e.organisation.pid)},reference:e.reference,amount_adjustments:e.amount_adjustments,notes:e.notes}}processAdjustments(e){let i=[];return e.amountAdjustments.forEach(r=>{let d={label:r.label,amount:r.amount,acq_account:{$ref:r.acqAccount}};i.push(d)}),i}processLines(e){let i=[];return e.receiptLines.filter(r=>r.selected===!0).forEach(r=>{i.push({acq_order_line:{$ref:r.acqOrderLineRef},quantity:r.quantity,amount:r.amount,vat_rate:r.vatRate,receipt_date:e.receiptDate})}),i}cleanData(e){return["amount_adjustments","notes"].forEach(r=>{Object.hasOwn(e,r)&&e[r].length===0&&delete e[r]}),e}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=N({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var pe=(()=>{class t{constructor(){this.apiService=m(P),this.recordUiService=m(Wt),this.httpClient=m(it),this.translateService=m(H),this.resourceName="acq_receipts",this._defaultRecordOptions={headers:{Accept:"application/json"},sort:"receipt_date"},this._deletedReceiptSubject$=new ft,this._deletedReceiptLineSubject$=new ft}get deletedReceiptSubject$(){return this._deletedReceiptSubject$.asObservable()}get deletedReceiptLineSubject$(){return this._deletedReceiptLineSubject$.asObservable()}getReceipt(e){return this.apiService.getRecord(this.resourceName,e,1,Le.reroJsonheaders).pipe(x(i=>E(E({},Ct),i.metadata)))}searchReceipts(e,i){return i=E(E({},this._defaultRecordOptions),i),this.apiService.getRecords(this.resourceName,e,1,P.MAX_REST_RESULTS_SIZE,void 0,void 0,i.headers,i.sort).pipe(x(r=>this.apiService.totalHits(r.hits.total)===0?[]:r.hits.hits),x(r=>r.map(d=>E(E({},Ct),d.metadata))))}getReceiptsForOrder(e){return this.searchReceipts(`acq_order.pid:${e}`)}getReceiptLines(e){let i=`acq_receipt.pid:${e}`;return this.apiService.getRecords("acq_receipt_lines",i,1,P.MAX_REST_RESULTS_SIZE,void 0,void 0,Le.reroJsonheaders,"receipt_date").pipe(x(r=>this.apiService.totalHits(r.hits.total)===0?[]:r.hits.hits),x(r=>r.map(d=>E(E({},rr),d.metadata))))}createReceipt(e){return this.apiService.create(this.resourceName,e).pipe(x(i=>E(E({},Ct),i.metadata)))}createReceiptLines(e,i){let r=this.translateService.instant("Error proceeding receipt lines creation"),d=`/api/acq_receipt/${e}/lines`;return this.httpClient.post(d,i).pipe(x(y=>y.response),x(y=>{if(y===null)throw new Error(r);if(y.some(q=>q.status===ni.FAILURE)){let q=y.filter(Y=>Y.status===ni.FAILURE).map(Y=>Y.error_message);throw Error(q.join(` `))}return{success:!0}}),We(y=>L({success:!1,messages:y.toString()})))}updateReceipt(e,i){return this.apiService.update(this.resourceName,e,i).pipe(x(r=>E(E({},Ct),r.metadata)))}delete(e){this.recordUiService.deleteRecord(this.resourceName,e.pid).subscribe(i=>{i&&this._deletedReceiptSubject$.next(e)})}deleteReceiptLine(e){this.recordUiService.deleteRecord("acq_receipt_lines",e.pid).subscribe(i=>{i&&this._deletedReceiptLineSubject$.next(e)})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=N({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function No(t,n){if(t&1){let e=B();s(0,"admin-preview-email",1),D("closeDialog",function(){w(e);let r=p();return O(r.closeDialog())})("data",function(r){w(e);let d=p();return O(d.confirmOrder(r))}),li(1,2),s(2,"p",3),c(3,"You're about to send the order."),a(),di(),li(4,4),s(5,"p",3),c(6,"Below you can find the preview message that will be sent"),a(),di(),a()}if(t&2){let e=p();u("emails",e.suggestions.emails)("emailTypes",e.emailTypes)("mandatoryEmailTypes",e.mandatoryEmailTypes)("preview",e.response.preview)("previewPosition","bottom")("prePopulateRecipients",e.suggestions.recipients)}}var or=(()=>{class t{constructor(){this.messageService=m(Te),this.dynamicDialogConfig=m(_n),this.dynamicDialogRef=m(vn),this.acqOrderApiService=m(J),this.translateService=m(H),this.emailTypes=["to","cc","bcc","reply_to"],this.mandatoryEmailTypes=["to","reply_to"],this.suggestions={emails:[],recipients:[]},this.subscriptions=new z}ngOnInit(){this.order=this.dynamicDialogConfig.data.order,this.subscriptions.add(this.acqOrderApiService.getOrderPreview(this.order.pid).subscribe(e=>{this.suggestions=In.processRecipientSuggestions(e.recipient_suggestions),this.response=e}))}ngOnDestroy(){this.subscriptions.unsubscribe()}confirmOrder(e){this.acqOrderApiService.sendOrder(this.order.pid,e).subscribe({next:i=>{i.notification_sent?this.messageService.add({severity:"success",summary:this.translateService.instant("Order sent"),detail:this.translateService.instant("order has been sent"),life:Oe.MESSAGE_LIFE}):this.messageService.add({severity:"warn",summary:this.translateService.instant("Order delayed"),detail:this.translateService.instant("order not yet send"),life:Oe.MESSAGE_LIFE}),this.acqOrderApiService.getOrder(this.order.pid,1).subscribe(r=>this.closeDialog(r))},error:i=>{this.messageService.add({severity:"error",summary:this.translateService.instant("Error when placing an order !"),detail:i.error.message,sticky:!0,closable:!0})}})}closeDialog(e){this.dynamicDialogRef.close(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=g({type:t,selectors:[["admin-order-email-form"]],inputs:{order:"order"},standalone:!1,decls:1,vars:1,consts:[[3,"emails","emailTypes","mandatoryEmailTypes","preview","previewPosition","prePopulateRecipients"],[3,"closeDialog","data","emails","emailTypes","mandatoryEmailTypes","preview","previewPosition","prePopulateRecipients"],["headerMessage",""],["translate",""],["previewBottomMessage",""]],template:function(i,r){i&1&&_(0,No,7,6,"admin-preview-email",0),i&2&&f(r.response?0:-1)},dependencies:[Pn,I],encapsulation:2})}}return t})();function ko(t,n){if(t&1&&(s(0,"dt",1),c(1),a(),C(2,"dd",2),l(3,"nl2br")),t&2){let e=n.$implicit;o(),h(" ",e.type," "),o(),u("innerHTML",v(3,2,e.content),ue)}}var ze=(()=>{class t{constructor(){this.notes=Me()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=g({type:t,selectors:[["admin-notes"]],inputs:{notes:[1,"notes"]},standalone:!1,decls:3,vars:0,consts:[[1,"metadata"],["translate",""],[3,"innerHTML"]],template:function(i,r){i&1&&(s(0,"dl",0),j(1,ko,4,4,null,null,le),a()),i&2&&(o(),$(r.notes()))},dependencies:[I,we],encapsulation:2})}}return t})();var jo=["*"],$o=({dt:t})=>` .p-overlaybadge { position: relative; } .p-overlaybadge .p-badge { position: absolute; top: 0; right: 0; transform: translate(50%, -50%); transform-origin: 100% 0; margin: 0; outline-width: ${t("overlaybadge.outline.width")}; outline-style: solid; outline-color: ${t("overlaybadge.outline.color")}; } `,Go={root:"p-overlaybadge"},ar=(()=>{class t extends ki{name="overlaybadge";theme=$o;classes=Go;static \u0275fac=(()=>{let e;return function(r){return(e||(e=W(t)))(r||t)}})();static \u0275prov=N({token:t,factory:t.\u0275fac})}return t})(),xt=(()=>{class t extends ji{styleClass;style;badgeSize;severity;value;badgeDisabled=!1;set size(e){this._size=e,!this.badgeSize&&this.size&&console.log("size property is deprecated and will removed in v18, use badgeSize instead.")}get size(){return this._size}_size;_componentStyle=m(ar);constructor(){super()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=g({type:t,selectors:[["p-overlayBadge"],["p-overlay-badge"],["p-overlaybadge"]],inputs:{styleClass:"styleClass",style:"style",badgeSize:"badgeSize",severity:"severity",value:"value",badgeDisabled:[2,"badgeDisabled","badgeDisabled",Oi],size:"size"},features:[Ri([ar]),Ae],ngContentSelectors:jo,decls:3,vars:7,consts:[[1,"p-overlaybadge"],[3,"styleClass","badgeSize","severity","value","badgeDisabled"]],template:function(i,r){i&1&&(St(),s(0,"div",0),bt(1),C(2,"p-badge",1),a()),i&2&&(o(2),Ti(r.style),u("styleClass",r.styleClass)("badgeSize",r.badgeSize)("severity",r.severity)("value",r.value)("badgeDisabled",r.badgeDisabled))},dependencies:[Ot,Ji,rt,Vt],encapsulation:2,changeDetection:0})}return t})(),cr=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=et({type:t});static \u0275inj=Ye({imports:[xt,Vt,Vt]})}return t})();var ut=(()=>{class t{transform(e){switch(e.type){case Je.STAFF_NOTE:return"info";case Je.VENDOR_NOTE:return"warning";case Je.RECEIPT_NOTE:return"primary";default:return"secondary"}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=be({name:"noteBadgeColor",type:t,pure:!0,standalone:!1})}}return t})();var Uo=(t,n,e,i,r,d,y)=>({"fa-envelope-open-o":t,"fa-envelope-o":n,"ui:text-muted-color":e,"fa-sign-in":i,"text-success":r,"text-warning":d,"fa-window-close-o text-error":y}),Ho=t=>["/acquisition","records","acq_order_lines","edit",t];function zo(t,n){t&1&&C(0,"shared-document-brief-view",8),t&2&&u("record",n.metadata)}function Wo(t,n){if(t&1&&(C(0,"i",23),l(1,"noteBadgeColor"),l(2,"translate")),t&2){let e=n.$implicit;yt("fa fa-circle fa-bullet text-",v(1,4,e),""),u("title",v(2,6,e.type))}}function Qo(t,n){if(t&1&&(s(0,"div",10),j(1,Wo,3,8,"i",22,le),a()),t&2){let e=p(2);o(),$(e.orderLine.notes)}}function Jo(t,n){if(t&1&&(s(0,"div",7)(1,"p-overlaybadge",24),C(2,"i",25),a()()),t&2){let e=p(2);o(),u("value",e.orderLine.priority)("severity",e.severity())}}function Xo(t,n){if(t&1&&(s(0,"dt",14),c(1,"priority"),a(),s(2,"dd"),c(3),a()),t&2){let e=p(2);o(3),A(e.orderLine.priority)}}function Zo(t,n){if(t&1&&(c(0),l(1,"currency")),t&2){let e=p(2);h(" - ",ee(1,1,e.orderLine.discount_amount,e.order.currency,"symbol")," ")}}function Yo(t,n){if(t&1&&(C(0,"shared-action-button",20),l(1,"translate")),t&2){let e=p(2);u("title",v(1,2,"Edit"))("routerLink",T(4,Ho,e.orderLine.pid))}}function Ko(t,n){if(t&1){let e=B();s(0,"shared-action-button",26),l(1,"translate"),D("btnClick",function(){w(e);let r=p(2);return O(r.deleteOrderLine())}),a()}if(t&2){let e=p(2);u("title",v(1,3,"Delete"))("disabled",!e.recordPermissions.delete.can)("message",e.deleteInfoMessage)}}function ea(t,n){if(t&1){let e=B();s(0,"div",0)(1,"div",2)(2,"shared-open-close-button",3),D("status",function(r){w(e);let d=p();return O(d.isCollapsed=r)}),a(),C(3,"i",4),l(4,"translate"),s(5,"div",5)(6,"div",6)(7,"div",7),_(8,zo,1,1,"shared-document-brief-view",8),l(9,"getRecord"),l(10,"async"),a(),s(11,"div",9),_(12,Qo,3,0,"div",10)(13,Jo,3,2,"div",7),a()(),s(14,"div",11),c(15),a(),s(16,"div",12)(17,"dl",13)(18,"dt",14),c(19,"Account"),a(),s(20,"dd"),c