(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{422:function(t,e,i){t.exports=i(431)},431:function(t,e,i){"use strict";i.r(e);var n=i(17),s=i(39),a=i(22),r=i(38),o=i(40),c=i(7),l=i(41),d={name:"Edit",created:function(){var t=window.location.pathname.split("/");this.groupId=parseInt(t[t.length-1]),this.getTransactionGroup(),this.getAllowedOpposingTypes(),this.getCustomFields()},data:function(){return{successMessage:"",errorMessage:"",transactions:[],originalTransactions:[],groupTitle:"",originalGroupTitle:"",transactionType:"any",groupId:0,groupTitleErrors:[],customFields:{},returnedGroupId:0,returnedGroupTitle:"",date:new Date,time:new Date,originalDate:new Date,originalTime:new Date,submittedTransaction:!1,submittedLinks:!1,submittedAttachments:!1,allowedOpposingTypes:{},destinationAllowedTypes:[],sourceAllowedTypes:[],enableSubmit:!0,createAnother:!1,resetFormAfter:!1}},components:{Alert:s.a,SplitPills:a.a,SplitForm:r.a,TransactionGroupTitle:o.a},methods:{getTransactionGroup:function(){var t=this;axios.get("./api/v1/transactions/"+this.groupId).then((function(e){t.parseTransactionGroup(e.data)})).catch((function(t){}))},parseTransactionGroup:function(t){var e=t.data.attributes,i=e.transactions.reverse();for(var n in this.groupTitle=e.group_title,this.originalGroupTitle=e.group_title,i)if(i.hasOwnProperty(n)&&/^0$|^[1-9]\d*$/.test(n)&&n<=4294967294){var s=this.parseTransaction(parseInt(n),i[n]);this.transactions.push(s),this.originalTransactions.push(l(s)),this.parseLinks(parseInt(s.transaction_journal_id),parseInt(n))}},parseTransaction:function(t,e){var i;0===t&&(this.transactionType=e.type.charAt(0).toUpperCase()+e.type.slice(1),this.sourceAllowedTypes=[e.source_type],this.destinationAllowedTypes=[e.destination_type],this.date=new Date(e.date),this.time=new Date(e.date),this.originalDate=new Date(e.date),this.originalTime=new Date(e.date));var n=Object(c.b)();return n.description=e.description,n.transaction_journal_id=parseInt(e.transaction_journal_id),n.source_account_id=e.source_id,n.source_account_name=e.source_name,n.source_account_type=e.source_type,n.destination_account_id=e.destination_id,n.destination_account_name=e.destination_name,n.destination_account_type=e.destination_type,n.amount=e.amount,n.currency_id=e.currency_id,n.foreign_amount=e.foreign_amount,n.foreign_currency_id=e.foreign_currency_id,n.category=e.category_name,n.budget_id=e.budget_id,n.bill_id=null!==(i=e.bill_id)&&void 0!==i?i:0,n.tags=e.tags,n.interest_date=e.interest_date?e.interest_date.substr(0,10):"",n.book_date=e.book_date?e.book_date.substr(0,10):"",n.process_date=e.process_date?e.process_date.substr(0,10):"",n.due_date=e.due_date?e.due_date.substr(0,10):"",n.payment_date=e.payment_date?e.payment_date.substr(0,10):"",n.invoice_date=e.invoice_date?e.invoice_date.substr(0,10):"",n.internal_reference=e.internal_reference,n.external_url=e.external_uri,n.external_id=e.external_id,n.notes=e.notes,n.location={zoom_level:e.zoom_level,longitude:e.longitude,latitude:e.latitude},n.zoom_level=e.zoom_level,n.longitude=e.longitude,n.latitude=e.latitude,n.errors=Object(c.a)(),n},parseLinks:function(t,e){var i=this;axios.get("./api/v1/transaction-journals/"+t+"/links").then((function(n){var s=n.data.data;for(var a in s)s.hasOwnProperty(a)&&/^0$|^[1-9]\d*$/.test(a)&&a<=4294967294&&i.parseLink(s[a],t,e)}))},parseLink:function(t,e,i){var n=this,s=[],a=parseInt(t.attributes.inward_id),r="inward";a===e&&(a=parseInt(t.attributes.outward_id),r="outward"),s.push(new Promise((function(n){n({link:t,journalId:e,opposingId:a,index:i,direction:r})}))),s.push(axios.get("./api/v1/transaction-journals/"+a)),s.push(axios.get("./api/v1/transaction_links/"+t.attributes.link_type_id)),Promise.all(s).then((function(e){var i=e[1].data.data.attributes.transactions,s=e[0].opposingId,a={};for(var r in i)i.hasOwnProperty(r)&&/^0$|^[1-9]\d*$/.test(r)&&r<=4294967294&&i[r].transaction_journal_id===s&&(a=i[r]);var o=e[0].index,c=e[0].direction,l=e[2].data.data.id,d={id:t.id,link_type_id:l+"-"+c,transaction_group_id:e[1].data.data.id,transaction_journal_id:a.transaction_journal_id,description:a.description,type:a.type,currency_code:a.currency_code,amount:a.amount};n.transactions[o].links.push(d),n.originalTransactions[o].links.push(d)}))},getAllowedOpposingTypes:function(){var t=this;axios.get("./api/v1/configuration/firefly.allowed_opposing_types").then((function(e){t.allowedOpposingTypes=e.data.data.value}))},getCustomFields:function(){var t=this;axios.get("./api/v1/preferences/transaction_journal_optional_fields").then((function(e){t.customFields=e.data.data.attributes.data}))},uploadedAttachment:function(t){console.log("event: uploadedAttachment"),console.log(t)},storeLocation:function(t){this.transactions[t.index].zoom_level=t.zoomLevel,this.transactions[t.index].longitude=t.lng,this.transactions[t.index].latitude=t.lat},storeAccountValue:function(t){var e=t.direction,i=t.index;this.transactions[i][e+"_account_id"]=t.id,this.transactions[i][e+"_account_type"]=t.type,this.transactions[i][e+"_account_name"]=t.name},storeDate:function(t){this.date=t.date},storeTime:function(t){this.time=t.time},storeField:function(t){var e=t.field;"category"===e&&(e="category_name"),this.transactions[t.index][e]=t.value},removeTransaction:function(t){this.transactions.splice(t.index,1),this.originalTransactions=[]},storeGroupTitle:function(t){this.groupTitle=t},selectedAttachments:function(t){for(var e in this.transactions)this.transactions.hasOwnProperty(e)&&/^0$|^[1-9]\d*$/.test(e)&&e<=4294967294&&parseInt(this.transactions[e].transaction_journal_id)===parseInt(t)&&(this.transactions[e].selectedAttachments=!0)},addTransaction:function(){var t=Object(c.b)();t.errors=Object(c.a)(),this.transactions.push(t)},submitTransaction:function(){var t={transactions:[]},e=!1,i=!1,n=!1;this.groupTitle!==this.originalGroupTitle&&(t.group_title=this.groupTitle,e=!0);var s=this.originalTransactions.length;for(var a in this.transactions)if(this.transactions.hasOwnProperty(a)&&/^0$|^[1-9]\d*$/.test(a)&&a<=4294967294){var r=this.transactions[a],o=this.originalTransactions.hasOwnProperty(a)?this.originalTransactions[a]:{},d={},u=["description","source_account_id","source_account_name","destination_account_id","destination_account_name","amount","foreign_amount","foreign_currency_id","category_name","budget_id","bill_id","interest_date","book_date","due_date","payment_date","invoice_date","external_url","internal_reference","external_id","notes","zoom_level","longitude","latitude"];for(var p in u)if(u.hasOwnProperty(p)&&/^0$|^[1-9]\d*$/.test(p)&&p<=4294967294){var _=u[p];r[_]!==o[_]&&(d[_]=r[_],e=!0)}0!==r.piggy_bank_id&&(d.piggy_bank_id=r.piggy_bank_id,e=!0),JSON.stringify(r.tags)!==JSON.stringify(o.tags)&&(d.tags=r.tags,e=!0),this.compareLinks(r.links)!==this.compareLinks(o.links)&&(i=!0),void 0!==r.selectedAttachments&&!0===r.selectedAttachments&&(n=!0);var h="invalid";if(this.date.toISOString()!==this.originalDate.toISOString()||this.time.toISOString()!==this.originalTime.toISOString()){e=!0;var g=this.date;g.setHours(this.time.getHours()),g.setMinutes(this.time.getMinutes()),g.setSeconds(this.time.getSeconds()),h=Object(c.c)(g),t.date=h}(0===Object.keys(d).length&&s>1||0!==Object.keys(d).length)&&(d.transaction_journal_id=o.transaction_journal_id,t.transactions.push(l(d)),e=!0)}console.log("submitTransaction"),console.log(n),console.log(i),console.log(e),e&&this.submitUpdate(t,i,n),!e&&i&&this.submitTransactionLinks()},compareLinks:function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&/^0$|^[1-9]\d*$/.test(i)&&i<=4294967294&&e.push({amount:t[i].amount,currency_code:t[i].currency_code,description:t[i].description,link_type_id:t[i].link_type_id,transaction_group_id:t[i].transaction_group_id,type:t[i].type});return JSON.stringify(e)},submitUpdate:function(t,e,i){var n=this;console.log("submitUpdate");var s="./api/v1/transactions/"+this.groupId;console.log(t),axios.put(s,t).then((function(t){console.log("Response is OK!"),n.submittedTransaction=!0,e&&(console.log("Need to update links."),n.submitTransactionLinks()),e||console.log("No need to update links.")})).catch((function(t){console.log("error :("),console.log(t.response.data),n.enableSubmit=!0,n.submittedTransaction=!0,n.submittedAttachments=!0,n.submittedLinks=!0,n.inError=!0,n.parseErrors(t.response.data)}))},parseErrors:function(t){for(var e in this.transactions)this.transactions.hasOwnProperty(e)&&/^0$|^[1-9]\d*$/.test(e)&&e<=4294967294&&this.resetErrors({index:e});var i,n,s;for(var a in this.successMessage="",this.errorMessage=this.$t("firefly.errors_submission"),void 0===t.errors&&(this.successMessage="",this.errorMessage=t.message),t.errors)if(t.errors.hasOwnProperty(a)){if("group_title"===a){this.groupTitleErrors=t.errors[a];continue}if("group_title"!==a)switch(n=parseInt(a.split(".")[1]),s=a.split(".")[2]){case"amount":case"description":case"date":case"tags":i={index:n,field:s,errors:t.errors[a]},this.setTransactionError(i);break;case"budget_id":i={index:n,field:"budget",errors:t.errors[a]},this.setTransactionError(i);break;case"bill_id":i={index:n,field:"bill",errors:t.errors[a]},this.setTransactionError(i);break;case"piggy_bank_id":i={index:n,field:"piggy_bank",errors:t.errors[a]},this.setTransactionError(i);break;case"category_name":i={index:n,field:"category",errors:t.errors[a]},this.setTransactionError(i);break;case"source_name":case"source_id":i={index:n,field:"source",errors:t.errors[a]},this.setTransactionError(i);break;case"destination_name":case"destination_id":i={index:n,field:"destination",errors:t.errors[a]},this.setTransactionError(i);break;case"foreign_amount":case"foreign_currency":i={index:n,field:"foreign_amount",errors:t.errors[a]},this.setTransactionError(i)}this.transactions[n]}},setTransactionError:function(t){this.transactions[t.index].errors[t.field]=t.errors},resetErrors:function(t){this.transactions[t.index].errors=l(Object(c.a)())},deleteOriginalLinks:function(t){for(var e in console.log(t.links),t.links)if(t.links.hasOwnProperty(e)&&/^0$|^[1-9]\d*$/.test(e)&&e<=4294967294){var i="/api/v1/transaction_links/"+t.links[e].id;axios.delete(i).then((function(t){}))}},submitTransactionLinks:function(){var t=[];for(var e in console.log("submitTransactionLinks()"),this.transactions)if(this.transactions.hasOwnProperty(e)&&/^0$|^[1-9]\d*$/.test(e)&&e<=4294967294){var i=this.transactions[e],n=this.originalTransactions.hasOwnProperty(e)?this.originalTransactions[e]:{},s=this.compareLinks(i.links),a=this.compareLinks(n.links);if(s!==a)for(var r in"[]"!==a&&this.deleteOriginalLinks(n),console.log("links are different!"),i.links)if(i.links.hasOwnProperty(r)&&/^0$|^[1-9]\d*$/.test(r)&&r<=4294967294){var o=i.links[r],c={inward_id:i.transaction_journal_id,outward_id:i.transaction_journal_id,link_type_id:"something"},l=o.link_type_id.split("-");c.link_type_id=l[0],"inward"===l[1]&&(c.inward_id=o.transaction_journal_id),"outward"===l[1]&&(c.outward_id=o.transaction_journal_id),console.log(c),t.push(axios.post("./api/v1/transaction_links",c).then((function(t){})))}}}}},u=i(1),p=Object(u.a)(d,(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("Alert",{attrs:{message:t.errorMessage,type:"danger"}}),t._v(" "),i("Alert",{attrs:{message:t.successMessage,type:"success"}}),t._v(" "),i("SplitPills",{attrs:{transactions:t.transactions}}),t._v(" "),i("div",{staticClass:"tab-content"},t._l(this.transactions,(function(e,n){return i("SplitForm",{key:n,attrs:{count:t.transactions.length,transaction:e,"allowed-opposing-types":t.allowedOpposingTypes,"custom-fields":t.customFields,date:t.date,time:t.time,index:n,"transaction-type":t.transactionType,"destination-allowed-types":t.destinationAllowedTypes,"source-allowed-types":t.sourceAllowedTypes,"allow-switch":!1,"submitted-transaction":t.submittedTransaction},on:{"uploaded-attachments":function(e){return t.uploadedAttachment(e)},"set-marker-location":function(e){return t.storeLocation(e)},"set-account":function(e){return t.storeAccountValue(e)},"set-date":function(e){return t.storeDate(e)},"set-time":function(e){return t.storeTime(e)},"set-field":function(e){return t.storeField(e)},"remove-transaction":function(e){return t.removeTransaction(e)},"selected-attachments":function(e){return t.selectedAttachments(e)}}})})),1),t._v(" "),i("div",{staticClass:"row"},[i("div",{staticClass:"col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12"},[t.transactions.length>1?i("div",{staticClass:"card"},[i("div",{staticClass:"card-body"},[i("div",{staticClass:"row"},[i("div",{staticClass:"col"},[i("TransactionGroupTitle",{attrs:{errors:this.groupTitleErrors},on:{"set-group-title":function(e){return t.storeGroupTitle(e)}},model:{value:this.groupTitle,callback:function(e){t.$set(this,"groupTitle",e)},expression:"this.groupTitle"}})],1)])])]):t._e()]),t._v(" "),i("div",{staticClass:"col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12"},[i("div",{staticClass:"card"},[i("div",{staticClass:"card-body"},[i("div",{staticClass:"row"},[i("div",{staticClass:"col"},[i("div",{staticClass:"text-xs d-none d-lg-block d-xl-block"},[t._v("\n  \n ")]),t._v(" "),i("button",{staticClass:"btn btn-outline-primary btn-block",on:{click:t.addTransaction}},[i("i",{staticClass:"far fa-clone"}),t._v(" "+t._s(t.$t("firefly.add_another_split"))+"\n ")])]),t._v(" "),i("div",{staticClass:"col"},[i("div",{staticClass:"text-xs d-none d-lg-block d-xl-block"},[t._v("\n  \n ")]),t._v(" "),i("button",{staticClass:"btn btn-info btn-block",attrs:{disabled:!t.enableSubmit},on:{click:t.submitTransaction}},[t.enableSubmit?i("span",[i("i",{staticClass:"far fa-save"}),t._v(" "+t._s(t.$t("firefly.update_transaction")))]):t._e(),t._v(" "),t.enableSubmit?t._e():i("span",[i("i",{staticClass:"fas fa-spinner fa-spin"})])])])]),t._v(" "),i("div",{staticClass:"row"},[i("div",{staticClass:"col"},[t._v("\n  \n ")]),t._v(" "),i("div",{staticClass:"col"},[i("div",{staticClass:"form-check"},[i("input",{directives:[{name:"model",rawName:"v-model",value:t.createAnother,expression:"createAnother"}],staticClass:"form-check-input",attrs:{id:"createAnother",type:"checkbox"},domProps:{checked:Array.isArray(t.createAnother)?t._i(t.createAnother,null)>-1:t.createAnother},on:{change:function(e){var i=t.createAnother,n=e.target,s=!!n.checked;if(Array.isArray(i)){var a=t._i(i,null);n.checked?a<0&&(t.createAnother=i.concat([null])):a>-1&&(t.createAnother=i.slice(0,a).concat(i.slice(a+1)))}else t.createAnother=s}}}),t._v(" "),i("label",{staticClass:"form-check-label",attrs:{for:"createAnother"}},[i("span",{staticClass:"small"},[t._v(t._s(t.$t("firefly.after_update_create_another")))])])])])])])])])])],1)}),[],!1,null,"248bc324",null).exports,_=i(2),h=i.n(_);i(16),h.a.config.productionTip=!1;var g=i(19),f={};new h.a({i18n:g,store:n.a,render:function(t){return t(p,{props:f})},beforeCreate:function(){this.$store.commit("initialiseStore"),this.$store.dispatch("updateCurrencyPreference")}}).$mount("#transactions_edit")}},[[422,0,1]]]); //# sourceMappingURL=edit.js.map