UNPKG

@rero/rero-ils-ui

Version:

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

2 lines 59.3 kB
import{a as hi}from"./chunk-LPZHV6WA.js";import{a as gi}from"./chunk-TBBMVRQW.js";import{a as si,b as Me,c as ci}from"./chunk-3OPOGZL5.js";import{a as ai}from"./chunk-5F2RIK45.js";import{b as Ci}from"./chunk-WR3XEEDV.js";import{a as _i,b as vi}from"./chunk-KR2EG37N.js";import{a as li,b as mi,c as ui,d as fi}from"./chunk-7GSCO6KD.js";import{a as mt,b as ut}from"./chunk-FCC5WNRC.js";import{a as lt}from"./chunk-BR2J44KJ.js";import{a as pi}from"./chunk-32FZIPT5.js";import{a as di}from"./chunk-CGU6MK6Q.js";import{a as le}from"./chunk-YPYXWXW4.js";import{E as Ke,R as te,V as We,h as we,ha as oi,j as qe,k as ri,u as Ie}from"./chunk-4GRLSOJZ.js";import{c as Pe}from"./chunk-WOV5KKTV.js";import{B as kt,Eb as pt,Fb as ti,Ja as Te,Jb as Xe,N as $t,Nb as Ae,O as ke,P as J,Ua as Le,Ub as Ze,Wa as U,Z as X,_ as Gt,a as Tt,ba as Ht,ca as Ut,da as zt,ea as Yt,fa as ve,fc as ii,hc as ni,m as At,mc as dt,n as Pt,o as wt,oa as Qt,pa as Xt,qa as Zt,ra as Kt,sa as Wt,wa as De,x as Vt,ya as ei,za as oe}from"./chunk-MTJX6JRK.js";import{a as de,b as H,c as V}from"./chunk-GQ5FIRIY.js";import{c as Ye,k as Ee}from"./chunk-4A4J5SA3.js";import{f as qt,i as It,m as Mt,t as Bt,x as Nt,y as Ft}from"./chunk-L5BLWZD6.js";import{W as Je,i as Ue,la as Oe,ma as k}from"./chunk-4MYHQLZQ.js";import{g as jt,h as Qe}from"./chunk-AK7G7SIT.js";import{g as Jt}from"./chunk-DUSRDOA3.js";import{ta as ze,ya as Lt}from"./chunk-FRI676LD.js";import{Ia as Dt,W as He,ga as Ot,ha as Re,oa as be,ua as ee}from"./chunk-WKOKZ3JO.js";import{$b as $,Aa as Y,B as $e,Bb as xe,Ca as ie,Cc as Ne,Eb as ne,Ec as yt,Fa as ht,Gc as _e,H as fe,Hc as l,Ic as b,J as N,Jc as x,Kc as ce,Pc as Fe,Qc as Ve,Rc as ye,Sc as St,Tc as Ge,Vb as u,Vc as Rt,Wc as pe,X as D,Xb as f,Xc as E,Yb as re,Z as M,Zc as ct,_b as j,a as S,ac as _,b as _t,bb as ge,bc as s,bd as bt,cc as a,da as se,dc as C,dd as m,ed as v,fd as P,gb as o,gd as G,hc as ot,hd as Et,ia as p,ic as at,j as me,jc as st,jd as W,kc as F,oa as T,od as Se,p as ue,pa as L,pd as Q,r as I,rc as A,sc as d,ta as Ct,tc as gt,uc as xt,v as h,vd as w,w as vt,yb as R}from"./chunk-3WD6XLXL.js";var Ce=(function(e){return e.STAFF_NOTE="staff_note",e.VENDOR_NOTE="vendor_note",e.RECEIPT_NOTE="receipt_note",e})(Ce||{});var y=(function(e){return e.CANCELLED="cancelled",e.ORDERED="ordered",e.PENDING="pending",e.PARTIALLY_RECEIVED="partially_received",e.RECEIVED="received",e})(y||{}),tt={priority:0,status:y.PENDING,notes:[]},he=(function(e){return e.APPROVED="approved",e.CANCELLED="cancelled",e.ORDERED="ordered",e.PARTIALLY_RECEIVED="partially_received",e.RECEIVED="received",e})(he||{}),xi={status:he.APPROVED,priority:0,quantity:0,received_quantity:0,amount:0,total_amount:0,notes:[]},et=class{constructor(r){this.label=null,this.description=null,this.pid=null,this.active=!1,this.created=null,this.updated=null,Object.assign(this,r),this.active=r.current,this.pid=oe(r.$ref)}};var yi=e=>[e];function Vi(e,r){if(e&1&&(C(0,"div",3),m(1,"nl2br")),e&2){d();let t=ye(5);_("innerHTML",v(1,1,t[0].content),ge)}}function ki(e,r){if(e&1&&(l(0),m(1,"dateTranslate")),e&2){let t=d(2);x(" - ",P(1,1,t.order.order_date,"shortDate")," ")}}function ji(e,r){if(e&1&&(l(0),m(1,"dateTranslate")),e&2){let t=d(2);x(" - ",P(1,1,t.receptionDate,"shortDate")," ")}}function $i(e,r){if(e&1&&(l(0),m(1,"dateTranslate")),e&2){let t=d(2);x(" - ",P(1,1,t.receptionDate,"shortDate")," ")}}function Gi(e,r){if(e&1&&(l(0),m(1,"truncateText")),e&2){d();let t=ye(14);x(" - ",G(1,1,t,10,"\u2026")," ")}}function Hi(e,r){if(e&1&&(s(0,"div",6)(1,"span",7),l(2),m(3,"currency"),a(),s(4,"span",8),C(5,"i",9),l(6),a()()),e&2){let t=d(2);o(2),x(" ",P(3,2,t.order.account_statement.provisional.total_amount,t.order.currency)," "),o(4),x("\xA0",t.order.account_statement.provisional.quantity," ")}}function Ui(e,r){if(e&1&&(s(0,"div",6)(1,"span",7),l(2),m(3,"currency"),a(),s(4,"span",8),C(5,"i",10),l(6),a()()),e&2){let t=d(2);o(2),x(" ",P(3,2,t.order.account_statement.expenditure.total_amount,t.order.currency)," "),o(4),x("\xA0",t.order.account_statement.expenditure.quantity," ")}}function zi(e,r){if(e&1&&(s(0,"article",0)(1,"div",1)(2,"h5")(3,"a",2),l(4),a()(),Fe(5),m(6,"notesFilter"),u(7,Vi,2,3,"div",3),s(8,"span",4),l(9),m(10,"translate"),u(11,ki,2,4)(12,ji,2,4)(13,$i,2,4),Fe(14),m(15,"getRecord"),m(16,"async"),u(17,Gi,2,5),l(18," ] "),a()(),s(19,"div",5),u(20,Hi,7,5,"div",6),u(21,Ui,7,5,"div",6),a()()),e&2){let t,i=d();o(3),_("routerLink",E(22,yi,i.detailUrl().link)),o(),b(i.order.reference),o();let n=Ve(P(6,8,i.order.notes,E(24,yi,i.noteType.STAFF_NOTE)));o(2),f(n.length>0?7:-1),o(2),x(" [ ",v(10,12,i.order.status)," "),o(2),f((t=i.order.status)===i.orderStatus.ORDERED?11:t===i.orderStatus.RECEIVED?12:t===i.orderStatus.PARTIALLY_RECEIVED?13:-1),o(3);let c=Ve(v(16,19,Et(15,14,i.order.vendor.pid,"vendors","field","name")));o(3),f(c?17:-1),o(3),f(i.displayProvisionalAccountingData?20:-1),o(),f(i.displayExpenditureAccountingData?21:-1)}}var Si=(()=>{class e{constructor(){this.record=w(),this.type=w(),this.detailUrl=w(),this.order=null,this.orderStatus=y,this.noteType=Ce}get receptionDate(){return this.record().metadata.receipts.filter(t=>Object.hasOwn(t,"receipt_date")&&Array.isArray(t.receipt_date)&&t.receipt_date.length>0).map(t=>t.receipt_date[0]).shift()}get displayProvisionalAccountingData(){return this.order.account_statement.provisional.quantity>0&&this.order.status!==y.RECEIVED&&this.order.status!==y.CANCELLED}get displayExpenditureAccountingData(){return this.order.account_statement.expenditure.quantity>0}ngOnInit(){let t=S(S({},tt),this.record().metadata);t.notes=t.notes.filter(i=>i.source.type==="acor"),this.order=t}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=R({type:e,selectors:[["admin-acquisition-order-brief-view"]],inputs:{record:[1,"record"],type:[1,"type"],detailUrl:[1,"detailUrl"]},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,n){i&1&&u(0,zi,22,26,"article",0),i&2&&f(n.order?0:-1)},dependencies:[k,Re,ee,Xe,Ae,De,oi,ei,V],encapsulation:2,changeDetection:0})}}return e})();var Be=(()=>{class e{transform(t){switch(t.type){case Ce.STAFF_NOTE:return"info";case Ce.VENDOR_NOTE:return"warning";case Ce.RECEIPT_NOTE:return"primary";default:return"secondary"}}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275pipe=xe({name:"noteBadgeColor",type:e,pure:!0})}}return e})();var z=(()=>{class e extends we{constructor(){super(...arguments),this.httpClient=p(Ue),this.recordService=p(U),this.recordUiService=p(Ze),this.lastDeletedOrderLine=Y(null)}getOrder(t,i=0){return this.recordService.getRecord("acq_orders",t,{resolve:i,headers:we.reroJsonheaders}).pipe(h(n=>S(S({},tt),n.metadata)))}getOrderPreview(t){let i=`/api/acq_order/${t}/acquisition_order/preview`;return this.httpClient.get(i)}sendOrder(t,i){let n=`/api/acq_order/${t}/send_order`;return this.httpClient.post(n,{emails:i}).pipe(h(c=>new Ci(c.data)))}getOrderHistory(t){let i=`/api/acq_order/${t}/history`;return this.httpClient.get(i)}getOrderLines(t,i){let n=`acq_order.pid:${t}`;return i&&(n+=` ${i}`),this.recordService.getRecords("acq_order_lines",{query:n,page:1,itemsPerPage:U.MAX_REST_RESULTS_SIZE,sort:"priority"}).pipe(h(c=>+this.recordService.totalHits(c.hits.total)==0?[]:c.hits.hits),h(c=>c.map(g=>S(S({},xi),g.metadata))))}deleteOrderLine(t){this.recordUiService.deleteRecord("acq_order_lines",t.pid).subscribe(i=>{i&&this.lastDeletedOrderLine.set(t)})}static{this.\u0275fac=(()=>{let t;return function(n){return(t||(t=ht(e)))(n||e)}})()}static{this.\u0275prov=se({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var je={amount_adjustments:[],quantity:0,total_amount:0,receipt_lines:[],notes:[]},Ri={quantity:0,amount:0,notes:[]};var it=(function(e){return e.SUCCESS="success",e.FAILURE="failure",e})(it||{}),nt=(()=>{class e{constructor(){this.apiService=p(Le)}get model(){return{pid:null,acqOrderRef:null,libraryRef:null,organisationRef:null,receiptDate:Tt.now().toISODate(),reference:null,amountAdjustments:[],notes:[],receiptLines:[]}}processBaseRecord(t){return{acq_order:{$ref:t.acqOrderRef},library:{$ref:t.libraryRef},organisation:{$ref:t.organisationRef},amount_adjustments:[],notes:[]}}processExistingRecord(t){return{pid:t.pid,$schema:t.$schema,acq_order:{$ref:this.apiService.getRefEndpoint("acq_orders",t.acq_order.pid)},library:{$ref:this.apiService.getRefEndpoint("libraries",t.library.pid)},organisation:{$ref:this.apiService.getRefEndpoint("organisation",t.organisation.pid)},reference:t.reference,amount_adjustments:t.amount_adjustments,notes:t.notes}}processAdjustments(t){let i=[];return t.amountAdjustments.forEach(n=>{let c={label:n.label,amount:n.amount,acq_account:{$ref:n.acqAccount}};i.push(c)}),i}processLines(t){let i=[];return t.receiptLines.filter(n=>n.selected===!0).forEach(n=>{i.push({acq_order_line:{$ref:n.acqOrderLineRef},quantity:n.quantity,amount:n.amount,vat_rate:n.vatRate,receipt_date:t.receiptDate})}),i}cleanData(t){return["amount_adjustments","notes"].forEach(n=>{Object.hasOwn(t,n)&&t[n].length===0&&delete t[n]}),t}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=se({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Z=(()=>{class e{constructor(){this.apiService=p(U),this.recordUiService=p(Ze),this.httpClient=p(Ue),this.translateService=p(de),this.resourceName="acq_receipts",this._defaultRecordOptions={headers:{Accept:"application/json"},sort:"receipt_date"},this.lastDeletedReceipt=Y(null),this.lastDeletedReceiptLine=Y(null)}getReceipt(t){return this.apiService.getRecord(this.resourceName,t,{resolve:1,headers:we.reroJsonheaders}).pipe(h(i=>S(S({},je),i.metadata)))}searchReceipts(t,i){return i=S(S({},this._defaultRecordOptions),i),this.apiService.getRecords(this.resourceName,{query:t,page:1,itemsPerPage:U.MAX_REST_RESULTS_SIZE,headers:i.headers,sort:i.sort}).pipe(h(n=>+this.apiService.totalHits(n.hits.total)==0?[]:n.hits.hits),h(n=>n.map(c=>S(S({},je),c.metadata))))}getReceiptsForOrder(t){return this.searchReceipts(`acq_order.pid:${t}`)}getReceiptLines(t){let i=`acq_receipt.pid:${t}`;return this.apiService.getRecords("acq_receipt_lines",{query:i,page:1,itemsPerPage:U.MAX_REST_RESULTS_SIZE,headers:we.reroJsonheaders,sort:"receipt_date"}).pipe(h(n=>+this.apiService.totalHits(n.hits.total)==0?[]:n.hits.hits),h(n=>n.map(c=>S(S({},Ri),c.metadata))))}createReceipt(t){return this.apiService.create(this.resourceName,t).pipe(h(i=>S(S({},je),i.metadata)))}createReceiptLines(t,i){let n=this.translateService.instant("Error proceeding receipt lines creation"),c=`/api/acq_receipt/${t}/lines`;return this.httpClient.post(c,i).pipe(h(g=>g.response),h(g=>{if(g===null)throw new Error(n);if(g.some(O=>O.status===it.FAILURE)){let O=g.filter(q=>q.status===it.FAILURE).map(q=>q.error_message);throw Error(O.join(` `))}return{success:!0}}),N(g=>I({success:!1,messages:g.toString()})))}updateReceipt(t,i){return this.apiService.update(this.resourceName,t,i).pipe(h(n=>S(S({},je),n.metadata)))}delete(t){this.recordUiService.deleteRecord(this.resourceName,t.pid).subscribe(i=>{i&&this.lastDeletedReceipt.set(t)})}deleteReceiptLine(t){this.recordUiService.deleteRecord("acq_receipt_lines",t.pid).subscribe(i=>{i&&this.lastDeletedReceiptLine.set(t)})}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=se({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function rt(e,r){return r.status===y.RECEIVED&&(e.create={can:!1,reasons:{others:{order_fully_received:""}}}),e}var K=Gt(Yt({order:void 0,orderPermissions:void 0,orderLines:[],receipts:[],receiptPermissions:void 0,historyVersions:[]}),Ht(e=>({canPlaceOrder:()=>{let r=e.order();return r?.status===y.PENDING&&(r?.account_statement?.provisional?.total_amount??0)>0},canAddLine:()=>e.order()?.status===y.PENDING&&e.orderPermissions()?.update?.can===!0,disabledReceipts:()=>[y.PENDING,y.CANCELLED].some(r=>r===e.order()?.status),canAddReceipt:()=>[y.ORDERED,y.PARTIALLY_RECEIVED].some(r=>r===e.order()?.status)})),zt((e,r=p(z),t=p(Z),i=p(le),n=p(te))=>({setFromRecord(c){c?.metadata?.pid&&X(e,{order:c.metadata})},updateOrder(c){X(e,{order:c})},orderCreateInfoMessage(){return i.generateTooltipMessage(e.orderPermissions()?.create?.reasons,"create")},receiptCreateInfoMessage(){return i.generateTooltipMessage(e.receiptPermissions()?.create?.reasons,"create")},loadOrderPermissions:ve(me(fe(Boolean),D(c=>i.getPermission("acq_orders",c).pipe(h(g=>n.validateLibraryPermissions(g,e.order()?.library?.pid??"")),M(g=>X(e,{orderPermissions:g})),N(()=>ue))))),loadOrderLines:ve(me(fe(Boolean),D(c=>r.getOrderLines(c).pipe(M(g=>X(e,{orderLines:g})),N(()=>ue))))),loadReceipts:ve(me(fe(Boolean),D(c=>t.getReceiptsForOrder(c).pipe(M(g=>X(e,{receipts:g})),N(()=>ue))))),loadReceiptPermissions:ve(me(fe(Boolean),D(c=>i.getPermission("acq_orders",c).pipe(h(g=>n.validateLibraryPermissions(g,e.order()?.library?.pid??"")),h(g=>rt(g,e.order())),M(g=>X(e,{receiptPermissions:g})),N(()=>ue))))),loadHistory:ve(me(fe(Boolean),D(c=>r.getOrderHistory(c).pipe(h(g=>g.filter(Boolean).map(O=>new et(O))),M(g=>X(e,{historyVersions:g})),N(()=>ue))))),reloadOrder:ve(me(fe(c=>!!c),D(c=>r.getOrder(c,1).pipe(M(g=>X(e,{order:g})),N(()=>ue)))))})),Ut(e=>{let r=p(z),t=p(Z),i=Q(()=>e.order()?.pid);return{onInit:()=>{ie(()=>{let n=i();n&&(e.loadOrderPermissions(n),e.loadOrderLines(n),e.loadReceipts(n),e.loadReceiptPermissions(n),e.loadHistory(n))}),ie(()=>{let n=r.lastDeletedOrderLine();n&&X(e,{orderLines:Se(()=>e.orderLines()).filter(c=>c.pid!==n.pid)})}),ie(()=>{let n=t.lastDeletedReceipt();n&&(X(e,{receipts:Se(()=>e.receipts()).filter(c=>c.pid!==n.pid)}),e.reloadOrder(Se(()=>e.order()?.pid)))})}}}));var bi=(()=>{class e{transform(t){let i=t.vat_rate!==void 0?1+t.vat_rate/100:1;return t.quantity*t.amount*i}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275pipe=xe({name:"receiptLineTotalAmount",type:e,pure:!0})}}return e})();var Yi=e=>["/acquisition","records","acq_receipt_lines","edit",e];function Ji(e,r){e&1&&C(0,"shared-document-brief-view",2),e&2&&_("record",r.metadata)}function Qi(e,r){if(e&1&&(s(0,"span",3),C(1,"i",9),l(2),m(3,"translate"),a()),e&2){let t,i=d(2);o(2),ce("\xA0",v(3,2,"Unknown document")," (pid ",(t=i.line().document)==null?null:t.pid,")")}}function Xi(e,r){e&1&&(s(0,"span",4),l(1),a()),e&2&&(o(),x("[",r.metadata.number,"]"))}function Zi(e,r){if(e&1&&l(0),e&2){let t=d(2);x(" + ",t.line().vat_rate,"% ")}}function Ki(e,r){if(e&1&&(C(0,"shared-action-button",12),m(1,"translate")),e&2){let t=d(3);_e("btn-outline-primary mr-1"),_("title",v(1,4,"Edit"))("routerLink",E(6,Yi,t.line().pid))}}function Wi(e,r){if(e&1){let t=F();s(0,"div",8),u(1,Ki,2,8,"shared-action-button",10),s(2,"shared-action-button",11),m(3,"translate"),A("btnClick",function(){T(t);let n=d(2);return L(n.delete())}),a()()}if(e&2){let t,i=d(2);o(),f((t=i.permissions().update)!=null&&t.can?1:-1),o(),_e("btn-outline-danger"),_("title",v(3,6,"Delete"))("message",i.deleteInfoMessage)("disabled",!i.permissions().delete.can)}}function en(e,r){if(e&1&&(s(0,"div",0)(1,"div",1)(2,"strong"),l(3),a(),l(4,"\xA0x "),s(5,"div"),u(6,Ji,1,1,"shared-document-brief-view",2)(7,Qi,4,4,"span",3),u(8,Xi,2,1,"span",4),m(9,"getRecord"),m(10,"async"),a()(),s(11,"div",5)(12,"div",6),l(13),m(14,"receiptLineTotalAmount"),m(15,"currency"),a(),s(16,"div",7),l(17),m(18,"currency"),u(19,Zi,1,1),a()(),u(20,Wi,4,8,"div",8),a()),e&2){let t,i,n=d();o(3),b(n.line().quantity),o(3),f((t=n.document().record)?6:n.document().notFound?7:-1,t),o(2),f((i=v(10,11,P(9,8,n.line().acq_account.pid,"acq_accounts")))?8:-1,i),o(5),b(G(15,15,v(14,13,n.line()),n.receipt().currency,"symbol")),o(4),ce(" ",n.line().quantity," x ",G(18,19,n.line().amount,n.receipt().currency,"symbol")," "),o(2),f(n.line().vat_rate?19:-1),o(),f(n.permissions()?20:-1)}}var Ei=(()=>{class e{constructor(){this.recordPermissionService=p(le),this.appStore=p(te),this.acqReceiptApiService=p(Z),this.recordService=p(U),this.line=w(),this.receipt=w(),this.allowActions=w(),this.permissions=J(ke(this.line).pipe(D(()=>this.updatePermissions()))),this.document=J(ke(this.line).pipe(D(t=>t?.document?.pid?this.recordService.getRecord("documents",t.document.pid).pipe(h(i=>({record:i,notFound:!1})),N(()=>I({record:null,notFound:!0}))):I({record:null,notFound:!1}))),{initialValue:{record:null,notFound:!1}})}get deleteInfoMessage(){if(this.permissions()==null)return null;if(!this.permissions().delete?.can)return this.recordPermissionService.generateTooltipMessage(this.permissions().delete?.reasons,"delete")}updatePermissions(){return this.line()==null||!this.allowActions()?I(null):this.recordPermissionService.getPermission("acq_receipt_lines",this.line().pid).pipe(h(t=>(this.appStore.validateLibraryPermissions(t,this.receipt()?.library?.pid??""),t)))}delete(){this.acqReceiptApiService.deleteReceiptLine(this.line())}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=R({type:e,selectors:[["admin-receipt-line"]],inputs:{line:[1,"line"],receipt:[1,"receipt"],allowActions:[1,"allowActions"]},decls:1,vars:1,consts:[[1,"ui:grid","ui:grid-cols-12","ui:gap-4"],[1,"ui:col-span-7","ui:flex","ui:gap-2","ui:flex-wrap"],[3,"record"],[1,"ui:text-muted-color"],[1,"ui:font-bold","ui:text-muted-color","ui:text-sm"],[1,"ui:col-span-3","ui:flex","ui:flex-col","ui:gap-2","ui:items-end"],[1,"ui:font-bold"],[1,"ui:text-sm","ui:text-muted-color"],[1,"ui:col-span-2","ui:flex","ui:gap-1","ui:justify-end"],[1,"fa","fa-exclamation-triangle"],["icon","fa fa-edit",3,"title","class","routerLink"],["severity","danger","icon","fa fa-trash",3,"btnClick","title","message","disabled"],["icon","fa fa-edit",3,"title","routerLink"]],template:function(i,n){i&1&&u(0,en,21,23,"div",0),i&2&&f(n.line()?0:-1)},dependencies:[Ke,Ie,k,Re,ee,Ae,V,bi],encapsulation:2,changeDetection:0})}}return e})();var Oi=(()=>{class e{transform(t){let i=new Set(t.receipt_lines.map(n=>n.receipt_date));return i.size>0?[...i].sort().reverse():[]}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275pipe=xe({name:"receptionDates",type:e,pure:!0})}}return e})();var tn=()=>({"=1":"item",other:"items"}),nn=e=>["/","acquisition","records","acq_orders","receive",e],rn=e=>({receipt:e}),on=(e,r)=>r.pid;function an(e,r){if(e&1){let t=F();s(0,"shared-open-close-button",8),A("status",function(n){T(t);let c=d(2);return L(c.isCollapsed=n)}),a()}}function sn(e,r){if(e&1&&(s(0,"span",9),l(1),a()),e&2){let t=d();o(),x(" (",t.join(", "),") ")}}function cn(e,r){e&1&&u(0,sn,2,1,"span",9),e&2&&f(r.length>0?0:-1)}function pn(e,r){if(e&1&&(C(0,"i",11),m(1,"noteBadgeColor"),m(2,"translate")),e&2){let t=r.$implicit;_e(Ge("fa fa-circle text-",v(1,4,t))),_("title",v(2,6,t.type))}}function dn(e,r){if(e&1&&(s(0,"span",4),j(1,pn,3,8,"i",10,re),a()),e&2){let t=d(2);o(),$(t.receipt().notes)}}function ln(e,r){if(e&1&&(s(0,"p-tag",5),C(1,"i",12),l(2),m(3,"i18nPlural"),m(4,"translate"),a()),e&2){let t=d(2);o(2),ce("\xA0 ",t.receipt().quantity," ",v(4,5,P(3,2,t.receipt().quantity,pe(7,tn)))," ")}}function mn(e,r){if(e&1&&(C(0,"shared-action-button",13),m(1,"translate")),e&2){let t=d(3);_("title",v(1,3,"Edit"))("routerLink",E(5,nn,t.receipt().acq_order.pid))("queryParams",E(7,rn,t.receipt().pid))}}function un(e,r){if(e&1){let t=F();s(0,"div",7),u(1,mn,2,9,"shared-action-button",13),s(2,"shared-action-button",14),m(3,"translate"),A("btnClick",function(){T(t);let n=d(2);return L(n.deleteReceipt())}),a()()}if(e&2){let t,i=d(2);o(),f((t=i.recordPermissions().update)!=null&&t.can?1:-1),o(),_("title",v(3,4,"Delete"))("disabled",!i.recordPermissions().delete.can)("message",i.deleteInfoMessage)}}function fn(e,r){if(e&1&&C(0,"admin-receipt-line",16),e&2){let t=r.$implicit,i=d(3);_("line",t)("receipt",i.receipt())("allowActions",i.allowActions())}}function _n(e,r){if(e&1&&(s(0,"div",17),C(1,"i",18),l(2),a(),s(3,"div",19)(4,"div"),l(5),m(6,"currency"),a()()),e&2){let t=r.$implicit,i=d(3);o(2),x(" ",t.label," "),o(3),x(" ",G(6,2,t.amount,i.receipt().currency,"symbol")," ")}}function vn(e,r){if(e&1&&(s(0,"div",17),C(1,"admin-notes",20),a()),e&2){let t=d(3);o(),_("notes",t.receipt().notes)}}function Cn(e,r){if(e&1&&(s(0,"div",15),j(1,fn,1,3,"admin-receipt-line",16,on),a(),j(3,_n,7,6,null,null,re),u(5,vn,2,1,"div",17)),e&2){let t=d(2);o(),$(t.receipt().receipt_lines),o(2),$(t.receipt().amount_adjustments),o(2),f(t.receipt().notes.length>0?5:-1)}}function hn(e,r){if(e&1&&(s(0,"div",0)(1,"div",2),u(2,an,1,0,"shared-open-close-button"),s(3,"div",3)(4,"span"),l(5),u(6,cn,1,1),m(7,"receptionDates"),a(),u(8,dn,3,0,"span",4),a(),u(9,ln,5,8,"p-tag",5),a(),s(10,"div",6),l(11),m(12,"currency"),a(),u(13,un,4,6,"div",7),u(14,Cn,6,1),a()),e&2){let t,i=d();o(2),f(i.collapsable()?2:-1),o(3),x(" ",i.receipt().reference," "),o(),f((t=v(7,10,i.receipt()))?6:-1,t),o(2),f(i.receipt().notes.length>0&&i.isCollapsed?8:-1),o(),f(i.receipt().quantity?9:-1),o(),yt("ui:border-right-1",i.recordPermissions()&&i.allowActions()),o(),x(" ",G(12,12,i.receipt().total_amount,i.receipt().currency,"symbol")," "),o(2),f(i.recordPermissions()&&i.allowActions()?13:-1),o(),f(!i.collapsable()||!i.isCollapsed?14:-1)}}function gn(e,r){e&1&&(s(0,"div",1),C(1,"i",21),l(2),m(3,"translate"),a()),e&2&&(o(2),x("\xA0",v(3,1,"Loading in progress\u2026")," "))}var Di=(()=>{class e{constructor(){this.recordPermissionService=p(le),this.acqReceiptApiService=p(Z),this.acqOrderApiService=p(z),this.appStore=p(te),this.receiptPid=w.required(),this.allowActions=w(!1),this.collapsable=w(!0),this.recordPermissions=Y(void 0),this.receipt=Y(void 0),this.isCollapsed=!0,this.validStatuses=[y.ORDERED,y.PARTIALLY_RECEIVED],ie(()=>{this.receiptPid()&&this.loadReceipt(),this.collapsable()||(this.isCollapsed=!1)}),ie(()=>{this.acqReceiptApiService.lastDeletedReceiptLine()?.acq_receipt?.pid===Se(()=>this.receiptPid())&&this.loadReceipt()})}get deleteInfoMessage(){return this.recordPermissions()?.delete?.can?"":this.recordPermissionService.generateTooltipMessage(this.recordPermissions()?.delete?.reasons,"delete")}loadReceipt(){this.acqReceiptApiService.getReceipt(this.receiptPid()).pipe(M(t=>{t.receipt_lines=t.receipt_lines.map(i=>_t(S({},i),{acq_receipt:{pid:this.receiptPid()}}))}),M(t=>this.receipt.set(t)),D(()=>this.allowActions()?this.updatePermissions():I(null))).subscribe()}updatePermissions(){let t=this.acqOrderApiService.getOrder(this.receipt().acq_order.pid),i=this.recordPermissionService.getPermission("acq_receipts",this.receipt().pid);return $e([t,i]).pipe(M(([n,c])=>{this.appStore.validateLibraryPermissions(c,this.receipt()?.library?.pid??""),this.recordPermissions.set(rt(c,n))}))}deleteReceipt(){this.acqReceiptApiService.delete(this.receipt())}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=R({type:e,selectors:[["admin-receipt-summary"]],inputs:{receiptPid:[1,"receiptPid"],allowActions:[1,"allowActions"],collapsable:[1,"collapsable"]},decls:2,vars:1,consts:[[1,"ui:grid","ui:grid-cols-12","ui:gap-4","ui:p-4"],[1,"ui:my-3"],[1,"ui:col-span-7","ui:flex","ui:flex-wrap","ui:gap-2","ui:items-center"],[1,"ui:grow","ui:flex","ui:gap-2","ui:items-center"],[1,"ui:flex","ui:gap-1"],["severity","info"],[1,"ui:col-span-3","ui:flex","ui:font-bold","ui:justify-end","ui:items-center"],[1,"ui:col-span-2","ui:flex","ui:flex-wrap","ui:gap-1","ui:justify-end"],[3,"status"],[1,"ui:italic","ui:text-sm"],["aria-hidden","true",3,"class","title"],["aria-hidden","true",3,"title"],[1,"fa","fa-sign-in"],["icon","fa fa-edit","severity","primary",3,"title","routerLink","queryParams"],["icon","fa fa-trash","severity","danger",3,"btnClick","title","disabled","message"],[1,"ui:col-span-12"],[3,"line","receipt","allowActions"],[1,"ui:col-start-1","ui:col-span-7"],[1,"fa","fa-long-arrow-right","ui:mr-4"],[1,"ui:col-span-3","ui:flex-col","ui:font-bold","ui:flex","ui:items-end"],[3,"notes"],[1,"fa","fa-spinner","ui:animate-spin"]],template:function(i,n){i&1&&u(0,hn,15,16,"div",0)(1,gn,4,3,"div",1),i&2&&f(n.receipt()?0:1)},dependencies:[We,Pe,Ie,k,Ei,Me,ee,be,V,Be,Oi],encapsulation:2,changeDetection:0})}}return e})();var xn=()=>({"=1":"Receipt",other:"Receipts"}),yn=e=>["/acquisition","records","acq_orders","receive",e],Sn=e=>({order:e}),Rn=(e,r)=>r.pid;function bn(e,r){if(e&1&&(C(0,"span",7),m(1,"nl2br")),e&2){let t=d(2);_("innerHTML",v(1,1,t.createInfoMessage),ge)}}function En(e,r){if(e&1&&(s(0,"div",3)(1,"span",4),l(2),m(3,"i18nPlural"),m(4,"translate"),C(5,"p-badge",5),a(),C(6,"p-button",6),m(7,"translate"),ne(8,bn,2,3,"ng-template",null,1,W),a()),e&2){let t,i,n,c,g=Ne(9),O=d();o(2),x(" ",v(4,12,P(3,9,O.numberOfReceipt,pe(16,xn)))," "),o(3),_("value",O.numberOfReceipt),o(),_("outlined",!0)("label",v(7,14,"Add"))("routerLink",E(17,yn,(t=O.order())==null?null:t.pid))("queryParams",E(19,Sn,(i=O.order())==null?null:i.pid))("pTooltip",g)("disabled",!(!((n=O.recordPermissions())==null||n.create==null)&&n.create.can))("tooltipDisabled",(c=O.recordPermissions())==null||c.create==null?null:c.create.can)}}function On(e,r){if(e&1&&(s(0,"div",8),C(1,"admin-receipt-summary",9),a()),e&2){let t=r.$implicit;o(),_("receiptPid",t.pid)("allowActions",!0)}}function Dn(e,r){if(e&1&&j(0,On,2,2,"div",8,Rn),e&2){let t=d();$(t.receipts())}}function Tn(e,r){e&1&&(s(0,"div",2),l(1,"No receipt"),a())}var Ti=(()=>{class e{constructor(){this.store=p(K),this.order=this.store.order,this.receipts=this.store.receipts,this.recordPermissions=this.store.receiptPermissions}get numberOfReceipt(){return this.store.receipts().length}get createInfoMessage(){return this.store.receiptCreateInfoMessage()}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=R({type:e,selectors:[["admin-receipt-list"]],decls:5,vars:1,consts:[["header",""],["tooltipContent",""],["translate","",1,"ui:my-3","ui:mx-4"],[1,"ui:w-full","ui:flex","ui:items-center","ui:justify-between","ui:gap-2"],["translate","",1,"ui:text-bold","ui:text-xl","ui:flex","ui:gap-2"],[3,"value"],["icon","fa fa-plus-square-o","size","small","tooltipPosition","top",3,"outlined","label","routerLink","queryParams","pTooltip","disabled","tooltipDisabled"],[3,"innerHTML"],[1,"ui:odd:bg-surface-50"],[3,"receiptPid","allowActions"]],template:function(i,n){i&1&&(s(0,"p-panel"),ne(1,En,10,21,"ng-template",null,0,W),u(3,Dn,2,0)(4,Tn,2,0,"div",2),a()),i&2&&(o(3),f(n.receipts().length>0?3:4))},dependencies:[H,Ee,k,Di,Qe,jt,pi,Ye,be,De,V],encapsulation:2,changeDetection:0})}}return e})();function Ln(e,r){if(e&1){let t=F();s(0,"admin-preview-email",1),A("closeDialog",function(){T(t);let n=d();return L(n.closeDialog())})("data",function(n){T(t);let c=d();return L(c.confirmOrder(n))}),ot(1,2),s(2,"p",3),l(3,"You're about to send the order."),a(),at(),ot(4,4),s(5,"p",3),l(6,"Below you can find the preview message that will be sent"),a(),at(),a()}if(e&2){let t=d();_("emails",t.suggestions().emails)("emailTypes",t.emailTypes)("mandatoryEmailTypes",t.mandatoryEmailTypes)("preview",r.preview)("previewPosition","bottom")("prePopulateRecipients",t.suggestions().recipients)}}var Li=(()=>{class e{constructor(){this.messageService=p(ze),this.dynamicDialogConfig=p(At),this.dynamicDialogRef=p(Pt),this.acqOrderApiService=p(z),this.translateService=p(de),this.order=this.dynamicDialogConfig.data.order,this.emailTypes=["to","cc","bcc","reply_to"],this.mandatoryEmailTypes=["to","reply_to"],this.response=J(this.acqOrderApiService.getOrderPreview(this.order.pid)),this.suggestions=Q(()=>{let t=this.response();return t?_i.processRecipientSuggestions(t.recipient_suggestions):{emails:[],recipients:[]}})}confirmOrder(t){this.acqOrderApiService.sendOrder(this.order.pid,t).pipe(M(i=>this.showOrderMessage(i)),D(()=>this.acqOrderApiService.getOrder(this.order.pid,1))).subscribe({next:i=>this.closeDialog(i),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(t){this.dynamicDialogRef.close(t)}showOrderMessage(t){this.messageService.add(t.notification_sent?{severity:"success",summary:this.translateService.instant("Order sent"),detail:this.translateService.instant("order has been sent"),life:Te.MESSAGE_LIFE}:{severity:"warn",summary:this.translateService.instant("Order delayed"),detail:this.translateService.instant("order not yet send"),life:Te.MESSAGE_LIFE})}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=R({type:e,selectors:[["admin-order-email-form"]],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,n){if(i&1&&u(0,Ln,7,6,"admin-preview-email",0),i&2){let c;f((c=n.response())?0:-1,c)}},dependencies:[vi,H],encapsulation:2,changeDetection:0})}}return e})();var An=[[["","notes",""]]],Pn=["[notes]"],Ai=(e,r,t)=>({quantity:e,total:r,label:t}),wn=e=>["/acquisition","records","vendors","detail",e];function qn(e,r){if(e&1&&(s(0,"li"),C(1,"p-tag",8),m(2,"translate"),l(3),a()),e&2){let t=r.$implicit;o(),_("value",v(2,2,t.type)),o(2),x("\xA0",t.content," ")}}function In(e,r){if(e&1&&(s(0,"ul"),j(1,qn,4,4,"li",null,re),a()),e&2){d(2);let t=ye(0);o(),$(t.metadata.notes)}}function Mn(e,r){if(e&1&&(s(0,"dt",4),l(1,"Vendor"),a(),s(2,"dd")(3,"a",7),l(4),a(),u(5,In,3,0,"ul"),a()),e&2){d();let t=ye(0);o(3),_("routerLink",E(3,wn,t.metadata.pid)),o(),b(t.metadata.name),o(),f(t.metadata.notes?5:-1)}}function Bn(e,r){if(e&1&&(s(0,"dt",4),l(1,"Order date"),a(),s(2,"dd"),l(3),m(4,"dateTranslate"),a()),e&2){let t=d(2);o(3),b(P(4,1,t.order().order_date,"shortDate"))}}function Nn(e,r){if(e&1&&(st(0,6),m(1,"translate")),e&2){let t=d(2),i=Ne(2);_("ngTemplateOutlet",i)("ngTemplateOutletContext",ct(4,Ai,t.order().account_statement.expenditure.quantity,t.order().account_statement.expenditure.total_amount,v(1,2,"Received")))}}function Fn(e,r){if(e&1&&(Fe(0),m(1,"getRecord"),m(2,"async"),s(3,"section",1)(4,"div",2)(5,"dl",3),u(6,Mn,6,5),s(7,"dt",4),l(8,"Order status"),a(),s(9,"dd"),l(10),m(11,"translate"),a(),u(12,Bn,5,4),xt(13),a()(),s(14,"div",5),st(15,6),m(16,"translate"),u(17,Nn,2,8,"ng-container",6),a()()),e&2){let t=d(),i=Ne(2),n=Ve(v(2,9,P(1,6,t.order().vendor.$ref||t.order().vendor.pid,"vendors")));o(6),f(n?6:-1),o(4),b(v(11,12,t.order().status)),o(2),f(t.order().order_date?12:-1),o(3),_("ngTemplateOutlet",i)("ngTemplateOutletContext",ct(16,Ai,t.order().account_statement.provisional.quantity,t.order().account_statement.provisional.total_amount,v(16,14,"Ordered"))),o(2),f(t.order().account_statement.expenditure.quantity>0?17:-1)}}function Vn(e,r){if(e&1&&(s(0,"div",9)(1,"div",10),C(2,"i",11),l(3),a(),s(4,"div",12)(5,"div",13),l(6),m(7,"currency"),a(),s(8,"div",14),l(9),a()()()),e&2){let t=r.quantity,i=r.total,n=r.label,c=d();o(3),x("\xA0",t," "),o(3),x(" ",G(7,3,i,c.order().currency,"symbol")," "),o(3),b(n)}}var Pi=(()=>{class e{constructor(){this.store=p(K),this.order=this.store.order,this.acqOrderStatus=y}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=R({type:e,selectors:[["admin-order-summary"]],ngContentSelectors:Pn,decls:3,vars:1,consts:[["totalAmount",""],[1,"ui:grid","ui:grid-cols-12","ui:gap-4"],[1,"ui:md:col-span-8","ui:px-3"],[1,"metadata"],["translate",""],[1,"ui:md:col-span-4","ui:flex","ui:flex-col","ui:gap-2"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"routerLink"],["severity","secondary",3,"value"],[1,"ui:bg-surface-50","ui:py-4","ui:border","ui:rounded-border","ui:border-surface","ui:relative"],[1,"ui:absolute","ui:bg-surface-200","ui:text-muted-color","ui:rounded-l-md","ui:rounded-r-md","ui:border-l","ui:border-b","ui:border-surface","ui:py-2","ui:px-6","ui:top-0","ui:right-0"],[1,"fa","fa-shopping-cart"],[1,"ui:flex","ui:flex-wrap","ui:text-center"],[1,"ui:w-full","ui:text-2xl","ui:font-bold"],[1,"ui:w-full","ui:text-sm","ui:text-muted-color"]],template:function(i,n){i&1&&(gt(An),u(0,Fn,18,20,"section",1),ne(1,Vn,10,7,"ng-template",null,0,W)),i&2&&f(n.order()?0:-1)},dependencies:[H,k,Pe,Ot,Re,ee,Xe,Ae,V],encapsulation:2,changeDetection:0})}}return e})();var kn=e=>["/acquisition","records","acq_orders","detail",e];function jn(e,r){if(e&1&&(s(0,"a",3),l(1),a()),e&2){let t=r.$implicit;_("routerLink",E(2,kn,t.pid)),o(),b(t.label)}}function $n(e,r){if(e&1&&(s(0,"small"),l(1),a()),e&2){let t=r.$implicit;o(),b(t.description)}}var wi=(()=>{class e{constructor(){this.store=p(K),this.versions=this.store.historyVersions}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=R({type:e,selectors:[["admin-order-history"]],decls:5,vars:1,consts:[["opposite",""],["content",""],[3,"value"],[3,"routerLink"]],template:function(i,n){i&1&&(s(0,"p-timeline",2),ne(1,jn,2,4,"ng-template",null,0,W)(3,$n,2,1,"ng-template",null,1,W),a()),i&2&&_("value",n.versions())},dependencies:[hi,k],encapsulation:2,changeDetection:0})}}return e})();var Gn=(e,r,t,i,n,c,g)=>({"fa-envelope-open-o":e,"fa-envelope-o":r,"ui:text-muted-color":t,"fa-sign-in":i,"text-success":n,"text-warning":c,"fa-window-close-o text-error":g}),Hn=e=>["/acquisition","records","acq_order_lines","edit",e];function Un(e,r){if(e&1&&C(0,"shared-document-brief-view",8),e&2){let t=d(2);_("record",t.document().metadata)}}function zn(e,r){if(e&1&&(s(0,"span",9),C(1,"i",23),l(2),m(3,"translate"),a()),e&2){let t=d(2);o(2),ce("\xA0",v(3,2,"Unknown document")," (pid ",t.orderLine().document.pid,")")}}function Yn(e,r){if(e&1&&(C(0,"i",25),m(1,"noteBadgeColor"),m(2,"translate")),e&2){let t=r.$implicit;_e(Ge("fa fa-circle fa-bullet text-",v(1,4,t))),_("title",v(2,6,t.type))}}function Jn(e,r){if(e&1&&(s(0,"div",11),j(1,Yn,3,8,"i",24,re),a()),e&2){let t=d(2);o(),$(t.orderLine().notes)}}function Qn(e,r){if(e&1&&(s(0,"div",7)(1,"p-overlaybadge",26),C(2,"i",27),a()()),e&2){let t=d(2);o(),_("value",t.orderLine().priority)("severity",t.severity())}}function Xn(e,r){if(e&1&&(s(0,"dt",15),l(1,"priority"),a(),s(2,"dd"),l(3),a()),e&2){let t=d(2);o(3),b(t.orderLine().priority)}}function Zn(e,r){if(e&1&&(l(0),m(1,"currency")),e&2){let t=d(2);x(" - ",G(1,1,t.orderLine().discount_amount,t.order().currency,"symbol")," ")}}function Kn(e,r){if(e&1&&(C(0,"shared-action-button",21),m(1,"translate")),e&2){let t=d(2);_("title",v(1,2,"Edit"))("routerLink",E(4,Hn,t.orderLine().pid))}}function Wn(e,r){if(e&1){let t=F();s(0,"shared-action-button",28),m(1,"translate"),A("btnClick",function(){T(t);let n=d(2);return L(n.deleteOrderLine())}),a()}if(e&2){let t=d(2);_("title",v(1,3,"Delete"))("disabled",!t.recordPermissions().delete.can)("message",t.deleteInfoMessage)}}function er(e,r){if(e&1){let t=F();s(0,"div",0)(1,"div",2)(2,"shared-open-close-button",3),A("status",function(n){T(t);let c=d();return L(c.isCollapsed=n)}),a(),C(3,"i",4),m(4,"translate"),s(5,"div",5)(6,"div",6)(7,"div",7),u(8,Un,1,1,"shared-document-brief-view",8)(9,zn,4,4,"span",9),a(),s(10,"div",10),u(11,Jn,3,0,"div",11),u(12,Qn,3,2,"div",7),a()(),s(13,"div",12),l(14),a(),s(15,"div",13)(16,"dl",14)(17,"dt",15),l(18,"Account"),a(),s(19,"dd"),l(20),s(21,"span"),l(22),a()(),s(23,"dt",15),l(24,"Status"),a(),s(25,"dd"),l(26),m(27,"translate"),a(),u(28,Xn,4,1),a(),C(29,"admin-notes",16),a()()(),s(30,"div",17)(31,"div",18),l(32),m(33,"currency"),a(),s(34,"div",19),l(35),m(36,"currency"),u(37,Zn,2,5),a()(),s(38,"div",20),u(39,Kn,2,6,"shared-action-button",21),u(40,Wn,2,5,"shared-action-button",22),a()()}if(e&2){let t,i=d();o(3),_("title",St(v(4,20,i.orderLine().status)))("ngClass",bt(32,Gn,i.orderLine().status===i.orderLineStatus.APPROVED,i.orderLine().status===i.orderLineStatus.ORDERED,i.orderLine().status===i.orderLineStatus.APPROVED||i.orderLine().status===i.orderLineStatus.ORDERED,i.orderLine().status===i.orderLineStatus.RECEIVED||i.orderLine().status===i.orderLineStatus.PARTIALLY_RECEIVED,i.orderLine().status===i.orderLineStatus.RECEIVED,i.orderLine().status===i.orderLineStatus.PARTIALLY_RECEIVED,i.orderLine().status===i.orderLineStatus.CANCELLED)),o(5),f(i.document()?8:i.document()===null?9:-1),o(3),f(i.orderLine().notes.length>0?11:-1),o(),f(i.orderLine().priority>0?12:-1),o(),_("hidden",!i.isCollapsed),o(),b(i.account().metadata.number),o(),_("hidden",i.isCollapsed),o(5),x(" ",i.account().metadata.name," "),o(2),b(i.account().metadata.number),o(4),b(v(27,22,i.orderLine().status)),o(2),f(i.orderLine().priority>0?28:-1),o(),_("notes",i.orderLine().notes),o(3),b(G(33,24,i.orderLine().total_amount,i.order().currency,"symbol")),o(3),ce(" ",i.orderLine().quantity," x ",G(36,28,i.orderLine().amount,i.order().currency,"symbol")," "),o(2),f(i.orderLine().discount_amount>0?37:-1),o(2),f(!((t=i.recordPermissions())==null||t.update==null)&&t.update.can?39:-1),o(),f(i.recordPermissions()?40:-1)}}function tr(e,r){e&1&&(s(0,"div",1),C(1,"i",29),l(2),m(3,"translate"),a()),e&2&&(o(2),x("\xA0",v(3,1,"Loading in progress\u2026")," "))}var qi=(()=>{class e{constructor(){this.recordPermissionService=p(le),this.recordService=p(U),this.acqOrderApiService=p(z),this.appStore=p(te),this.orderLine=w.required(),this.order=w(),this.isCollapsed=!0,this.orderLineStatus=he,this.lineData=J(ke(this.orderLine).pipe(D(t=>$e([this.recordPermissionService.getPermission("acq_order_lines",t.pid).pipe(h(i=>this.appStore.validateLibraryPermissions(i,this.order()?.library?.pid??""))),this.recordService.getRecord("acq_accounts",t.acq_account.pid),this.recordService.getRecord("documents",t.document.pid).pipe(N(()=>I(null)))])))),this.recordPermissions=Q(()=>this.lineData()?.[0]),this.account=Q(()=>this.lineData()?.[1]),this.document=Q(()=>this.lineData()?.[2])}get deleteInfoMessage(){return this.recordPermissions()?.delete?.can?null:this.recordPermissionService.generateTooltipMessage(this.recordPermissions()?.delete?.reasons,"delete")??null}deleteOrderLine(){this.acqOrderApiService.deleteOrderLine(this.orderLine())}severity(){switch(this.orderLine().priority){case 2:return"primary";case 3:return"info";case 4:return"warn";case 5:return"danger";default:return"success"}}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=R({type:e,selectors:[["admin-order-line"]],inputs:{orderLine:[1,"orderLine"],order:[1,"order"]},decls:2,vars:1,consts:[[1,"ui:grid","ui:grid-cols-12","ui:gap-4","ui:mt-2","ui:border-t","ui:border-b","ui:border-surface","ui:ui:rounded-md"],[1,"ui:my-3"],[1,"ui:col-span-8","ui:flex","ui:gap-4","ui:py-2","ui:pl-2","ui:border-l","ui:border-surface"],[3,"status"],[1,"fa","ui:mt-1",3,"title","ngClass"],[1,"ui:flex","ui:items-start","ui:flex-col","ui:w-full"],[1,"ui:flex","ui:w-full","ui:justify-between"],[1,"ui:flex"],[3,"record"],[1,"ui:text-muted-color"],[1,"ui:flex","ui:pt-2","ui:gap-2"],[1,"ui:flex","ui:gap-1"],[3,"hidden"],[1,"ui:mt-2",3,"hidden"],[1,"metadata"],["translate",""],[3,"notes"],[1,"ui:col-span-2","ui:flex","ui:items-end","ui:gap-2","ui:flex-col","ui:border-x","ui:border-surface","ui:py-2","ui:px-2"],[1,"ui:text-xl","ui:font-bold"],[1,"ui:text-muted-color","ui:text-sm"],[1,"ui:col-span-2","ui:flex","ui:gap-1","ui:justify-end","ui:py-2","ui:pr-2","ui:border-r","ui:border-surface"],["icon","fa fa-pencil",3,"title","routerLink"],["icon","fa fa-trash","severity","danger",3,"title","disabled","message"],[1,"fa","fa-exclamation-triangle"],[3,"class","title"],[3,"title"],[3,"value","severity"],[1,"fa","fa-tachometer",2,"font-size","1.2rem"],["icon","fa fa-trash","severity","danger",3,"btnClick","title","disabled","message"],[1,"fa","fa-spinner","ui:animate-spin"]],template:function(i,n){i&1&&u(0,er,41,40,"div",0)(1,tr,4,3,"div",1),i&2&&f(n.orderLine()&&n.account()?0:1)},dependencies:[We,He,Ke,ci,H,Me,Ie,k,ee,V,Be],encapsulation:2,changeDetection:0})}}return e})();var ir=(e,r)=>r.pid;function nr(e,r){if(e&1&&(s(0,"div",1),C(1,"admin-order-line",2),a()),e&2){let t=r.$implicit,i=d(2);o(),_("orderLine",t)("order",i.order())}}function rr(e,r){if(e&1&&j(0,nr,2,2,"div",1,ir),e&2){let t=d();$(t.orderLines())}}function or(e,r){e&1&&(s(0,"div",0),l(1,"No order lines"),a())}var Ii=(()=>{class e{constructor(){this.store=p(K),this.order=this.store.order,this.orderLines=this.store.orderLines}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=R({type:e,selectors:[["admin-order-lines"]],decls:2,vars:1,consts:[["translate","",1,"ui:my-3","ui:mx-4"],[1,"ui:odd:bg-surface-50"],[3,"orderLine","order"]],template:function(i,n){i&1&&u(0,rr,2,0)(1,or,2,0,"div",0),i&2&&f(n.orderLines().length>0?0:1)},dependencies:[qi,H],encapsulation:2,changeDetection:0})}}return e})();var ar=e=>({"ui:opacity-50":e}),sr=()=>["lines"],cr=()=>({"=0":"Note","=1":"Note",other:"Notes"}),pr=()=>["/acquisition","records","acq_order_lines","new"],dr=e=>({order:e});function lr(e,r){e&1&&(s(0,"p-message",2),l(1),m(2,"translate"),a()),e&2&&(o(),x(" ",v(2,1,"Fiscal year closed")," "))}function mr(e,r){if(e&1){let t=F();s(0,"section",12)(1,"p-button",13),m(2,"translate"),A("onClick",function(){T(t);let n=d(3);return L(n.placeOrderDialog())}),a()()}if(e&2){let t=d(3);o(),_("disabled",!t.store.canPlaceOrder())("label",v(2,2,"Place order"))}}function ur(e,r){if(e&1&&u(0,mr,3,4,"section",12),e&2){let t,i=d(),n=d();f(!((t=n.store.orderPermissions())==null||t.update==null)&&t.update.can&&i.status===n.acqOrderStatus.PENDING?0:-1)}}function fr(e,r){if(e&1){let t=F();s(0,"a",16),A("click",function(n){T(t);let c=d(3);return c.scrollTo(n,"notes"),L(c.notesCollapsed=!1)}),s(1,"p-tag",17),m(2,"noteBadgeColor"),l(3),m(4,"translate"),a()()}if(e&2){let t=r.$implicit;o(),_("severity",v(2,2,t)),o(2),x(" ",v(4,4,t.type)," ")}}function _r(e,r){if(e&1&&(s(0,"dt",14),l(1,"Notes"),a(),s(2,"dd"),j(3,fr,5,6,"a",15,re),a()),e&2){let t=d();o(3),$(t.notes)}}function vr(e,r){if(e&1&&(s(0,"p-button",29),m(1,"translate"),A("click",function(i){return i.stopPropagation()}),a()),e&2){let t=d(2);_("outlined",!0)("label",v(1,4,"Add"))("routerLink",pe(6,pr))("queryParams",E(7,dr,t.pid))}}function Cr(e,r){if(e&1&&(C(0,"span",30),m(1,"nl2br")),e&2){let t=d(3);_("innerHTML",v(1,1,t.store.orderCreateInfoMessage()),ge)}}function hr(e,r){if(e&1&&(s(0,"div",9)(1,"p-accordion",18)(2,"p-accordion-panel",19)(3,"p-accordion-header")(4,"div",20)(5,"span",21),l(6,"Order lines"),a(),u(7,vr,2,9,"p-button",22),a(),ne(8,Cr,2,3,"ng-template",null,0,W),a(),s(10,"p-accordion-content"),C(11,"admin-order-lines"),a()(),s(12,"p-accordion-panel",23)(13,"p-accordion-header")(14,"div",24)(15,"span",25),l(16),m(17,"i18nPlural"),m(18,"translate"),a(),C(19,"p-badge",26),a()(),s(20,"p-accordion-content")(21,"div",27),C(22,"admin-notes",28),a()()()()()),e&2){let t=d(),i=d();o(),_("multiple",!0)("value",pe(11,sr)),o(6),f(i.store.canAddLine()?7:-1);let n=(t.notes==null?null:t.notes.length)||0;o(9),x(" ",v(18,9,P(17,6,n,pe(12,cr)))," "),o(3),_("value",n),o(3),_("notes",t.notes)}}function gr(e,r){e&1&&C(0,"admin-receipt-list")}function xr(e,r){e&1&&C(0,"admin-order-history")}function yr(e,r){if(e&1){let t=F();s(0,"div",1),u(1,lr,3,3,"p-message",2),s(2,"div",3)(3,"h1"),l(4),a(),u(5,ur,1,1),a(),s(6,"admin-order-summary"),u(7,_r,5,0),a(),s(8,"p-tabs",4),A("valueChange",function(n){T(t);let c=d();return L(c.onTabChange(n))}),s(9,"p-tablist")(10,"p-tab",5),l(11,"Order"),a(),s(12,"p-tab",6),l(13,"Reception"),a(),s(14,"p-tab",7),l(15,"History"),a()(),s(16,"p-tabpanels")(17,"p-tabpanel",8),u(18,hr,23,13,"div",9),a(),s(19,"p-tabpanel",10),u(20,gr,1,0,"admin-receipt-list"),a(),s(21,"p-tabpanel",11),u(22,xr,1,0,"admin-order-history"),a()()()()}if(e&2){let t=r,i=d();_("ngClass",E(10,ar,!t.is_current_budget)),o(),f(t.is_current_budget?-1:1),o(3),b(t.reference),o(),f(t.is_current_budget&&t.pid?5:-1),o(2),f(t.notes&&t.notes.length>0?7:-1),o(),_("value",i.tabActiveIndex()),o(4),_("disabled",i.store.disabledReceipts()),o(6),f(i.tabActiveIndex()==="order"?18:-1),o(2),f(i.tabActiveIndex()==="reception"?20:-1),o(2),f(i.tabActiveIndex()==="history"?22:-1)}}var Mi=(()=>{class e{constructor(){this.destroyRef=p(Ct),this.scroller=p(Dt),this.translateService=p(de),this.route=p(Je),this.router=p(Oe),this.dialogService=p(wt),this.store=p(K),this.record=w(),this.type=w(""),this.notesCollapsed=!0,this.acqOrderStatus=y,this.tabActiveIndex=J(this.route.queryParamMap.pipe(h(t=>t.get("tab")||"order")),{initialValue:"order"}),ie(()=>this.store.setFromRecord(this.record()))}onTabChange(t){this.router.navigate([],{relativeTo:this.route,queryParams:{tab:t},queryParamsHandling:"merge",replaceUrl:!0})}scrollTo(t,i){t.preventDefault(),this.scroller.scrollToAnchor(i)}placeOrderDialog(){this.modalRef=this.dialogService.open(Li,{header:this.translateService.instant("Place order"),modal:!0,focusOnShow:!1,width:"60vw",data:{order:this.store.order()}}),this.modalRef.onClose.pipe($t(this.destroyRef)).subscribe(t=>{t&&(t.vendor.$ref&&(t.vendor.pid=oe(t.vendor.$ref)),this.store.updateOrder(t))})}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=R({type:e,selectors:[["admin-acquisition-order-detail-view"]],inputs:{record:[1,"record"],type:[1,"type"]},features:[Rt([K])],decls:1,vars:1,consts:[["tooltipContent",""],[3,"ngClass"],["severity","warn","showTransitionOptions","0ms"],[1,"ui:flex","ui:gap-2","ui:justify-between","ui:flex-wrap"],[1,"ui:mt-3",3,"valueChange","value"],["value","order","translate",""],["value","reception","translate","",3,"disabled"],["value","history","translate",""],["value","order"],[1,"ui:flex","ui:flex-col","ui:gap-2"],["value","reception"],["value","history"],[1,"ui:flex","ui:justify-end"],["severity","primary","icon","fa fa-shopping-cart",3,"onClick","disabled","label"],["translate",""],["href",""],["href","",3,"click"],[3,"severity"],[3,"multiple","value"],["value","lines"],[1,"ui:w-full","ui:flex","ui:justify-between","ui:gap-2","ui:pr-3"],["translate","",1,"ui:text-bold","ui:text-xl"],["icon","fa fa-plus-square-o","size","small",3,"outlined","label","routerLink","queryParams"],["value","notes"],[1,"ui:w-full","ui:flex","ui:mr-2","ui:items-center"],[1,"ui:grow","ui:text-bold","ui:text-xl"],[3,"value"],[1,"ui:mt-2"],[3,"notes"],["icon","fa fa-plus-square-o","size","small",3,"click","outlined","label","routerLink","queryParams"],[3,"innerHTML"]],template:function(i,n){if(i&1&&u(0,yr,23,12,"div",1),i&2){let c;f((c=n.store.order())?0:-1,c)}},dependencies:[He,Ee,Pi,H,Pe,Qt,Xt,Zt,Wt,Kt,fi,li,mi,k,ui,Ii,wi,Me,Ti,Qe,Jt,Ye,Lt,be,De,V,Be],encapsulation:2,changeDetection:0})}}return e})();function Sr(e,r){r.map(t=>{t.fieldGroup.find(n=>n.key==="selected").formControl.setValue(e==="select")})}var Bi=(()=>{class e{constructor(){this.acqOrderApiService=p(z),this.acqAccountApiService=p(ai),this.apiService=p(Le),this.orderReceipt=p(nt)}setModel(t){return this.model=t,this}getModel(){return this.model}getOrderRecord(){return this.orderRecord}getConfig(){return this.config}createForm(t){return this.config=this._getConfig(),this.acqOrderApiService.getOrder(t).pipe(M(i=>this.orderRecord=i),D(i=>{let n=i.library.$ref,c=oe(n);this.acqAccountApiService.getAccounts(c).subscribe(O=>{let q=this.config.filter(ae=>ae.key==="amountAdjustments")[0].fieldArray.fieldGroup.filter(ae=>ae.key==="acqAccount")[0].props;q.currency=i.currency,q.options=si(O)}),this.model.acqOrderRef=this.apiService.getRefEndpoint("acq_orders",i.pid),this.model.libraryRef=n,this.model.organisationRef=i.organisation.$ref,i.vendor.pid=oe(i.vendor.$ref);let g=`AND (NOT status:"${he.CANCELLED}" OR NOT status:"${he.RECEIVED}")`;return this.acqOrderApiService.getOrderLines(i.pid,g).pipe(h(O=>(O.forEach(q=>{let ae=q.received_quantity||0;this.model.receiptLines.push({acqOrderLineRef:this.apiService.getRefEndpoint("acq_order_lines",q.pid),selected:!1,quantity:q.quantity-ae,quantityMax:q.quantity-ae,amount:q.amount,vatRate:0})}),!0)))}))}processForm(t,i){return i=i||this.orderReceipt.processBaseRecord(t),Object.hasOwn(i,"amount_adjustments")?i.amount_adjustments.map(n=>n.acq_account={$ref:this.apiService.getRefEndpoint("acq_accounts",n.acq_account.pid)}):i.amount_adjustments=[],Object.hasOwn(i,"notes")||(i.notes=[]),i.amount_adjustments=[...this.orderReceipt.processAdjustments(t)||[]],i.notes=[...t.notes||[]],t.reference&&t.reference.length>0&&(i.reference=t.reference),this.orderReceipt.cleanData(i)}_getConfig(){return[{key:"reference",type:"string",props:{label:"Reference"}},{key:"receiptDate",type:"datePicker",props:{type:"date",label:"Reception date",required:!0},expressions:{"props.disabled":"model?.receiptLines?.length < 1"}},{key:"amountAdjustments",type:"array",props:{label:"Fees, discounts and other adjustments"},fieldArray:{fieldGroupClassName:"ui:grid ui:px-4 ui:mb-3",type:"object",props:{label:"Fee, discount and other adjustment",containerCssClass:"ui:grid ui:grid-cols-12 ui:gap-2"},fieldGroup:[{key:"label",type:"input",props:{label:"Label",required:!0,minLength:3,itemCssClass:"ui:col-span-12 ui:md:col-span-6"}},{key:"amount",type:"input",defaultValue:1,props:{label:"Amount",type:"number",description:"To specify a discount, enter a negative amount",required:!0,itemCssClass:"ui:col-span-12 ui:md:col-span-3"}},{key:"acqAccount",type:"account-select",wrappers:["form-field"],props:{placeholder:"Select\u2026",label:"Account",required:!0,itemCssClass:"ui:col-span-12 ui:md:col-span-9",options:[]}}]}},{key:"notes",type:"array",props:{containerCssClass:"ui:grid ui:gap-2",label:"Notes",maxItems:1},fieldArray:{type:"object",props:{label:"Note"},fieldGroup:[{key:"type",type:"select",defaultValue:"staff_note",props:{label:"Type",alwaysHidden:!0,options:[{label:"staff_note",value:"staff_no