From e79cf68fa8d0e99afa95b79be1f814272935501c Mon Sep 17 00:00:00 2001 From: Fatemeh Moghadam Date: Fri, 27 Jul 2018 12:54:27 +0800 Subject: [PATCH] arrival date for change date to today and show error for duplicate rego --- .../src/components/booking/addbooking.vue | 49 +++++++++++-------- .../src/components/booking/changebooking2.vue | 20 +------- parkstay/static/parkstay/js/parkstay.js | 2 +- 3 files changed, 31 insertions(+), 40 deletions(-) diff --git a/parkstay/frontend/parkstay/src/components/booking/addbooking.vue b/parkstay/frontend/parkstay/src/components/booking/addbooking.vue index d907358190..91d416e75f 100644 --- a/parkstay/frontend/parkstay/src/components/booking/addbooking.vue +++ b/parkstay/frontend/parkstay/src/components/booking/addbooking.vue @@ -240,11 +240,11 @@ -
+
- +
@@ -995,13 +995,12 @@ export default { let vm =this; return ($(vm.bookingForm).valid()); }, - validateParkEntry:function () { + noDuplicateRego: function(source) { let vm = this; - var validRegos = vm.parkEntryVehicles.reduce(function (acc, el) { - return acc + (el.rego ? 1 : 0); - }, 0); - - return (validRegos == vm.parkEntryVehicles.length); + var listRego = vm.parkEntryVehicles.filter(function(el){ + return el.rego == source.value; + }); + return listRego.length <= 1; }, overrideChargeReason:function () { let vm = this; @@ -1014,7 +1013,7 @@ export default { }, addFormValidations: function() { let vm=this; - $(vm.bookingForm).validate({ + var options = { rules: { arrival: "required", departure: "required", @@ -1030,25 +1029,17 @@ export default { postcode: "required", country: "required", price_level: "required", - open_reason: "required", - vehicleRego: { - required:{ - depends: function(el){ - return vm.validateParkEntry; - } - } - }, + open_reason: "required", overrideReason:{ required:{ depends: function(el){ - return vm.overrideChargeReason; + return vm.overrideChargeReason(el); } } } }, messages: { firstname: "Fill in all details", - vehicleRego: "Fill vehicle details", }, showErrors: function(errorMap, errorList) { $.each(this.validElements(), function(index, element) { @@ -1068,7 +1059,23 @@ export default { .parents('.form-group').addClass('has-error'); } } + }; + for (var i =0; i diff --git a/parkstay/frontend/parkstay/src/components/booking/changebooking2.vue b/parkstay/frontend/parkstay/src/components/booking/changebooking2.vue index 34abbb0108..24c767b23d 100644 --- a/parkstay/frontend/parkstay/src/components/booking/changebooking2.vue +++ b/parkstay/frontend/parkstay/src/components/booking/changebooking2.vue @@ -527,10 +527,8 @@ export default { vm.arrivalPicker = $(vm.bookingForm.arrival).closest('.date'); vm.departurePicker = $(vm.bookingForm.departure).closest('.date'); vm.arrivalPicker.datetimepicker({ - //defaultDate: Moment(vm.selected_arrival,"DD/MM/YYYY"), format: 'DD/MM/YYYY', - minDate: new Date(), - //maxDate: Moment().add(parseInt(vm.campground.max_advance_booking), 'days') + minDate: Moment().startOf('day'), }); vm.departurePicker.datetimepicker({ format: 'DD/MM/YYYY', @@ -559,22 +557,6 @@ export default { }); // Set the initial minimum departure date for the booking vm.departurePicker.data("DateTimePicker").minDate(Moment(vm.selected_arrival,"DD/MM/YYYY").add(1,'days')); - - // TODO implement price widget when the dates are changed - /*vm.$http.get(api_endpoints.campgroundCampsites(vm.campground.id)).then((response) => { - var campsites = response.body; - vm.$http.get(api_endpoints.campsite_current_price(campsites[0].id,Moment().format("YYYY-MM-DD"),Moment().add(1,'days').format("YYYY-MM-DD"))).then((response)=>{ - vm.priceHistory = null; - vm.priceHistory = response.body; - vm.loading.splice('updating prices',1); - },(error)=>{ - console.log(error); - vm.loading.splice('updating prices',1); - }); - }, (error) => { - console.log(error); - });*/ - }, addGuestCount: function(guest) { let vm = this; diff --git a/parkstay/static/parkstay/js/parkstay.js b/parkstay/static/parkstay/js/parkstay.js index f94f016656..0fdf3b941b 100644 --- a/parkstay/static/parkstay/js/parkstay.js +++ b/parkstay/static/parkstay/js/parkstay.js @@ -1,2 +1,2 @@ -webpackJsonp([1],[,,,,function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.debounce=t.store=t.htmlEscape=t.swal=t.formValidate=t.awesomplete=t.daterangepicker=t.select2=t.slick=t.bus=t.validate=t.helpers=t.api_endpoints=t.datetimepicker=t.Moment=t.DataTableRes=t.DataTableBs=t.DataTable=t.$=void 0;var r=n(5),o=a(r),i=n(290),s=a(i),l=n(80),c=a(l),d=n(293),p=a(d),u=n(7),A=n(73),m=n(106),g=n(411),f=(n(305),n(0)),b=n(442),h=n(425),C=n(435),v=n(456),_=n(454),k=n(246),w=n(304),B=n(295),x=b.extendMoment(f),y=n(457),E=n(428),q=function(e,t,n){var a;return function(){var r=this,o=arguments,i=function(){a=null,n||e.apply(r,o)},s=n&&!a;clearTimeout(a),a=setTimeout(i,t),s&&e.apply(r,o)}};t.$=o.default,t.DataTable=A,t.DataTableBs=m,t.DataTableRes=g,t.Moment=x,t.datetimepicker=h,t.api_endpoints=s.default,t.helpers=p.default,t.validate=C,t.bus=u.bus,t.slick=v,t.select2=_,t.daterangepicker=w,t.awesomplete=k,t.formValidate=B,t.swal=y,t.htmlEscape=E,t.store=c.default,t.debounce=q},,function(e,t,n){n(541);var a=n(1)(n(272),n(493),null,null);e.exports=a.exports},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(31),r=new a;t.bus=r},function(e,t,n){n(559);var a=n(1)(n(274),n(518),"data-v-f4d13d20",null);e.exports=a.exports},,,,function(e,t,n){n(546);var a=n(1)(n(286),n(499),null,null);e.exports=a.exports},,,function(e,t,n){n(545);var a=n(1)(n(279),n(498),null,null);e.exports=a.exports},function(e,t,n){n(531);var a=n(1)(n(282),n(481),null,null);e.exports=a.exports},,,,,,,,function(e,t,n){n(550);var a=n(1)(n(278),n(507),"data-v-6d5e1a99",null);e.exports=a.exports},,,,,,,,,,,,,,,,,,,,,,function(e,t,n){n(542);var a=n(1)(n(284),n(494),null,null);e.exports=a.exports},,,,,,,,,,,function(e,t,n){n(528);var a=n(1)(n(275),n(478),null,null);e.exports=a.exports},,,,,,,,,,,,,,,,,function(e,t){e.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅",in:"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺",int:"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},function(e,t){e.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}},,,,,function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(47),o=a(r),i=n(17),s=a(i),l=n(31),c=a(l),d=n(4);c.default.use(s.default);var p=new s.default.Store({state:{alert:{visible:!1,type:"danger",message:""},regions:[],parks:[],districts:[],campgrounds:[],campsite_classes:[],show_loader:!1,app_loader_text:""},mutations:{SETALERT:function(e,t){e.alert=t},SETREGIONS:function(e,t){e.regions=t},SETPARKS:function(e,t){e.parks=t},SETDISTRICTS:function(e,t){e.districts=t},SETCAMPGROUNDS:function(e,t){e.campgrounds=t},SETCAMPSITECLASSES:function(e,t){e.campsite_classes=t},SET_LOADER_STATE:function(e,t){e.show_loader=t,t||(e.app_loader_text="")},SET_LOADER_TEXT:function(e,t){e.app_loader_text=t}},actions:{updateAlert:function(e,t){e.commit("SETALERT",t)},fetchRegions:function(e){d.$.get(d.api_endpoints.regions,function(t){e.commit("SETREGIONS",t)})},fetchParks:function(e){d.$.get(d.api_endpoints.parks,function(t){e.commit("SETPARKS",t)})},fetchDistricts:function(e){d.$.get(d.api_endpoints.districts,function(t){e.commit("SETDISTRICTS",t)})},fetchCampgrounds:function(e){return new o.default(function(t,n){c.default.http.get(d.api_endpoints.campgrounds).then(function(n){e.commit("SETCAMPGROUNDS",n.body),t(n.body)},function(e){n(e)})})},fetchCampsiteClasses:function(e){d.$.get(d.api_endpoints.campsite_classes,function(t){e.commit("SETCAMPSITECLASSES",t)})}},getters:{showAlert:function(e){return e.alert.visible},alertType:function(e){return e.alert.type},alertMessage:function(e){return e.alert.message},regions:function(e){return e.regions},parks:function(e){return e.parks},districts:function(e){return e.districts},campgrounds:function(e){return e.campgrounds},campsite_classes:function(e){return e.campsite_classes},app_loader_state:function(e){return e.show_loader},app_loader_text:function(e){return e.app_loader_text}}});t.default=p},,,,,,,,,,,,,,,,,,,,,,,,,function(e,t){e.exports={universal:5,tag:3,attribute:1,pseudo:0,descendant:-1,child:-1,parent:-1,sibling:-1,adjacent:-1}},,,,,function(e,t){e.exports={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){n(540);var a=n(1)(n(256),n(491),null,null);e.exports=a.exports},function(e,t,n){var a=n(1)(n(265),n(513),null,null);e.exports=a.exports},function(e,t,n){n(554);var a=n(1)(n(280),n(511),"data-v-a72c720a",null);e.exports=a.exports},function(e,t,n){n(529);var a=n(1)(n(287),n(479),null,null);e.exports=a.exports},function(e,t,n){"use strict";n(522),n(523),n(521),n(526),n(525),n(524),n(520),n(519),n(527)},function(e,t,n){n(558);var a=n(1)(n(247),n(517),null,null);e.exports=a.exports},function(e,t,n){n(544);var a=n(1)(n(249),n(497),null,null);e.exports=a.exports},function(e,t,n){n(536);var a=n(1)(n(250),n(487),null,null);e.exports=a.exports},function(e,t,n){n(547);var a=n(1)(n(251),n(503),null,null);e.exports=a.exports},function(e,t,n){n(530);var a=n(1)(n(253),n(480),null,null);e.exports=a.exports},function(e,t,n){n(539);var a=n(1)(n(254),n(490),"data-v-2e738dce",null);e.exports=a.exports},function(e,t,n){n(533);var a=n(1)(n(255),n(483),null,null);e.exports=a.exports},function(e,t,n){n(537);var a=n(1)(n(257),n(488),null,null);e.exports=a.exports},function(e,t,n){var a=n(1)(n(258),n(501),null,null);e.exports=a.exports},function(e,t,n){n(549);var a=n(1)(n(261),n(506),null,null);e.exports=a.exports},function(e,t,n){n(543);var a=n(1)(n(262),n(495),null,null);e.exports=a.exports},function(e,t,n){n(534);var a=n(1)(n(263),n(484),null,null);e.exports=a.exports},function(e,t,n){n(535);var a=n(1)(n(269),n(485),null,null);e.exports=a.exports},function(e,t,n){n(548);var a=n(1)(n(270),n(504),"data-v-685888d5",null);e.exports=a.exports},function(e,t,n){n(553);var a=n(1)(n(271),n(510),null,null);e.exports=a.exports},,,,function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(14),o=a(r),i=n(4),s=n(16),l=a(s),c=n(8),d=a(c),p=n(12),u=a(p);t.default={name:"addBooking",data:function(){return{overrideCharge:!1,isModalOpen:!1,bookingForm:null,countries:[],selected_campsite:"",selected_arrival:"",selected_departure:"",priceHistory:null,booking:{arrival:"",departure:"",guests:{adult:2,concession:0,child:0,infant:0},campground:"",campsites:[],campsite_classes:[],email:"",firstname:"",surname:"",postcode:"",country:"AU",phone:"",vehicle:"",price:"0",override_price:"0",override_reason:"",override_reason_info:"",parkEntry:{vehicles:0},entryFees:{vehicles:0,motorbike:0,concession:0,entry_fee:0,regos:[]}},loading:[],campground:{},guestsText:"",guestsPicker:[{id:"adult",name:"Adults (no concession)",amount:2,description:""},{id:"concession",name:"Concession",amount:0,description:"",helpText:"accepted concession cards"},{id:"child",name:"Children",amount:0,description:"Ages 6-16"},{id:"infant",name:"Infants",amount:0,description:"Ages 0-5"}],parkEntryPicker:[{id:"vehicle",name:"Vehicle",amount:0,price:0,description:"Vehicle Registration",rego:"",entry_fee:!0},{id:"concession",name:"Concession",amount:0,price:0,description:"Concession Vehicle Registration",helpText:"accepted concession cards",rego:"",entry_fee:!0},{id:"motorbike",name:"Motorbike",amount:0,price:0,description:"Motorbike Registration",rego:"",entry_fee:!0}],users:[],usersEmail:[],park:{entry_fee_required:!1,entry_fee:0},parkEntryVehicles:[],parkPrices:{id:null,period_start:null,period_end:null,reason:1,details:"other",vehicle:"0.00",concession:"0.00",motorbike:"0.00",editable:!1},stayHistory:[],arrivalPicker:{},departurePicker:{},selected_campsite_class:-1,booking_type:"campsite",booking_types:{CAMPSITE:"campsite",CLASS:"class"},multibook_selected:[]}},components:{loader:l.default,modal:d.default,reason:u.default},computed:{isLoading:function(){return this.loading.length>0},maxEntryVehicles:function(){var e=this,t=e.booking.parkEntry.vehicles<=10?e.booking.parkEntry.vehicles:10;return e.booking.parkEntry.vehicles=t,t},selectAll:{get:function(){var e=this;return!!e.booking.campsites&&e.multibook_selected.length==e.booking.campsites.length},set:function(e){var t=this,n=[];e&&t.booking.campsites.forEach(function(e){n.push(e.id)}),t.multibook_selected=n,t.updatePrices()}},selected_campsites:function(){var e=this,t=[];return e.booking_type==e.booking_types.CAMPSITE?t=e.multibook_selected:e.booking.campsite_classes.forEach(function(e){for(var n=0;n3?i%3:0;return r+(i?o.substr(0,i)+a:"")+o.substr(i).replace(/(\d{3})(?=\d)/g,"$1"+a)+(t?n+Math.abs(e-o).toFixed(t).slice(2):"")}},watch:{selected_campsite:function(){this.updatePrices()},selected_campsite_class:function(){var e=this;e.selected_campsite=e.booking.campsite_classes[e.selected_campsite_class].campsites[0]},selected_arrival:function(){var e=this;e.booking.arrival&&i.$.each(e.stayHistory,function(t,n){var a=i.Moment.range((0,i.Moment)(n.range_start,"DD/MM/YYYY"),(0,i.Moment)(n.range_end,"DD/MM/YYYY")),r=(0,i.Moment)(e.booking.arrival,"YYYY-MM-DD");a.contains(r)&&(e.departurePicker.data("DateTimePicker").maxDate(r.clone().add(n.max_days,"days")),e.departurePicker.data("DateTimePicker").date(null))}),e.fetchSites(),e.updatePrices()},selected_departure:function(){var e=this;e.fetchSites(),e.updatePrices()},booking_type:function(){this.fetchSites()}},methods:{fetchSites:function(){var e=this;e.booking_type==e.booking_types.CAMPSITE&&e.fetchCampsites(),e.booking_type==e.booking_types.CLASS&&e.fetchCampsiteClasses()},validateRego:function(e){i.formValidate.isNotEmpty(e.target)},updatePrices:function(){var e=this;e.booking.price=0;var t=e.selected_campsites;if(e.selected_campsite&&e.booking.arrival&&e.booking.departure){var n=(0,i.Moment)(e.booking.arrival,"YYYY-MM-DD"),a=(0,i.Moment)(e.booking.departure,"YYYY-MM-DD");a.diff(n,"days");e.$http.post(i.api_endpoints.campsites_current_price(),{campsites:t,arrival:n.format("YYYY-MM-DD"),departure:a.format("YYYY-MM-DD")},{headers:{"X-CSRFToken":i.helpers.getCookie("csrftoken")}}).then(function(t){e.priceHistory=null,e.priceHistory=t.body,e.generateBookingPrice()},function(e){console.log(e)})}},fetchCountries:function(){var e=this;e.loading.push("fetching countries"),e.$http.get(i.api_endpoints.countries).then(function(t){e.countries=t.body,e.loading.splice("fetching countries",1)},function(t){console.log(t),e.loading.splice("fetching countries",1)})},fetchCampsites:function(){var e=this;e.selected_arrival&&e.selected_departure&&(e.loading.push("fetching campsites"),e.$http.get(i.api_endpoints.available_campsites(e.booking.campground,(0,i.Moment)(e.booking.arrival,"YYYY-MM-DD").format("YYYY/MM/DD"),(0,i.Moment)(e.booking.departure,"YYYY-MM-DD").format("YYYY/MM/DD"))).then(function(t){e.booking.campsites=t.body,e.booking.campsites.length>0&&(e.selected_campsite=e.booking.campsites[0].id),e.loading.splice("fetching campsites",1)},function(t){console.log(t),e.loading.splice("fetching campsites",1)}))},fetchCampsiteClasses:function(){var e=this;e.selected_arrival&&e.selected_departure&&(e.loading.push("fetching campsite classes"),e.$http.get(i.api_endpoints.available_campsite_classes(e.booking.campground,(0,i.Moment)(e.booking.arrival,"YYYY-MM-DD").format("YYYY/MM/DD"),(0,i.Moment)(e.booking.departure,"YYYY-MM-DD").format("YYYY/MM/DD"))).then(function(t){e.booking.campsite_classes=t.body,e.booking.campsite_classes.length>0&&(e.selected_campsite=e.booking.campsite_classes[0].campsites[0],e.selected_campsite_class=0),e.loading.splice("fetching campsite classes",1)},function(t){console.log(t),e.loading.splice("fetching campsite classes",1)}))},fetchCampground:function(){var e=this;e.loading.push("fetching campground");var t=e.$route.params.cg;e.$http.get(i.api_endpoints.campground(t)).then(function(t){e.campground=t.body,e.booking.campground=e.campground.id,e.booking_type=0==e.campground.site_type?e.booking_types.CAMPSITE:e.booking_types.CLASS,e.fetchStayHistory(),e.fetchCampsites(),e.fetchPark(),e.addEventListeners(),e.loading.splice("fetching campground",1)},function(t){console.log(t),e.loading.splice("fetching campground",1)})},fetchStayHistory:function(){var e=this;e.loading.push("fetching stay history"),e.$http.get(i.api_endpoints.campgroundStayHistory(e.campground.id)).then(function(t){t.body.length>0&&(e.stayHistory=t.body),e.loading.splice("fetching stay history",1)},function(t){console.log(t),e.loading.splice("fetching stay history",1)})},fetchPark:function(){var e=this;e.loading.push("fetching park"),e.$http.get(i.api_endpoints.park(e.campground.park)).then(function(t){e.park=t.body,e.loading.splice("fetching park",1)},function(t){console.log(t),e.loading.splice("fetching park",1)})},addEventListeners:function(){var e=this;e.arrivalPicker=(0,i.$)(e.bookingForm.arrival).closest(".date"),e.departurePicker=(0,i.$)(e.bookingForm.departure).closest(".date"),e.arrivalPicker.datetimepicker({format:"DD/MM/YYYY",minDate:(0,i.Moment)().startOf("day"),maxDate:(0,i.Moment)().add(parseInt(e.campground.max_advance_booking),"days")}),e.departurePicker.datetimepicker({format:"DD/MM/YYYY",useCurrent:!1}),e.arrivalPicker.on("dp.change",function(t){e.booking.arrival=e.arrivalPicker.data("DateTimePicker").date().format("YYYY-MM-DD"),e.selected_arrival=e.booking.arrival,e.selected_departure="",e.booking.departure="";var n=t.date.clone(),a=n.clone().add(1,"days"),r=a.clone().add(180,"days");e.departurePicker.data("DateTimePicker").maxDate(r),e.departurePicker.data("DateTimePicker").minDate(a),e.departurePicker.data("DateTimePicker").date(null)}),e.departurePicker.on("dp.change",function(t){e.departurePicker.data("DateTimePicker").date()?(e.booking.departure=e.departurePicker.data("DateTimePicker").date().format("YYYY-MM-DD"),e.selected_departure=e.booking.departure):(e.booking.departure=null,e.selected_departure=e.booking.departure)}),e.$http.get(i.api_endpoints.campgroundCampsites(e.campground.id)).then(function(t){var n=t.body;e.$http.get(i.api_endpoints.campsite_current_price(n[0].id,(0,i.Moment)().format("YYYY-MM-DD"),(0,i.Moment)().add(1,"days").format("YYYY-MM-DD"))).then(function(t){e.priceHistory=null,e.priceHistory=t.body,e.loading.splice("updating prices",1)},function(t){console.log(t),e.loading.splice("updating prices",1)})},function(e){console.log(e)})},addGuestCount:function(e){var t=this;switch(e.amount+=1,e.id){case"adult":t.booking.guests.adult=e.amount;break;case"concession":t.booking.guests.concession=e.amount;break;case"child":t.booking.guests.child=e.amount;break;case"infant":t.booking.guests.infant=e.amount}t.generateGuestCountText()},removeGuestCount:function(e){var t=this;switch(e.amount=e.amount>0?e.amount-1:0,e.id){case"adult":t.booking.guests.adult=e.amount;break;case"concession":t.booking.guests.concession=e.amount;break;case"child":t.booking.guests.child=e.amount;break;case"infant":t.booking.guests.infant=e.amount}t.generateGuestCountText()},generateGuestCountText:function(){var e=this,t="";i.$.each(e.guestsPicker,function(n,a){n!=e.guestsPicker.length-1?a.amount>0&&(t+=a.amount+" "+a.name+", "):a.amount>0&&(t+=a.amount+" "+a.name+" ")}),e.guestsText=t.replace(/,\s*$/,""),e.generateBookingPrice()},generateBookingPrice:function(){var e=this;e.booking.price=0,e.park.entry_fee_required?e.fetchParkPrices(function(){i.$.each(e.priceHistory,function(t,n){for(var a in e.booking.guests)e.booking.guests.hasOwnProperty(a)&&(e.booking.price+=e.booking.guests[a]*n.rate[a])}),e.updateParkEntryPrices(),e.booking.price=e.booking.price+e.booking.entryFees.entry_fee}):i.$.each(e.priceHistory,function(t,n){for(var a in e.booking.guests)e.booking.guests.hasOwnProperty(a)&&(e.booking.price+=e.booking.guests[a]*n.rate[a])})},updateParkEntryPrices:function(){var e=this;e.booking.entryFees.entry_fee=0,e.selected_campsite&&e.booking.arrival&&e.booking.departure&&i.$.each(e.parkEntryVehicles,function(t,n){if(n=JSON.parse((0,o.default)(n)),e.parkPrices&&n.entry_fee)switch(n.id){case"vehicle":e.booking.entryFees.entry_fee+=parseInt(e.parkPrices.vehicle),e.booking.entryFees.vehicle++;break;case"motorbike":e.booking.entryFees.entry_fee+=parseInt(e.parkPrices.motorbike),e.booking.entryFees.motorbike++;break;case"concession":e.booking.entryFees.entry_fee+=parseInt(e.parkPrices.concession),e.booking.entryFees.concession++}})},fetchUsers:(0,i.debounce)(function(e){var t=this;t.$http.get(i.api_endpoints.usersLookup(t.booking.email)).then(function(e){t.users=e.body,t.usersEmail=[],i.$.each(t.users,function(e,n){t.usersEmail.push(n.email)}),t.autofillUser()})},1e3),fetchParkPrices:function(e){var t=this;t.booking.arrival?t.$http.get(i.api_endpoints.park_current_price(t.park.id,t.booking.arrival)).then(function(n){n.body.constructor!=Array?t.parkPrices=n.body:(t.parkPrices.vehicle="0.00",t.parkPrices.motorbike="0.00",t.parkPrices.concession="0.00"),e()}):(t.parkPrices.vehicle="0.00",t.parkPrices.motorbike="0.00",t.parkPrices.concession="0.00",e())},autofillUser:function(e){var t=this;i.$.each(t.users,function(e,n){if(n.email==t.booking.email)return t.booking.firstname=n.first_name,t.booking.surname=n.last_name,t.booking.phone=n.mobile_number,n.profile_addresses[0]&&(t.booking.postcode=n.profile_addresses[0].postcode,t.booking.country=n.profile_addresses[0].country),!1})},bookNow:function(){var e=this;if(e.isFormValid()){e.loading.push("processing booking"),e.booking.entryFees={vehicle:0,motorbike:0,concession:0,entry_fee:0,regos:[]},i.$.each(e.parkEntryVehicles,function(t,n){switch(n=JSON.parse((0,o.default)(n)),null==n.rego&&"null"==n.rego||e.booking.entryFees.regos.push({type:n.id,rego:n.rego,entry_fee:n.entry_fee}),n.id){case"vehicle":e.booking.entryFees.entry_fee+=parseInt(e.parkPrices.vehicle),e.booking.entryFees.vehicle++;break;case"motorbike":e.booking.entryFees.entry_fee+=parseInt(e.parkPrices.motorbike),e.booking.entryFees.motorbike++;break;case"concession":e.booking.entryFees.entry_fee+=parseInt(e.parkPrices.concession),e.booking.entryFees.concession++}});var t={arrival:e.booking.arrival,departure:e.booking.departure,guests:e.booking.guests,campsites:e.selected_campsites,costs:{campground:e.priceHistory,parkEntry:e.parkPrices,total:e.booking.price},override_price:e.booking.override_price,override_reason:e.booking.override_reason,override_reason_info:e.booking.override_reason_info,customer:{email:e.booking.email,first_name:e.booking.firstname,last_name:e.booking.surname,phone:e.booking.phone,country:e.booking.country,postcode:e.booking.postcode},regos:e.booking.entryFees.regos};e.$store.dispatch("updateAlert",{visible:!1,type:"danger",message:""}),e.$http.post(i.api_endpoints.bookings,(0,o.default)(t),{emulateJSON:!0,headers:{"X-CSRFToken":i.helpers.getCookie("csrftoken")}}).then(function(t){e.loading.splice("processing booking",1),(0,i.$)("#invoice_frame")[0].src="/ledger/payments/invoice/"+t.body.invoices[0],e.isModalOpen=!1,e.$router.push({name:"booking-dashboard"})},function(t){var n=i.helpers.apiVueResourceError(t);e.$store.dispatch("updateAlert",{visible:!0,type:"danger",message:n}),e.loading.splice("processing booking",1)})}},finishBooking:function(){var e=this;e.isModalOpen=!1,e.$router.push({name:"booking-dashboard"})},isFormValid:function(){var e=this;return(0,i.$)(e.bookingForm).valid()},validateParkEntry:function(){var e=this;return e.parkEntryVehicles.reduce(function(e,t){return e+(t.rego?1:0)},0)==e.parkEntryVehicles.length},overrideChargeReason:function(){var e=this;return!e.overrideCharge||null==e.booking.override_price||""!=e.booking.override_reason},addFormValidations:function(){var e=this;(0,i.$)(e.bookingForm).validate({rules:{arrival:"required",departure:"required",guests:"required",campsite:"required",email:{required:!0,email:!0},firstname:"required",surname:"required",phone:"required",postcode:"required",country:"required",price_level:"required",open_reason:"required",vehicleRego:{required:{depends:function(t){return e.validateParkEntry}}},overrideReason:{required:{depends:function(t){return e.overrideChargeReason}}}},messages:{firstname:"Fill in all details",vehicleRego:"Fill vehicle details"},showErrors:function(e,t){i.$.each(this.validElements(),function(e,t){(0,i.$)(t).attr("data-original-title","").parents(".form-group").removeClass("has-error")}),(0,i.$)("."+this.settings.validClass).tooltip("destroy");for(var n=0;n0&&n>0)for(var a=!1,r=e.amount-1;r>=0;r--){for(var o=t.parkEntryVehicles.length-1;o>=0;o--)if(e.description==t.parkEntryVehicles[o].description){e.amount=e.amount>0?e.amount-=1:e.amount,t.parkEntryVehicles.splice(o,1),t.booking.parkEntry.vehicles--,a=!0;break}if(a)break}t.booking.price=t.booking.price-t.booking.entryFees.entry_fee,t.updateParkEntryPrices(),t.booking.price=t.booking.price+t.booking.entryFees.entry_fee}},mounted:function(){var e=this;e.bookingForm=document.forms.bookingForm,e.fetchCampground(),e.fetchCountries(),e.addFormValidations(),e.generateGuestCountText()}}},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(14),o=a(r),i=n(8),s=a(i),l=n(6),c=a(l),d=n(4);t.default={name:"change-booking",components:{modal:s.default,alert:c.default},props:{booking_id:{type:Number},campgrounds:{type:Array,default:function(){return[]}}},data:function(){return{isModalOpen:!1,campsites:[],form:null,booking:{campsites:[]},errors:!1,errorString:"",successString:"",success:!1,arrivalPicker:null,departurePicker:null}},computed:{selectedCampground:function(){return this.booking.campground},selectedCampsite:function(){return this.booking.campsites},showError:function(){return this.errors}},watch:{selectedCampground:function(){var e=this;e.selectedCampground?e.$http.get(d.api_endpoints.campgroundCampsites(e.selectedCampground)).then(function(t){e.campsites=t.body},function(e){console.log(e)}):e.campsites=[]}},methods:{ok:function(){var e=this;(0,d.$)(e.form).valid()&&e.sendData()},cancel:function(){},close:function(){this.isModalOpen=!1},fetchBooking:function(e){var t=this;t.$http.get(d.api_endpoints.booking(e)).then(function(e){t.booking=e.body,t.isModalOpen=!0,t.eventListerners()},function(e){console.log(e)})},sendData:function(){var e=this;e.errors=!1,e.success=!1;var t=e.booking;e.$parent.loading.push("processing booking"),e.$http.put(d.api_endpoints.booking(t.id),(0,o.default)(t),{emulateJSON:!0,headers:{"X-CSRFToken":d.helpers.getCookie("csrftoken")}}).then(function(t){e.$parent.loading.splice("processing booking",1),e.successString="Booking Updated",e.success=!0},function(t){console.log(t),e.errors=!0,e.errorString=d.helpers.apiVueResourceError(t),e.$parent.loading.splice("processing booking",1)})},addFormValidations:function(){var e=this;(0,d.$)(e.form).validate({rules:{arrival:"required",departure:"required",campground:"required",campsite:{required:{depends:function(t){return e.campsites.length>0}}}},messages:{arrival:"field is required",departure:"field is required",campground:"field is required",campsite:"field is required"},showErrors:function(e,t){d.$.each(this.validElements(),function(e,t){(0,d.$)(t).attr("data-original-title","").parents(".form-group").removeClass("has-error")}),(0,d.$)("."+this.settings.validClass).tooltip("destroy");for(var n=0;n0},maxEntryVehicles:function(){var e=this,t=e.booking.parkEntry.vehicles<=10?e.booking.parkEntry.vehicles:10;return e.booking.parkEntry.vehicles=t,t},onlineCampgrounds:function(){return this.campgrounds.filter(function(e){return 0===e.campground_type})}},(0,h.mapGetters)({campgrounds:"campgrounds"})),filters:{formatMoney:function(e,t,n,a){t=isNaN(t=Math.abs(t))?2:t,n=void 0==n?".":n,a=void 0==a?",":a;var r=e<0?"-":"",o=String(parseInt(e=Math.abs(Number(e)||0).toFixed(t))),i=(i=o.length)>3?i%3:0;return r+(i?o.substr(0,i)+a:"")+o.substr(i).replace(/(\d{3})(?=\d)/g,"$1"+a)+(t?n+Math.abs(e-o).toFixed(t).slice(2):"")}},watch:{selected_campsite:function(){this.updatePrices()},selected_arrival:function(){var e=this;e.booking.arrival&&g.$.each(e.stayHistory,function(t,n){var a=g.Moment.range((0,g.Moment)(n.range_start,"DD/MM/YYYY"),(0,g.Moment)(n.range_end,"DD/MM/YYYY")),r=(0,g.Moment)(e.booking.arrival,"YYYY-MM-DD");a.contains(r)&&(e.departurePicker.data("DateTimePicker").maxDate(r.clone().add(n.max_days,"days")),e.departurePicker.data("DateTimePicker").date(null))}),this.initialised,e.fetchSites(),e.updatePrices()},selected_departure:function(){var e=this;this.initialised,e.fetchSites(),e.updatePrices()},booking_type:function(){}},methods:{validateRego:function(e){g.formValidate.isNotEmpty(e.target)},updateCampground:function(){var e=this;e.campground=e.booking.campground?e.campgrounds.find(function(t){return parseInt(t.id)===parseInt(e.booking.campground)}):null,e.fetchSites()},initSelectTwo:function(){var e=this;setTimeout(function(){(0,g.$)("#multi-campsites").select2({theme:"bootstrap",allowClear:!0,placeholder:"Select Campsites",tags:!1}).on("select2:select",function(t){e.selected_campsites=(0,g.$)(t.currentTarget).val()}).on("select2:unselect",function(t){e.selected_campsites=(0,g.$)(t.currentTarget).val()})},100)},updatePrices:function(){var e=this,t=e.selected_campsites;if(e.booking.price=0,e.selected_campsite&&e.booking.arrival&&e.booking.departure){var n=(0,g.Moment)(e.selected_arrival,"DD/MM/YYYY"),a=(0,g.Moment)(e.selected_departure,"DD/MM/YYYY");a.diff(n,"days");e.loading.push("updating prices"),e.$http.post(g.api_endpoints.campsites_current_price(),{campsites:t,arrival:n.format("YYYY-MM-DD"),departure:a.format("YYYY-MM-DD")},{headers:{"X-CSRFToken":g.helpers.getCookie("csrftoken")}}).then(function(t){e.priceHistory=null,e.priceHistory=t.body,e.generateBookingPrice(),e.loading.splice("updating prices",1)},function(t){console.log(t),e.loading.splice("updating prices",1)})}},generateBookingPrice:function(){var e=this;e.booking.price=0,e.park.entry_fee_required?e.fetchParkPrices(function(){g.$.each(e.priceHistory,function(t,n){for(var a in e.booking.guests)switch(a){case"adults":e.booking.price+=e.booking.guests[a]*parseFloat(n.rate.adult);break;case"concession":e.booking.price+=e.booking.guests[a]*parseFloat(n.rate.concession);break;case"children":e.booking.price+=e.booking.guests[a]*parseFloat(n.rate.child);break;case"infants":e.booking.price+=e.booking.guests[a]*parseFloat(n.rate.infant)}}),e.updateParkEntryPrices(),e.booking.price=e.booking.price+e.booking.entryFees.entry_fee,e.booking_price=e.booking.price}):(g.$.each(e.priceHistory,function(t,n){for(var a in e.booking.guests)switch(a){case"adults":e.booking.price+=e.booking.guests[a]*parseFloat(n.rate.adult);break;case"concession":e.booking.price+=e.booking.guests[a]*parseFloat(n.rate.concession);break;case"children":e.booking.price+=e.booking.guests[a]*parseFloat(n.rate.child);break;case"infants":e.booking.price+=e.booking.guests[a]*parseFloat(n.rate.infant)}}),e.booking.price=e.booking.price+e.booking.entryFees.entry_fee,e.booking_price=e.booking.price)},fetchSites:function(){var e=this;e.fetchingSites||e.selected_arrival&&e.selected_departure&&(e.fetchingSites=!0,e.loading.push("fetching campsites"),e.$http.get(g.api_endpoints.available_campsites_booking(e.booking.campground,e.booking.arrival,e.booking.departure,e.booking.id)).then(function(t){if(e.fetchingSites=!1,e.campsites=t.body,e.campsites.length>0){var n=e.campsites.find(function(t){return parseInt(t.id)===parseInt(e.selected_campsite)});null!=n&&void 0!=n||(e.selected_campsite=e.campsites[0].id)}e.loading.splice("fetching campsites",1)},function(t){console.log(t),e.loading.splice("fetching campsites",1),e.fetchingSites=!1}))},fetchStayHistory:function(){var e=this;e.loading.push("fetching stay history"),e.$http.get(g.api_endpoints.campgroundStayHistory(e.campground.id)).then(function(t){t.body.length>0&&(e.stayHistory=t.body),e.loading.splice("fetching stay history",1)},function(t){console.log(t),e.loading.splice("fetching stay history",1)})},fetchPark:function(){var e=this;e.loading.push("fetching park"),e.$http.get(g.api_endpoints.park(e.campground.park)).then(function(t){e.park=t.body,e.loading.splice("fetching park details",1)},function(t){console.log(t),e.loading.splice("fetching park details",1)})},addEventListeners:function(){var e=this;e.arrivalPicker=(0,g.$)(e.bookingForm.arrival).closest(".date"),e.departurePicker=(0,g.$)(e.bookingForm.departure).closest(".date"),e.arrivalPicker.datetimepicker({format:"DD/MM/YYYY",minDate:new Date}),e.departurePicker.datetimepicker({format:"DD/MM/YYYY",useCurrent:!1}),e.arrivalPicker.on("dp.change",function(t){e.booking.arrival=e.arrivalPicker.data("DateTimePicker").date().format("DD/MM/YYYY"),e.selected_arrival=e.booking.arrival,e.selected_departure="",e.booking.departure="";var n=t.date.clone(),a=n.clone().add(1,"days");e.departurePicker.data("DateTimePicker").minDate(a),e.departurePicker.data("DateTimePicker").date(a)}),e.departurePicker.on("dp.change",function(t){e.departurePicker.data("DateTimePicker").date()?(e.booking.departure=e.departurePicker.data("DateTimePicker").date().format("DD/MM/YYYY"),e.selected_departure=e.booking.departure):(e.booking.departure=null,e.selected_departure=e.booking.departure)}),e.departurePicker.data("DateTimePicker").minDate((0,g.Moment)(e.selected_arrival,"DD/MM/YYYY").add(1,"days"))},addGuestCount:function(e){var t=this;switch(e.amount+=1,e.id){case"adults":t.booking.guests.adults=e.amount;break;case"concession":t.booking.guests.concession=e.amount;break;case"children":t.booking.guests.children=e.amount;break;case"infants":t.booking.guests.infants=e.amount}t.generateGuestCountText()},removeGuestCount:function(e){var t=this;switch(e.amount=e.amount>0?e.amount-1:0,e.id){case"adults":t.booking.guests.adults=e.amount;break;case"concession":t.booking.guests.concession=e.amount;break;case"children":t.booking.guests.children=e.amount;break;case"infants":t.booking.guests.infants=e.amount}t.generateGuestCountText()},generateGuestCountText:function(){var e=this,t="";g.$.each(e.guestsPicker,function(n,a){n!=e.guestsPicker.length-1?a.amount>0&&(t+=a.amount+" "+a.name+", "):a.amount>0&&(t+=a.amount+" "+a.name+" ")}),e.guestsText=t.replace(/,\s*$/,""),e.initialised&&e.generateBookingPrice()},updateParkEntryPrices:function(){var e=this;e.booking.entryFees.entry_fee=0,e.selected_campsite&&e.booking.arrival&&e.booking.departure&&g.$.each(e.parkEntryVehicles,function(t,n){if(n=JSON.parse((0,c.default)(n)),e.parkPrices&&n.entry_fee)switch(n.id){case"vehicle":e.booking.entryFees.entry_fee+=parseInt(e.parkPrices.vehicle);break;case"motorbike":e.booking.entryFees.entry_fee+=parseInt(e.parkPrices.motorbike);break;case"concession":e.booking.entryFees.entry_fee+=parseInt(e.parkPrices.concession)}})},fetchParkPrices:function(e){var t=this;if(t.booking.arrival){var n=(0,g.Moment)(t.booking.arrival,"DD/MM/YYYY").format("YYYY-MM-DD");t.$http.get(g.api_endpoints.park_current_price(t.park.id,n)).then(function(n){n.body.constructor!=Array?t.parkPrices=n.body:(t.parkPrices.vehicle="0.00",t.parkPrices.motorbike="0.00",t.parkPrices.concession="0.00"),e()})}else t.parkPrices.vehicle="0.00",t.parkPrices.motorbike="0.00",t.parkPrices.concession="0.00",e()},updateNow:function(){var e=this,t={};e.isFormValid()&&(e.loading.push("updating booking"),t.entryFees={vehicle:0,motorbike:0,concession:0,regos:[]},g.$.each(e.parkEntryVehicles,function(e,n){switch(n=JSON.parse((0,c.default)(n)),null==n.rego&&"null"==n.rego||t.entryFees.regos.push({type:n.id,rego:n.rego,entry_fee:n.entry_fee}),n.id){case"vehicle":t.entryFees.vehicle++;break;case"motorbike":t.entryFees.motorbike++;break;case"concession":t.entryFees.concession++}}),t.arrival=e.booking.arrival,t.departure=e.booking.departure,t.guests=e.booking.guests,t.campsites=e.selected_campsites,t.campground=e.booking.campground,e.$store.dispatch("updateAlert",{visible:!1,type:"danger",message:""}),e.$http.put(g.api_endpoints.booking(e.booking.id),(0,c.default)(t),{emulateJSON:!0,headers:{"X-CSRFToken":g.helpers.getCookie("csrftoken")}}).then(function(t){e.loading.splice("updating booking",1),e.finishBooking()},function(t){var n=g.helpers.apiVueResourceError(t);e.$store.dispatch("updateAlert",{visible:!0,type:"danger",message:n}),e.loading.splice("updating booking",1)}))},finishBooking:function(){this.$router.push({name:"booking-dashboard"})},isFormValid:function(){var e=this;return e.validateParkEntry()&&(0,g.$)(e.bookingForm).valid()},validateParkEntry:function(){var e=this,t=!0,n=0;return(0,g.$)(".vehicleLookup").each(function(e,t){""!=(0,g.$)(t).val()&&n++}),e.booking.parkEntry.vehicles>0&&e.booking.parkEntry.vehicles>n&&(t=!1),t},addFormValidations:function(){(0,g.$)(this.bookingForm).validate({rules:{arrival:"required",departure:"required",guests:"required",campsite:"required",price_level:"required"},messages:{},showErrors:function(e,t){g.$.each(this.validElements(),function(e,t){(0,g.$)(t).attr("data-original-title","").parents(".form-group").removeClass("has-error")}),(0,g.$)("."+this.settings.validClass).tooltip("destroy");for(var n=0;n0&&n>0)for(var a=!1,r=e.amount-1;r>=0;r--){for(var o=t.parkEntryVehicles.length-1;o>=0;o--)if(e.description==t.parkEntryVehicles[o].description){e.amount=e.amount>0?e.amount-=1:e.amount,t.parkEntryVehicles.splice(o,1),t.booking.parkEntry.vehicles--,a=!0;break}if(a)break}t.booking.price=t.booking.price-t.booking.entryFees.entry_fee,t.updateParkEntryPrices(),t.booking.price=t.booking.price+t.booking.entryFees.entry_fee,t.booking_price=t.booking.price},initBooking:function(e){var t=this;t.booking=JSON.parse((0,c.default)(e.body)),t.booking.arrival=(0,g.Moment)(t.booking.arrival).format("DD/MM/YYYY"),t.booking.departure=(0,g.Moment)(t.booking.departure).format("DD/MM/YYYY"),t.selected_campsites=t.booking.campsites,t.selected_arrival=t.booking.arrival,t.selected_departure=t.booking.departure,t.campground=t.booking.campground?t.campgrounds.find(function(e){return parseInt(e.id)===parseInt(t.booking.campground)}):null,t.fetchPark(),t.fetchSites();var n=t.booking.guests;(0,s.default)(n).forEach(function(e){t.guestsPicker.map(function(t){return t.id==e&&(t.amount=n[e]),t})}),t.generateGuestCountText(),t.booking.parkEntry={vehicles:0},t.booking.entryFees={vehicle:0,motorbike:0,concession:0,entry_fee:0,regos:[]},g.$.each(t.booking.regos,function(e,n){t.parkEntryPicker.map(function(e){return e.id==n.type&&(e.rego=n.rego,e.entry_fee=n.entry_fee,t.addVehicleCount(e)),e.rego="",e.entry_fee=!0,e})}),t.$nextTick(function(){t.addEventListeners()}),setTimeout(function(){t.generateBookingPrice(),t.initialised=!0},2e3)}},mounted:function(){var e=this;e.bookingForm=document.forms.bookingForm,e.initSelectTwo()},beforeRouteEnter:function(e,t,n){g.store.commit("SET_LOADER_STATE",!0),g.store.commit("SET_LOADER_TEXT","Loading Booking");var a=[g.store.dispatch("fetchCampgrounds"),m.default.fetchBooking(e.params.booking_id)];o.default.all(a).then(function(e){g.store.commit("SET_LOADER_STATE",!1),n(function(t){t.initBooking(e[1])})})}}},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(82),o=a(r),i=n(301),s=a(i),l=n(47),c=a(l),d=n(20),p=a(d),u=n(14),A=a(u),m=n(4),g=n(16),f=a(g),b=n(15),h=a(b),C=n(460),v=a(C),_=n(461),k=a(_),w=n(8),B=a(w),x=n(17);t.default={name:"booking-dashboard",components:{datatable:h.default,loader:f.default,changebooking:v.default,modal:B.default,bookingHistory:k.default},data:function(){var e=this;return{exportingCSV:!1,dtOptions:{language:{processing:""},responsive:!1,serverSide:!0,processing:!0,searchDelay:800,ajax:{url:m.api_endpoints.bookings,dataSrc:"results",data:function(t){return e.filterDateFrom&&(t.arrival=e.filterDateFrom),e.filterDateTo&&(t.departure=e.filterDateTo),"All"!=e.filterCampground&&(t.campground=e.filterCampground),"All"!=e.filterRegion&&(t.region=e.filterRegion),t.canceled=e.filterCanceled,t.refund_status=e.filterRefundStatus,t}},columnDefs:[{responsivePriority:1,targets:0},{responsivePriority:2,targets:2},{responsivePriority:3,targets:8}],columns:[{data:"campground_name",orderable:!1,searchable:!1},{data:"campground_region",orderable:!1,searchable:!1},{mRender:function(e,t,n){var a=n.firstname?n.firstname:"",r=n.lastname?n.lastname:"",o=a+" "+r,i=o.length>25?o.substring(0,24)+"...":o,s=o.length>25?'class="name_popover"':"",l="
'+i+"
";return l.replace(/__SHNAME__/g,i),l.replace(/__NAME__/g,o)},orderable:!1,searchable:!1},{data:"id",orderable:!1,searchable:!1,mRender:function(e,t,n){return"Canceled"!=n.status?"PS"+e+"
":"PS"+n.id}},{data:"campground_site_type",mRender:function(e,t,n){for(var a={},r=[],o=0;oc?r[0].substring(0,c-1):r[0],p='
'+d+"
";return p.replace("__NAME__",r[0])}if(e.length>1){var u=r.join(", "),c=15,d="Multiple",p=''+d+"";return p.replace("__NAME__",u)}return""},orderable:!1,searchable:!1},{data:"status",orderable:!1,searchable:!1,mRender:function(e,t,n){if("Canceled"===e&&null!=n.cancellation_reason){return""+e+"

"+m.helpers.dtPopover(n.cancellation_reason)}return e},createdCell:m.helpers.dtPopoverCellFn},{data:"arrival",orderable:!1,searchable:!1,mRender:function(e,t,n){return(0,m.Moment)(e).format("DD/MM/YYYY")}},{data:"departure",orderable:!1,searchable:!1,mRender:function(e,t,n){return(0,m.Moment)(e).format("DD/MM/YYYY")}},{mRender:function(e,t,n){var a=1==e?"Open":"Temporarily Closed",r=(0,A.default)(n),o="",i="/ledger/payments/invoice/"+n.invoice_reference,s=(n.invoice_reference,"");if(n.invoices.length>0){var l="/ledger/payments/invoice/payment?";m.$.each(n.invoices,function(e,t){l+="invoice="+t+"&"}),l=l.slice(0,-1);var c=window.location.port?":"+window.location.port:"",d=window.location.protocol+"//"+window.location.hostname+c;l+=n.payment_callback_url?"&callback_url="+d+n.payment_callback_url:"";var p=n.paid||"Canceled"==n.status?"View":"Record";s+=" "+p+" Payment
"}if(n.editable){var u=" Change
";s+=" Cancel
",s+=u}return n.has_history&&(s+=" View History
"),m.$.each(n.active_invoices,function(e,t){o+="  #"+t+"
"}),s+=o,s+="",s.replace("__Status__",a)},orderable:!1,searchable:!1}]},dtHeaders:["Campground","Region","Person","Confirmation #"," Camp Site(Type)","Status","From","To","Action"],dateFromPicker:null,dateToPicker:null,datepickerOptions:{format:"DD/MM/YYYY",showClear:!0,useCurrent:!1,keepInvalid:!0,allowInputToggle:!0},loading:[],selected_booking:-1,filterCampground:"All",filterRegion:"All",filterDateFrom:"",filterDateTo:"",filterCanceled:"False",filterRefundStatus:"All"}},watch:{filterCampground:function(){this.$refs.bookings_table.vmDataTable.ajax.reload()},filterRegion:function(){this.$refs.bookings_table.vmDataTable.ajax.reload()},filterCanceled:function(){this.$refs.bookings_table.vmDataTable.ajax.reload()},filterRefundStatus:function(){this.$refs.bookings_table.vmDataTable.ajax.reload()}},computed:(0,p.default)({isLoading:function(){return this.loading.length>0}},(0,x.mapGetters)(["regions","campgrounds"])),methods:{fetchCampgrounds:function(){var e=this;e.loading.push("fetching campgrounds"),0==e.campgrounds.length&&e.$store.dispatch("fetchCampgrounds"),e.loading.splice("fetching campgrounds",1)},fetchRegions:function(){var e=this;0==e.regions.length&&e.$store.dispatch("fetchRegions")},cancelBooking:function(e){var t=this;t.$http.delete(m.api_endpoints.booking(e.id),{emulateJSON:!0,headers:{"X-CSRFToken":m.helpers.getCookie("csrftoken")}}).then(function(e){t.$refs.bookings_table.vmDataTable.ajax.reload()},function(e){console.log(e)})},addEventListeners:function(){var e=this;e.$refs.bookings_table.vmDataTable.on("click","a[data-history]",function(t){t.preventDefault();var n=JSON.parse((0,m.$)(this).attr("data-history"));e.selected_booking=n.id,e.$refs.bookingHistory.booking=n,e.$refs.bookingHistory.isModalOpen=!0}),(0,m.$)(e.$refs.campgroundSelector).select2({theme:"bootstrap"}).on("select2:select",function(t){var n=(0,m.$)(t.currentTarget);e.filterCampground=n.val()}).on("select2:unselect",function(t){(0,m.$)(t.currentTarget);e.filterCampground="All"}),(0,m.$)(e.$refs.regionSelector).select2({theme:"bootstrap"}).on("select2:select",function(t){var n=(0,m.$)(t.currentTarget);e.filterRegion=n.val()}).on("select2:unselect",function(t){(0,m.$)(t.currentTarget);e.filterRegion="All"}),e.$refs.bookings_table.vmDataTable.on("click","a[data-change]",function(t){t.preventDefault();var n=JSON.parse((0,m.$)(this).attr("data-change"));e.selected_booking=n.id,e.$router.push({name:"edit-booking",params:{booking_id:n.id}})}),e.$refs.bookings_table.vmDataTable.on("click","a[data-cancel]",function(t){e.selected_booking=JSON.parse((0,m.$)(this).attr("data-cancel")),(0,m.swal)({title:"Cancel Booking",text:"Provide a cancellation reason",type:"warning",input:"textarea",showCancelButton:!0,confirmButtonText:"Submit",showLoaderOnConfirm:!0,preConfirm:function(t){return new c.default(function(n,a){e.$http.delete(m.api_endpoints.booking(e.selected_booking.id)+"?reason="+t,{emulateJSON:!0,headers:{"X-CSRFToken":m.helpers.getCookie("csrftoken")}}).then(function(e){n()},function(e){a(m.helpers.apiVueResourceError(e))})})},allowOutsideClick:!1}).then(function(t){e.$refs.bookings_table.vmDataTable.ajax.reload(),(0,m.swal)({type:"success",title:"Booking Canceled",html:"Booking PS"+e.selected_booking.id+" has been cancelled"})})}),e.dateToPicker.on("dp.change",function(t){e.dateToPicker.data("DateTimePicker").date()?(e.filterDateTo=t.date.format("DD/MM/YYYY"),e.$refs.bookings_table.vmDataTable.ajax.reload()):""===e.dateToPicker.data("date")&&(e.filterDateTo="",e.$refs.bookings_table.vmDataTable.ajax.reload())}),e.dateFromPicker.on("dp.change",function(t){e.dateFromPicker.data("DateTimePicker").date()?(e.filterDateFrom=t.date.format("DD/MM/YYYY"),e.dateToPicker.data("DateTimePicker").minDate(t.date),e.$refs.bookings_table.vmDataTable.ajax.reload()):""===e.dateFromPicker.data("date")&&(e.filterDateFrom="",e.$refs.bookings_table.vmDataTable.ajax.reload())}),m.helpers.namePopover(m.$,e.$refs.bookings_table.vmDataTable),(0,m.$)(document).on("keydown",function(e){!e.ctrlKey||"p"!=e.key&&16!=e.charCode&&112!=e.charCode&&80!=e.keyCode||(e.preventDefault(),m.bus.$emit("showAlert","printBooking"),e.stopImmediatePropagation())})},printParams:function(){var e=this,t=[],n={arrival:null!=e.filterDateFrom?e.filterDateFrom:"",departure:null!=e.filterDateTo?e.filterDateTo:"",campground:"All"!=e.filterCampground?e.filterCampground:"",region:"All"!=e.filterRegion?e.filterRegion:"",canceled:e.filterCanceled,"search[value]":e.$refs.bookings_table.vmDataTable.search()};for(var a in n)n.hasOwnProperty(a)&&t.push(encodeURIComponent(a)+"="+encodeURIComponent(n[a]));return t.join("&")},print:function(){var e=this;e.exportingCSV=!0,e.$http.get(m.api_endpoints.bookings+"?"+e.printParams()).then(function(t){var a=t.body.results,r=n(436),i=["Created"],i=[].concat((0,s.default)(i),(0,s.default)(e.dtHeaders));i.splice(e.dtHeaders.length-1,1),i=[].concat((0,s.default)(i),["Adults","Concession","Children","Infants","Regos","Canceled","Cancelation Reason","Cancelation Date","Canceled By"]),i.splice(4,0,"Email"),i.splice(5,0,"Phone"),i.splice(9,0,"Booking Total"),i.splice(10,0,"Amount Paid"),i.splice(22,0,"Booking Type"),i.splice(23,0,"Override Reason");var l={0:"Reception booking",1:"Internet booking",2:"Black booking",3:"Temporary reservation"},c=[];m.$.each(a,function(e,t){var n={};m.$.each(i,function(e,a){switch(e){case 0:n[a]=(0,m.Moment)(t.created).format("DD/MM/YYYY HH:mm:ss");break;case 1:n[a]=t.campground_name;break;case 2:n[a]=t.campground_region;break;case 3:n[a]=t.firstname+" "+t.lastname;break;case 4:n[a]=t.email;break;case 5:n[a]=t.phone;break;case 6:n[a]=t.id;break;case 7:for(var r={},i=[],s=0;s"},responsive:!0,processing:!0,ajax:{url:"/api/booking/"+e.booking_id+"/history.json",dataSrc:""},order:[],columns:[{data:"created",orderable:!1,searchable:!1,mRender:function(e,t,n){return(0,l.Moment)(e).format("DD/MM/YYYY HH:mm:ss")}},{data:"arrival",orderable:!1,searchable:!1,mRender:function(t,n,a){var r=(0,l.Moment)(t).format("DD/MM/YYYY");return e.booking.arrival==t?''+r+"":''+r+""}},{data:"departure",orderable:!1,searchable:!1,mRender:function(t,n,a){var r=(0,l.Moment)(t).format("DD/MM/YYYY");return e.booking.departure==t?''+r+"":''+r+""}},{data:"campground",orderable:!1,searchable:!1,mRender:function(t,n,a){return e.booking.campground_name==t?''+t+"":''+t+""}},{data:"campsites",orderable:!1,searchable:!1,mRender:function(t,n,a){var r=t.sort().join(","),o=r.length>10?"class='name_popover'":"",i=r.length>10?r.substring(0,9)+"...":r,s="
'+i+"
";return e.booking.campsite_names==r?''+s.replace("__NAME__",r)+"":''+s.replace("__NAME__",r)+""}},{data:"updated_by",orderable:!1},{className:"details-control",orderable:!1,data:null,defaultContent:""}]}}},computed:{CampSiteType:function(){for(var e={},t=[],n=0;n0&&(e.$refs.booking_history_table.vmDataTable.ajax.url("/api/booking/"+e.booking_id+"/history.json"),e.$refs.booking_history_table.vmDataTable.ajax.reload(),e.addEventListeners())})}},filters:{formatDate:function(e){return(0,l.Moment)(e).format("DD/MM/YYYY")},formatAmount:function(e){return parseFloat(e).toFixed(2)}},methods:{ok:function(){var e=this;(0,l.$)(e.form).valid()&&e.sendData()},cancel:function(){},close:function(){this.isModalOpen=!1},format:function(e){var t=this,n='';l.$.each(e.vehicles,function(e,a){var r=a.entry_fee?'':'',o=t.booking.vehicle_payment_status.find(function(e){return e.Rego==a.rego.toUpperCase()}),i=o&&o.Fee==a.entry_fee&&o.Rego==a.rego.toUpperCase()&&a.type==o.original_type?"green":"red";n+='\n \n \n \n "}),n+="
RegoTypeEntry Fee
'+a.rego+""+a.type+""+r+"
";var a=t.booking.guests.adults==e.details.num_adult?"Adults:"+e.details.num_adult+"":"Adults:"+e.details.num_adult+"",r=t.booking.guests.concession==e.details.num_concession?"Adults (Concession):"+e.details.num_concession+"":"Adults (Concession):"+e.details.num_concession+"",o=t.booking.guests.children==e.details.num_child?"Children:"+e.details.num_child+"":"Children:"+e.details.num_child+"",i=t.booking.guests.infants==e.details.num_infant?"Infants:"+e.details.num_infant+"":"Infants:"+e.details.num_infant+"",s="Invoice:  #"+e.invoice+"",c=parseFloat(t.booking.cost_total)==parseFloat(e.cost_total)?"Cost:"+e.cost_total+"":"Cost:"+e.cost_total+"";return''+a+r+o+i+""+c+s+"
Vehicles:"+n+"
"},addEventListeners:function(){var e=this;e.firstTimeTableLoad&&(e.firstTimeTableLoad=!1,e.$refs.booking_history_table.vmDataTable.on("click","td.details-control",function(){var t=(0,l.$)(this).closest("tr"),n=e.$refs.booking_history_table.vmDataTable.row(t);n.child.isShown()?(n.child.hide(),t.removeClass("shown")):(n.child(e.format(n.data())).show(),t.addClass("shown"))})),l.helpers.namePopover(l.$,e.$refs.booking_history_table.vmDataTable)}},mounted:function(){var e=this;e.$nextTick(function(){console.log(e.$refs)})}}},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(20),o=a(r),i=n(17),s=n(16),l=a(s);t.default={name:"BookingIndex",props:{},data:function(){return{}},components:{loader:l.default},methods:{},computed:(0,o.default)({},(0,i.mapGetters)({showLoader:"app_loader_state",loaderText:"app_loader_text"})),mounted:function(){}}},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(14),o=a(r),i=n(20),s=a(i),l=n(4),c=n(6),d=a(c),p=n(12),u=a(p),A=n(16),m=a(A),g=n(46),f=a(g),b=n(17);t.default={name:"bulkpricing",data:function(){return{priceOptions:["Price Tariff","Park","Campsite Type"],setPrice:"",id:"",selected_rate:"",title:"",rates:[],current_closure:"",closeStartPicker:"",showDetails:!1,closeEndPicker:"",errors:!1,errorString:"",loading:[],form:"",bulkpricing:{reason:"",campgrounds:[]},campgrounds:[],selectedPark:{},campsiteTypes:[],showSuccess:!1,priceHistoryDt:{responsive:!0,processing:!0,ordering:!1,deferRender:!0,ajax:{url:l.api_endpoints.park_price_history(),dataSrc:""},columns:[{data:"period_start",mRender:function(e,t,n){return(0,l.Moment)(e).format("DD/MM/YYYY")}},{data:"period_end",mRender:function(e,t,n){return e?(0,l.Moment)(e).format("DD/MM/YYYY"):""}},{data:"vehicle"},{data:"concession"},{data:"motorbike"},{data:"reason",mRender:function(e,t,n){return 1==e.id?e.text+":"+n.details:e.text}},{data:"editable",mRender:function(e,t,n){if(e){var a=n.id,r="Edit
";return r+="Delete",r=r.replace(/__RATE__/g,a)}return""}}],language:{processing:""}},priceHistoryDtHeaders:["Period Start","Period End","Vehicle","Concession","Motorbike","Comment","Action"]}},computed:(0,s.default)({showError:function(){return this.errors},isModalOpen:function(){return this.isOpen},closure_id:function(){return this.bulkpricing.id?this.bulkpricing.id:""},requireDetails:function(){return"1"==this.bulkpricing.reason},isLoading:function(){var e=this;if(e.loading.length>0)return!0;setTimeout(function(t){(0,l.$)(e.form.park).select2({theme:"bootstrap",allowClear:!0,placeholder:"Select Park"}).on("select2:select",function(t){var n=(0,l.$)(t.currentTarget);e.bulkpricing.park=n.val(),e.selectPark()}).on("select2:unselect",function(t){(0,l.$)(t.currentTarget);e.bulkpricing.park=""})},100)}},(0,b.mapGetters)(["parks","campsite_classes"])),watch:{setPrice:function(){var e=this;e.setPrice==e.priceOptions[2]&&setTimeout(function(){(0,l.$)(e.form.campsiteType).select2({theme:"bootstrap",allowClear:!0,placeholder:"Select Campsite Type"}).on("select2:select",function(t){var n=(0,l.$)(t.currentTarget);e.bulkpricing.campsiteType=n.val()}).on("select2:unselect",function(t){var n=(0,l.$)(t.currentTarget);e.bulkpricing.campsiteType=n.val()})},100)},selected_rate:function(){var e=this;""!=e.selected_rate?l.$.each(e.rates,function(t,n){n.id==e.selected_rate&&(e.bulkpricing.rate=n.id,e.bulkpricing.adult=n.adult,e.bulkpricing.concession=n.concession,e.bulkpricing.child=n.child)}):(delete e.bulkpricing.rate,e.bulkpricing.adult="",e.bulkpricing.concession="",e.bulkpricing.child="")},campsite_classes:function(){this.availableCampsiteClasses()}},components:{alert:d.default,reason:u.default,loader:m.default,"price-history":f.default},methods:{availableCampsiteClasses:function(){var e=this;e.loading.push("Loading CampsiteTypes"),e.campsiteTypes=[],l.$.each(e.campsite_classes,function(t,n){n.can_add_rate&&e.campsiteTypes.push(n)}),0==e.campsiteTypes.length&&e.campsiteTypes.push({id:"",name:""}),e.loading.splice("Loading CampsiteTypes",1)},sendData:function(){var e=this;if((0,l.$)(e.form).valid()){e.loading.push("Updating prices...");var t=JSON.parse((0,o.default)(e.bulkpricing)),n=l.api_endpoints.bulkPricing();t.type=e.setPrice,l.$.ajax({beforeSend:function(e){e.setRequestHeader("Content-Type","application/json"),e.setRequestHeader("Accept","application/json")},method:"POST",url:n,xhrFields:{withCredentials:!0},data:(0,o.default)(t),headers:{"X-CSRFToken":l.helpers.getCookie("csrftoken")},success:function(t){setTimeout(function(){e.loading.splice("Updating prices...",1),e.bulkpricing={reason:"",campgrounds:[]},e.showSuccess=!0},500)},error:function(t){e.loading.splice("Updating prices...",1),e.errors=!0,e.errorString=t}})}else e.errors=!0,e.errorString="Please fill all details"},close:function(){delete this.bulkpricing.original,this.errors=!1,this.selected_rate="",this.bulkpricing.period_start="",this.bulkpricing.details="",this.errorString="",this.isOpen=!1},selectPark:function(){var e=this,t=e.bulkpricing.park;e.campgrounds=[],l.$.each(e.parks,function(n,a){a.id==t&&(l.$.each(a.campgrounds,function(t,n){0==n.price_level&&e.campgrounds.push(n)}),setTimeout(function(t){(0,l.$)(e.form.campground).select2({theme:"bootstrap",allowClear:!0,placeholder:{text:"Select Campground",selected:"selected"}}).on("select2:select",function(t){var n=(0,l.$)(t.currentTarget);e.bulkpricing.campgrounds=n.val()}).on("select2:unselect",function(t){var n=(0,l.$)(t.currentTarget);e.bulkpricing.campgrounds=n.val()})},100))})},selectCampsiteType:function(){},loadParks:function(){var e=this;l.api_endpoints.parks;e.loading.push("Loading Parks"),0==e.parks.length&&e.$store.dispatch("fetchParks"),e.loading.splice("Loading Parks",1)},addHistory:function(){(0,l.$)(this.form).valid()&&(this.bulkpricing.id||this.bulkpricing.original?this.$emit("updatePriceHistory"):this.$emit("addPriceHistory"))},fetchRates:function(){var e=this;e.loading.push("Loading Rates"),l.$.get(l.api_endpoints.rates,function(t){e.rates=t,e.loading.splice("Loading Rates",1)})},fetchCampsiteTypes:function(){var e=this;0==e.campsite_classes.length?e.$store.dispatch("fetchCampsiteClasses"):e.availableCampsiteClasses()},goBack:function(){l.helpers.goBack(this)},addFormValidations:function(){var e=this;(0,l.$)(e.form).validate({rules:{park:{required:{depends:function(t){return e.setPrice==e.priceOptions[1]}}},campground:{required:{depends:function(t){return e.setPrice==e.priceOptions[1]}}},campsiteType:{required:{depends:function(t){return e.setPrice==e.priceOptions[2]}}},adult:"required",concession:"required",child:"required",period_start:"required",open_reason:"required",details:{required:{depends:function(t){return"1"===e.bulkpricing.reason}}}},messages:{adult:"Enter an adult rate",concession:"Enter a concession rate",child:"Enter a child rate",period_start:"Enter a start date",details:"Details required if Other reason is selected"},showErrors:function(e,t){l.$.each(this.validElements(),function(e,t){(0,l.$)(t).attr("data-original-title","").parents(".form-group").removeClass("has-error")}),(0,l.$)("."+this.settings.validClass).tooltip("destroy");for(var n=0;n0},allFeaturesSelected:function(){return this.features.length<1},selected_contact_number:function(){var e=this.campground.contact;if(null!=e){var t=this.contacts.find(function(t){return t.id===e});return t?t.phone_number:""}return""},selected_contact_email:function(){var e=this.campground.contact;if(null!=e){var t=this.contacts.find(function(t){return t.id===e});return t?t.email:""}return""}},(0,C.mapGetters)(["parks"])),watch:{campground:{handler:function(){this.loadSelectedFeatures()},deep:!0}},methods:{goBack:function(){l.helpers.goBack(this)},validateForm:function(){var e=this,t=e.validateEditor((0,l.$)("#editor"));return e.form.valid()&&t},create:function(){this.validateForm()&&this.sendData(l.api_endpoints.campgrounds,"POST")},update:function(){this.validateForm()&&this.sendData(l.api_endpoints.campground(this.campground.id),"PUT")},validateEditor:function(e){var t=this;return e.parents(".form-group").hasClass("has-error")&&(e.tooltip("destroy"),e.attr("data-original-title","").parents(".form-group").removeClass("has-error")),0!=t.editor.getText().trim().length||(e.tooltip({trigger:"focus"}).attr("data-original-title","Description is required").parents(".form-group").addClass("has-error"),!1)},sendData:function(e,t){var n=this;n.isLoading=!0;var a=new Array,r=n.selected_features;n.createCampground&&(n.campground.features=n.selected_features),n.campground.features.forEach(function(e){a.push(e.id)}),n.campground.features=a,"undefined"==n.campground.contact&&(n.campground.contact=""),l.$.ajax({beforeSend:function(e){e.setRequestHeader("Content-Type","application/json"),e.setRequestHeader("Accept","application/json")},url:e,method:t,xhrFields:{withCredentials:!0},data:(0,o.default)(n.campground),headers:{"X-CSRFToken":l.helpers.getCookie("csrftoken")},contentType:"application/x-www-form-urlencoded",dataType:"json",success:function(e,a,o){"POST"==t?(n.$router.push({name:"cg_detail",params:{id:e.id}}),n.isLoading=!1):"PUT"==t&&(n.campground.features=r,n.showUpdate=!0,n.isLoading=!1),n.$store.dispatch("updateAlert",{visible:!1,type:"danger",message:""})},error:function(e){n.$store.dispatch("updateAlert",{visible:!0,type:"danger",message:l.helpers.apiError(e)}),n.isLoading=!1}})},showAlert:function(){c.bus.$emit("showAlert","alert1")},loadParks:function(){var e=this;0==e.parks.length&&e.$store.dispatch("fetchParks")},loadFeatures:function(){var e=this,t=l.api_endpoints.features;l.$.ajax({url:t,dataType:"json",success:function(t,n,a){e.features=t}})},addSelectedFeature:function(e,t){var n=this;n.selected_features.push(e),n.features.splice(t,1),n.selected_features.sort(function(e,t){return parseInt(e.id)-parseInt(t.id)})},removeSelectedFeature:function(e,t){var n=this;n.features.push(e),n.selected_features.splice(t,1),n.features.sort(function(e,t){return parseInt(e.id)-parseInt(t.id)})},addFormValidations:function(){this.form.validate({ignore:"div.ql-editor",rules:{name:"required",park:"required",campground_type:"required",site_type:"required",street:"required",email:{required:!0,email:!0},telephone:"required",postcode:"required",price_level:"required"},messages:{name:"Enter a campground name",park:"Select a park from the options",campground_type:"Select a campground type from the options",site_type:"Select a site type from the options",price_level:"Select a price level from the options"},showErrors:function(e,t){l.$.each(this.validElements(),function(e,t){(0,l.$)(t).attr("data-original-title","").parents(".form-group").removeClass("has-error")}),(0,l.$)("."+this.settings.validClass).tooltip("destroy");for(var n=0;n.ql-editor").html();e.campground.description=r,e.validateEditor((0,l.$)("#editor"))}),e.form=(0,l.$)("#attForm"),e.addFormValidations(),e.$http.get(l.api_endpoints.contacts).then(function(t){e.contacts=t.body},function(e){console.log(e)})},updated:function(){var e=this,t=!1;null!=e.campground.description&&0==e.editor_updated&&(e.editor.clipboard.dangerouslyPasteHTML(0,e.campground.description,"api"),t=!0),t&&(e.editor_updated=!0)}}},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(15),o=a(r),i=n(57),s=a(i),l=n(46),c=a(l),d=n(224),p=a(d),u=n(24),A=a(u),m=n(464),g=a(m),f=n(225),b=a(f),h=n(465),C=a(h),v=n(475),_=a(v),k=n(7),w=n(4);t.default={name:"campground",components:{datatable:o.default,campgroundAttr:p.default,confirmbox:A.default,pkCsClose:b.default,pkCsOpen:C.default,closureHistory:s.default,priceHistory:c.default,"stay-history":_.default,"bulk-close-campsites":g.default},computed:{closureHistoryURL:function(){return w.api_endpoints.campground_status_history(this.$route.params.id)},priceHistoryURL:function(){return w.api_endpoints.campground_price_history(this.$route.params.id)},ID:function(){return parseInt(this.$route.params.id)},hasCampsites:function(){return this.campsites.length>0},campground_id:function(){return this.campground.id?this.campground.id:0},priceHistoryDeleteURL:function(){return w.api_endpoints.delete_campground_price(this.ID)}},data:function(){var e=this;return{stayHistoryURL:w.api_endpoints.campgroundStayHistory(this.$route.params.id),campground:{address:{},images:[]},campsites:[],isOpenOpenCS:!1,isOpenCloseCS:!1,showBulkCloseCampsites:!1,deleteRange:null,ph_options:{responsive:!0,processing:!0,deferRender:!0,order:[],ajax:{url:w.api_endpoints.campground_price_history(this.$route.params.id),dataSrc:""},columns:[{data:"date_start",mRender:function(e,t,n){return(0,w.Moment)(e).format("DD/MM/YYYY")}},{data:"date_end",mRender:function(e,t,n){return e?(0,w.Moment)(e).add(1,"day").format("DD/MM/YYYY"):""}},{data:"adult"},{data:"concession"},{data:"child"},{data:"details",mRender:function(e,t,n){return e||""}},{data:"editable",mRender:function(e,t,n){if(e){var a=(n.id,'Edit
');return n.deletable&&(a+='Delete'),a=a.replace(/__START__/g,n.date_start),a=a.replace(/__END__/g,n.date_end),a=a.replace(/__RATE__/g,n.rate_id),a=a.replace(/__REASON__/g,n.reason),a=a.replace(/__DETAILS__/g,n.details)}return""}}],language:{processing:""}},title:"Campground",cs_options:{responsive:!0,processing:!0,deferRender:!0,ajax:{url:w.api_endpoints.campgroundCampsites(this.$route.params.id),dataSrc:""},columnDefs:[{responsivePriority:1,targets:0},{responsivePriority:2,targets:3},{responsivePriority:3,targets:1},{responsivePriority:4,targets:2}],columns:[{data:"name"},{data:"type",mRender:function(e,t,n){if(e){return('
'+(e.length>25?e.substring(0,24)+"...":e)+"
").replace("__NAME__",e)}return""}},{data:"active",mRender:function(e,t,n){return e?"Open":"Closed"}},{data:"price"},{mRender:function(e,t,n){var a=n.id;if(n.active){var r="Edit
";n.campground_open&&(r+="Close")}else{var r="Edit
";n.campground_open&&(r+="Open")}return r.replace(/__ID__/g,a)}}],language:{processing:""}},cs_headers:["Name","Type","Status","Price","Action"],deletePrompt:{icon:"",message:"Are you sure you want to Delete ?",buttons:[{text:"Delete",event:"deleteRange",bsColor:"btn-danger",handler:function(){e.deleteBookingRange(e.deleteRange),e.deleteRange=null},autoclose:!0}],id:"deleteRange"}}},methods:{deleteBookingRange:function(e){var t=this,n=w.api_endpoints.campground_booking_ranges_detail(e);w.$.ajax({method:"DELETE",url:n,headers:{"X-CSRFToken":w.helpers.getCookie("csrftoken")}}).done(function(e){t.$refs.cg_closure_dt.vmDataTable.ajax.reload()})},showCloseCS:function(){this.$refs.closeCampsite.isOpen=!0},openCampsite:function(){var e=this,t=e.$refs.openCampsite.formdata;w.$.ajax({url:w.api_endpoints.campsite_booking_ranges_detail(e.$refs.openCampsite.id),method:"PATCH",xhrFields:{withCredentials:!0},data:t,headers:{"X-CSRFToken":w.helpers.getCookie("csrftoken")},dataType:"json",success:function(t,n,a){e.$refs.openCampsite.close(),e.refreshCampsiteClosures()},error:function(t){e.$refs.openCampsite.errors=!0,e.$refs.openCampsite.errorString=w.helpers.apiError(t)}})},closeCampsite:function(){var e=this,t=e.$refs.closeCampsite.formdata;w.$.ajax({url:w.api_endpoints.campsite_booking_ranges(),method:"POST",xhrFields:{withCredentials:!0},data:t,headers:{"X-CSRFToken":w.helpers.getCookie("csrftoken")},dataType:"json",success:function(t,n,a){e.$refs.closeCampsite.close(),e.refreshCampsiteClosures()},error:function(t){e.$refs.closeCampsite.errors=!0,e.$refs.closeCampsite.errorString=w.helpers.apiError(t)}})},bulkCloseCampsites:function(){var e=this,t=e.$refs.bulkCloseCampsites.formdata;console.log(e.$refs.bulkCloseCampsites),console.log(t),w.$.ajax({url:w.api_endpoints.bulk_close_campsites(),method:"POST",xhrFields:{withCredentials:!0},data:t,headers:{"X-CSRFToken":w.helpers.getCookie("csrftoken")},dataType:"json",success:function(t,n,a){e.$refs.bulkCloseCampsites.close(),e.refreshCampsiteClosures()},error:function(t){e.$refs.bulkCloseCampsites.errors=!0,e.$refs.bulkCloseCampsites.errorString=w.helpers.apiError(t)}})},refreshCampsiteClosures:function(e){this.$refs.cg_campsites_dt.vmDataTable.ajax.reload()},showOpenOpenCS:function(){this.$refs.openCampsite.isOpen=!0},fetchCampsites:function(){var e=this;w.$.get(w.api_endpoints.campgroundCampsites(this.$route.params.id),function(t){e.campsites=t})},fetchCampground:function(){var e=this;w.$.ajax({url:w.api_endpoints.campground(e.$route.params.id),dataType:"json",success:function(t,n,a){e.campground=t,e.fetchCampsites(),k.bus.$emit("campgroundFetched")}})}},mounted:function(){var e=this;e.$refs.cg_campsites_dt.vmDataTable.on("click",".detailRoute",function(t){t.preventDefault();var n=(0,w.$)(this).attr("data-campsite");e.$router.push({name:"view_campsite",params:{id:e.campground.id,campsite_id:n}})}),e.$refs.cg_campsites_dt.vmDataTable.on("click",".statusCS",function(t){t.preventDefault();var n=(0,w.$)(this).attr("data-campsite"),a=(0,w.$)(this).attr("data-status"),r=(0,w.$)(this).attr("data-current_closure")?(0,w.$)(this).attr("data-current_closure"):"",o=(0,w.$)(this).attr("data-current_closure_id")?(0,w.$)(this).attr("data-current_closure_id"):"";"open"===a?(e.showOpenOpenCS(),e.$refs.openCampsite.id=o,e.$refs.openCampsite.current_closure=r):"close"===a&&(e.showCloseCS(),e.$refs.closeCampsite.formdata.campsite=n)}),w.helpers.namePopover(w.$,e.$refs.cg_campsites_dt.vmDataTable),e.fetchCampground()}}},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}var r=n(20),o=a(r),i=n(4),s=n(15),l=a(s),c=n(462),d=a(c),p=n(463),u=a(p),A=n(469),m=a(A),g=n(7),f=n(17);e.exports={name:"pk-campgrounds",data:function(){return{grounds:[],rows:[],title:"Campgrounds",selected_status:"All",selected_region:"All",selected_park:"All",selected_district:"All",isOpenAddCampground:!1,isOpenOpenCG:!1,isOpenCloseCG:!1,showBulkClose:!1,dtoptions:{language:{processing:""},responsive:!0,columnDefs:[{responsivePriority:1,targets:0},{responsivePriority:2,targets:3}],ajax:{url:i.api_endpoints.campgrounds_datatable,dataSrc:""},columns:[{data:"name"},{data:"active",mRender:function(e,t,n){var a=1==e?"Open":"Temporarily Closed",r="__Status__";return r+=e?"":"

"+n.current_closure,r.replace("__Status__",a)}},{data:"region"},{data:"district"},{data:"park"},{mRender:function(e,t,n){var a=n.id,r="";if(n.active)var r="Edit
Close ";else var r="Edit
Open";return r+="0"==n.campground_type?"
Add Booking":"",r+="0"==n.campground_type?"
Availability":"",r+="",r=r.replace(/__Current_Closure__/,n.current_closure),r=r.replace(/__Current_Closure_ID__/,n.current_closure_id),r.replace(/__ID__/g,a)}}],processing:!0}}},components:{pkCgClose:d.default,pkCgOpen:u.default,datatable:l.default,"bulk-close":m.default},computed:(0,o.default)({},(0,f.mapGetters)(["regions","districts","parks"])),watch:{showBulkClose:function(){this.$refs.bulkClose.isModalOpen=this.showBulkClose,this.$refs.bulkClose.initSelectTwo()},selected_region:function(){var e=this;"All"!=e.selected_region?e.$refs.dtGrounds.vmDataTable.columns(2).search(e.selected_region).draw():e.$refs.dtGrounds.vmDataTable.columns(2).search("").draw()},selected_status:function(){var e=this;"All"!=e.selected_status?e.$refs.dtGrounds.vmDataTable.columns(1).search(e.selected_status).draw():e.$refs.dtGrounds.vmDataTable.columns(1).search("").draw()},selected_district:function(){var e=this;"All"!=e.selected_district?e.$refs.dtGrounds.vmDataTable.columns(3).search(e.selected_district).draw():e.$refs.dtGrounds.vmDataTable.columns(3).search("").draw()},selected_park:function(){var e=this;"All"!=e.selected_park?e.$refs.dtGrounds.vmDataTable.columns(4).search(e.selected_park).draw():e.$refs.dtGrounds.vmDataTable.columns(4).search("").draw()}},methods:{flagFormat:function(e){return e?"Yes":"No"},update:function(){var e=this,t=i.api_endpoints.regions;i.$.ajax({url:t,dataType:"json",success:function(t,n,a){e.regions=t}})},updateTable:function(){this.$refs.dtGrounds.vmDataTable.draw()},showOpenCloseCG:function(){this.isOpenCloseCG=!0},showOpenOpenCG:function(){this.isOpenOpenCG=!0},openDetail:function(e){this.$router.push({name:"cg_detail",params:{id:e}})},addCampground:function(e){this.$router.push({name:"cg_add"})},fetchRegions:function(){var e=this;0==e.regions.length&&e.$store.dispatch("fetchRegions")},fetchParks:function(){var e=this;0==e.parks.length&&e.$store.dispatch("fetchParks")},fetchDistricts:function(){var e=this;0==e.districts.length&&e.$store.dispatch("fetchDistricts")}},mounted:function(){var e=this;e.$refs.dtGrounds.vmDataTable.on("click",".detailRoute",function(t){t.preventDefault();var n=(0,i.$)(this).attr("data-campground");e.openDetail(n)}),e.$refs.dtGrounds.vmDataTable.on("click",".statusCG",function(t){t.preventDefault();var n=(0,i.$)(this).attr("data-campground"),a=(0,i.$)(this).attr("data-status"),r=(0,i.$)(this).attr("data-current_closure")?(0,i.$)(this).attr("data-current_closure"):"",o=(0,i.$)(this).attr("data-current_closure_id")?(0,i.$)(this).attr("data-current_closure_id"):"";if("open"===a){var s={id:o,closure:r};g.bus.$emit("openCG",s),e.showOpenOpenCG()}else if("close"===a){var s={id:n};g.bus.$emit("closeCG",s),e.showOpenCloseCG()}}),e.$refs.dtGrounds.vmDataTable.on("click",".addBooking",function(t){t.preventDefault();var n=(0,i.$)(this).attr("data-campground");e.$router.push({name:"add-booking",params:{cg:n}})}),g.bus.$on("refreshCGTable",function(){e.$refs.dtGrounds.vmDataTable.ajax.reload()}),e.fetchRegions(),e.fetchParks(),e.fetchDistricts()}}},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}var r=n(8),o=a(r),i=n(7),s=n(4),l=n(6),c=a(l),d=n(12),p=a(d);e.exports={name:"pkCgClose",data:function(){return{status:"",formdata:{campground:"",range_start:"",range_end:"",closure_reason:"",status:"1",details:""},closeStartPicker:"",closeEndPicker:"",errors:!1,errorString:"",form:""}},computed:{showError:function(){return this.errors},isModalOpen:function(){return this.$parent.isOpenCloseCG},requireDetails:function(){return"1"===this.formdata.closure_reason}},components:{bootstrapModal:o.default,alert:c.default,reason:p.default},methods:{close:function(){this.$parent.isOpenCloseCG=!1,this.formdata={campground:"",range_start:"",range_end:"",closure_reason:"",status:"1",details:""},this.$refs.reason.selected=""},addClosure:function(){this.form.valid()&&this.sendData()},sendData:function(){var e=this,t=this.formdata;s.$.ajax({url:s.api_endpoints.campground_booking_ranges(),method:"POST",xhrFields:{withCredentials:!0},data:t,headers:{"X-CSRFToken":s.helpers.getCookie("csrftoken")},dataType:"json",success:function(t,n,a){e.close(),i.bus.$emit("refreshCGTable")},error:function(t){e.errors=!0,e.errorString=s.helpers.apiError(t)}})},addFormValidations:function(){var e=this;this.form.validate({rules:{closure_start:"required",closure_reason:"required",closure_details:{required:{depends:function(t){return e.requireDetails}}}},messages:{closure_start:"Enter a start date",closure_reason:"Select a closure reason from the options",closure_details:"Details required if Other reason is selected"},showErrors:function(e,t){s.$.each(this.validElements(),function(e,t){(0,s.$)(t).attr("data-original-title","").parents(".form-group").removeClass("has-error")}),(0,s.$)("."+this.settings.validClass).tooltip("destroy");for(var n=0;nEdit
');return n.deletable&&(a+='Delete'),a=a.replace(/__START__/g,n.date_start),a=a.replace(/__END__/g,n.date_end),a=a.replace(/__RATE__/g,n.rate_id),a=a.replace(/__REASON__/g,n.reason),a=a.replace(/__DETAILS__/g,n.details)}return""}}],language:{processing:""}}}},watch:{selected_features:{handler:function(){var e=this;this.campsite_type.features=[],i.$.each(e.selected_features,function(t,n){e.campsite_type.features.push(n.url)})},deep:!0}},methods:{goBack:function(){i.helpers.goBack(this)},loadFeatures:function(){var e=this,t=i.api_endpoints.features;i.$.ajax({url:t,dataType:"json",headers:{"X-CSRFToken":i.helpers.getCookie("csrftoken")},success:function(t,n,a){e.features=t}})},addCampsiteType:function(){this.sendData(i.api_endpoints.campsite_classes,"POST")},updateCampsiteType:function(){this.sendData(i.api_endpoints.campsite_class(this.campsite_type.id),"PUT")},fetchCampsiteType:function(){var e=this;i.$.ajax({url:i.api_endpoints.campsite_class(e.$route.params.campsite_type_id),method:"GET",xhrFields:{withCredentials:!0},dataType:"json",headers:{"X-CSRFToken":i.helpers.getCookie("csrftoken")},success:function(t,n,a){e.campsite_type=t,e.$refs.select_features.loadSelectedFeatures(t.features)},error:function(t){404==t.status&&e.$router.push({name:"404"})}})},sendData:function(e,t){var n=this;n.isLoading=!0;var a=n.campsite_type;i.$.ajax({beforeSend:function(e){e.setRequestHeader("Content-Type","application/json"),e.setRequestHeader("Accept","application/json")},xhrFields:{withCredentials:!0},url:e,headers:{"X-CSRFToken":i.helpers.getCookie("csrftoken")},method:t,data:(0,o.default)(a),success:function(e){n.campsite=e,setTimeout(function(){n.isLoading=!1},500)}})}},mounted:function(){var e=this;e.loadFeatures(),e.$route.params.campsite_type_id&&(e.createCampsiteType=!1,e.fetchCampsiteType())}}},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),o=n(15),i=a(o),s=n(24),l=a(s),c=n(16),d=(a(c),n(57)),p=(a(d),n(46));a(p);t.default={name:"campsite",components:{datatable:i.default,confirmbox:l.default},computed:{},data:function(){var e=this;return{selected_status:"All",deleteCampsiteType:null,deleteCampsiteTypePrompt:{icon:"",message:"Are you sure you want to Delete this campsite type",buttons:[{text:"Delete",event:"delete",bsColor:"btn-danger",handler:function(){e.deleteCampsiteTypeRecord(e.deleteCampsiteType),e.deleteCampsiteType=null},autoclose:!0}],id:"deleteCampsiteType"},dt_headers:["Name","Status","Action"],dt_options:{language:{processing:""},responsive:!0,processing:!0,columnDefs:[{responsivePriority:1,targets:0},{responsivePriority:2,targets:1},{responsivePriority:3,targets:2}],ajax:{url:r.api_endpoints.campsite_classes,dataSrc:""},columns:[{data:"name",mRender:function(e,t,n){return("
120?"class='name_popover'":"")+'tabindex="0" data-toggle="popover" data-placement="top" data-content="__NAME__" >'+(e.length>120?e.substring(0,119)+"...":e)+"
").replace("__NAME__",e)}},{data:"deleted",mRender:function(e,t,n){return"__Status__".replace("__Status__",e?"Deleted":"Active")}},{mRender:function(e,t,n){n.id;if(!n.deleted){var a=" Edit
";return a+=" Delete ",a.replace(/__ID__/g,n.id)}return""}}]}}},watch:{selected_status:function(){var e=this;"All"!=e.selected_status?e.$refs.campsite_type_table.vmDataTable.columns(1).search(e.selected_status).draw():e.$refs.campsite_type_table.vmDataTable.columns(1).search("").draw()}},methods:{deleteCampsiteTypeRecord:function(e){var t=this,n=r.api_endpoints.campsite_class(e);r.$.ajax({method:"DELETE",url:n,headers:{"X-CSRFToken":r.helpers.getCookie("csrftoken")}}).done(function(e){t.$refs.campsite_type_table.vmDataTable.ajax.reload()})},goBack:function(){r.helpers.goBack(this)},attachTableEventListeners:function(){var e=this;e.$refs.campsite_type_table.vmDataTable.on("click",".detailRoute",function(t){t.preventDefault();var n=(0,r.$)(this).data("campsite-type");e.$router.push({name:"campsite-type-detail",params:{campsite_type_id:n}})}),e.$refs.campsite_type_table.vmDataTable.on("click",".deleteCT",function(t){t.preventDefault();var n=(0,r.$)(this).data("campsite-type");e.deleteCampsiteType=n,r.bus.$emit("showAlert","deleteCampsiteType")})}},mounted:function(){var e=this;r.helpers.namePopover(r.$,e.$refs.campsite_type_table.vmDataTable),e.attachTableEventListeners()}}},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(14),o=a(r),i=n(4),s=n(15),l=a(s),c=n(467),d=a(c),p=n(227),u=a(p),A=n(226),m=a(A),g=n(6),f=a(g),b=n(225),h=a(b),C=n(24),v=a(C),_=n(16),k=a(_),w=(n(7),n(57)),B=a(w),x=n(46),y=a(x);t.default={name:"campsite",components:{editor:m.default,datatable:l.default,"select-panel":u.default,alert:f.default,pkCsClose:h.default,confirmbox:v.default,closureHistory:B.default,priceHistory:y.default,stayHistory:d.default,loader:k.default},computed:{closureHistoryURL:function(){return i.api_endpoints.campsite_status_history(this.$route.params.campsite_id)},stayHistoryURL:function(){return i.api_endpoints.campsites_stay_history},myID:function(){return parseInt(this.$route.params.campsite_id)},canAddRate:function(){return!!this.campsite.can_add_rate&&this.campsite.can_add_rate},showName:function(){return this.createCampsite&&1==this.campsite.number||!this.createCampsite}},data:function(){return{isLoading:!1,createCampsite:!0,temp_campsite:{},campground:{},campsite:{number:1,campsite_class:"",tent:!1,description:"",campervan:!1,caravan:!1,min_people:"",max_people:"",max_vehicles:""},campsite_classes:[],ph_options:{responsive:!0,processing:!0,deferRender:!0,ajax:{url:i.api_endpoints.campsites_price_history(this.$route.params.campsite_id),dataSrc:""},columns:[{data:"date_start",mRender:function(e,t,n){return(0,i.Moment)(e).format("DD/MM/YYYY")}},{data:"date_end",mRender:function(e,t,n){return e?(0,i.Moment)(e).add(1,"day").format("DD/MM/YYYY"):""}},{data:"adult"},{data:"concession"},{data:"child"},{data:"details",mRender:function(e,t,n){return e||""}},{data:"editable",mRender:function(e,t,n){if(e&&2==n.update_level){var a=(n.id,"Edit
");return n.deletable&&(a+="Delete"),a=a.replace(/__ID__/g,n.id)}return""}}],language:{processing:""}}}},methods:{selected_campsite_class_url:function(){return null!=this.campsite.campsite_class?this.campsite.campsite_class:""},onCampsiteClassChange:function(){var e=this;if(e.campsite_classes.length>0&&e.selected_campsite_class_url()){var t=e.campsite_classes.find(function(t){return t.url==e.campsite.campsite_class});t&&(e.campsite.tent=t.tent,e.campsite.caravan=t.caravan,e.campsite.campervan=t.campervan,e.campsite.max_people=t.max_people,e.campsite.min_people=t.min_people,e.campsite.description=t.description,e.campsite.max_vehicles=t.max_vehicles,e.$refs.descriptionEditor.updateContent(e.campsite.description))}},showCloseCS:function(){var e=this.campsite.id;this.$refs.closeCampsite.id=e,this.$refs.closeCampsite.isOpen=!0},fetchCampsite:function(){var e=this;i.$.ajax({url:i.api_endpoints.campsite(e.$route.params.campsite_id),method:"GET",xhrFields:{withCredentials:!0},dataType:"json",success:function(t,n,a){var r=setInterval(function(){e.campsite_classes.length>0&&(e.temp_campsite=t,e.campsite=JSON.parse((0,o.default)(t)),t.campsite_class&&e.onCampsiteClassChange(),clearInterval(r))},100)},error:function(t){404==t.status&&e.$router.push({name:"404"})}})},fetchCampground:function(){var e=this;i.$.get(i.api_endpoints.campground(e.$route.params.id),function(t){e.campground=t,e.campsite.campground=t.url})},fetchCampsiteClasses:function(){var e=this;i.$.get(i.api_endpoints.campsite_classes_active,function(t){e.campsite_classes=t})},goBack:function(){i.helpers.goBack(this)},addCampsite:function(){this.sendData(i.api_endpoints.campsites,"POST")},updateCampsite:function(){this.sendData(i.api_endpoints.campsite(this.$route.params.campsite_id),"PUT")},sendData:function(e,t){var n=this;n.isLoading=!0;var a=n.campsite;i.$.ajax({beforeSend:function(e){e.setRequestHeader("Content-Type","application/json"),e.setRequestHeader("Accept","application/json")},xhrFields:{withCredentials:!0},url:e,method:t,data:(0,o.default)(a),headers:{"X-CSRFToken":i.helpers.getCookie("csrftoken")},success:function(e){Array.isArray(e)&&(e=e[e.length-1]),n.temp_campsite=e,n.campsite=JSON.parse((0,o.default)(e)),e.campsite_class&&n.onCampsiteClassChange(),setTimeout(function(){n.isLoading=!1},500)}})}},mounted:function(){var e=this;e.form=document.forms.campsiteForm,e.fetchCampsiteClasses(),e.fetchCampground(),e.$route.params.campsite_id&&(e.createCampsite=!1,e.fetchCampsite())}}},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}var r=n(8),o=a(r),i=n(12),s=a(i),l=(n(7),n(4)),c=n(6),d=a(c);e.exports={name:"bulkCloseCampsites",props:["campsites","show"],data:function(){return{id:"",current_closure:"",reason:"",formdata:{status:1,range_start:"",range_end:"",closure_reason:"",details:"",campsites:[]},closeStartPicker:"",closeEndPicker:"",errors:!1,errorString:"",form:""}},computed:{showError:function(){return this.errors},requireDetails:function(){return"1"===this.formdata.closure_reason},isModalOpen:function(){return!0}},components:{bootstrapModal:o.default,alert:d.default,reason:s.default},watch:{reason:function(){this.formdata.closure_reason=this.reason}},methods:{addClosure:function(){this.form.valid()&&this.$emit("bulkCloseCampsites")},close:function(){this.$emit("close")},initSelectTwo:function(){var e=this;setTimeout(function(){(0,l.$)("#bcs-campsites").select2({theme:"bootstrap",allowClear:!0,placeholder:"Select campsites",tags:!1}).on("select2:select",function(t){e.formdata.campsites=(0,l.$)(t.currentTarget).val()}).on("select2:unselect",function(t){e.formdata.campsites=(0,l.$)(t.currentTarget).val()})},100)},addFormValidations:function(){var e=this;this.form.validate({rules:{closure_start:"required",closure_reason:"required",closure_details:{required:{depends:function(t){return e.requireDetails}}}},messages:{closure_start:"Enter a start date",closure_reason:"Select a closure reason from the options",closure_details:"Details required if Other reason is selected"},showErrors:function(e,t){l.$.each(this.validElements(),function(e,t){(0,l.$)(t).attr("data-original-title","").parents(".form-group").removeClass("has-error")}),(0,l.$)("."+this.settings.validClass).tooltip("destroy");for(var n=0;n