From e1f4cd7565182adf29fef9bca4d2a6b2cf6da896 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 23 Jul 2020 19:40:10 +0200 Subject: [PATCH] Fix #3187 --- .../V1/Requests/TransactionStoreRequest.php | 2 + .../V1/Requests/TransactionUpdateRequest.php | 2 + app/Factory/TransactionJournalFactory.php | 2 +- .../Controllers/PreferencesController.php | 3 +- .../Internal/Update/JournalUpdateService.php | 2 +- .../TransactionGroupTransformer.php | 3 +- public/v1/js/app.js | 2 +- public/v1/js/app_vue.js | 2 +- public/v1/js/create_transaction.js | 2 +- public/v1/js/edit_transaction.js | 2 +- public/v1/js/profile.js | 2 +- .../transactions/CreateTransaction.vue | 5 +- .../transactions/CustomTransactionFields.vue | 12 ++- .../js/components/transactions/CustomUri.vue | 77 +++++++++++++++++++ .../transactions/EditTransaction.vue | 14 +++- resources/assets/js/create_transaction.js | 2 + resources/assets/js/edit_transaction.js | 2 + resources/assets/js/locales/cs.json | 1 + resources/assets/js/locales/de.json | 1 + resources/assets/js/locales/el.json | 1 + resources/assets/js/locales/en.json | 1 + resources/assets/js/locales/es.json | 1 + resources/assets/js/locales/fi.json | 1 + resources/assets/js/locales/fr.json | 1 + resources/assets/js/locales/hu.json | 1 + resources/assets/js/locales/id.json | 1 + resources/assets/js/locales/it.json | 1 + resources/assets/js/locales/nb.json | 1 + resources/assets/js/locales/nl.json | 1 + resources/assets/js/locales/pl.json | 1 + resources/assets/js/locales/pt-br.json | 1 + resources/assets/js/locales/ro.json | 1 + resources/assets/js/locales/ru.json | 1 + resources/assets/js/locales/sv.json | 1 + resources/assets/js/locales/tr.json | 1 + resources/assets/js/locales/vi.json | 1 + resources/assets/js/locales/zh-cn.json | 1 + resources/assets/js/locales/zh-tw.json | 1 + resources/lang/cs_CZ/firefly.php | 2 + resources/lang/cs_CZ/list.php | 1 + resources/lang/de_DE/firefly.php | 2 + resources/lang/de_DE/list.php | 1 + resources/lang/el_GR/firefly.php | 2 + resources/lang/el_GR/list.php | 1 + resources/lang/en_GB/firefly.php | 2 + resources/lang/en_GB/list.php | 1 + resources/lang/en_US/firefly.php | 2 + resources/lang/en_US/list.php | 1 + resources/lang/es_ES/firefly.php | 2 + resources/lang/es_ES/list.php | 1 + resources/lang/fi_FI/firefly.php | 2 + resources/lang/fi_FI/list.php | 1 + resources/lang/fr_FR/firefly.php | 2 + resources/lang/fr_FR/list.php | 1 + resources/lang/hu_HU/firefly.php | 2 + resources/lang/hu_HU/list.php | 1 + resources/lang/id_ID/firefly.php | 2 + resources/lang/id_ID/list.php | 1 + resources/lang/it_IT/firefly.php | 2 + resources/lang/it_IT/list.php | 1 + resources/lang/nb_NO/firefly.php | 2 + resources/lang/nb_NO/list.php | 1 + resources/lang/nl_NL/firefly.php | 2 + resources/lang/nl_NL/list.php | 1 + resources/lang/pl_PL/firefly.php | 2 + resources/lang/pl_PL/list.php | 1 + resources/lang/pt_BR/firefly.php | 2 + resources/lang/pt_BR/list.php | 1 + resources/lang/ro_RO/firefly.php | 2 + resources/lang/ro_RO/list.php | 1 + resources/lang/ru_RU/firefly.php | 2 + resources/lang/ru_RU/list.php | 1 + resources/lang/sv_SE/firefly.php | 2 + resources/lang/sv_SE/list.php | 1 + resources/lang/tr_TR/firefly.php | 2 + resources/lang/tr_TR/list.php | 1 + resources/lang/vi_VN/firefly.php | 2 + resources/lang/vi_VN/list.php | 1 + resources/lang/zh_CN/firefly.php | 2 + resources/lang/zh_CN/list.php | 1 + resources/lang/zh_TW/firefly.php | 2 + resources/lang/zh_TW/list.php | 1 + resources/views/v1/preferences/index.twig | 1 + resources/views/v1/transactions/show.twig | 20 ++++- yarn.lock | 12 +-- 85 files changed, 233 insertions(+), 23 deletions(-) create mode 100644 resources/assets/js/components/transactions/CustomUri.vue diff --git a/app/Api/V1/Requests/TransactionStoreRequest.php b/app/Api/V1/Requests/TransactionStoreRequest.php index 6160397114..2ed203bc07 100644 --- a/app/Api/V1/Requests/TransactionStoreRequest.php +++ b/app/Api/V1/Requests/TransactionStoreRequest.php @@ -140,6 +140,7 @@ class TransactionStoreRequest extends FormRequest 'transactions.*.external_id' => 'min:1,max:255|nullable', 'transactions.*.recurrence_id' => 'min:1,max:255|nullable', 'transactions.*.bunq_payment_id' => 'min:1,max:255|nullable', + 'transactions.*.external_uri' => 'min:1,max:255|nullable|url', // SEPA fields: 'transactions.*.sepa_cc' => 'min:1,max:255|nullable', @@ -273,6 +274,7 @@ class TransactionStoreRequest extends FormRequest 'original_source' => sprintf('ff3-v%s|api-v%s', config('firefly.version'), config('firefly.api_version')), 'recurrence_id' => $this->integerFromValue($object['recurrence_id']), 'bunq_payment_id' => $this->stringFromValue((string) $object['bunq_payment_id']), + 'external_uri' => $this->stringFromValue((string) $object['external_uri']), 'sepa_cc' => $this->stringFromValue($object['sepa_cc']), 'sepa_ct_op' => $this->stringFromValue($object['sepa_ct_op']), diff --git a/app/Api/V1/Requests/TransactionUpdateRequest.php b/app/Api/V1/Requests/TransactionUpdateRequest.php index fbcc68e43e..30782ba423 100644 --- a/app/Api/V1/Requests/TransactionUpdateRequest.php +++ b/app/Api/V1/Requests/TransactionUpdateRequest.php @@ -129,6 +129,7 @@ class TransactionUpdateRequest extends FormRequest 'sepa_ep', 'sepa_ci', 'sepa_batch_id', + 'external_uri' ]; $this->booleanFields = [ 'reconciled', @@ -206,6 +207,7 @@ class TransactionUpdateRequest extends FormRequest 'transactions.*.external_id' => 'min:1,max:255|nullable', 'transactions.*.recurrence_id' => 'min:1,max:255|nullable', 'transactions.*.bunq_payment_id' => 'min:1,max:255|nullable', + 'transactions.*.external_uri' => 'min:1,max:255|nullable|url', // SEPA fields: 'transactions.*.sepa_cc' => 'min:1,max:255|nullable', diff --git a/app/Factory/TransactionJournalFactory.php b/app/Factory/TransactionJournalFactory.php index 6fbd5b8b72..ca6f010fb0 100644 --- a/app/Factory/TransactionJournalFactory.php +++ b/app/Factory/TransactionJournalFactory.php @@ -92,7 +92,7 @@ class TransactionJournalFactory // sepa 'sepa_cc', 'sepa_ct_op', 'sepa_ct_id', 'sepa_db', 'sepa_country', 'sepa_ep', - 'sepa_ci', 'sepa_batch_id', + 'sepa_ci', 'sepa_batch_id', 'external_uri', // dates 'interest_date', 'book_date', 'process_date', diff --git a/app/Http/Controllers/PreferencesController.php b/app/Http/Controllers/PreferencesController.php index 709a868e59..c5c8a1b9f8 100644 --- a/app/Http/Controllers/PreferencesController.php +++ b/app/Http/Controllers/PreferencesController.php @@ -68,7 +68,7 @@ class PreferencesController extends Controller { $accounts = $repository->getAccountsByType([AccountType::DEFAULT, AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE]); $isDocker = env('IS_DOCKER', false); - + // group accounts $groupedAccounts = []; /** @var Account $account */ @@ -206,6 +206,7 @@ class PreferencesController extends Controller 'internal_reference' => isset($setOptions['internal_reference']), 'notes' => isset($setOptions['notes']), 'attachments' => isset($setOptions['attachments']), + 'external_uri' => isset($setOptions['external_uri']), ]; app('preferences')->set('transaction_journal_optional_fields', $optionalTj); diff --git a/app/Services/Internal/Update/JournalUpdateService.php b/app/Services/Internal/Update/JournalUpdateService.php index a8746201c8..ea1d8d86bb 100644 --- a/app/Services/Internal/Update/JournalUpdateService.php +++ b/app/Services/Internal/Update/JournalUpdateService.php @@ -93,7 +93,7 @@ class JournalUpdateService $this->accountRepository = app(AccountRepositoryInterface::class); $this->currencyRepository = app(CurrencyRepositoryInterface::class); $this->metaString = ['sepa_cc', 'sepa_ct_op', 'sepa_ct_id', 'sepa_db', 'sepa_country', 'sepa_ep', 'sepa_ci', 'sepa_batch_id', 'recurrence_id', - 'internal_reference', 'bunq_payment_id', 'external_id',]; + 'internal_reference', 'bunq_payment_id', 'external_id', 'external_uri']; $this->metaDate = ['interest_date', 'book_date', 'process_date', 'due_date', 'payment_date', 'invoice_date',]; } diff --git a/app/Transformers/TransactionGroupTransformer.php b/app/Transformers/TransactionGroupTransformer.php index 4eaf8bae6a..a6fe5573d5 100644 --- a/app/Transformers/TransactionGroupTransformer.php +++ b/app/Transformers/TransactionGroupTransformer.php @@ -60,7 +60,7 @@ class TransactionGroupTransformer extends AbstractTransformer $this->metaFields = [ 'sepa_cc', 'sepa_ct_op', 'sepa_ct_id', 'sepa_db', 'sepa_country', 'sepa_ep', 'sepa_ci', 'sepa_batch_id', 'internal_reference', 'bunq_payment_id', 'import_hash_v2', - 'recurrence_id', 'external_id', 'original_source', + 'recurrence_id', 'external_id', 'original_source', 'external_uri' ]; $this->metaDateFields = ['interest_date', 'book_date', 'process_date', 'due_date', 'payment_date', 'invoice_date']; @@ -500,6 +500,7 @@ class TransactionGroupTransformer extends AbstractTransformer 'original_source' => $metaFieldData['original_source'], 'recurrence_id' => $metaFieldData['recurrence_id'], 'bunq_payment_id' => $metaFieldData['bunq_payment_id'], + 'external_uri' => $metaFieldData['external_uri'], 'import_hash_v2' => $metaFieldData['import_hash_v2'], 'sepa_cc' => $metaFieldData['sepa_cc'], diff --git a/public/v1/js/app.js b/public/v1/js/app.js index e179698448..6be782e2cf 100644 --- a/public/v1/js/app.js +++ b/public/v1/js/app.js @@ -1,2 +1,2 @@ /*! For license information please see app.js.LICENSE.txt */ -!function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=74)}({74:function(t,e,n){t.exports=n(75)},75:function(t,e,n){try{window.$=window.jQuery=n(76),n(77)}catch(t){}},76:function(t,e,n){var i;!function(e,n){"use strict";"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,(function(n,o){"use strict";var r=[],s=Object.getPrototypeOf,a=r.slice,l=r.flat?function(t){return r.flat.call(t)}:function(t){return r.concat.apply([],t)},u=r.push,c=r.indexOf,f={},p=f.toString,d=f.hasOwnProperty,h=d.toString,g=h.call(Object),v={},m=function(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function(t){return null!=t&&t===t.window},b=n.document,x={type:!0,src:!0,nonce:!0,noModule:!0};function w(t,e,n){var i,o,r=(n=n||b).createElement("script");if(r.text=t,e)for(i in x)(o=e[i]||e.getAttribute&&e.getAttribute(i))&&r.setAttribute(i,o);n.head.appendChild(r).parentNode.removeChild(r)}function T(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?f[p.call(t)]||"object":typeof t}var C=function(t,e){return new C.fn.init(t,e)};function E(t){var e=!!t&&"length"in t&&t.length,n=T(t);return!m(t)&&!y(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}C.fn=C.prototype={jquery:"3.5.1",constructor:C,length:0,toArray:function(){return a.call(this)},get:function(t){return null==t?a.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=C.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return C.each(this,t)},map:function(t){return this.pushStack(C.map(this,(function(e,n){return t.call(e,n,e)})))},slice:function(){return this.pushStack(a.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(C.grep(this,(function(t,e){return(e+1)%2})))},odd:function(){return this.pushStack(C.grep(this,(function(t,e){return e%2})))},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n+~]|"+P+")"+P+"*"),z=new RegExp(P+"|>"),V=new RegExp(F),Q=new RegExp("^"+H+"$"),X={ID:new RegExp("^#("+H+")"),CLASS:new RegExp("^\\.("+H+")"),TAG:new RegExp("^("+H+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:new RegExp("^(?:"+q+")$","i"),needsContext:new RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},G=/HTML$/i,Y=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,tt=/[+~]/,et=new RegExp("\\\\[\\da-fA-F]{1,6}"+P+"?|\\\\([^\\r\\n\\f])","g"),nt=function(t,e){var n="0x"+t.slice(1)-65536;return e||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},it=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ot=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},rt=function(){p()},st=xt((function(t){return!0===t.disabled&&"fieldset"===t.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{I.apply(N=L.call(w.childNodes),w.childNodes),N[w.childNodes.length].nodeType}catch(t){I={apply:N.length?function(t,e){O.apply(t,L.call(e))}:function(t,e){for(var n=t.length,i=0;t[n++]=e[i++];);t.length=n-1}}}function at(t,e,i,o){var r,a,u,c,f,h,m,y=e&&e.ownerDocument,w=e?e.nodeType:9;if(i=i||[],"string"!=typeof t||!t||1!==w&&9!==w&&11!==w)return i;if(!o&&(p(e),e=e||d,g)){if(11!==w&&(f=Z.exec(t)))if(r=f[1]){if(9===w){if(!(u=e.getElementById(r)))return i;if(u.id===r)return i.push(u),i}else if(y&&(u=y.getElementById(r))&&b(e,u)&&u.id===r)return i.push(u),i}else{if(f[2])return I.apply(i,e.getElementsByTagName(t)),i;if((r=f[3])&&n.getElementsByClassName&&e.getElementsByClassName)return I.apply(i,e.getElementsByClassName(r)),i}if(n.qsa&&!$[t+" "]&&(!v||!v.test(t))&&(1!==w||"object"!==e.nodeName.toLowerCase())){if(m=t,y=e,1===w&&(z.test(t)||U.test(t))){for((y=tt.test(t)&&mt(e.parentNode)||e)===e&&n.scope||((c=e.getAttribute("id"))?c=c.replace(it,ot):e.setAttribute("id",c=x)),a=(h=s(t)).length;a--;)h[a]=(c?"#"+c:":scope")+" "+bt(h[a]);m=h.join(",")}try{return I.apply(i,y.querySelectorAll(m)),i}catch(e){$(t,!0)}finally{c===x&&e.removeAttribute("id")}}}return l(t.replace(B,"$1"),e,i,o)}function lt(){var t=[];return function e(n,o){return t.push(n+" ")>i.cacheLength&&delete e[t.shift()],e[n+" "]=o}}function ut(t){return t[x]=!0,t}function ct(t){var e=d.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function ft(t,e){for(var n=t.split("|"),o=n.length;o--;)i.attrHandle[n[o]]=e}function pt(t,e){var n=e&&t,i=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function dt(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function ht(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function gt(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&st(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function vt(t){return ut((function(e){return e=+e,ut((function(n,i){for(var o,r=t([],n.length,e),s=r.length;s--;)n[o=r[s]]&&(n[o]=!(i[o]=n[o]))}))}))}function mt(t){return t&&void 0!==t.getElementsByTagName&&t}for(e in n=at.support={},r=at.isXML=function(t){var e=t.namespaceURI,n=(t.ownerDocument||t).documentElement;return!G.test(e||n&&n.nodeName||"HTML")},p=at.setDocument=function(t){var e,o,s=t?t.ownerDocument||t:w;return s!=d&&9===s.nodeType&&s.documentElement?(h=(d=s).documentElement,g=!r(d),w!=d&&(o=d.defaultView)&&o.top!==o&&(o.addEventListener?o.addEventListener("unload",rt,!1):o.attachEvent&&o.attachEvent("onunload",rt)),n.scope=ct((function(t){return h.appendChild(t).appendChild(d.createElement("div")),void 0!==t.querySelectorAll&&!t.querySelectorAll(":scope fieldset div").length})),n.attributes=ct((function(t){return t.className="i",!t.getAttribute("className")})),n.getElementsByTagName=ct((function(t){return t.appendChild(d.createComment("")),!t.getElementsByTagName("*").length})),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ct((function(t){return h.appendChild(t).id=x,!d.getElementsByName||!d.getElementsByName(x).length})),n.getById?(i.filter.ID=function(t){var e=t.replace(et,nt);return function(t){return t.getAttribute("id")===e}},i.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n=e.getElementById(t);return n?[n]:[]}}):(i.filter.ID=function(t){var e=t.replace(et,nt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},i.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n,i,o,r=e.getElementById(t);if(r){if((n=r.getAttributeNode("id"))&&n.value===t)return[r];for(o=e.getElementsByName(t),i=0;r=o[i++];)if((n=r.getAttributeNode("id"))&&n.value===t)return[r]}return[]}}),i.find.TAG=n.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):n.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,i=[],o=0,r=e.getElementsByTagName(t);if("*"===t){for(;n=r[o++];)1===n.nodeType&&i.push(n);return i}return r},i.find.CLASS=n.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&g)return e.getElementsByClassName(t)},m=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ct((function(t){var e;h.appendChild(t).innerHTML="",t.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+P+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||v.push("\\["+P+"*(?:value|"+q+")"),t.querySelectorAll("[id~="+x+"-]").length||v.push("~="),(e=d.createElement("input")).setAttribute("name",""),t.appendChild(e),t.querySelectorAll("[name='']").length||v.push("\\["+P+"*name"+P+"*="+P+"*(?:''|\"\")"),t.querySelectorAll(":checked").length||v.push(":checked"),t.querySelectorAll("a#"+x+"+*").length||v.push(".#.+[+~]"),t.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")})),ct((function(t){t.innerHTML="";var e=d.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&v.push("name"+P+"*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),v.push(",.*:")}))),(n.matchesSelector=K.test(y=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ct((function(t){n.disconnectedMatch=y.call(t,"*"),y.call(t,"[s!='']:x"),m.push("!=",F)})),v=v.length&&new RegExp(v.join("|")),m=m.length&&new RegExp(m.join("|")),e=K.test(h.compareDocumentPosition),b=e||K.test(h.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,i=e&&e.parentNode;return t===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):t.compareDocumentPosition&&16&t.compareDocumentPosition(i)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},A=e?function(t,e){if(t===e)return f=!0,0;var i=!t.compareDocumentPosition-!e.compareDocumentPosition;return i||(1&(i=(t.ownerDocument||t)==(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!n.sortDetached&&e.compareDocumentPosition(t)===i?t==d||t.ownerDocument==w&&b(w,t)?-1:e==d||e.ownerDocument==w&&b(w,e)?1:c?R(c,t)-R(c,e):0:4&i?-1:1)}:function(t,e){if(t===e)return f=!0,0;var n,i=0,o=t.parentNode,r=e.parentNode,s=[t],a=[e];if(!o||!r)return t==d?-1:e==d?1:o?-1:r?1:c?R(c,t)-R(c,e):0;if(o===r)return pt(t,e);for(n=t;n=n.parentNode;)s.unshift(n);for(n=e;n=n.parentNode;)a.unshift(n);for(;s[i]===a[i];)i++;return i?pt(s[i],a[i]):s[i]==w?-1:a[i]==w?1:0},d):d},at.matches=function(t,e){return at(t,null,null,e)},at.matchesSelector=function(t,e){if(p(t),n.matchesSelector&&g&&!$[e+" "]&&(!m||!m.test(e))&&(!v||!v.test(e)))try{var i=y.call(t,e);if(i||n.disconnectedMatch||t.document&&11!==t.document.nodeType)return i}catch(t){$(e,!0)}return at(e,d,null,[t]).length>0},at.contains=function(t,e){return(t.ownerDocument||t)!=d&&p(t),b(t,e)},at.attr=function(t,e){(t.ownerDocument||t)!=d&&p(t);var o=i.attrHandle[e.toLowerCase()],r=o&&D.call(i.attrHandle,e.toLowerCase())?o(t,e,!g):void 0;return void 0!==r?r:n.attributes||!g?t.getAttribute(e):(r=t.getAttributeNode(e))&&r.specified?r.value:null},at.escape=function(t){return(t+"").replace(it,ot)},at.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},at.uniqueSort=function(t){var e,i=[],o=0,r=0;if(f=!n.detectDuplicates,c=!n.sortStable&&t.slice(0),t.sort(A),f){for(;e=t[r++];)e===t[r]&&(o=i.push(r));for(;o--;)t.splice(i[o],1)}return c=null,t},o=at.getText=function(t){var e,n="",i=0,r=t.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=o(t)}else if(3===r||4===r)return t.nodeValue}else for(;e=t[i++];)n+=o(e);return n},(i=at.selectors={cacheLength:50,createPseudo:ut,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(et,nt),t[3]=(t[3]||t[4]||t[5]||"").replace(et,nt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||at.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&at.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return X.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&V.test(n)&&(e=s(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(et,nt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=E[t+" "];return e||(e=new RegExp("(^|"+P+")"+t+"("+P+"|$)"))&&E(t,(function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")}))},ATTR:function(t,e,n){return function(i){var o=at.attr(i,t);return null==o?"!="===e:!e||(o+="","="===e?o===n:"!="===e?o!==n:"^="===e?n&&0===o.indexOf(n):"*="===e?n&&o.indexOf(n)>-1:"$="===e?n&&o.slice(-n.length)===n:"~="===e?(" "+o.replace(W," ")+" ").indexOf(n)>-1:"|="===e&&(o===n||o.slice(0,n.length+1)===n+"-"))}},CHILD:function(t,e,n,i,o){var r="nth"!==t.slice(0,3),s="last"!==t.slice(-4),a="of-type"===e;return 1===i&&0===o?function(t){return!!t.parentNode}:function(e,n,l){var u,c,f,p,d,h,g=r!==s?"nextSibling":"previousSibling",v=e.parentNode,m=a&&e.nodeName.toLowerCase(),y=!l&&!a,b=!1;if(v){if(r){for(;g;){for(p=e;p=p[g];)if(a?p.nodeName.toLowerCase()===m:1===p.nodeType)return!1;h=g="only"===t&&!h&&"nextSibling"}return!0}if(h=[s?v.firstChild:v.lastChild],s&&y){for(b=(d=(u=(c=(f=(p=v)[x]||(p[x]={}))[p.uniqueID]||(f[p.uniqueID]={}))[t]||[])[0]===T&&u[1])&&u[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(b=d=0)||h.pop();)if(1===p.nodeType&&++b&&p===e){c[t]=[T,d,b];break}}else if(y&&(b=d=(u=(c=(f=(p=e)[x]||(p[x]={}))[p.uniqueID]||(f[p.uniqueID]={}))[t]||[])[0]===T&&u[1]),!1===b)for(;(p=++d&&p&&p[g]||(b=d=0)||h.pop())&&((a?p.nodeName.toLowerCase()!==m:1!==p.nodeType)||!++b||(y&&((c=(f=p[x]||(p[x]={}))[p.uniqueID]||(f[p.uniqueID]={}))[t]=[T,b]),p!==e)););return(b-=o)===i||b%i==0&&b/i>=0}}},PSEUDO:function(t,e){var n,o=i.pseudos[t]||i.setFilters[t.toLowerCase()]||at.error("unsupported pseudo: "+t);return o[x]?o(e):o.length>1?(n=[t,t,"",e],i.setFilters.hasOwnProperty(t.toLowerCase())?ut((function(t,n){for(var i,r=o(t,e),s=r.length;s--;)t[i=R(t,r[s])]=!(n[i]=r[s])})):function(t){return o(t,0,n)}):o}},pseudos:{not:ut((function(t){var e=[],n=[],i=a(t.replace(B,"$1"));return i[x]?ut((function(t,e,n,o){for(var r,s=i(t,null,o,[]),a=t.length;a--;)(r=s[a])&&(t[a]=!(e[a]=r))})):function(t,o,r){return e[0]=t,i(e,null,r,n),e[0]=null,!n.pop()}})),has:ut((function(t){return function(e){return at(t,e).length>0}})),contains:ut((function(t){return t=t.replace(et,nt),function(e){return(e.textContent||o(e)).indexOf(t)>-1}})),lang:ut((function(t){return Q.test(t||"")||at.error("unsupported lang: "+t),t=t.replace(et,nt).toLowerCase(),function(e){var n;do{if(n=g?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}})),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===h},focus:function(t){return t===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:gt(!1),disabled:gt(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!i.pseudos.empty(t)},header:function(t){return J.test(t.nodeName)},input:function(t){return Y.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:vt((function(){return[0]})),last:vt((function(t,e){return[e-1]})),eq:vt((function(t,e,n){return[n<0?n+e:n]})),even:vt((function(t,e){for(var n=0;ne?e:n;--i>=0;)t.push(i);return t})),gt:vt((function(t,e,n){for(var i=n<0?n+e:n;++i1?function(e,n,i){for(var o=t.length;o--;)if(!t[o](e,n,i))return!1;return!0}:t[0]}function Tt(t,e,n,i,o){for(var r,s=[],a=0,l=t.length,u=null!=e;a-1&&(r[u]=!(s[u]=f))}}else m=Tt(m===s?m.splice(h,m.length):m),o?o(null,s,m,l):I.apply(s,m)}))}function Et(t){for(var e,n,o,r=t.length,s=i.relative[t[0].type],a=s||i.relative[" "],l=s?1:0,c=xt((function(t){return t===e}),a,!0),f=xt((function(t){return R(e,t)>-1}),a,!0),p=[function(t,n,i){var o=!s&&(i||n!==u)||((e=n).nodeType?c(t,n,i):f(t,n,i));return e=null,o}];l1&&wt(p),l>1&&bt(t.slice(0,l-1).concat({value:" "===t[l-2].type?"*":""})).replace(B,"$1"),n,l0,o=t.length>0,r=function(r,s,a,l,c){var f,h,v,m=0,y="0",b=r&&[],x=[],w=u,C=r||o&&i.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,S=C.length;for(c&&(u=s==d||s||c);y!==S&&null!=(f=C[y]);y++){if(o&&f){for(h=0,s||f.ownerDocument==d||(p(f),a=!g);v=t[h++];)if(v(f,s||d,a)){l.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&m--,r&&b.push(f))}if(m+=y,n&&y!==m){for(h=0;v=e[h++];)v(b,x,s,a);if(r){if(m>0)for(;y--;)b[y]||x[y]||(x[y]=j.call(l));x=Tt(x)}I.apply(l,x),c&&!r&&x.length>0&&m+e.length>1&&at.uniqueSort(l)}return c&&(T=E,u=w),b};return n?ut(r):r}(r,o))).selector=t}return a},l=at.select=function(t,e,n,o){var r,l,u,c,f,p="function"==typeof t&&t,d=!o&&s(t=p.selector||t);if(n=n||[],1===d.length){if((l=d[0]=d[0].slice(0)).length>2&&"ID"===(u=l[0]).type&&9===e.nodeType&&g&&i.relative[l[1].type]){if(!(e=(i.find.ID(u.matches[0].replace(et,nt),e)||[])[0]))return n;p&&(e=e.parentNode),t=t.slice(l.shift().value.length)}for(r=X.needsContext.test(t)?0:l.length;r--&&(u=l[r],!i.relative[c=u.type]);)if((f=i.find[c])&&(o=f(u.matches[0].replace(et,nt),tt.test(l[0].type)&&mt(e.parentNode)||e))){if(l.splice(r,1),!(t=o.length&&bt(l)))return I.apply(n,o),n;break}}return(p||a(t,d))(o,e,!g,n,!e||tt.test(t)&&mt(e.parentNode)||e),n},n.sortStable=x.split("").sort(A).join("")===x,n.detectDuplicates=!!f,p(),n.sortDetached=ct((function(t){return 1&t.compareDocumentPosition(d.createElement("fieldset"))})),ct((function(t){return t.innerHTML="","#"===t.firstChild.getAttribute("href")}))||ft("type|href|height|width",(function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)})),n.attributes&&ct((function(t){return t.innerHTML="",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")}))||ft("value",(function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue})),ct((function(t){return null==t.getAttribute("disabled")}))||ft(q,(function(t,e,n){var i;if(!n)return!0===t[e]?e.toLowerCase():(i=t.getAttributeNode(e))&&i.specified?i.value:null})),at}(n);C.find=S,C.expr=S.selectors,C.expr[":"]=C.expr.pseudos,C.uniqueSort=C.unique=S.uniqueSort,C.text=S.getText,C.isXMLDoc=S.isXML,C.contains=S.contains,C.escapeSelector=S.escape;var k=function(t,e,n){for(var i=[],o=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(o&&C(t).is(n))break;i.push(t)}return i},$=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},A=C.expr.match.needsContext;function D(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(t,e,n){return m(e)?C.grep(t,(function(t,i){return!!e.call(t,i,t)!==n})):e.nodeType?C.grep(t,(function(t){return t===e!==n})):"string"!=typeof e?C.grep(t,(function(t){return c.call(e,t)>-1!==n})):C.filter(e,t,n)}C.filter=function(t,e,n){var i=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===i.nodeType?C.find.matchesSelector(i,t)?[i]:[]:C.find.matches(t,C.grep(e,(function(t){return 1===t.nodeType})))},C.fn.extend({find:function(t){var e,n,i=this.length,o=this;if("string"!=typeof t)return this.pushStack(C(t).filter((function(){for(e=0;e1?C.uniqueSort(n):n},filter:function(t){return this.pushStack(j(this,t||[],!1))},not:function(t){return this.pushStack(j(this,t||[],!0))},is:function(t){return!!j(this,"string"==typeof t&&A.test(t)?C(t):t||[],!1).length}});var O,I=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(C.fn.init=function(t,e,n){var i,o;if(!t)return this;if(n=n||O,"string"==typeof t){if(!(i="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:I.exec(t))||!i[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(i[1]){if(e=e instanceof C?e[0]:e,C.merge(this,C.parseHTML(i[1],e&&e.nodeType?e.ownerDocument||e:b,!0)),N.test(i[1])&&C.isPlainObject(e))for(i in e)m(this[i])?this[i](e[i]):this.attr(i,e[i]);return this}return(o=b.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):m(t)?void 0!==n.ready?n.ready(t):t(C):C.makeArray(t,this)}).prototype=C.fn,O=C(b);var L=/^(?:parents|prev(?:Until|All))/,R={children:!0,contents:!0,next:!0,prev:!0};function q(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}C.fn.extend({has:function(t){var e=C(t,this),n=e.length;return this.filter((function(){for(var t=0;t-1:1===n.nodeType&&C.find.matchesSelector(n,t))){r.push(n);break}return this.pushStack(r.length>1?C.uniqueSort(r):r)},index:function(t){return t?"string"==typeof t?c.call(C(t),this[0]):c.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(C.uniqueSort(C.merge(this.get(),C(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),C.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return k(t,"parentNode")},parentsUntil:function(t,e,n){return k(t,"parentNode",n)},next:function(t){return q(t,"nextSibling")},prev:function(t){return q(t,"previousSibling")},nextAll:function(t){return k(t,"nextSibling")},prevAll:function(t){return k(t,"previousSibling")},nextUntil:function(t,e,n){return k(t,"nextSibling",n)},prevUntil:function(t,e,n){return k(t,"previousSibling",n)},siblings:function(t){return $((t.parentNode||{}).firstChild,t)},children:function(t){return $(t.firstChild)},contents:function(t){return null!=t.contentDocument&&s(t.contentDocument)?t.contentDocument:(D(t,"template")&&(t=t.content||t),C.merge([],t.childNodes))}},(function(t,e){C.fn[t]=function(n,i){var o=C.map(this,e,n);return"Until"!==t.slice(-5)&&(i=n),i&&"string"==typeof i&&(o=C.filter(i,o)),this.length>1&&(R[t]||C.uniqueSort(o),L.test(t)&&o.reverse()),this.pushStack(o)}}));var P=/[^\x20\t\r\n\f]+/g;function H(t){return t}function M(t){throw t}function F(t,e,n,i){var o;try{t&&m(o=t.promise)?o.call(t).done(e).fail(n):t&&m(o=t.then)?o.call(t,e,n):e.apply(void 0,[t].slice(i))}catch(t){n.apply(void 0,[t])}}C.Callbacks=function(t){t="string"==typeof t?function(t){var e={};return C.each(t.match(P)||[],(function(t,n){e[n]=!0})),e}(t):C.extend({},t);var e,n,i,o,r=[],s=[],a=-1,l=function(){for(o=o||t.once,i=e=!0;s.length;a=-1)for(n=s.shift();++a-1;)r.splice(n,1),n<=a&&a--})),this},has:function(t){return t?C.inArray(t,r)>-1:r.length>0},empty:function(){return r&&(r=[]),this},disable:function(){return o=s=[],r=n="",this},disabled:function(){return!r},lock:function(){return o=s=[],n||e||(r=n=""),this},locked:function(){return!!o},fireWith:function(t,n){return o||(n=[t,(n=n||[]).slice?n.slice():n],s.push(n),e||l()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!i}};return u},C.extend({Deferred:function(t){var e=[["notify","progress",C.Callbacks("memory"),C.Callbacks("memory"),2],["resolve","done",C.Callbacks("once memory"),C.Callbacks("once memory"),0,"resolved"],["reject","fail",C.Callbacks("once memory"),C.Callbacks("once memory"),1,"rejected"]],i="pending",o={state:function(){return i},always:function(){return r.done(arguments).fail(arguments),this},catch:function(t){return o.then(null,t)},pipe:function(){var t=arguments;return C.Deferred((function(n){C.each(e,(function(e,i){var o=m(t[i[4]])&&t[i[4]];r[i[1]]((function(){var t=o&&o.apply(this,arguments);t&&m(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[i[0]+"With"](this,o?[t]:arguments)}))})),t=null})).promise()},then:function(t,i,o){var r=0;function s(t,e,i,o){return function(){var a=this,l=arguments,u=function(){var n,u;if(!(t=r&&(i!==M&&(a=void 0,l=[n]),e.rejectWith(a,l))}};t?c():(C.Deferred.getStackHook&&(c.stackTrace=C.Deferred.getStackHook()),n.setTimeout(c))}}return C.Deferred((function(n){e[0][3].add(s(0,n,m(o)?o:H,n.notifyWith)),e[1][3].add(s(0,n,m(t)?t:H)),e[2][3].add(s(0,n,m(i)?i:M))})).promise()},promise:function(t){return null!=t?C.extend(t,o):o}},r={};return C.each(e,(function(t,n){var s=n[2],a=n[5];o[n[1]]=s.add,a&&s.add((function(){i=a}),e[3-t][2].disable,e[3-t][3].disable,e[0][2].lock,e[0][3].lock),s.add(n[3].fire),r[n[0]]=function(){return r[n[0]+"With"](this===r?void 0:this,arguments),this},r[n[0]+"With"]=s.fireWith})),o.promise(r),t&&t.call(r,r),r},when:function(t){var e=arguments.length,n=e,i=Array(n),o=a.call(arguments),r=C.Deferred(),s=function(t){return function(n){i[t]=this,o[t]=arguments.length>1?a.call(arguments):n,--e||r.resolveWith(i,o)}};if(e<=1&&(F(t,r.done(s(n)).resolve,r.reject,!e),"pending"===r.state()||m(o[n]&&o[n].then)))return r.then();for(;n--;)F(o[n],s(n),r.reject);return r.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;C.Deferred.exceptionHook=function(t,e){n.console&&n.console.warn&&t&&W.test(t.name)&&n.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},C.readyException=function(t){n.setTimeout((function(){throw t}))};var B=C.Deferred();function _(){b.removeEventListener("DOMContentLoaded",_),n.removeEventListener("load",_),C.ready()}C.fn.ready=function(t){return B.then(t).catch((function(t){C.readyException(t)})),this},C.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--C.readyWait:C.isReady)||(C.isReady=!0,!0!==t&&--C.readyWait>0||B.resolveWith(b,[C]))}}),C.ready.then=B.then,"complete"===b.readyState||"loading"!==b.readyState&&!b.documentElement.doScroll?n.setTimeout(C.ready):(b.addEventListener("DOMContentLoaded",_),n.addEventListener("load",_));var U=function(t,e,n,i,o,r,s){var a=0,l=t.length,u=null==n;if("object"===T(n))for(a in o=!0,n)U(t,e,a,n[a],!0,r,s);else if(void 0!==i&&(o=!0,m(i)||(s=!0),u&&(s?(e.call(t,i),e=null):(u=e,e=function(t,e,n){return u.call(C(t),n)})),e))for(;a1,null,!0)},removeData:function(t){return this.each((function(){K.remove(this,t)}))}}),C.extend({queue:function(t,e,n){var i;if(t)return e=(e||"fx")+"queue",i=J.get(t,e),n&&(!i||Array.isArray(n)?i=J.access(t,e,C.makeArray(n)):i.push(n)),i||[]},dequeue:function(t,e){e=e||"fx";var n=C.queue(t,e),i=n.length,o=n.shift(),r=C._queueHooks(t,e);"inprogress"===o&&(o=n.shift(),i--),o&&("fx"===e&&n.unshift("inprogress"),delete r.stop,o.call(t,(function(){C.dequeue(t,e)}),r)),!i&&r&&r.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return J.get(t,n)||J.access(t,n,{empty:C.Callbacks("once memory").add((function(){J.remove(t,[e+"queue",n])}))})}}),C.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length\x20\t\r\n\f]*)/i,mt=/^$|^module$|\/(?:java|ecma)script/i;dt=b.createDocumentFragment().appendChild(b.createElement("div")),(ht=b.createElement("input")).setAttribute("type","radio"),ht.setAttribute("checked","checked"),ht.setAttribute("name","t"),dt.appendChild(ht),v.checkClone=dt.cloneNode(!0).cloneNode(!0).lastChild.checked,dt.innerHTML="",v.noCloneChecked=!!dt.cloneNode(!0).lastChild.defaultValue,dt.innerHTML="",v.option=!!dt.lastChild;var yt={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function bt(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&D(t,e)?C.merge([t],n):n}function xt(t,e){for(var n=0,i=t.length;n",""]);var wt=/<|&#?\w+;/;function Tt(t,e,n,i,o){for(var r,s,a,l,u,c,f=e.createDocumentFragment(),p=[],d=0,h=t.length;d-1)o&&o.push(r);else if(u=st(r),s=bt(f.appendChild(r),"script"),u&&xt(s),n)for(c=0;r=s[c++];)mt.test(r.type||"")&&n.push(r);return f}var Ct=/^key/,Et=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,St=/^([^.]*)(?:\.(.+)|)/;function kt(){return!0}function $t(){return!1}function At(t,e){return t===function(){try{return b.activeElement}catch(t){}}()==("focus"===e)}function Dt(t,e,n,i,o,r){var s,a;if("object"==typeof e){for(a in"string"!=typeof n&&(i=i||n,n=void 0),e)Dt(t,a,n,i,e[a],r);return t}if(null==i&&null==o?(o=n,i=n=void 0):null==o&&("string"==typeof n?(o=i,i=void 0):(o=i,i=n,n=void 0)),!1===o)o=$t;else if(!o)return t;return 1===r&&(s=o,(o=function(t){return C().off(t),s.apply(this,arguments)}).guid=s.guid||(s.guid=C.guid++)),t.each((function(){C.event.add(this,e,o,i,n)}))}function Nt(t,e,n){n?(J.set(t,e,!1),C.event.add(t,e,{namespace:!1,handler:function(t){var i,o,r=J.get(this,e);if(1&t.isTrigger&&this[e]){if(r.length)(C.event.special[e]||{}).delegateType&&t.stopPropagation();else if(r=a.call(arguments),J.set(this,e,r),i=n(this,e),this[e](),r!==(o=J.get(this,e))||i?J.set(this,e,!1):o={},r!==o)return t.stopImmediatePropagation(),t.preventDefault(),o.value}else r.length&&(J.set(this,e,{value:C.event.trigger(C.extend(r[0],C.Event.prototype),r.slice(1),this)}),t.stopImmediatePropagation())}})):void 0===J.get(t,e)&&C.event.add(t,e,kt)}C.event={global:{},add:function(t,e,n,i,o){var r,s,a,l,u,c,f,p,d,h,g,v=J.get(t);if(G(t))for(n.handler&&(n=(r=n).handler,o=r.selector),o&&C.find.matchesSelector(rt,o),n.guid||(n.guid=C.guid++),(l=v.events)||(l=v.events=Object.create(null)),(s=v.handle)||(s=v.handle=function(e){return void 0!==C&&C.event.triggered!==e.type?C.event.dispatch.apply(t,arguments):void 0}),u=(e=(e||"").match(P)||[""]).length;u--;)d=g=(a=St.exec(e[u])||[])[1],h=(a[2]||"").split(".").sort(),d&&(f=C.event.special[d]||{},d=(o?f.delegateType:f.bindType)||d,f=C.event.special[d]||{},c=C.extend({type:d,origType:g,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&C.expr.match.needsContext.test(o),namespace:h.join(".")},r),(p=l[d])||((p=l[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,i,h,s)||t.addEventListener&&t.addEventListener(d,s)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,c):p.push(c),C.event.global[d]=!0)},remove:function(t,e,n,i,o){var r,s,a,l,u,c,f,p,d,h,g,v=J.hasData(t)&&J.get(t);if(v&&(l=v.events)){for(u=(e=(e||"").match(P)||[""]).length;u--;)if(d=g=(a=St.exec(e[u])||[])[1],h=(a[2]||"").split(".").sort(),d){for(f=C.event.special[d]||{},p=l[d=(i?f.delegateType:f.bindType)||d]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=r=p.length;r--;)c=p[r],!o&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||i&&i!==c.selector&&("**"!==i||!c.selector)||(p.splice(r,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(t,c));s&&!p.length&&(f.teardown&&!1!==f.teardown.call(t,h,v.handle)||C.removeEvent(t,d,v.handle),delete l[d])}else for(d in l)C.event.remove(t,d+e[u],n,i,!0);C.isEmptyObject(l)&&J.remove(t,"handle events")}},dispatch:function(t){var e,n,i,o,r,s,a=new Array(arguments.length),l=C.event.fix(t),u=(J.get(this,"events")||Object.create(null))[l.type]||[],c=C.event.special[l.type]||{};for(a[0]=l,e=1;e=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==t.type||!0!==u.disabled)){for(r=[],s={},n=0;n-1:C.find(o,this,null,[u]).length),s[o]&&r.push(i);r.length&&a.push({elem:u,handlers:r})}return u=this,l\s*$/g;function Lt(t,e){return D(t,"table")&&D(11!==e.nodeType?e:e.firstChild,"tr")&&C(t).children("tbody")[0]||t}function Rt(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function qt(t){return"true/"===(t.type||"").slice(0,5)?t.type=t.type.slice(5):t.removeAttribute("type"),t}function Pt(t,e){var n,i,o,r,s,a;if(1===e.nodeType){if(J.hasData(t)&&(a=J.get(t).events))for(o in J.remove(e,"handle events"),a)for(n=0,i=a[o].length;n1&&"string"==typeof h&&!v.checkClone&&Ot.test(h))return t.each((function(o){var r=t.eq(o);g&&(e[0]=h.call(this,o,r.html())),Mt(r,e,n,i)}));if(p&&(r=(o=Tt(e,t[0].ownerDocument,!1,t,i)).firstChild,1===o.childNodes.length&&(o=r),r||i)){for(a=(s=C.map(bt(o,"script"),Rt)).length;f0&&xt(s,!l&&bt(t,"script")),a},cleanData:function(t){for(var e,n,i,o=C.event.special,r=0;void 0!==(n=t[r]);r++)if(G(n)){if(e=n[J.expando]){if(e.events)for(i in e.events)o[i]?C.event.remove(n,i):C.removeEvent(n,i,e.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),C.fn.extend({detach:function(t){return Ft(this,t,!0)},remove:function(t){return Ft(this,t)},text:function(t){return U(this,(function(t){return void 0===t?C.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)}))}),null,t,arguments.length)},append:function(){return Mt(this,arguments,(function(t){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Lt(this,t).appendChild(t)}))},prepend:function(){return Mt(this,arguments,(function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=Lt(this,t);e.insertBefore(t,e.firstChild)}}))},before:function(){return Mt(this,arguments,(function(t){this.parentNode&&this.parentNode.insertBefore(t,this)}))},after:function(){return Mt(this,arguments,(function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)}))},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(C.cleanData(bt(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map((function(){return C.clone(this,t,e)}))},html:function(t){return U(this,(function(t){var e=this[0]||{},n=0,i=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!jt.test(t)&&!yt[(vt.exec(t)||["",""])[1].toLowerCase()]){t=C.htmlPrefilter(t);try{for(;n3,rt.removeChild(t)),a}}))}();var Qt=["Webkit","Moz","ms"],Xt=b.createElement("div").style,Gt={};function Yt(t){var e=C.cssProps[t]||Gt[t];return e||(t in Xt?t:Gt[t]=function(t){for(var e=t[0].toUpperCase()+t.slice(1),n=Qt.length;n--;)if((t=Qt[n]+e)in Xt)return t}(t)||t)}var Jt=/^(none|table(?!-c[ea]).+)/,Kt=/^--/,Zt={position:"absolute",visibility:"hidden",display:"block"},te={letterSpacing:"0",fontWeight:"400"};function ee(t,e,n){var i=it.exec(e);return i?Math.max(0,i[2]-(n||0))+(i[3]||"px"):e}function ne(t,e,n,i,o,r){var s="width"===e?1:0,a=0,l=0;if(n===(i?"border":"content"))return 0;for(;s<4;s+=2)"margin"===n&&(l+=C.css(t,n+ot[s],!0,o)),i?("content"===n&&(l-=C.css(t,"padding"+ot[s],!0,o)),"margin"!==n&&(l-=C.css(t,"border"+ot[s]+"Width",!0,o))):(l+=C.css(t,"padding"+ot[s],!0,o),"padding"!==n?l+=C.css(t,"border"+ot[s]+"Width",!0,o):a+=C.css(t,"border"+ot[s]+"Width",!0,o));return!i&&r>=0&&(l+=Math.max(0,Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-r-l-a-.5))||0),l}function ie(t,e,n){var i=Bt(t),o=(!v.boxSizingReliable()||n)&&"border-box"===C.css(t,"boxSizing",!1,i),r=o,s=zt(t,e,i),a="offset"+e[0].toUpperCase()+e.slice(1);if(Wt.test(s)){if(!n)return s;s="auto"}return(!v.boxSizingReliable()&&o||!v.reliableTrDimensions()&&D(t,"tr")||"auto"===s||!parseFloat(s)&&"inline"===C.css(t,"display",!1,i))&&t.getClientRects().length&&(o="border-box"===C.css(t,"boxSizing",!1,i),(r=a in t)&&(s=t[a])),(s=parseFloat(s)||0)+ne(t,e,n||(o?"border":"content"),r,i,s)+"px"}function oe(t,e,n,i,o){return new oe.prototype.init(t,e,n,i,o)}C.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=zt(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(t,e,n,i){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var o,r,s,a=X(e),l=Kt.test(e),u=t.style;if(l||(e=Yt(a)),s=C.cssHooks[e]||C.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(o=s.get(t,!1,i))?o:u[e];"string"===(r=typeof n)&&(o=it.exec(n))&&o[1]&&(n=ut(t,e,o),r="number"),null!=n&&n==n&&("number"!==r||l||(n+=o&&o[3]||(C.cssNumber[a]?"":"px")),v.clearCloneStyle||""!==n||0!==e.indexOf("background")||(u[e]="inherit"),s&&"set"in s&&void 0===(n=s.set(t,n,i))||(l?u.setProperty(e,n):u[e]=n))}},css:function(t,e,n,i){var o,r,s,a=X(e);return Kt.test(e)||(e=Yt(a)),(s=C.cssHooks[e]||C.cssHooks[a])&&"get"in s&&(o=s.get(t,!0,n)),void 0===o&&(o=zt(t,e,i)),"normal"===o&&e in te&&(o=te[e]),""===n||n?(r=parseFloat(o),!0===n||isFinite(r)?r||0:o):o}}),C.each(["height","width"],(function(t,e){C.cssHooks[e]={get:function(t,n,i){if(n)return!Jt.test(C.css(t,"display"))||t.getClientRects().length&&t.getBoundingClientRect().width?ie(t,e,i):_t(t,Zt,(function(){return ie(t,e,i)}))},set:function(t,n,i){var o,r=Bt(t),s=!v.scrollboxSize()&&"absolute"===r.position,a=(s||i)&&"border-box"===C.css(t,"boxSizing",!1,r),l=i?ne(t,e,i,a,r):0;return a&&s&&(l-=Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-parseFloat(r[e])-ne(t,e,"border",!1,r)-.5)),l&&(o=it.exec(n))&&"px"!==(o[3]||"px")&&(t.style[e]=n,n=C.css(t,e)),ee(0,n,l)}}})),C.cssHooks.marginLeft=Vt(v.reliableMarginLeft,(function(t,e){if(e)return(parseFloat(zt(t,"marginLeft"))||t.getBoundingClientRect().left-_t(t,{marginLeft:0},(function(){return t.getBoundingClientRect().left})))+"px"})),C.each({margin:"",padding:"",border:"Width"},(function(t,e){C.cssHooks[t+e]={expand:function(n){for(var i=0,o={},r="string"==typeof n?n.split(" "):[n];i<4;i++)o[t+ot[i]+e]=r[i]||r[i-2]||r[0];return o}},"margin"!==t&&(C.cssHooks[t+e].set=ee)})),C.fn.extend({css:function(t,e){return U(this,(function(t,e,n){var i,o,r={},s=0;if(Array.isArray(e)){for(i=Bt(t),o=e.length;s1)}}),C.Tween=oe,oe.prototype={constructor:oe,init:function(t,e,n,i,o,r){this.elem=t,this.prop=n,this.easing=o||C.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=i,this.unit=r||(C.cssNumber[n]?"":"px")},cur:function(){var t=oe.propHooks[this.prop];return t&&t.get?t.get(this):oe.propHooks._default.get(this)},run:function(t){var e,n=oe.propHooks[this.prop];return this.options.duration?this.pos=e=C.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):oe.propHooks._default.set(this),this}},oe.prototype.init.prototype=oe.prototype,oe.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=C.css(t.elem,t.prop,""))&&"auto"!==e?e:0},set:function(t){C.fx.step[t.prop]?C.fx.step[t.prop](t):1!==t.elem.nodeType||!C.cssHooks[t.prop]&&null==t.elem.style[Yt(t.prop)]?t.elem[t.prop]=t.now:C.style(t.elem,t.prop,t.now+t.unit)}}},oe.propHooks.scrollTop=oe.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},C.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},C.fx=oe.prototype.init,C.fx.step={};var re,se,ae=/^(?:toggle|show|hide)$/,le=/queueHooks$/;function ue(){se&&(!1===b.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(ue):n.setTimeout(ue,C.fx.interval),C.fx.tick())}function ce(){return n.setTimeout((function(){re=void 0})),re=Date.now()}function fe(t,e){var n,i=0,o={height:t};for(e=e?1:0;i<4;i+=2-e)o["margin"+(n=ot[i])]=o["padding"+n]=t;return e&&(o.opacity=o.width=t),o}function pe(t,e,n){for(var i,o=(de.tweeners[e]||[]).concat(de.tweeners["*"]),r=0,s=o.length;r1)},removeAttr:function(t){return this.each((function(){C.removeAttr(this,t)}))}}),C.extend({attr:function(t,e,n){var i,o,r=t.nodeType;if(3!==r&&8!==r&&2!==r)return void 0===t.getAttribute?C.prop(t,e,n):(1===r&&C.isXMLDoc(t)||(o=C.attrHooks[e.toLowerCase()]||(C.expr.match.bool.test(e)?he:void 0)),void 0!==n?null===n?void C.removeAttr(t,e):o&&"set"in o&&void 0!==(i=o.set(t,n,e))?i:(t.setAttribute(e,n+""),n):o&&"get"in o&&null!==(i=o.get(t,e))?i:null==(i=C.find.attr(t,e))?void 0:i)},attrHooks:{type:{set:function(t,e){if(!v.radioValue&&"radio"===e&&D(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,i=0,o=e&&e.match(P);if(o&&1===t.nodeType)for(;n=o[i++];)t.removeAttribute(n)}}),he={set:function(t,e,n){return!1===e?C.removeAttr(t,n):t.setAttribute(n,n),n}},C.each(C.expr.match.bool.source.match(/\w+/g),(function(t,e){var n=ge[e]||C.find.attr;ge[e]=function(t,e,i){var o,r,s=e.toLowerCase();return i||(r=ge[s],ge[s]=o,o=null!=n(t,e,i)?s:null,ge[s]=r),o}}));var ve=/^(?:input|select|textarea|button)$/i,me=/^(?:a|area)$/i;function ye(t){return(t.match(P)||[]).join(" ")}function be(t){return t.getAttribute&&t.getAttribute("class")||""}function xe(t){return Array.isArray(t)?t:"string"==typeof t&&t.match(P)||[]}C.fn.extend({prop:function(t,e){return U(this,C.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each((function(){delete this[C.propFix[t]||t]}))}}),C.extend({prop:function(t,e,n){var i,o,r=t.nodeType;if(3!==r&&8!==r&&2!==r)return 1===r&&C.isXMLDoc(t)||(e=C.propFix[e]||e,o=C.propHooks[e]),void 0!==n?o&&"set"in o&&void 0!==(i=o.set(t,n,e))?i:t[e]=n:o&&"get"in o&&null!==(i=o.get(t,e))?i:t[e]},propHooks:{tabIndex:{get:function(t){var e=C.find.attr(t,"tabindex");return e?parseInt(e,10):ve.test(t.nodeName)||me.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),v.optSelected||(C.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),C.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){C.propFix[this.toLowerCase()]=this})),C.fn.extend({addClass:function(t){var e,n,i,o,r,s,a,l=0;if(m(t))return this.each((function(e){C(this).addClass(t.call(this,e,be(this)))}));if((e=xe(t)).length)for(;n=this[l++];)if(o=be(n),i=1===n.nodeType&&" "+ye(o)+" "){for(s=0;r=e[s++];)i.indexOf(" "+r+" ")<0&&(i+=r+" ");o!==(a=ye(i))&&n.setAttribute("class",a)}return this},removeClass:function(t){var e,n,i,o,r,s,a,l=0;if(m(t))return this.each((function(e){C(this).removeClass(t.call(this,e,be(this)))}));if(!arguments.length)return this.attr("class","");if((e=xe(t)).length)for(;n=this[l++];)if(o=be(n),i=1===n.nodeType&&" "+ye(o)+" "){for(s=0;r=e[s++];)for(;i.indexOf(" "+r+" ")>-1;)i=i.replace(" "+r+" "," ");o!==(a=ye(i))&&n.setAttribute("class",a)}return this},toggleClass:function(t,e){var n=typeof t,i="string"===n||Array.isArray(t);return"boolean"==typeof e&&i?e?this.addClass(t):this.removeClass(t):m(t)?this.each((function(n){C(this).toggleClass(t.call(this,n,be(this),e),e)})):this.each((function(){var e,o,r,s;if(i)for(o=0,r=C(this),s=xe(t);e=s[o++];)r.hasClass(e)?r.removeClass(e):r.addClass(e);else void 0!==t&&"boolean"!==n||((e=be(this))&&J.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":J.get(this,"__className__")||""))}))},hasClass:function(t){var e,n,i=0;for(e=" "+t+" ";n=this[i++];)if(1===n.nodeType&&(" "+ye(be(n))+" ").indexOf(e)>-1)return!0;return!1}});var we=/\r/g;C.fn.extend({val:function(t){var e,n,i,o=this[0];return arguments.length?(i=m(t),this.each((function(n){var o;1===this.nodeType&&(null==(o=i?t.call(this,n,C(this).val()):t)?o="":"number"==typeof o?o+="":Array.isArray(o)&&(o=C.map(o,(function(t){return null==t?"":t+""}))),(e=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,o,"value")||(this.value=o))}))):o?(e=C.valHooks[o.type]||C.valHooks[o.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(o,"value"))?n:"string"==typeof(n=o.value)?n.replace(we,""):null==n?"":n:void 0}}),C.extend({valHooks:{option:{get:function(t){var e=C.find.attr(t,"value");return null!=e?e:ye(C.text(t))}},select:{get:function(t){var e,n,i,o=t.options,r=t.selectedIndex,s="select-one"===t.type,a=s?null:[],l=s?r+1:o.length;for(i=r<0?l:s?r:0;i-1)&&(n=!0);return n||(t.selectedIndex=-1),r}}}}),C.each(["radio","checkbox"],(function(){C.valHooks[this]={set:function(t,e){if(Array.isArray(e))return t.checked=C.inArray(C(t).val(),e)>-1}},v.checkOn||(C.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})})),v.focusin="onfocusin"in n;var Te=/^(?:focusinfocus|focusoutblur)$/,Ce=function(t){t.stopPropagation()};C.extend(C.event,{trigger:function(t,e,i,o){var r,s,a,l,u,c,f,p,h=[i||b],g=d.call(t,"type")?t.type:t,v=d.call(t,"namespace")?t.namespace.split("."):[];if(s=p=a=i=i||b,3!==i.nodeType&&8!==i.nodeType&&!Te.test(g+C.event.triggered)&&(g.indexOf(".")>-1&&(v=g.split("."),g=v.shift(),v.sort()),u=g.indexOf(":")<0&&"on"+g,(t=t[C.expando]?t:new C.Event(g,"object"==typeof t&&t)).isTrigger=o?2:3,t.namespace=v.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),e=null==e?[t]:C.makeArray(e,[t]),f=C.event.special[g]||{},o||!f.trigger||!1!==f.trigger.apply(i,e))){if(!o&&!f.noBubble&&!y(i)){for(l=f.delegateType||g,Te.test(l+g)||(s=s.parentNode);s;s=s.parentNode)h.push(s),a=s;a===(i.ownerDocument||b)&&h.push(a.defaultView||a.parentWindow||n)}for(r=0;(s=h[r++])&&!t.isPropagationStopped();)p=s,t.type=r>1?l:f.bindType||g,(c=(J.get(s,"events")||Object.create(null))[t.type]&&J.get(s,"handle"))&&c.apply(s,e),(c=u&&s[u])&&c.apply&&G(s)&&(t.result=c.apply(s,e),!1===t.result&&t.preventDefault());return t.type=g,o||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(h.pop(),e)||!G(i)||u&&m(i[g])&&!y(i)&&((a=i[u])&&(i[u]=null),C.event.triggered=g,t.isPropagationStopped()&&p.addEventListener(g,Ce),i[g](),t.isPropagationStopped()&&p.removeEventListener(g,Ce),C.event.triggered=void 0,a&&(i[u]=a)),t.result}},simulate:function(t,e,n){var i=C.extend(new C.Event,n,{type:t,isSimulated:!0});C.event.trigger(i,null,e)}}),C.fn.extend({trigger:function(t,e){return this.each((function(){C.event.trigger(t,e,this)}))},triggerHandler:function(t,e){var n=this[0];if(n)return C.event.trigger(t,e,n,!0)}}),v.focusin||C.each({focus:"focusin",blur:"focusout"},(function(t,e){var n=function(t){C.event.simulate(e,t.target,C.event.fix(t))};C.event.special[e]={setup:function(){var i=this.ownerDocument||this.document||this,o=J.access(i,e);o||i.addEventListener(t,n,!0),J.access(i,e,(o||0)+1)},teardown:function(){var i=this.ownerDocument||this.document||this,o=J.access(i,e)-1;o?J.access(i,e,o):(i.removeEventListener(t,n,!0),J.remove(i,e))}}}));var Ee=n.location,Se={guid:Date.now()},ke=/\?/;C.parseXML=function(t){var e;if(!t||"string"!=typeof t)return null;try{e=(new n.DOMParser).parseFromString(t,"text/xml")}catch(t){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||C.error("Invalid XML: "+t),e};var $e=/\[\]$/,Ae=/\r?\n/g,De=/^(?:submit|button|image|reset|file)$/i,Ne=/^(?:input|select|textarea|keygen)/i;function je(t,e,n,i){var o;if(Array.isArray(e))C.each(e,(function(e,o){n||$e.test(t)?i(t,o):je(t+"["+("object"==typeof o&&null!=o?e:"")+"]",o,n,i)}));else if(n||"object"!==T(e))i(t,e);else for(o in e)je(t+"["+o+"]",e[o],n,i)}C.param=function(t,e){var n,i=[],o=function(t,e){var n=m(e)?e():e;i[i.length]=encodeURIComponent(t)+"="+encodeURIComponent(null==n?"":n)};if(null==t)return"";if(Array.isArray(t)||t.jquery&&!C.isPlainObject(t))C.each(t,(function(){o(this.name,this.value)}));else for(n in t)je(n,t[n],e,o);return i.join("&")},C.fn.extend({serialize:function(){return C.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var t=C.prop(this,"elements");return t?C.makeArray(t):this})).filter((function(){var t=this.type;return this.name&&!C(this).is(":disabled")&&Ne.test(this.nodeName)&&!De.test(t)&&(this.checked||!gt.test(t))})).map((function(t,e){var n=C(this).val();return null==n?null:Array.isArray(n)?C.map(n,(function(t){return{name:e.name,value:t.replace(Ae,"\r\n")}})):{name:e.name,value:n.replace(Ae,"\r\n")}})).get()}});var Oe=/%20/g,Ie=/#.*$/,Le=/([?&])_=[^&]*/,Re=/^(.*?):[ \t]*([^\r\n]*)$/gm,qe=/^(?:GET|HEAD)$/,Pe=/^\/\//,He={},Me={},Fe="*/".concat("*"),We=b.createElement("a");function Be(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var i,o=0,r=e.toLowerCase().match(P)||[];if(m(n))for(;i=r[o++];)"+"===i[0]?(i=i.slice(1)||"*",(t[i]=t[i]||[]).unshift(n)):(t[i]=t[i]||[]).push(n)}}function _e(t,e,n,i){var o={},r=t===Me;function s(a){var l;return o[a]=!0,C.each(t[a]||[],(function(t,a){var u=a(e,n,i);return"string"!=typeof u||r||o[u]?r?!(l=u):void 0:(e.dataTypes.unshift(u),s(u),!1)})),l}return s(e.dataTypes[0])||!o["*"]&&s("*")}function Ue(t,e){var n,i,o=C.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((o[n]?t:i||(i={}))[n]=e[n]);return i&&C.extend(!0,t,i),t}We.href=Ee.href,C.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ee.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Ee.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Fe,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":C.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?Ue(Ue(t,C.ajaxSettings),e):Ue(C.ajaxSettings,t)},ajaxPrefilter:Be(He),ajaxTransport:Be(Me),ajax:function(t,e){"object"==typeof t&&(e=t,t=void 0),e=e||{};var i,o,r,s,a,l,u,c,f,p,d=C.ajaxSetup({},e),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?C(h):C.event,v=C.Deferred(),m=C.Callbacks("once memory"),y=d.statusCode||{},x={},w={},T="canceled",E={readyState:0,getResponseHeader:function(t){var e;if(u){if(!s)for(s={};e=Re.exec(r);)s[e[1].toLowerCase()+" "]=(s[e[1].toLowerCase()+" "]||[]).concat(e[2]);e=s[t.toLowerCase()+" "]}return null==e?null:e.join(", ")},getAllResponseHeaders:function(){return u?r:null},setRequestHeader:function(t,e){return null==u&&(t=w[t.toLowerCase()]=w[t.toLowerCase()]||t,x[t]=e),this},overrideMimeType:function(t){return null==u&&(d.mimeType=t),this},statusCode:function(t){var e;if(t)if(u)E.always(t[E.status]);else for(e in t)y[e]=[y[e],t[e]];return this},abort:function(t){var e=t||T;return i&&i.abort(e),S(0,e),this}};if(v.promise(E),d.url=((t||d.url||Ee.href)+"").replace(Pe,Ee.protocol+"//"),d.type=e.method||e.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(P)||[""],null==d.crossDomain){l=b.createElement("a");try{l.href=d.url,l.href=l.href,d.crossDomain=We.protocol+"//"+We.host!=l.protocol+"//"+l.host}catch(t){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=C.param(d.data,d.traditional)),_e(He,d,e,E),u)return E;for(f in(c=C.event&&d.global)&&0==C.active++&&C.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!qe.test(d.type),o=d.url.replace(Ie,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(Oe,"+")):(p=d.url.slice(o.length),d.data&&(d.processData||"string"==typeof d.data)&&(o+=(ke.test(o)?"&":"?")+d.data,delete d.data),!1===d.cache&&(o=o.replace(Le,"$1"),p=(ke.test(o)?"&":"?")+"_="+Se.guid+++p),d.url=o+p),d.ifModified&&(C.lastModified[o]&&E.setRequestHeader("If-Modified-Since",C.lastModified[o]),C.etag[o]&&E.setRequestHeader("If-None-Match",C.etag[o])),(d.data&&d.hasContent&&!1!==d.contentType||e.contentType)&&E.setRequestHeader("Content-Type",d.contentType),E.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Fe+"; q=0.01":""):d.accepts["*"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||u))return E.abort();if(T="abort",m.add(d.complete),E.done(d.success),E.fail(d.error),i=_e(Me,d,e,E)){if(E.readyState=1,c&&g.trigger("ajaxSend",[E,d]),u)return E;d.async&&d.timeout>0&&(a=n.setTimeout((function(){E.abort("timeout")}),d.timeout));try{u=!1,i.send(x,S)}catch(t){if(u)throw t;S(-1,t)}}else S(-1,"No Transport");function S(t,e,s,l){var f,p,b,x,w,T=e;u||(u=!0,a&&n.clearTimeout(a),i=void 0,r=l||"",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,s&&(x=function(t,e,n){for(var i,o,r,s,a=t.contents,l=t.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=t.mimeType||e.getResponseHeader("Content-Type"));if(i)for(o in a)if(a[o]&&a[o].test(i)){l.unshift(o);break}if(l[0]in n)r=l[0];else{for(o in n){if(!l[0]||t.converters[o+" "+l[0]]){r=o;break}s||(s=o)}r=r||s}if(r)return r!==l[0]&&l.unshift(r),n[r]}(d,E,s)),!f&&C.inArray("script",d.dataTypes)>-1&&(d.converters["text script"]=function(){}),x=function(t,e,n,i){var o,r,s,a,l,u={},c=t.dataTypes.slice();if(c[1])for(s in t.converters)u[s.toLowerCase()]=t.converters[s];for(r=c.shift();r;)if(t.responseFields[r]&&(n[t.responseFields[r]]=e),!l&&i&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),l=r,r=c.shift())if("*"===r)r=l;else if("*"!==l&&l!==r){if(!(s=u[l+" "+r]||u["* "+r]))for(o in u)if((a=o.split(" "))[1]===r&&(s=u[l+" "+a[0]]||u["* "+a[0]])){!0===s?s=u[o]:!0!==u[o]&&(r=a[0],c.unshift(a[1]));break}if(!0!==s)if(s&&t.throws)e=s(e);else try{e=s(e)}catch(t){return{state:"parsererror",error:s?t:"No conversion from "+l+" to "+r}}}return{state:"success",data:e}}(d,x,E,f),f?(d.ifModified&&((w=E.getResponseHeader("Last-Modified"))&&(C.lastModified[o]=w),(w=E.getResponseHeader("etag"))&&(C.etag[o]=w)),204===t||"HEAD"===d.type?T="nocontent":304===t?T="notmodified":(T=x.state,p=x.data,f=!(b=x.error))):(b=T,!t&&T||(T="error",t<0&&(t=0))),E.status=t,E.statusText=(e||T)+"",f?v.resolveWith(h,[p,T,E]):v.rejectWith(h,[E,T,b]),E.statusCode(y),y=void 0,c&&g.trigger(f?"ajaxSuccess":"ajaxError",[E,d,f?p:b]),m.fireWith(h,[E,T]),c&&(g.trigger("ajaxComplete",[E,d]),--C.active||C.event.trigger("ajaxStop")))}return E},getJSON:function(t,e,n){return C.get(t,e,n,"json")},getScript:function(t,e){return C.get(t,void 0,e,"script")}}),C.each(["get","post"],(function(t,e){C[e]=function(t,n,i,o){return m(n)&&(o=o||i,i=n,n=void 0),C.ajax(C.extend({url:t,type:e,dataType:o,data:n,success:i},C.isPlainObject(t)&&t))}})),C.ajaxPrefilter((function(t){var e;for(e in t.headers)"content-type"===e.toLowerCase()&&(t.contentType=t.headers[e]||"")})),C._evalUrl=function(t,e,n){return C.ajax({url:t,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(t){C.globalEval(t,e,n)}})},C.fn.extend({wrapAll:function(t){var e;return this[0]&&(m(t)&&(t=t.call(this[0])),e=C(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map((function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t})).append(this)),this},wrapInner:function(t){return m(t)?this.each((function(e){C(this).wrapInner(t.call(this,e))})):this.each((function(){var e=C(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)}))},wrap:function(t){var e=m(t);return this.each((function(n){C(this).wrapAll(e?t.call(this,n):t)}))},unwrap:function(t){return this.parent(t).not("body").each((function(){C(this).replaceWith(this.childNodes)})),this}}),C.expr.pseudos.hidden=function(t){return!C.expr.pseudos.visible(t)},C.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},C.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}};var ze={0:200,1223:204},Ve=C.ajaxSettings.xhr();v.cors=!!Ve&&"withCredentials"in Ve,v.ajax=Ve=!!Ve,C.ajaxTransport((function(t){var e,i;if(v.cors||Ve&&!t.crossDomain)return{send:function(o,r){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];for(s in t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest"),o)a.setRequestHeader(s,o[s]);e=function(t){return function(){e&&(e=i=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===t?a.abort():"error"===t?"number"!=typeof a.status?r(0,"error"):r(a.status,a.statusText):r(ze[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=e(),i=a.onerror=a.ontimeout=e("error"),void 0!==a.onabort?a.onabort=i:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout((function(){e&&i()}))},e=e("abort");try{a.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}})),C.ajaxPrefilter((function(t){t.crossDomain&&(t.contents.script=!1)})),C.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return C.globalEval(t),t}}}),C.ajaxPrefilter("script",(function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")})),C.ajaxTransport("script",(function(t){var e,n;if(t.crossDomain||t.scriptAttrs)return{send:function(i,o){e=C(" + + diff --git a/resources/assets/js/components/transactions/EditTransaction.vue b/resources/assets/js/components/transactions/EditTransaction.vue index a3e79455dd..d00da1d025 100644 --- a/resources/assets/js/components/transactions/EditTransaction.vue +++ b/resources/assets/js/components/transactions/EditTransaction.vue @@ -416,6 +416,7 @@ internal_reference: [], notes: [], attachments: [], + external_uri: [], }, }, budget: transaction.budget_id, @@ -428,7 +429,8 @@ payment_date: transaction.payment_date, invoice_date: transaction.invoice_date, internal_reference: transaction.internal_reference, - notes: transaction.notes + notes: transaction.notes, + external_uri: transaction.external_uri }, foreign_amount: { amount: this.roundNumber(this.positiveAmount(transaction.foreign_amount), transaction.foreign_currency_decimal_places), @@ -608,6 +610,7 @@ payment_date: row.custom_fields.payment_date, invoice_date: row.custom_fields.invoice_date, internal_reference: row.custom_fields.internal_reference, + external_uri: row.custom_fields.external_uri, notes: row.custom_fields.notes, tags: tagList }; @@ -830,6 +833,7 @@ internal_reference: [], notes: [], attachments: [], + external_uri: [], }, }, budget: 0, @@ -843,7 +847,8 @@ "invoice_date": "", "internal_reference": "", "notes": "", - "attachments": [] + "attachments": [], + "external_uri": "", }, foreign_amount: { amount: "", @@ -903,6 +908,10 @@ case 'tags': this.transactions[transactionIndex].errors[fieldName] = errors.errors[key]; break; + case 'external_uri': + console.log('Found ext error in field "'+fieldName+'": ' + errors.errors[key]); + this.transactions[transactionIndex].errors.custom_errors[fieldName] = errors.errors[key]; + break; case 'source_name': case 'source_id': this.transactions[transactionIndex].errors.source_account = @@ -954,6 +963,7 @@ internal_reference: [], notes: [], attachments: [], + external_uri: [], }, }; } diff --git a/resources/assets/js/create_transaction.js b/resources/assets/js/create_transaction.js index e3a11ffecb..a607f885ff 100644 --- a/resources/assets/js/create_transaction.js +++ b/resources/assets/js/create_transaction.js @@ -35,6 +35,7 @@ import ForeignAmountSelect from "./components/transactions/ForeignAmountSelect"; import TransactionType from "./components/transactions/TransactionType"; import AccountSelect from "./components/transactions/AccountSelect"; import Budget from "./components/transactions/Budget"; +import CustomUri from "./components/transactions/CustomUri"; /** * First we will load Axios via bootstrap.js @@ -50,6 +51,7 @@ Vue.component('custom-date', CustomDate); Vue.component('custom-string', CustomString); Vue.component('custom-attachments', CustomAttachments); Vue.component('custom-textarea', CustomTextarea); +Vue.component('custom-uri', CustomUri); Vue.component('standard-date', StandardDate); Vue.component('group-description', GroupDescription); Vue.component('transaction-description', TransactionDescription); diff --git a/resources/assets/js/edit_transaction.js b/resources/assets/js/edit_transaction.js index 3c18569d40..781e41514a 100644 --- a/resources/assets/js/edit_transaction.js +++ b/resources/assets/js/edit_transaction.js @@ -35,6 +35,7 @@ import ForeignAmountSelect from "./components/transactions/ForeignAmountSelect"; import TransactionType from "./components/transactions/TransactionType"; import AccountSelect from "./components/transactions/AccountSelect"; import Budget from "./components/transactions/Budget"; +import CustomUri from "./components/transactions/CustomUri"; /** * First we will load Axios via bootstrap.js @@ -50,6 +51,7 @@ Vue.component('custom-date', CustomDate); Vue.component('custom-string', CustomString); Vue.component('custom-attachments', CustomAttachments); Vue.component('custom-textarea', CustomTextarea); +Vue.component('custom-uri', CustomUri); Vue.component('standard-date', StandardDate); Vue.component('group-description', GroupDescription); Vue.component('transaction-description', TransactionDescription); diff --git a/resources/assets/js/locales/cs.json b/resources/assets/js/locales/cs.json index c5c0a4ec7e..f3a77d5583 100644 --- a/resources/assets/js/locales/cs.json +++ b/resources/assets/js/locales/cs.json @@ -27,6 +27,7 @@ "category": "Kategorie", "attachments": "P\u0159\u00edlohy", "notes": "Pozn\u00e1mky", + "external_uri": "External URI", "update_transaction": "Update transaction", "after_update_create_another": "After updating, return here to continue editing.", "store_as_new": "Store as a new transaction instead of updating.", diff --git a/resources/assets/js/locales/de.json b/resources/assets/js/locales/de.json index 81437e4bb6..a7402a0512 100644 --- a/resources/assets/js/locales/de.json +++ b/resources/assets/js/locales/de.json @@ -27,6 +27,7 @@ "category": "Kategorie", "attachments": "Anh\u00e4nge", "notes": "Notizen", + "external_uri": "External URI", "update_transaction": "Buchung aktualisieren", "after_update_create_another": "Nach dem Aktualisieren hierher zur\u00fcckkehren, um weiter zu bearbeiten.", "store_as_new": "Als neue Buchung speichern statt zu aktualisieren.", diff --git a/resources/assets/js/locales/el.json b/resources/assets/js/locales/el.json index 414b990774..e5b5eb06fa 100644 --- a/resources/assets/js/locales/el.json +++ b/resources/assets/js/locales/el.json @@ -27,6 +27,7 @@ "category": "\u039a\u03b1\u03c4\u03b7\u03b3\u03bf\u03c1\u03af\u03b1", "attachments": "\u03a3\u03c5\u03bd\u03b7\u03bc\u03bc\u03ad\u03bd\u03b1", "notes": "\u03a3\u03b7\u03bc\u03b5\u03b9\u03ce\u03c3\u03b5\u03b9\u03c2", + "external_uri": "External URI", "update_transaction": "\u0395\u03bd\u03b7\u03bc\u03ad\u03c1\u03c9\u03c3\u03b7 \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae\u03c2", "after_update_create_another": "\u039c\u03b5\u03c4\u03ac \u03c4\u03b7\u03bd \u03b5\u03bd\u03b7\u03bc\u03ad\u03c1\u03c9\u03c3\u03b7, \u03b5\u03c0\u03b9\u03c3\u03c4\u03c1\u03ad\u03c8\u03c4\u03b5 \u03b5\u03b4\u03ce \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03c3\u03c5\u03bd\u03b5\u03c7\u03af\u03c3\u03b5\u03c4\u03b5 \u03c4\u03b7\u03bd \u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1.", "store_as_new": "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7 \u03c9\u03c2 \u03bd\u03ad\u03b1 \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae \u03b1\u03bd\u03c4\u03af \u03b3\u03b9\u03b1 \u03b5\u03bd\u03b7\u03bc\u03ad\u03c1\u03c9\u03c3\u03b7.", diff --git a/resources/assets/js/locales/en.json b/resources/assets/js/locales/en.json index 9280c6ac30..5956d1a0c6 100644 --- a/resources/assets/js/locales/en.json +++ b/resources/assets/js/locales/en.json @@ -27,6 +27,7 @@ "category": "Category", "attachments": "Attachments", "notes": "Notes", + "external_uri": "External URI", "update_transaction": "Update transaction", "after_update_create_another": "After updating, return here to continue editing.", "store_as_new": "Store as a new transaction instead of updating.", diff --git a/resources/assets/js/locales/es.json b/resources/assets/js/locales/es.json index 2d104a5c58..6b5e25f4d9 100644 --- a/resources/assets/js/locales/es.json +++ b/resources/assets/js/locales/es.json @@ -27,6 +27,7 @@ "category": "Categoria", "attachments": "Archivos adjuntos", "notes": "Notas", + "external_uri": "External URI", "update_transaction": "Actualizar transacci\u00f3n", "after_update_create_another": "Despu\u00e9s de actualizar, vuelve aqu\u00ed para continuar editando.", "store_as_new": "Almacenar como una nueva transacci\u00f3n en lugar de actualizar.", diff --git a/resources/assets/js/locales/fi.json b/resources/assets/js/locales/fi.json index c6b91d90b7..298bee7342 100644 --- a/resources/assets/js/locales/fi.json +++ b/resources/assets/js/locales/fi.json @@ -27,6 +27,7 @@ "category": "Kategoria", "attachments": "Liitteet", "notes": "Muistiinpanot", + "external_uri": "External URI", "update_transaction": "P\u00e4ivit\u00e4 tapahtuma", "after_update_create_another": "P\u00e4ivityksen j\u00e4lkeen, palaa takaisin jatkamaan muokkausta.", "store_as_new": "Tallenna uutena tapahtumana p\u00e4ivityksen sijaan.", diff --git a/resources/assets/js/locales/fr.json b/resources/assets/js/locales/fr.json index 73a93d8e54..e48b052043 100644 --- a/resources/assets/js/locales/fr.json +++ b/resources/assets/js/locales/fr.json @@ -27,6 +27,7 @@ "category": "Cat\u00e9gorie", "attachments": "Pi\u00e8ces jointes", "notes": "Notes", + "external_uri": "External URI", "update_transaction": "Mettre \u00e0 jour l'op\u00e9ration", "after_update_create_another": "Apr\u00e8s la mise \u00e0 jour, revenir ici pour continuer l'\u00e9dition.", "store_as_new": "Enregistrer comme une nouvelle op\u00e9ration au lieu de mettre \u00e0 jour.", diff --git a/resources/assets/js/locales/hu.json b/resources/assets/js/locales/hu.json index bcb7456215..d7702099b8 100644 --- a/resources/assets/js/locales/hu.json +++ b/resources/assets/js/locales/hu.json @@ -27,6 +27,7 @@ "category": "Kateg\u00f3ria", "attachments": "Mell\u00e9kletek", "notes": "Megjegyz\u00e9sek", + "external_uri": "External URI", "update_transaction": "Tranzakci\u00f3 friss\u00edt\u00e9se", "after_update_create_another": "A friss\u00edt\u00e9s ut\u00e1n t\u00e9rjen vissza ide a szerkeszt\u00e9s folytat\u00e1s\u00e1hoz.", "store_as_new": "T\u00e1rol\u00e1s \u00faj tranzakci\u00f3k\u00e9nt friss\u00edt\u00e9s helyett.", diff --git a/resources/assets/js/locales/id.json b/resources/assets/js/locales/id.json index 8f45f53fb8..bc803ff00a 100644 --- a/resources/assets/js/locales/id.json +++ b/resources/assets/js/locales/id.json @@ -27,6 +27,7 @@ "category": "Kategori", "attachments": "Lampiran", "notes": "Notes", + "external_uri": "External URI", "update_transaction": "Update transaction", "after_update_create_another": "After updating, return here to continue editing.", "store_as_new": "Store as a new transaction instead of updating.", diff --git a/resources/assets/js/locales/it.json b/resources/assets/js/locales/it.json index cc5d10c875..541d20b38b 100644 --- a/resources/assets/js/locales/it.json +++ b/resources/assets/js/locales/it.json @@ -27,6 +27,7 @@ "category": "Categoria", "attachments": "Allegati", "notes": "Note", + "external_uri": "External URI", "update_transaction": "Aggiorna transazione", "after_update_create_another": "Dopo l'aggiornamento, torna qui per continuare la modifica.", "store_as_new": "Salva come nuova transazione invece di aggiornarla.", diff --git a/resources/assets/js/locales/nb.json b/resources/assets/js/locales/nb.json index f26432b8b2..2e96cc125c 100644 --- a/resources/assets/js/locales/nb.json +++ b/resources/assets/js/locales/nb.json @@ -27,6 +27,7 @@ "category": "Kategori", "attachments": "Vedlegg", "notes": "Notater", + "external_uri": "External URI", "update_transaction": "Update transaction", "after_update_create_another": "After updating, return here to continue editing.", "store_as_new": "Store as a new transaction instead of updating.", diff --git a/resources/assets/js/locales/nl.json b/resources/assets/js/locales/nl.json index 6498276a25..ff776cd444 100644 --- a/resources/assets/js/locales/nl.json +++ b/resources/assets/js/locales/nl.json @@ -27,6 +27,7 @@ "category": "Categorie", "attachments": "Bijlagen", "notes": "Notities", + "external_uri": "External URI", "update_transaction": "Update transactie", "after_update_create_another": "Na het opslaan terug om door te gaan met wijzigen.", "store_as_new": "Opslaan als nieuwe transactie ipv de huidige bij te werken.", diff --git a/resources/assets/js/locales/pl.json b/resources/assets/js/locales/pl.json index d02ee4f651..6ca446bb4d 100644 --- a/resources/assets/js/locales/pl.json +++ b/resources/assets/js/locales/pl.json @@ -27,6 +27,7 @@ "category": "Kategoria", "attachments": "Za\u0142\u0105czniki", "notes": "Notatki", + "external_uri": "External URI", "update_transaction": "Zaktualizuj transakcj\u0119", "after_update_create_another": "Po aktualizacji wr\u00f3\u0107 tutaj, aby kontynuowa\u0107 edycj\u0119.", "store_as_new": "Zapisz jako now\u0105 zamiast aktualizowa\u0107.", diff --git a/resources/assets/js/locales/pt-br.json b/resources/assets/js/locales/pt-br.json index 2c719aa6dc..f8e84d27ad 100644 --- a/resources/assets/js/locales/pt-br.json +++ b/resources/assets/js/locales/pt-br.json @@ -27,6 +27,7 @@ "category": "Categoria", "attachments": "Anexos", "notes": "Notas", + "external_uri": "External URI", "update_transaction": "Atualizar transa\u00e7\u00e3o", "after_update_create_another": "Depois de atualizar, retorne aqui para continuar editando.", "store_as_new": "Store as a new transaction instead of updating.", diff --git a/resources/assets/js/locales/ro.json b/resources/assets/js/locales/ro.json index 8f690d08b3..1cb22701cf 100644 --- a/resources/assets/js/locales/ro.json +++ b/resources/assets/js/locales/ro.json @@ -27,6 +27,7 @@ "category": "Categorie", "attachments": "Ata\u0219amente", "notes": "Noti\u021be", + "external_uri": "External URI", "update_transaction": "Actualiza\u021bi tranzac\u021bia", "after_update_create_another": "Dup\u0103 actualizare, reveni\u021bi aici pentru a continua editarea.", "store_as_new": "Stoca\u021bi ca o tranzac\u021bie nou\u0103 \u00een loc s\u0103 actualiza\u021bi.", diff --git a/resources/assets/js/locales/ru.json b/resources/assets/js/locales/ru.json index ce814240d6..b262396e16 100644 --- a/resources/assets/js/locales/ru.json +++ b/resources/assets/js/locales/ru.json @@ -27,6 +27,7 @@ "category": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f", "attachments": "\u0412\u043b\u043e\u0436\u0435\u043d\u0438\u044f", "notes": "\u0417\u0430\u043c\u0435\u0442\u043a\u0438", + "external_uri": "External URI", "update_transaction": "\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e", "after_update_create_another": "\u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u0441\u044e\u0434\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.", "store_as_new": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0430\u043a \u043d\u043e\u0432\u0443\u044e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.", diff --git a/resources/assets/js/locales/sv.json b/resources/assets/js/locales/sv.json index e86dcb4fa9..43de0309b9 100644 --- a/resources/assets/js/locales/sv.json +++ b/resources/assets/js/locales/sv.json @@ -27,6 +27,7 @@ "category": "Kategori", "attachments": "Bilagor", "notes": "Noteringar", + "external_uri": "External URI", "update_transaction": "Uppdatera transaktion", "after_update_create_another": "Efter uppdaterat, \u00e5terkom hit f\u00f6r att forts\u00e4tta redigera.", "store_as_new": "Spara en ny transaktion ist\u00e4llet f\u00f6r att uppdatera.", diff --git a/resources/assets/js/locales/tr.json b/resources/assets/js/locales/tr.json index 19d5b9b68e..a6d8581849 100644 --- a/resources/assets/js/locales/tr.json +++ b/resources/assets/js/locales/tr.json @@ -27,6 +27,7 @@ "category": "Kategori", "attachments": "Ekler", "notes": "Notlar", + "external_uri": "External URI", "update_transaction": "Update transaction", "after_update_create_another": "After updating, return here to continue editing.", "store_as_new": "Store as a new transaction instead of updating.", diff --git a/resources/assets/js/locales/vi.json b/resources/assets/js/locales/vi.json index ea22001465..1b737e0ef8 100644 --- a/resources/assets/js/locales/vi.json +++ b/resources/assets/js/locales/vi.json @@ -27,6 +27,7 @@ "category": "Danh m\u1ee5c", "attachments": "T\u1ec7p \u0111\u00ednh k\u00e8m", "notes": "Ghi ch\u00fa", + "external_uri": "External URI", "update_transaction": "C\u1eadp nh\u1eadt giao d\u1ecbch", "after_update_create_another": "Sau khi c\u1eadp nh\u1eadt, quay l\u1ea1i \u0111\u00e2y \u0111\u1ec3 ti\u1ebfp t\u1ee5c ch\u1ec9nh s\u1eeda.", "store_as_new": "L\u01b0u tr\u1eef nh\u01b0 m\u1ed9t giao d\u1ecbch m\u1edbi thay v\u00ec c\u1eadp nh\u1eadt.", diff --git a/resources/assets/js/locales/zh-cn.json b/resources/assets/js/locales/zh-cn.json index 690e62b487..a2854a4e61 100644 --- a/resources/assets/js/locales/zh-cn.json +++ b/resources/assets/js/locales/zh-cn.json @@ -27,6 +27,7 @@ "category": "\u5206\u7c7b", "attachments": "\u9644\u52a0\u6863\u6848", "notes": "\u6ce8\u91ca", + "external_uri": "External URI", "update_transaction": "\u66f4\u65b0\u4ea4\u6613", "after_update_create_another": "\u66f4\u65b0\u540e\uff0c\u8fd4\u56de\u6b64\u9875\u9762\u7ee7\u7eed\u7f16\u8f91\u3002", "store_as_new": "\u4fdd\u5b58\u4e3a\u65b0\u4ea4\u6613\u800c\u4e0d\u662f\u66f4\u65b0\u6b64\u4ea4\u6613\u3002", diff --git a/resources/assets/js/locales/zh-tw.json b/resources/assets/js/locales/zh-tw.json index 4a71ed8b7b..a52483ecb4 100644 --- a/resources/assets/js/locales/zh-tw.json +++ b/resources/assets/js/locales/zh-tw.json @@ -27,6 +27,7 @@ "category": "\u5206\u985e", "attachments": "\u9644\u52a0\u6a94\u6848", "notes": "\u5099\u8a3b", + "external_uri": "External URI", "update_transaction": "Update transaction", "after_update_create_another": "After updating, return here to continue editing.", "store_as_new": "Store as a new transaction instead of updating.", diff --git a/resources/lang/cs_CZ/firefly.php b/resources/lang/cs_CZ/firefly.php index 4cb3872943..af80ce53d8 100644 --- a/resources/lang/cs_CZ/firefly.php +++ b/resources/lang/cs_CZ/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Interní reference', 'pref_optional_tj_notes' => 'Poznámky', 'pref_optional_tj_attachments' => 'Přílohy', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Datumy', 'optional_field_meta_business' => 'Business', 'optional_field_attachments' => 'Přílohy', 'optional_field_meta_data' => 'Volitelná metadata', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/cs_CZ/list.php b/resources/lang/cs_CZ/list.php index bd67f2fea9..bd849453e8 100644 --- a/resources/lang/cs_CZ/list.php +++ b/resources/lang/cs_CZ/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Typ účtu', 'created_at' => 'Vytvořeno', 'account' => 'Účet', + 'external_uri' => 'External URI', 'matchingAmount' => 'Částka', 'destination' => 'Cíl', 'source' => 'Zdroj', diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index ca3b1a28d3..203736b9fb 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Interner Verweis', 'pref_optional_tj_notes' => 'Notizen', 'pref_optional_tj_attachments' => 'Anhänge', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Daten', 'optional_field_meta_business' => 'Geschäftlich', 'optional_field_attachments' => 'Anhänge', 'optional_field_meta_data' => 'Optionale Metadaten', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Daten aus Firefly III löschen', diff --git a/resources/lang/de_DE/list.php b/resources/lang/de_DE/list.php index 799f8f4493..2d1f0e19a4 100644 --- a/resources/lang/de_DE/list.php +++ b/resources/lang/de_DE/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Kontotyp', 'created_at' => 'Erstellt am', 'account' => 'Konto', + 'external_uri' => 'External URI', 'matchingAmount' => 'Betrag', 'destination' => 'Empfänger', 'source' => 'Quelle', diff --git a/resources/lang/el_GR/firefly.php b/resources/lang/el_GR/firefly.php index 576e515db3..2451056fab 100644 --- a/resources/lang/el_GR/firefly.php +++ b/resources/lang/el_GR/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Εσωτερική αναφορά', 'pref_optional_tj_notes' => 'Σημειώσεις', 'pref_optional_tj_attachments' => 'Συνημμένα', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Ημερομηνίες', 'optional_field_meta_business' => 'Επιχείρηση', 'optional_field_attachments' => 'Συνημμένα', 'optional_field_meta_data' => 'Προαιρετικά μετα-δεδομένα', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Διαγραφή δεδομένων από το Firefly III', diff --git a/resources/lang/el_GR/list.php b/resources/lang/el_GR/list.php index b2a8141b97..3279a6ea25 100644 --- a/resources/lang/el_GR/list.php +++ b/resources/lang/el_GR/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Τύπος λογαριασμού', 'created_at' => 'Δημιουργήθηκε στις', 'account' => 'Λογαριασμός', + 'external_uri' => 'External URI', 'matchingAmount' => 'Ποσό', 'destination' => 'Προορισμός', 'source' => 'Προέλευση', diff --git a/resources/lang/en_GB/firefly.php b/resources/lang/en_GB/firefly.php index 95eede60ad..3e41582254 100644 --- a/resources/lang/en_GB/firefly.php +++ b/resources/lang/en_GB/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Internal reference', 'pref_optional_tj_notes' => 'Notes', 'pref_optional_tj_attachments' => 'Attachments', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Dates', 'optional_field_meta_business' => 'Business', 'optional_field_attachments' => 'Attachments', 'optional_field_meta_data' => 'Optional meta data', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/en_GB/list.php b/resources/lang/en_GB/list.php index 5f18245381..7e6943fe56 100644 --- a/resources/lang/en_GB/list.php +++ b/resources/lang/en_GB/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Account type', 'created_at' => 'Created at', 'account' => 'Account', + 'external_uri' => 'External URI', 'matchingAmount' => 'Amount', 'destination' => 'Destination', 'source' => 'Source', diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index 8ee6641df1..c8644a20c2 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Internal reference', 'pref_optional_tj_notes' => 'Notes', 'pref_optional_tj_attachments' => 'Attachments', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Dates', 'optional_field_meta_business' => 'Business', 'optional_field_attachments' => 'Attachments', 'optional_field_meta_data' => 'Optional meta data', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/en_US/list.php b/resources/lang/en_US/list.php index 5f18245381..7e6943fe56 100644 --- a/resources/lang/en_US/list.php +++ b/resources/lang/en_US/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Account type', 'created_at' => 'Created at', 'account' => 'Account', + 'external_uri' => 'External URI', 'matchingAmount' => 'Amount', 'destination' => 'Destination', 'source' => 'Source', diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index cda0948692..0fdad92375 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Referencia interna', 'pref_optional_tj_notes' => 'Notas', 'pref_optional_tj_attachments' => 'Adjuntos', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Fechas', 'optional_field_meta_business' => 'Negocios', 'optional_field_attachments' => 'Adjuntos', 'optional_field_meta_data' => 'Opcional meta datos', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Eliminar datos de Firefly III', diff --git a/resources/lang/es_ES/list.php b/resources/lang/es_ES/list.php index 50f565c21c..1246eeca9c 100644 --- a/resources/lang/es_ES/list.php +++ b/resources/lang/es_ES/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Tipo de cuenta', 'created_at' => 'Fecha de creación', 'account' => 'Cuenta', + 'external_uri' => 'External URI', 'matchingAmount' => 'Cantidad', 'destination' => 'Destino', 'source' => 'Origen', diff --git a/resources/lang/fi_FI/firefly.php b/resources/lang/fi_FI/firefly.php index 598fb7d3ab..223c7f7468 100644 --- a/resources/lang/fi_FI/firefly.php +++ b/resources/lang/fi_FI/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Sisäinen viite', 'pref_optional_tj_notes' => 'Muistiinpanot', 'pref_optional_tj_attachments' => 'Liitteet', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Päivämäärät', 'optional_field_meta_business' => 'Yritys', 'optional_field_attachments' => 'Liitteet', 'optional_field_meta_data' => 'Valinnainen metatieto', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/fi_FI/list.php b/resources/lang/fi_FI/list.php index dc49990642..989657703c 100644 --- a/resources/lang/fi_FI/list.php +++ b/resources/lang/fi_FI/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Tilin tyyppi', 'created_at' => 'Luotu', 'account' => 'Tili', + 'external_uri' => 'External URI', 'matchingAmount' => 'Summa', 'destination' => 'Kohde', 'source' => 'Lähde', diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index 4cd41c5756..287529c158 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Référence interne', 'pref_optional_tj_notes' => 'Notes', 'pref_optional_tj_attachments' => 'Pièces jointes', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Dates', 'optional_field_meta_business' => 'Commerce', 'optional_field_attachments' => 'Pièces jointes', 'optional_field_meta_data' => 'Métadonnées facultatives', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Supprimer des données de Firefly III', diff --git a/resources/lang/fr_FR/list.php b/resources/lang/fr_FR/list.php index aeee47bf94..c9fc312ff3 100644 --- a/resources/lang/fr_FR/list.php +++ b/resources/lang/fr_FR/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Type de compte', 'created_at' => 'Créé le', 'account' => 'Compte', + 'external_uri' => 'External URI', 'matchingAmount' => 'Montant', 'destination' => 'Destination', 'source' => 'Source', diff --git a/resources/lang/hu_HU/firefly.php b/resources/lang/hu_HU/firefly.php index e2bdbebbf3..0ecd2072af 100644 --- a/resources/lang/hu_HU/firefly.php +++ b/resources/lang/hu_HU/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Belső hivatkozás', 'pref_optional_tj_notes' => 'Megjegyzések', 'pref_optional_tj_attachments' => 'Mellékletek', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Dátumok', 'optional_field_meta_business' => 'Üzleti', 'optional_field_attachments' => 'Mellékletek', 'optional_field_meta_data' => 'Opcionális metaadat', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/hu_HU/list.php b/resources/lang/hu_HU/list.php index 414bd3fee2..812b810229 100644 --- a/resources/lang/hu_HU/list.php +++ b/resources/lang/hu_HU/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Bankszámla típusa', 'created_at' => 'Létrehozva', 'account' => 'Bankszámla', + 'external_uri' => 'External URI', 'matchingAmount' => 'Összeg', 'destination' => 'Cél', 'source' => 'Forrás', diff --git a/resources/lang/id_ID/firefly.php b/resources/lang/id_ID/firefly.php index e01655aab3..02bcd5fac9 100644 --- a/resources/lang/id_ID/firefly.php +++ b/resources/lang/id_ID/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Referensi internal', 'pref_optional_tj_notes' => 'Catatan', 'pref_optional_tj_attachments' => 'Lampiran', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Tanggal', 'optional_field_meta_business' => 'Bisnis', 'optional_field_attachments' => 'Lampiran', 'optional_field_meta_data' => 'Data meta opsional', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/id_ID/list.php b/resources/lang/id_ID/list.php index 1f03bde5f8..005b7839a6 100644 --- a/resources/lang/id_ID/list.php +++ b/resources/lang/id_ID/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Jenis akun', 'created_at' => 'Dibuat di', 'account' => 'Akun', + 'external_uri' => 'External URI', 'matchingAmount' => 'Jumlah', 'destination' => 'Tujuan', 'source' => 'Sumber', diff --git a/resources/lang/it_IT/firefly.php b/resources/lang/it_IT/firefly.php index 9827fc51e0..1acf392e6d 100644 --- a/resources/lang/it_IT/firefly.php +++ b/resources/lang/it_IT/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Riferimento interno', 'pref_optional_tj_notes' => 'Note', 'pref_optional_tj_attachments' => 'Allegati', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Dati', 'optional_field_meta_business' => 'Attività commerciale', 'optional_field_attachments' => 'Allegati', 'optional_field_meta_data' => 'Metadati opzionali', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Elimina i dati da Firefly III', diff --git a/resources/lang/it_IT/list.php b/resources/lang/it_IT/list.php index 32009a1ceb..b36fccb231 100644 --- a/resources/lang/it_IT/list.php +++ b/resources/lang/it_IT/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Tipo conto', 'created_at' => 'Creato il', 'account' => 'Conto', + 'external_uri' => 'External URI', 'matchingAmount' => 'Importo', 'destination' => 'Destinazione', 'source' => 'Origine', diff --git a/resources/lang/nb_NO/firefly.php b/resources/lang/nb_NO/firefly.php index 301eb2dd12..ffb56861a3 100644 --- a/resources/lang/nb_NO/firefly.php +++ b/resources/lang/nb_NO/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Intern referanse', 'pref_optional_tj_notes' => 'Notater', 'pref_optional_tj_attachments' => 'Vedlegg', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Datoer', 'optional_field_meta_business' => 'Bedrift', 'optional_field_attachments' => 'Vedlegg', 'optional_field_meta_data' => 'Valgfri metadata', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/nb_NO/list.php b/resources/lang/nb_NO/list.php index 21da6bc5dd..ad4c0cf4ac 100644 --- a/resources/lang/nb_NO/list.php +++ b/resources/lang/nb_NO/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Kontotype', 'created_at' => 'Opprettet', 'account' => 'Konto', + 'external_uri' => 'External URI', 'matchingAmount' => 'Beløp', 'destination' => 'Mål', 'source' => 'Kilde', diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index 5d2e873fa7..503d975d08 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Interne verwijzing', 'pref_optional_tj_notes' => 'Notities', 'pref_optional_tj_attachments' => 'Bijlagen', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Data', 'optional_field_meta_business' => 'Zakelijk', 'optional_field_attachments' => 'Bijlagen', 'optional_field_meta_data' => 'Optionele meta-gegevens', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Gegevens verwijderen uit Firefly III', diff --git a/resources/lang/nl_NL/list.php b/resources/lang/nl_NL/list.php index 82cc70d53d..162d7455d3 100644 --- a/resources/lang/nl_NL/list.php +++ b/resources/lang/nl_NL/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Accounttype', 'created_at' => 'Gemaakt op', 'account' => 'Rekening', + 'external_uri' => 'External URI', 'matchingAmount' => 'Bedrag', 'destination' => 'Doel', 'source' => 'Bron', diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index f3c26877cf..b72ab14b2a 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Wewnętrzny numer', 'pref_optional_tj_notes' => 'Notatki', 'pref_optional_tj_attachments' => 'Załączniki', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Daty', 'optional_field_meta_business' => 'Biznesowe', 'optional_field_attachments' => 'Załączniki', 'optional_field_meta_data' => 'Opcjonalne metadane', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Usuń dane z Firefly III', diff --git a/resources/lang/pl_PL/list.php b/resources/lang/pl_PL/list.php index 8929bf877b..59fb81ba03 100644 --- a/resources/lang/pl_PL/list.php +++ b/resources/lang/pl_PL/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Typ konta', 'created_at' => 'Utworzono', 'account' => 'Konto', + 'external_uri' => 'External URI', 'matchingAmount' => 'Kwota', 'destination' => 'Cel', 'source' => 'Źródło', diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index b46b5b0060..54b75b4048 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Referência interna', 'pref_optional_tj_notes' => 'Notas', 'pref_optional_tj_attachments' => 'Anexos', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Datas', 'optional_field_meta_business' => 'Negócios', 'optional_field_attachments' => 'Anexos', 'optional_field_meta_data' => 'Meta dados opcionais', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Excluir dados do Firefly III', diff --git a/resources/lang/pt_BR/list.php b/resources/lang/pt_BR/list.php index c53ca1e449..d4fd7de9cf 100644 --- a/resources/lang/pt_BR/list.php +++ b/resources/lang/pt_BR/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Tipo de conta', 'created_at' => 'Criado em', 'account' => 'Conta', + 'external_uri' => 'External URI', 'matchingAmount' => 'Total', 'destination' => 'Destino', 'source' => 'Fonte', diff --git a/resources/lang/ro_RO/firefly.php b/resources/lang/ro_RO/firefly.php index 15b392cb7d..afb1a6a6f9 100644 --- a/resources/lang/ro_RO/firefly.php +++ b/resources/lang/ro_RO/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Referință internă', 'pref_optional_tj_notes' => 'Notițe', 'pref_optional_tj_attachments' => 'Ataşamente', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Date', 'optional_field_meta_business' => 'Afaceri', 'optional_field_attachments' => 'Ataşamente', 'optional_field_meta_data' => 'Meta date opționale', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/ro_RO/list.php b/resources/lang/ro_RO/list.php index e92e2b400e..333701be61 100644 --- a/resources/lang/ro_RO/list.php +++ b/resources/lang/ro_RO/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Tip de cont', 'created_at' => 'Creat la', 'account' => 'Cont', + 'external_uri' => 'External URI', 'matchingAmount' => 'Sumă', 'destination' => 'Destinație', 'source' => 'Sursă', diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index ea1ee0637b..8a7563e94f 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Внутренняя ссылка', 'pref_optional_tj_notes' => 'Заметки', 'pref_optional_tj_attachments' => 'Вложения', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Даты', 'optional_field_meta_business' => 'Бизнес', 'optional_field_attachments' => 'Вложения', 'optional_field_meta_data' => 'Расширенные данные', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Удалить данные из Firefly III', diff --git a/resources/lang/ru_RU/list.php b/resources/lang/ru_RU/list.php index d4bc2a34d8..dafa72c045 100644 --- a/resources/lang/ru_RU/list.php +++ b/resources/lang/ru_RU/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Тип профиля', 'created_at' => 'Создан', 'account' => 'Счёт', + 'external_uri' => 'External URI', 'matchingAmount' => 'Сумма', 'destination' => 'Получатель', 'source' => 'Источник', diff --git a/resources/lang/sv_SE/firefly.php b/resources/lang/sv_SE/firefly.php index 21ece5972a..966bbf631e 100644 --- a/resources/lang/sv_SE/firefly.php +++ b/resources/lang/sv_SE/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Intern referens', 'pref_optional_tj_notes' => 'Anteckningar', 'pref_optional_tj_attachments' => 'Bilagor', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Datum', 'optional_field_meta_business' => 'Affärsverksamhet', 'optional_field_attachments' => 'Bilagor', 'optional_field_meta_data' => 'Valfri metadata', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/sv_SE/list.php b/resources/lang/sv_SE/list.php index ad6620fde0..bbcd5521fc 100644 --- a/resources/lang/sv_SE/list.php +++ b/resources/lang/sv_SE/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Kontotyp', 'created_at' => 'Skapad den', 'account' => 'Konto', + 'external_uri' => 'External URI', 'matchingAmount' => 'Belopp', 'destination' => 'Destination', 'source' => 'Källa', diff --git a/resources/lang/tr_TR/firefly.php b/resources/lang/tr_TR/firefly.php index 80cb4cf8c9..0b4ad0f6cb 100644 --- a/resources/lang/tr_TR/firefly.php +++ b/resources/lang/tr_TR/firefly.php @@ -621,10 +621,12 @@ işlemlerin kontrol edildiğini lütfen unutmayın.', 'pref_optional_tj_internal_reference' => 'Dahili referans', 'pref_optional_tj_notes' => 'Notlar', 'pref_optional_tj_attachments' => 'Ekler', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Tarih', 'optional_field_meta_business' => 'İş', 'optional_field_attachments' => 'Ekler', 'optional_field_meta_data' => 'İsteğe bağlı meta veriler', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/tr_TR/list.php b/resources/lang/tr_TR/list.php index 50635e94f0..ffb15139fe 100644 --- a/resources/lang/tr_TR/list.php +++ b/resources/lang/tr_TR/list.php @@ -46,6 +46,7 @@ return [ 'account_type' => 'Hesap Türü', 'created_at' => 'Tarihinde oluşturuldu', 'account' => 'Hesap', + 'external_uri' => 'External URI', 'matchingAmount' => 'Miktar', 'destination' => 'Hedef', 'source' => 'Kaynak', diff --git a/resources/lang/vi_VN/firefly.php b/resources/lang/vi_VN/firefly.php index d1cd8832d0..6db3b827a9 100644 --- a/resources/lang/vi_VN/firefly.php +++ b/resources/lang/vi_VN/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => 'Tài liệu tham khảo nội bộ', 'pref_optional_tj_notes' => 'Ghi chú', 'pref_optional_tj_attachments' => 'Tài liệu đính kèm', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => 'Ngày', 'optional_field_meta_business' => 'Kinh doanh', 'optional_field_attachments' => 'Tài liệu đính kèm', 'optional_field_meta_data' => 'Dữ liệu meta tùy chọn', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/vi_VN/list.php b/resources/lang/vi_VN/list.php index 7df7689972..77aa391dee 100644 --- a/resources/lang/vi_VN/list.php +++ b/resources/lang/vi_VN/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => 'Loại tài khoản', 'created_at' => 'Được tạo tại', 'account' => 'Tài khoản', + 'external_uri' => 'External URI', 'matchingAmount' => 'Số tiền', 'destination' => 'Nơi đến', 'source' => 'Nơi gửi', diff --git a/resources/lang/zh_CN/firefly.php b/resources/lang/zh_CN/firefly.php index 084ed9a897..9b36bd2895 100644 --- a/resources/lang/zh_CN/firefly.php +++ b/resources/lang/zh_CN/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => '内部参考', 'pref_optional_tj_notes' => '注释', 'pref_optional_tj_attachments' => '附加档案', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => '日期', 'optional_field_meta_business' => '商务', 'optional_field_attachments' => '附加档案', 'optional_field_meta_data' => '可选后设资料', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/zh_CN/list.php b/resources/lang/zh_CN/list.php index a803681e1d..0735661a84 100644 --- a/resources/lang/zh_CN/list.php +++ b/resources/lang/zh_CN/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => '帐户类型', 'created_at' => '建立于', 'account' => '帐户', + 'external_uri' => 'External URI', 'matchingAmount' => '金额', 'destination' => '目标', 'source' => '来源', diff --git a/resources/lang/zh_TW/firefly.php b/resources/lang/zh_TW/firefly.php index 541f80d623..f9130bc2fe 100644 --- a/resources/lang/zh_TW/firefly.php +++ b/resources/lang/zh_TW/firefly.php @@ -619,10 +619,12 @@ return [ 'pref_optional_tj_internal_reference' => '內部參照', 'pref_optional_tj_notes' => '備註', 'pref_optional_tj_attachments' => '附加檔案', + 'pref_optional_tj_external_uri' => 'External URI', 'optional_field_meta_dates' => '日期', 'optional_field_meta_business' => '商務', 'optional_field_attachments' => '附加檔案', 'optional_field_meta_data' => '可選中繼資料', + 'external_uri' => 'External URI', // profile: 'delete_stuff_header' => 'Delete data from Firefly III', diff --git a/resources/lang/zh_TW/list.php b/resources/lang/zh_TW/list.php index 69358e6db1..6807176624 100644 --- a/resources/lang/zh_TW/list.php +++ b/resources/lang/zh_TW/list.php @@ -45,6 +45,7 @@ return [ 'account_type' => '帳戶類型', 'created_at' => '建立於', 'account' => '帳戶', + 'external_uri' => 'External URI', 'matchingAmount' => '金額', 'destination' => '目標', 'source' => '來源', diff --git a/resources/views/v1/preferences/index.twig b/resources/views/v1/preferences/index.twig index 533969c30f..64979b87dd 100644 --- a/resources/views/v1/preferences/index.twig +++ b/resources/views/v1/preferences/index.twig @@ -111,6 +111,7 @@

{{ 'optional_tj_business_fields'|_ }}

{{ ExpandedForm.checkbox('tj[internal_reference]','1', tjOptionalFields.internal_reference,{ 'label' : 'pref_optional_tj_internal_reference'|_ }) }} + {{ ExpandedForm.checkbox('tj[external_uri]','1', tjOptionalFields.external_uri,{ 'label' : 'pref_optional_tj_external_uri'|_ }) }} {{ ExpandedForm.checkbox('tj[notes]','1', tjOptionalFields.notes,{ 'label' : 'pref_optional_tj_notes'|_ }) }}

{{ 'optional_tj_attachment_fields'|_ }}

diff --git a/resources/views/v1/transactions/show.twig b/resources/views/v1/transactions/show.twig index eeb8839ae6..c485c08c62 100644 --- a/resources/views/v1/transactions/show.twig +++ b/resources/views/v1/transactions/show.twig @@ -248,11 +248,25 @@ {% endif %} {% endfor %} - {% for metaField in ['external_id','bunq_payment_id','internal_reference','sepa_batch_id','sepa_ct_id','sepa_ct_op','sepa_db','sepa_country','sepa_cc','sepa_ep','sepa_ci'] %} + {% for metaField in ['external_id','bunq_payment_id','internal_reference','sepa_batch_id','sepa_ct_id','sepa_ct_op','sepa_db','sepa_country','sepa_cc','sepa_ep','sepa_ci','external_uri'] %} {% if journalHasMeta(journal.transaction_journal_id, metaField) %} {{ trans('list.'~metaField) }} - {{ journalGetMetaField(journal.transaction_journal_id, metaField) }} + + {% if 'external_uri' == metaField %} + {% set uri = journalGetMetaField(journal.transaction_journal_id, metaField) %} + + {% if uri|length > 60 %} + {{ uri|slice(0, 60) ~ '...' }} + {% else %} + {{ uri }} + {% endif %} + + {% endif %} + {% if 'external_uri' != metaField %} + {{ journalGetMetaField(journal.transaction_journal_id, metaField) }} + {% endif %} + {% endif %} {% endfor %} @@ -373,7 +387,7 @@ {% block scripts %} diff --git a/yarn.lock b/yarn.lock index 011daad463..de10494fbe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2453,9 +2453,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.488: - version "1.3.504" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.504.tgz#54d6288202f8453053c006eb862e2e3b7bc867a5" - integrity sha512-yOXnuPaaLAIZUVuXHYDCo3EeaiEfbFgYWCPH1tBMp+jznCq/zQYKnf6HmkKBmLJ0VES81avl18JZO1lx/XAHOw== + version "1.3.505" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.505.tgz#0e55edbdfc13700b6742a73c81c0af7d0d71364f" + integrity sha512-Aunrp3HWtmdiJLIl+IPSFtEvJ/4Q9a3eKaxmzCthaZF1gbTbpHUTCU2zOVnFPH7r/AD7zQXyuFidYXzSHXBdsw== elliptic@^6.0.0, elliptic@^6.5.2: version "6.5.3" @@ -4459,9 +4459,9 @@ node-notifier@^5.1.2: which "^1.3.0" node-releases@^1.1.58: - version "1.1.59" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.59.tgz#4d648330641cec704bff10f8e4fe28e453ab8e8e" - integrity sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw== + version "1.1.60" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" + integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== normalize-path@^2.1.1: version "2.1.1"