1import{u as ae,k as Oe,s as se,q as je,_ as Se,h as Te,a as Ce}from"./BI5BN1rn.js";import{_ as Pe}from"./eU1xtPsW.js";import{a as De}from"./zypciNv-.js";import{D as Ae}from"./BDx6lZXm.js";import{G as re,z as Q,aT as ne,N as Ee,p as Ne,as as l,ak as i,al as a,I as e,aw as W,ah as te,aF as F,ax as m,ao as f,am as U,ag as qe,e as r,r as $,t as K,S as Be,b2 as Re,ba as Fe}from"./BA2cZanY.js";import{u as He}from"./DC1xVCuc.js";import{s as Le}from"./CDumwt6r.js";import{u as Me}from"./CQ1Dx6mK.js";import"./DyfadX0W.js";import"./oiGUARBV.js";import"./BcA_P1LO.js";import"./B9kTkY8x.js";import"./-zH4zj69.js";const Ue={class:"breadcrumb-navi-wrap"},Ve={class:"container"},Ye=["aria-label"],Je={class:"breadcrumb-navi-item breadcrumb-navi-root"},ze={class:"breadcrumb-navi-item breadcrumb-navi-current"},Ge={key:0,id:"js-header-order",class:"page-header-bar text-center no-title"},Ke={class:"container main-content page-content"},We={class:"row"},Qe={class:"col-xs-12 page-maintitle"},Xe={class:"textpage-title js-order-title"},Ze={class:"container main-content"},et={class:"row"},tt={class:"col-xs-12 page-content"},at={key:0,id:"js-header-order",class:"page-header-bar text-center no-title"},st={class:"container main-content"},rt={class:"row"},nt={class:"col-xs-12 page-maintitle"},ot={class:"textpage-title js-order-title"},ct={class:"container main-content"},lt={class:"page-content"},it={key:0,class:"complete-payment-message"},ut=["innerHTML"],dt={class:"complete-buttons"},pt={key:2,class:"login-wrapper alert alert-info",style:{"margin-top":"20px"}},mt={style:{"margin-bottom":"10px"}},vt={key:0,id:"js-header-order",class:"page-header-bar text-center no-title"},ft={class:"container main-content page-content"},yt={class:"page-maintitle"},ht={class:"textpage-title js-order-title"},_t={class:"page-content"},gt={key:0,class:"complete-payment-message complete-error-message"},bt={key:1,class:"complete-buttons space-above"},$t={key:0,id:"js-header-order",class:"page-header-bar text-center no-title"},kt={class:"container main-content"},xt={class:"page-maintitle"},wt={class:"textpage-title js-order-title"},It={key:0,class:"complete-error"},Ot={key:0,class:"complete-payment-message complete-error-delayed"},jt={key:1,class:"complete-payment-message complete-error-fatal"},St=re({__name:"Completepage",props:{orderId:{type:String,required:!0},basketId:{type:String,required:!0},extraOrders:{type:String,required:!0},pending:{type:Boolean,required:!0},success:{type:Boolean,required:!1},status:{type:String,required:!0},payment:{type:String,required:!1},message:{type:Object,required:!1},paid:{type:Boolean,required:!0}},setup(O){const{$store:k,$translate:n,$eventbus:j,$immortaldb:g}=Q(),{onInternalHtmlLinkClick:S}=He(),{shopTitle:b,limitedStorefront:T}=ae(),{isFeatureEnabled:N}=Oe(),E=r(()=>n("Order information page")),{fullPath:C}=ne(),{analyticsReady:P,apiUrl:x,baseDomain:_,locale:u,shopId:d,mySettings:h}=se(k),q=De.useSession(),V=r(()=>!!q.value?.data),s=O,B=$(),D=$(),v=r({get(){return typeof B.value<"u"?B.value:s.paid},set(o){B.value=o}}),c=K(s,"status"),w=K(s,"success"),X=K(s,"pending"),H=$(!1),oe=r(()=>b),L=r(()=>h.value.shopcolorscheme==="originallapland"),Y=r(()=>{let o="",t="";switch(s.payment){case"paypal":case"verkkomaksut":case"paytrail":case"paybyway":case"bambora":case"checkout":case"moni":case"epassi":case"netaxept":case"mobilepay":case"viva":o=n("The payment was successfully processed."),t="success";break;case"alipay":case"stripe":v.value?(o=n("The payment was successfully processed."),t="success"):(o=n("Your payment is being processed."),t="pending")}if(D.value?.paymentplan){let y=JSON.parse(D.value?.paymentplan);y.type==="advance"&&(parseInt(y.order_status[0].paid)?t==="success"&&(o=n("The order has been paid in full.")):t==="success"&&(o=n("The advance payment has been paid.")+" ",o+=n("The remaining balance is due on %s.").replace(/%s/,Ae.fromISO(y.final_payment_date).toFormat("d.M.yyyy"))))}return o}),J=r(()=>n("You have not been charged.")),ce=r(()=>c.value&&c.value.match(/(paybyway|bambora)return/)),Z=r(()=>!!(!w.value&&c.value&&c.value.match(/cancel/)||!w.value&&c.value&&c.value.match(/(mobilepay|bambora)return/)||!w.value&&!s.payment&&(c.value==="alipayreturn"||c.value==="stripereturn"))),z=r(()=>!X.value&&!w.value&&!Z.value),le=r(()=>c.value==="invoicereturn"?!ve.value:!1),ie=r(()=>c.value==="transferreturn"),ue=r(()=>Y.value!==""?!((s.payment==="stripe"||s.payment==="alipay")&&!v.value):!1),de=r(()=>J.value!==""),pe=r(()=>!!Number(h.value.pay_option13)),me=r(()=>!!Number(h.value.pay_option7)),ve=r(()=>pe.value||me.value),fe=r(()=>{if(s.extraOrders&&s.payment!=="bambora"){let o=s.extraOrders.split(",");
1if(o[0]){let t=o[0].split(":");if(t&&t[0]&&t[1])return`${_.value}${t[0]}/${u.value}/bills/${t[1]}.pdf`}}return`${_.value}${d.value}/${u.value}/bills/${s.orderId}.pdf`}),ye=r(()=>{if(s.extraOrders&&s.payment!="bambora"){let o=s.extraOrders.split(",");if(o[0]){let t=o[0].split(":");if(t&&t[0]&&t[1])return`${_.value}${t[0]}/${u.value}/transfers/${t[1]}.pdf`}}return`${_.value}${d.value}/${u.value}/transfers/${s.orderId}.pdf`}),he=r(()=>{if(s.extraOrders&&s.payment!="bambora"){let o=s.extraOrders.split(",");if(o[0]){let t=o[0].split(":");if(t&&t[0]&&t[1])return`${_.value}${t[0]}/${u.value}/receipts/${t[1]}.pdf`}}return`${_.value}${d.value}/${u.value}/receipts/${s.orderId}.pdf`}),_e=()=>{window.open(fe.value)},ge=()=>{window.open(ye.value)},be=()=>{window.open(he.value)},$e=async()=>{k.reloadBasket();try{await ke()}catch{}Be(`/${u.value}/order/${s.basketId}`)},ke=async()=>{if(s.extraOrders){let o=s.extraOrders.split(",");for(let t=0;t<o.length;t++){let y=o[t];if(y){let I=y.split(":");I&&I[0]&&I[1]&&await $fetch(`${x.value}${I[0]}/${u.value}/orders/${I[1]}.json`,{method:"PATCH",body:{id:I[1],converttoopenorder:!0}})}}}s.orderId&&await $fetch(`${x.value}${d.value}/${u.value}/orders/${s.orderId}.json`,{method:"PATCH",body:{id:s.orderId,converttoopenorder:!0}})};let M;const xe=()=>{j.$emit("purchase",{title:oe.value,path:C,shopId:d.value,companyName:h.value.companyname??"",identifier:s.orderId,status:c.value,extraOrders:s.extraOrders})},we=r(()=>P.value&&w.value),Ie=()=>{g.remove("orderstate-"+d.value),g.remove("orderstate_expiration-"+d.value)};return Ee(async()=>{if(c.value==="alipayreturn"||c.value==="stripereturn"){const t=async()=>{try{D.value=await $fetch(`${x.value}${d.value}/${u.value}/orders/${s.orderId}.json`),v.value=!!Number(D.value?.paid),v.value&&(H.value=!0,clearInterval(M))}catch{c.value="alipaycancel",w.value=!1,v.value=!1,H.value=!0,clearInterval(M)}};M=Le(t,5e3),await t()}else{try{D.value=await $fetch(`${x.value}${d.value}/${u.value}/orders/${s.orderId}.json`)}catch(t){console.log("Error",t)}H.value=!0}let o=document.cookie.match(RegExp("(?:^|;\\s*)cottagefi=([^;]*)"));if(o)try{let t=await $fetch(`${x.value}${d.value}/${u.value}/orders/${s.orderId}.json`);if(Number(t.paid)){let y={};o[1].split(",").forEach(G=>{let A=G.split("=");y[A[0]]=A[1]});let R=localStorage.getItem("cf_cottages");if(R){const G=JSON.parse(R);t.data.ownItem.forEach(A=>{let ee=G.find(p=>p.johku_cottage_id===A.product_id);if(ee){let p=new FormData;p.append("v","1"),p.append("t","event"),p.append("tid",y.cf_ua),p.append("cid",y.cf_cid),p.append("dl",y.cf_referrer),p.append("dt",A.product_name),p.append("ti",s.orderId),p.append("ta",y.cf_oid),p.append("tr",A.price),p.append("pa","purchase"),p.append("pr1id",ee.cf_cottage_id),p.append("pr1nm",A.product_name),p.append("ec","Ecommerce"),p.append("el","johku"),p.append("ea","purchase"),$fetch("https://google-analytics.com/collect",{method:"POST",body:p})}})}}}catch(t){console.log("Error",t)}await je(we).toBe(!0),xe(),Ie()}),Ne(()=>{clearInterval(M)}),(o,t)=>{const y=Se,I=Pe;return l(),i("div",null,[a("div",Ue,[a("div",Ve,[e(T)?f("",!0):(l(),i("ul",{key:0,class:"js-breadcrumb-navi hidden-xs","aria-label":e(n)("Breadcrumb")},[a("li",Je,[W(y,{to:"/"+e(u)},{default:te(()=>[F(m(e(b)),1)]),_:1},8,["to"])]),a("li",ze,[a("span",null,m(e(n)("Checkout")),1)])],8,Ye))])]),(e(X)||!e(H))&&!e(z)?(l(),i(U,{key:0},[e(L)?(l(),i("div",Ge)):f("",!0),a("div",Ke,[a("div",We,[a("div",Qe,[a("h1",Xe,m(e(n)("Order")),1)])])]),a("div",Ze,[a("div",et,[a("span",tt,m(e(n)("Processing, please wait...")),1)])])],64)):e(w)?(l(),i(U,{key:1},[e(L)?(l(),i("div",at)):f("",!0),a("div",st,[a("div",rt,[a("div",nt,[a("h1",ot,m(O.message?.subject||e(n)("Thank You for Your order.")),1)])])]),a("div",ct,[a("div",lt,[e(Y)?(l(),i("div",it,[a("h3",null,m(e(Y)),1)])):f("",!0),e(Te)(O.message?.text)?(l(),i("div",{key:1,class:"complete-message",innerHTML:"<hr/>"+O.message.text,onClickCapture:t[0]||(t[0]=(...R)=>e(S)&&e(S)(...R))},null,40,ut)):f("",!0),a("div",dt,[e(ue)?(l(),i("a",{key:0,class:"btn btn-success",href:"javascript:;",onClick:be},[t[2]||(t[2]=a("i",{class:"fa fa-file-pdf fa-fw"},null,-1)),F(" "+m(e(n)("PDF receipt")),1)])):f("",!0),e(le)?(l(),i("a",{key:1,class:"btn btn-success",href:"javascript:;",onClick:_e},[t[3]||(t[3]=a("i",{class:"fa fa-file-pdf fa-fw"},null,-1)),F(" "+m(e(n)("PDF invoice")),1)])):f("",!0),e(ie)?(l(),i("a",{key:2,class:"btn btn-success",href:"javascript:;",onClick:ge},[t[4]||(t[4]=a("i",{class:"fa fa-file-pdf fa-fw"},null,-1)),F(" "+m(e(n)("PDF bank transfer")),1)])):f("",!0),W(y,{to:`/${e(u)}/orderinfo/${O.orderId}`,class:"btn btn-primary"},{default:te(()=>[F(m(e(E)),1)]),_:1},8,["to"])]),e(V)?f("",!0):(l(),i("div",pt,[a("p",mt,[a("strong",null,m(e(n)("Sign in to your account to view all your order details, reservations, and more in one place.")),1)]),a("button",{class:"btn btn-primary btn-lg",onClick:t[1]||(t[1]=R=>e(j).$emit("openLoginDialog"))},m(e(n)("Login or create a new account")),1)])),e(N)("authentik")?(l(),qe(I,{key:3,"wrapper-style":"margin-top: 20px;"})):f("",!0)])])],64)):e(Z)?(l(),i(U,{key:2},[e(L)?(l(),i("div",vt)):f("",!0),a("div",ft,[a("div",yt,[a("h1",ht,m(e(n)("The payment was cancelled.")),1)]),a("div",_t,[e(J)?(l(),i("div",gt,[a("h3",null,m(e(J)),1)])):f("",!0),e(de)?(l(),i("div",bt,[a("a",{class:"btn btn-success",href:"javascript:;",onClick:$e},m(e(n)("Retry or change payment type")),1)])):f("",!0)])])],64)):f("",!0),e(z)?(l(),i(U,{key:3},[e(L)?(l(),i("div",$t)):f("",!0),a("div",kt,[a("div",xt,[a("h1",wt,m(e(n)("Error")),1)]),e(z)?(l(),i("div",It,[e(ce)?(l(),i("h3",Ot,m(e(n)("We were unable to immediately confirm your payment but we'll keep trying. If you don't receive an email confirmation within 30 minutes, please contact our customer service.")),1)):(l(),i("h3",jt,m(e(n)("Error in the payment process. Please contact our customer service.")),1))])):f("",!0)])],64)):f("",!0)])}}});function Tt(O,k,n,j){const{$store:g}=Q(),S=$(),b=$(!0),T=$(),N=$(),E=r(()=>e(O)),C=r(()=>e(k)),P=r(()=>e(n)),x=r(()=>e(j));let _=0;const u=async()=>
1{if(!E.value||!C.value){b.value=!1;return}const d={};P.value&&(d.extraorders=P.value);try{_++;let h=await $fetch(g.apiUrl+g.shopId+"/"+g.locale+"/completeorderhandler/"+E.value+"/"+C.value+".json",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},query:d,body:new URLSearchParams(x.value)});S.value=h.items.success,h.items.payment&&(T.value=h.items.payment),b.value=!1}catch(h){Number(h.response?.status)>=500&&_<=5?(await new Promise(q=>setTimeout(q,3e3)),u()):b.value=!1}};return u(),{pending:b,success:S,payment:T,error:N}}const Ut=re({__name:"completepage",async setup(O){let k,n;const{params:j,query:g}=ne(),{message:S}=Me("orderCompletion"),b=void 0,{$store:T}=Q(),{shopTitle:N}=ae(),{locale:E}=se(T),C=r(()=>j.orderId?.toString()??""),P=r(()=>j.status?.toString()==="netaxeptreturn"&&_.value&&_.value!=="OK"?"netaxeptcancel":j.status?.toString()??""),x=r(()=>g.basketId?.toString()??""),_=r(()=>g.responseCode?.toString()??""),u=r(()=>g.extraorders?.toString()??""),d=$({}),h=$({});if(h.value=Object.fromEntries(Object.entries(g).map(([v,c])=>[v,Array.isArray(c)?c.join(","):c||""])),b){const v=$({});try{const c=([k,n]=Re(()=>Fe(b)),k=await k,n(),k);v.value=Object.fromEntries(c)}catch{}if(typeof v.value=="object"&&v.value!=null&&Object.keys(v.value).length==0)d.value=Object.assign(h.value);else try{d.value=Object.assign(h.value,v.value)}catch{d.value=Object.assign(v.value)}}else d.value=Object.assign(h.value);const q=$(!1),{pending:V,success:s,payment:B}=Tt(C,P,u,d),D=r(()=>(T._[E.value]?.Order??"Order")+" - "+N.value);return Ce({title:D}),(v,c)=>{const w=St;return l(),i("div",null,[W(w,{orderId:e(C),basketId:e(x),extraOrders:e(u),pending:e(V),success:e(s),status:e(P),payment:e(B),message:e(S),paid:e(q)},null,8,["orderId","basketId","extraOrders","pending","success","status","payment","message","paid"])])}}});export{Ut as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.