'.trans('texts.password').': '.$data['password'].'
' : false;
$documentsHTML = '';
@@ -46,12 +47,13 @@ class TemplateService
$variables = [
'$footer' => $account->getEmailFooter(),
+ '$emailSignature' => $account->getEmailFooter(),
'$client' => $client->getDisplayName(),
'$account' => $account->getDisplayName(),
'$dueDate' => $account->formatDate($invoice->due_date),
'$invoiceDate' => $account->formatDate($invoice->invoice_date),
- '$contact' => $invitation->contact->getDisplayName(),
- '$firstName' => $invitation->contact->first_name,
+ '$contact' => $contact->getDisplayName(),
+ '$firstName' => $contact->first_name,
'$amount' => $account->formatMoney($data['amount'], $client),
'$invoice' => $invoice->invoice_number,
'$quote' => $invoice->invoice_number,
@@ -63,6 +65,8 @@ class TemplateService
'$paymentButton' => Form::emailPaymentButton($invitation->getLink('payment')).'$password',
'$customClient1' => $client->custom_value1,
'$customClient2' => $client->custom_value2,
+ '$customContact1' => $contact->custom_value1,
+ '$customContact2' => $contact->custom_value2,
'$customInvoice1' => $invoice->custom_text_value1,
'$customInvoice2' => $invoice->custom_text_value2,
'$documents' => $documentsHTML,
diff --git a/composer.json b/composer.json
index b0ae7b213193..c02f0decf4b5 100644
--- a/composer.json
+++ b/composer.json
@@ -17,7 +17,7 @@
"ext-gmp": "*",
"ext-gd": "*",
"turbo124/laravel-push-notification": "2.*",
- "omnipay/mollie": "dev-master#22956c1a62a9662afa5f5d119723b413770ac525",
+ "omnipay/mollie": "3.*",
"omnipay/2checkout": "dev-master#e9c079c2dde0d7ba461903b3b7bd5caf6dee1248",
"omnipay/gocardless": "dev-master",
"omnipay/stripe": "dev-master",
diff --git a/composer.lock b/composer.lock
index e31cefa78a8d..caf760358ec2 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,8 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "hash": "5c6d080c3a38d42e07ab70bf32760976",
- "content-hash": "dcf4534113b5e62eb3f1fa6b453c82be",
+ "hash": "8fb907c3b74902fc105d5076234c4a80",
+ "content-hash": "1bc81460b475ce88809f30d99886ecfd",
"packages": [
{
"name": "agmscode/omnipay-agms",
@@ -327,16 +327,16 @@
},
{
"name": "aws/aws-sdk-php",
- "version": "3.24.9",
+ "version": "3.26.2",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
- "reference": "26212252dcd0f9b9b7b19702577d0b0b364888df"
+ "reference": "05df1887d7b8cea9fba9ad59e1513c3815e883ae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/26212252dcd0f9b9b7b19702577d0b0b364888df",
- "reference": "26212252dcd0f9b9b7b19702577d0b0b364888df",
+ "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/05df1887d7b8cea9fba9ad59e1513c3815e883ae",
+ "reference": "05df1887d7b8cea9fba9ad59e1513c3815e883ae",
"shasum": ""
},
"require": {
@@ -403,7 +403,7 @@
"s3",
"sdk"
],
- "time": "2017-03-28 20:19:24"
+ "time": "2017-04-21 20:25:16"
},
{
"name": "barracudanetworks/archivestream-php",
@@ -674,16 +674,16 @@
},
{
"name": "braintree/braintree_php",
- "version": "3.22.0",
+ "version": "3.23.0",
"source": {
"type": "git",
"url": "https://github.com/braintree/braintree_php.git",
- "reference": "402617b803779bed5ae899209afa75ef9950becc"
+ "reference": "0614d169e3ef8a9b16a90367f8a66bdd9f5a9df6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/braintree/braintree_php/zipball/402617b803779bed5ae899209afa75ef9950becc",
- "reference": "402617b803779bed5ae899209afa75ef9950becc",
+ "url": "https://api.github.com/repos/braintree/braintree_php/zipball/0614d169e3ef8a9b16a90367f8a66bdd9f5a9df6",
+ "reference": "0614d169e3ef8a9b16a90367f8a66bdd9f5a9df6",
"shasum": ""
},
"require": {
@@ -717,7 +717,7 @@
}
],
"description": "Braintree PHP Client Library",
- "time": "2017-02-16 19:59:04"
+ "time": "2017-04-13 20:06:18"
},
{
"name": "cardgate/omnipay-cardgate",
@@ -922,12 +922,12 @@
"source": {
"type": "git",
"url": "https://github.com/codedge/laravel-selfupdater.git",
- "reference": "b24b155fe0fcccf0ecfbc926a6c3043911418906"
+ "reference": "084a1dd447d9dcd532042dfc3296b195903c2530"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/codedge/laravel-selfupdater/zipball/b24b155fe0fcccf0ecfbc926a6c3043911418906",
- "reference": "b24b155fe0fcccf0ecfbc926a6c3043911418906",
+ "url": "https://api.github.com/repos/codedge/laravel-selfupdater/zipball/084a1dd447d9dcd532042dfc3296b195903c2530",
+ "reference": "084a1dd447d9dcd532042dfc3296b195903c2530",
"shasum": ""
},
"require": {
@@ -970,7 +970,7 @@
"self-update",
"update"
],
- "time": "2016-09-21 12:43:00"
+ "time": "2017-04-09 12:12:08"
},
{
"name": "collizo4sky/omnipay-wepay",
@@ -2075,6 +2075,49 @@
],
"time": "2017-03-13 06:30:53"
},
+ {
+ "name": "firebase/php-jwt",
+ "version": "v4.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/firebase/php-jwt.git",
+ "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35",
+ "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Firebase\\JWT\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Neuman Vong",
+ "email": "neuman+pear@twilio.com",
+ "role": "Developer"
+ },
+ {
+ "name": "Anant Narayanan",
+ "email": "anant@php.net",
+ "role": "Developer"
+ }
+ ],
+ "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
+ "homepage": "https://github.com/firebase/php-jwt",
+ "time": "2016-07-18 04:51:16"
+ },
{
"name": "fotografde/omnipay-checkoutcom",
"version": "2.0",
@@ -2251,34 +2294,50 @@
},
{
"name": "google/apiclient",
- "version": "v1.1.8",
+ "version": "v2.1.3",
"source": {
"type": "git",
"url": "https://github.com/google/google-api-php-client.git",
- "reference": "85309a3520bb5f53368d43e35fd24f43c9556323"
+ "reference": "43996f09df274158fd04fce98e8a82effe5f3717"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/google/google-api-php-client/zipball/85309a3520bb5f53368d43e35fd24f43c9556323",
- "reference": "85309a3520bb5f53368d43e35fd24f43c9556323",
+ "url": "https://api.github.com/repos/google/google-api-php-client/zipball/43996f09df274158fd04fce98e8a82effe5f3717",
+ "reference": "43996f09df274158fd04fce98e8a82effe5f3717",
"shasum": ""
},
"require": {
- "php": ">=5.2.1"
+ "firebase/php-jwt": "~2.0|~3.0|~4.0",
+ "google/apiclient-services": "^0.11",
+ "google/auth": "^0.11",
+ "guzzlehttp/guzzle": "~5.2|~6.0",
+ "guzzlehttp/psr7": "^1.2",
+ "monolog/monolog": "^1.17",
+ "php": ">=5.4",
+ "phpseclib/phpseclib": "~0.3.10|~2.0"
},
"require-dev": {
- "phpunit/phpunit": "3.7.*",
- "squizlabs/php_codesniffer": "~2.3"
+ "cache/filesystem-adapter": "^0.3.2",
+ "phpunit/phpunit": "~4",
+ "squizlabs/php_codesniffer": "~2.3",
+ "symfony/css-selector": "~2.1",
+ "symfony/dom-crawler": "~2.1"
+ },
+ "suggest": {
+ "cache/filesystem-adapter": "For caching certs and tokens (using Google_Client::setCache)"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-v1-master": "1.1.x-dev"
+ "dev-master": "2.x-dev"
}
},
"autoload": {
- "files": [
- "src/Google/autoload.php"
+ "psr-0": {
+ "Google_": "src/"
+ },
+ "classmap": [
+ "src/Google/Service/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -2290,7 +2349,92 @@
"keywords": [
"google"
],
- "time": "2016-06-06 21:22:48"
+ "time": "2017-03-22 18:32:04"
+ },
+ {
+ "name": "google/apiclient-services",
+ "version": "v0.11",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/google/google-api-php-client-services.git",
+ "reference": "48c554aee06f2fd5700d7bdfa4fa6b82d184eb52"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/google/google-api-php-client-services/zipball/48c554aee06f2fd5700d7bdfa4fa6b82d184eb52",
+ "reference": "48c554aee06f2fd5700d7bdfa4fa6b82d184eb52",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.8"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Google_Service_": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache-2.0"
+ ],
+ "description": "Client library for Google APIs",
+ "homepage": "http://developers.google.com/api-client-library/php",
+ "keywords": [
+ "google"
+ ],
+ "time": "2017-03-13 17:40:44"
+ },
+ {
+ "name": "google/auth",
+ "version": "v0.11.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/google/google-auth-library-php.git",
+ "reference": "a240674b08a09949fd5597f7590b3ed83663a12d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d",
+ "reference": "a240674b08a09949fd5597f7590b3ed83663a12d",
+ "shasum": ""
+ },
+ "require": {
+ "firebase/php-jwt": "~2.0|~3.0|~4.0",
+ "guzzlehttp/guzzle": "~5.3|~6.0",
+ "guzzlehttp/psr7": "~1.2",
+ "php": ">=5.4",
+ "psr/cache": "^1.0",
+ "psr/http-message": "^1.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^1.11",
+ "phpunit/phpunit": "3.7.*"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ],
+ "psr-4": {
+ "Google\\Auth\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache-2.0"
+ ],
+ "description": "Google Auth Library for PHP",
+ "homepage": "http://github.com/google/google-auth-library-php",
+ "keywords": [
+ "Authentication",
+ "google",
+ "oauth2"
+ ],
+ "time": "2016-11-02 14:59:14"
},
{
"name": "guzzle/guzzle",
@@ -2674,12 +2818,12 @@
"source": {
"type": "git",
"url": "https://github.com/Intervention/image.git",
- "reference": "c9a162592dda7ae4ad3b49305da41e82155f9b9a"
+ "reference": "15a517f052ee15d373ffa145c9642d5fec7ddf5c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Intervention/image/zipball/c9a162592dda7ae4ad3b49305da41e82155f9b9a",
- "reference": "c9a162592dda7ae4ad3b49305da41e82155f9b9a",
+ "url": "https://api.github.com/repos/Intervention/image/zipball/15a517f052ee15d373ffa145c9642d5fec7ddf5c",
+ "reference": "15a517f052ee15d373ffa145c9642d5fec7ddf5c",
"shasum": ""
},
"require": {
@@ -2728,7 +2872,7 @@
"thumbnail",
"watermark"
],
- "time": "2017-02-23 16:15:05"
+ "time": "2017-04-23 18:45:36"
},
{
"name": "ircmaxell/password-compat",
@@ -2902,16 +3046,16 @@
},
{
"name": "jaybizzle/crawler-detect",
- "version": "v1.2.37",
+ "version": "v1.2.40",
"source": {
"type": "git",
"url": "https://github.com/JayBizzle/Crawler-Detect.git",
- "reference": "850e5fc85506f9bee623fd29936ceb044d63ad2b"
+ "reference": "c5c0f049264edcf6499847c756dc36e51a072313"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/850e5fc85506f9bee623fd29936ceb044d63ad2b",
- "reference": "850e5fc85506f9bee623fd29936ceb044d63ad2b",
+ "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/c5c0f049264edcf6499847c756dc36e51a072313",
+ "reference": "c5c0f049264edcf6499847c756dc36e51a072313",
"shasum": ""
},
"require": {
@@ -2946,7 +3090,7 @@
"crawlerdetect",
"php crawler detect"
],
- "time": "2017-03-21 09:17:34"
+ "time": "2017-04-20 18:58:25"
},
{
"name": "jaybizzle/laravel-crawler-detect",
@@ -3546,16 +3690,16 @@
},
{
"name": "league/flysystem",
- "version": "1.0.37",
+ "version": "1.0.38",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "78b5cc4feb61a882302df4fbaf63b7662e5e4ccd"
+ "reference": "4ba6e13f5116204b21c3afdf400ecf2b9eb1c482"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/78b5cc4feb61a882302df4fbaf63b7662e5e4ccd",
- "reference": "78b5cc4feb61a882302df4fbaf63b7662e5e4ccd",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4ba6e13f5116204b21c3afdf400ecf2b9eb1c482",
+ "reference": "4ba6e13f5116204b21c3afdf400ecf2b9eb1c482",
"shasum": ""
},
"require": {
@@ -3577,12 +3721,12 @@
"league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
"league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
"league/flysystem-copy": "Allows you to use Copy.com storage",
- "league/flysystem-dropbox": "Allows you to use Dropbox storage",
"league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
"league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
"league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
"league/flysystem-webdav": "Allows you to use WebDAV storage",
- "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter"
+ "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
+ "spatie/flysystem-dropbox": "Allows you to use Dropbox storage"
},
"type": "library",
"extra": {
@@ -3625,7 +3769,7 @@
"sftp",
"storage"
],
- "time": "2017-03-22 15:43:14"
+ "time": "2017-04-22 18:59:19"
},
{
"name": "league/flysystem-aws-s3-v3",
@@ -3953,16 +4097,16 @@
},
{
"name": "maatwebsite/excel",
- "version": "2.1.16",
+ "version": "2.1.17",
"source": {
"type": "git",
"url": "https://github.com/Maatwebsite/Laravel-Excel.git",
- "reference": "655def96b5e98d1fe0974d9c4e2ec5f2b591a322"
+ "reference": "14d5abf8e20563c80dd074fd7c8cf1c05bf51f1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Maatwebsite/Laravel-Excel/zipball/655def96b5e98d1fe0974d9c4e2ec5f2b591a322",
- "reference": "655def96b5e98d1fe0974d9c4e2ec5f2b591a322",
+ "url": "https://api.github.com/repos/Maatwebsite/Laravel-Excel/zipball/14d5abf8e20563c80dd074fd7c8cf1c05bf51f1d",
+ "reference": "14d5abf8e20563c80dd074fd7c8cf1c05bf51f1d",
"shasum": ""
},
"require": {
@@ -4017,7 +4161,7 @@
"import",
"laravel"
],
- "time": "2017-03-28 10:47:04"
+ "time": "2017-04-04 18:28:12"
},
{
"name": "maximebf/debugbar",
@@ -4561,16 +4705,16 @@
},
{
"name": "nwidart/laravel-modules",
- "version": "1.19.0",
+ "version": "1.20.0",
"source": {
"type": "git",
"url": "https://github.com/nWidart/laravel-modules.git",
- "reference": "694640a499452f1bff8f424b250260343d81acba"
+ "reference": "c259422a0c8303d552324ce13c5dbd672468676c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nWidart/laravel-modules/zipball/694640a499452f1bff8f424b250260343d81acba",
- "reference": "694640a499452f1bff8f424b250260343d81acba",
+ "url": "https://api.github.com/repos/nWidart/laravel-modules/zipball/c259422a0c8303d552324ce13c5dbd672468676c",
+ "reference": "c259422a0c8303d552324ce13c5dbd672468676c",
"shasum": ""
},
"require": {
@@ -4610,7 +4754,7 @@
"nwidart",
"rad"
],
- "time": "2017-03-16 10:56:06"
+ "time": "2017-04-19 13:47:31"
},
{
"name": "omnipay/2checkout",
@@ -5486,16 +5630,16 @@
},
{
"name": "omnipay/mollie",
- "version": "dev-master",
+ "version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/omnipay-mollie.git",
- "reference": "22956c1a62a9662afa5f5d119723b413770ac525"
+ "reference": "8a81a9980a3de726e6badb2ca0edc3728bba6c95"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/omnipay-mollie/zipball/22956c1a62a9662afa5f5d119723b413770ac525",
- "reference": "22956c1a62a9662afa5f5d119723b413770ac525",
+ "url": "https://api.github.com/repos/thephpleague/omnipay-mollie/zipball/8a81a9980a3de726e6badb2ca0edc3728bba6c95",
+ "reference": "8a81a9980a3de726e6badb2ca0edc3728bba6c95",
"shasum": ""
},
"require": {
@@ -5539,7 +5683,7 @@
"pay",
"payment"
],
- "time": "2015-03-03 18:55:42"
+ "time": "2016-10-11 09:44:09"
},
{
"name": "omnipay/multisafepay",
@@ -5715,16 +5859,16 @@
},
{
"name": "omnipay/omnipay",
- "version": "v2.3.1",
+ "version": "2.3.2",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/omnipay.git",
- "reference": "ae75717ec00b93069768102af11b9dd909c78bd3"
+ "reference": "e9e6d95a2e7c3641ba31c985334d82e39dbd6078"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/omnipay/zipball/ae75717ec00b93069768102af11b9dd909c78bd3",
- "reference": "ae75717ec00b93069768102af11b9dd909c78bd3",
+ "url": "https://api.github.com/repos/thephpleague/omnipay/zipball/e9e6d95a2e7c3641ba31c985334d82e39dbd6078",
+ "reference": "e9e6d95a2e7c3641ba31c985334d82e39dbd6078",
"shasum": ""
},
"require": {
@@ -5740,7 +5884,7 @@
"omnipay/gocardless": "~2.0",
"omnipay/manual": "~2.0",
"omnipay/migs": "~2.0",
- "omnipay/mollie": "~2.0",
+ "omnipay/mollie": "~3.0",
"omnipay/multisafepay": "~2.0",
"omnipay/netaxept": "~2.0",
"omnipay/netbanx": "~2.0",
@@ -5823,7 +5967,7 @@
"twocheckout",
"worldpay"
],
- "time": "2014-09-17 00:29:37"
+ "time": "2014-12-10 13:55:00"
},
{
"name": "omnipay/payfast",
@@ -6119,16 +6263,16 @@
},
{
"name": "omnipay/sagepay",
- "version": "2.3.1",
+ "version": "2.4.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/omnipay-sagepay.git",
- "reference": "ca992b28a0d7ec7dbf218852dab36ec309dee07e"
+ "reference": "4ca4847935bc31dbcdd627e92377b5c3cf709e9b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/omnipay-sagepay/zipball/ca992b28a0d7ec7dbf218852dab36ec309dee07e",
- "reference": "ca992b28a0d7ec7dbf218852dab36ec309dee07e",
+ "url": "https://api.github.com/repos/thephpleague/omnipay-sagepay/zipball/4ca4847935bc31dbcdd627e92377b5c3cf709e9b",
+ "reference": "4ca4847935bc31dbcdd627e92377b5c3cf709e9b",
"shasum": ""
},
"require": {
@@ -6174,7 +6318,7 @@
"sage pay",
"sagepay"
],
- "time": "2016-02-07 13:25:23"
+ "time": "2017-01-12 23:36:01"
},
{
"name": "omnipay/securepay",
@@ -6568,6 +6712,98 @@
],
"time": "2015-05-01 07:00:55"
},
+ {
+ "name": "phpseclib/phpseclib",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpseclib/phpseclib.git",
+ "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/ab8028c93c03cc8d9c824efa75dc94f1db2369bf",
+ "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "phing/phing": "~2.7",
+ "phpunit/phpunit": "~4.0",
+ "sami/sami": "~2.0",
+ "squizlabs/php_codesniffer": "~2.0"
+ },
+ "suggest": {
+ "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
+ "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
+ "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
+ "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "phpseclib/bootstrap.php"
+ ],
+ "psr-4": {
+ "phpseclib\\": "phpseclib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jim Wigginton",
+ "email": "terrafrost@php.net",
+ "role": "Lead Developer"
+ },
+ {
+ "name": "Patrick Monnerat",
+ "email": "pm@datasphere.ch",
+ "role": "Developer"
+ },
+ {
+ "name": "Andreas Fischer",
+ "email": "bantu@phpbb.com",
+ "role": "Developer"
+ },
+ {
+ "name": "Hans-Jürgen Petrich",
+ "email": "petrich@tronic-media.com",
+ "role": "Developer"
+ },
+ {
+ "name": "Graham Campbell",
+ "email": "graham@alt-three.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
+ "homepage": "http://phpseclib.sourceforge.net",
+ "keywords": [
+ "BigInteger",
+ "aes",
+ "asn.1",
+ "asn1",
+ "blowfish",
+ "crypto",
+ "cryptography",
+ "encryption",
+ "rsa",
+ "security",
+ "sftp",
+ "signature",
+ "signing",
+ "ssh",
+ "twofish",
+ "x.509",
+ "x509"
+ ],
+ "time": "2016-10-04 00:57:04"
+ },
{
"name": "predis/predis",
"version": "v1.1.1",
@@ -6618,6 +6854,52 @@
],
"time": "2016-06-16 16:22:20"
},
+ {
+ "name": "psr/cache",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/cache.git",
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Cache\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for caching libraries",
+ "keywords": [
+ "cache",
+ "psr",
+ "psr-6"
+ ],
+ "time": "2016-08-06 20:24:11"
+ },
{
"name": "psr/container",
"version": "1.0.0",
@@ -7001,20 +7283,20 @@
},
{
"name": "superbalist/flysystem-google-storage",
- "version": "1.0.4",
+ "version": "1.0.3",
"source": {
"type": "git",
"url": "https://github.com/Superbalist/flysystem-google-cloud-storage.git",
- "reference": "8ae35803a102ed6ce58aa87bf7534d4396513765"
+ "reference": "441a8529680986a2d2063a268ee2918f51db1b79"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Superbalist/flysystem-google-cloud-storage/zipball/8ae35803a102ed6ce58aa87bf7534d4396513765",
- "reference": "8ae35803a102ed6ce58aa87bf7534d4396513765",
+ "url": "https://api.github.com/repos/Superbalist/flysystem-google-cloud-storage/zipball/441a8529680986a2d2063a268ee2918f51db1b79",
+ "reference": "441a8529680986a2d2063a268ee2918f51db1b79",
"shasum": ""
},
"require": {
- "google/apiclient": "~1.1",
+ "google/apiclient": "~1.1|^2.0.0@RC",
"league/flysystem": "~1.0",
"php": ">=5.4.0"
},
@@ -7044,20 +7326,20 @@
}
],
"description": "Flysystem adapter for Google Cloud Storage",
- "time": "2016-05-19 14:33:03"
+ "time": "2016-04-12 14:56:22"
},
{
"name": "swiftmailer/swiftmailer",
- "version": "v5.4.6",
+ "version": "v5.4.7",
"source": {
"type": "git",
"url": "https://github.com/swiftmailer/swiftmailer.git",
- "reference": "81fdccfaf8bdc5d5d7a1ef6bb3a61bbb1a6c4a3e"
+ "reference": "56db4ed32a6d5c9824c3ecc1d2e538f663f47eb4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/81fdccfaf8bdc5d5d7a1ef6bb3a61bbb1a6c4a3e",
- "reference": "81fdccfaf8bdc5d5d7a1ef6bb3a61bbb1a6c4a3e",
+ "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/56db4ed32a6d5c9824c3ecc1d2e538f663f47eb4",
+ "reference": "56db4ed32a6d5c9824c3ecc1d2e538f663f47eb4",
"shasum": ""
},
"require": {
@@ -7098,11 +7380,11 @@
"mail",
"mailer"
],
- "time": "2017-02-13 07:52:53"
+ "time": "2017-04-20 17:32:18"
},
{
"name": "symfony/class-loader",
- "version": "v3.2.6",
+ "version": "v3.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/class-loader.git",
@@ -7158,16 +7440,16 @@
},
{
"name": "symfony/config",
- "version": "v3.2.6",
+ "version": "v3.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "741d6d4cd1414d67d48eb71aba6072b46ba740c2"
+ "reference": "8444bde28e3c2a33e571e6f180c2d78bfdc4480d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/741d6d4cd1414d67d48eb71aba6072b46ba740c2",
- "reference": "741d6d4cd1414d67d48eb71aba6072b46ba740c2",
+ "url": "https://api.github.com/repos/symfony/config/zipball/8444bde28e3c2a33e571e6f180c2d78bfdc4480d",
+ "reference": "8444bde28e3c2a33e571e6f180c2d78bfdc4480d",
"shasum": ""
},
"require": {
@@ -7210,7 +7492,7 @@
],
"description": "Symfony Config Component",
"homepage": "https://symfony.com",
- "time": "2017-03-01 18:18:25"
+ "time": "2017-04-04 15:30:56"
},
{
"name": "symfony/console",
@@ -7274,7 +7556,7 @@
},
{
"name": "symfony/css-selector",
- "version": "v3.2.6",
+ "version": "v3.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
@@ -7384,16 +7666,16 @@
},
{
"name": "symfony/dependency-injection",
- "version": "v3.2.6",
+ "version": "v3.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "74e0935e414ad33d5e82074212c0eedb4681a691"
+ "reference": "923bb014708b666e4092c9ba39993895c9c8fcd7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/74e0935e414ad33d5e82074212c0eedb4681a691",
- "reference": "74e0935e414ad33d5e82074212c0eedb4681a691",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/923bb014708b666e4092c9ba39993895c9c8fcd7",
+ "reference": "923bb014708b666e4092c9ba39993895c9c8fcd7",
"shasum": ""
},
"require": {
@@ -7443,20 +7725,20 @@
],
"description": "Symfony DependencyInjection Component",
"homepage": "https://symfony.com",
- "time": "2017-03-05 00:06:55"
+ "time": "2017-04-04 07:26:27"
},
{
"name": "symfony/event-dispatcher",
- "version": "v2.8.18",
+ "version": "v2.8.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "bb4ec47e8e109c1c1172145732d0aa468d967cd0"
+ "reference": "88b65f0ac25355090e524aba4ceb066025df8bd2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bb4ec47e8e109c1c1172145732d0aa468d967cd0",
- "reference": "bb4ec47e8e109c1c1172145732d0aa468d967cd0",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/88b65f0ac25355090e524aba4ceb066025df8bd2",
+ "reference": "88b65f0ac25355090e524aba4ceb066025df8bd2",
"shasum": ""
},
"require": {
@@ -7503,20 +7785,20 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com",
- "time": "2017-02-21 08:33:48"
+ "time": "2017-04-03 20:37:06"
},
{
"name": "symfony/filesystem",
- "version": "v3.2.6",
+ "version": "v3.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "bc0f17bed914df2cceb989972c3b996043c4da4a"
+ "reference": "64421e6479c4a8e60d790fb666bd520992861b66"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/bc0f17bed914df2cceb989972c3b996043c4da4a",
- "reference": "bc0f17bed914df2cceb989972c3b996043c4da4a",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/64421e6479c4a8e60d790fb666bd520992861b66",
+ "reference": "64421e6479c4a8e60d790fb666bd520992861b66",
"shasum": ""
},
"require": {
@@ -7552,7 +7834,7 @@
],
"description": "Symfony Filesystem Component",
"homepage": "https://symfony.com",
- "time": "2017-03-06 19:30:27"
+ "time": "2017-03-26 15:47:15"
},
{
"name": "symfony/finder",
@@ -7605,16 +7887,16 @@
},
{
"name": "symfony/http-foundation",
- "version": "v2.8.18",
+ "version": "v2.8.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "88af747e7af17d8d7d439ad4639dc3e23ddd3edd"
+ "reference": "0717efd2f2264dbd3d8e1bc69a0418c2fd6295d2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/88af747e7af17d8d7d439ad4639dc3e23ddd3edd",
- "reference": "88af747e7af17d8d7d439ad4639dc3e23ddd3edd",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0717efd2f2264dbd3d8e1bc69a0418c2fd6295d2",
+ "reference": "0717efd2f2264dbd3d8e1bc69a0418c2fd6295d2",
"shasum": ""
},
"require": {
@@ -7656,7 +7938,7 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com",
- "time": "2017-03-04 12:20:59"
+ "time": "2017-04-04 15:24:26"
},
{
"name": "symfony/http-kernel",
@@ -7742,16 +8024,16 @@
},
{
"name": "symfony/options-resolver",
- "version": "v3.2.6",
+ "version": "v3.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "56e3d0a41313f8a54326851f10690d591e62a24c"
+ "reference": "6a19be85237fe8bbd4975f86942b4763bb0da6ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/56e3d0a41313f8a54326851f10690d591e62a24c",
- "reference": "56e3d0a41313f8a54326851f10690d591e62a24c",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/6a19be85237fe8bbd4975f86942b4763bb0da6ca",
+ "reference": "6a19be85237fe8bbd4975f86942b4763bb0da6ca",
"shasum": ""
},
"require": {
@@ -7792,7 +8074,7 @@
"configuration",
"options"
],
- "time": "2017-02-21 09:12:04"
+ "time": "2017-03-21 21:44:32"
},
{
"name": "symfony/polyfill-mbstring",
@@ -8328,16 +8610,16 @@
},
{
"name": "symfony/yaml",
- "version": "v3.2.6",
+ "version": "v3.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "093e416ad096355149e265ea2e4cc1f9ee40ab1a"
+ "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/093e416ad096355149e265ea2e4cc1f9ee40ab1a",
- "reference": "093e416ad096355149e265ea2e4cc1f9ee40ab1a",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621",
+ "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621",
"shasum": ""
},
"require": {
@@ -8379,7 +8661,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
- "time": "2017-03-07 16:47:02"
+ "time": "2017-03-20 09:45:15"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@@ -8633,16 +8915,16 @@
},
{
"name": "twig/twig",
- "version": "v1.33.0",
+ "version": "v1.33.2",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a"
+ "reference": "dd6ca96227917e1e85b41c7c3cc6507b411e0927"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a",
- "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/dd6ca96227917e1e85b41c7c3cc6507b411e0927",
+ "reference": "dd6ca96227917e1e85b41c7c3cc6507b411e0927",
"shasum": ""
},
"require": {
@@ -8691,7 +8973,7 @@
"keywords": [
"templating"
],
- "time": "2017-03-22 15:40:09"
+ "time": "2017-04-20 17:39:48"
},
{
"name": "vink/omnipay-komoju",
@@ -8966,16 +9248,16 @@
},
{
"name": "wildbit/swiftmailer-postmark",
- "version": "2.0.5",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/wildbit/swiftmailer-postmark.git",
- "reference": "7b69441324b40517d4ef69703677853fb367ee4e"
+ "reference": "fb49114bc8033b125f9d19473dc0741385131d84"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/wildbit/swiftmailer-postmark/zipball/7b69441324b40517d4ef69703677853fb367ee4e",
- "reference": "7b69441324b40517d4ef69703677853fb367ee4e",
+ "url": "https://api.github.com/repos/wildbit/swiftmailer-postmark/zipball/fb49114bc8033b125f9d19473dc0741385131d84",
+ "reference": "fb49114bc8033b125f9d19473dc0741385131d84",
"shasum": ""
},
"require": {
@@ -9005,7 +9287,7 @@
}
],
"description": "A Swiftmailer Transport for Postmark.",
- "time": "2016-09-13 20:43:41"
+ "time": "2017-04-18 14:24:10"
},
{
"name": "zendframework/zend-escaper",
@@ -9575,16 +9857,16 @@
},
{
"name": "codeception/c3",
- "version": "2.0.10",
+ "version": "2.0.12",
"source": {
"type": "git",
"url": "https://github.com/Codeception/c3.git",
- "reference": "47842d23030638237fd3306657c5fe998273fc18"
+ "reference": "f08f20b0b6191f0c58be022c6f20d5b1cdc1004c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Codeception/c3/zipball/47842d23030638237fd3306657c5fe998273fc18",
- "reference": "47842d23030638237fd3306657c5fe998273fc18",
+ "url": "https://api.github.com/repos/Codeception/c3/zipball/f08f20b0b6191f0c58be022c6f20d5b1cdc1004c",
+ "reference": "f08f20b0b6191f0c58be022c6f20d5b1cdc1004c",
"shasum": ""
},
"require": {
@@ -9621,7 +9903,7 @@
"code coverage",
"codecoverage"
],
- "time": "2017-02-04 01:52:32"
+ "time": "2017-04-06 00:08:55"
},
{
"name": "codeception/codeception",
@@ -10933,7 +11215,7 @@
},
{
"name": "symfony/browser-kit",
- "version": "v3.2.6",
+ "version": "v3.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
@@ -10990,7 +11272,7 @@
},
{
"name": "symfony/dom-crawler",
- "version": "v3.2.6",
+ "version": "v3.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
@@ -11098,7 +11380,6 @@
"aliases": [],
"minimum-stability": "stable",
"stability-flags": {
- "omnipay/mollie": 20,
"omnipay/2checkout": 20,
"omnipay/gocardless": 20,
"omnipay/stripe": 20,
diff --git a/database/migrations/2017_04_16_101744_add_custom_contact_fields.php b/database/migrations/2017_04_16_101744_add_custom_contact_fields.php
new file mode 100644
index 000000000000..45ae7b57a595
--- /dev/null
+++ b/database/migrations/2017_04_16_101744_add_custom_contact_fields.php
@@ -0,0 +1,145 @@
+string('custom_contact_label1')->nullable();
+ $table->string('custom_contact_label2')->nullable();
+ });
+
+ Schema::table('contacts', function ($table) {
+ $table->string('custom_value1')->nullable();
+ $table->string('custom_value2')->nullable();
+ });
+
+ Schema::table('payment_methods', function ($table) {
+ $table->unsignedInteger('account_gateway_token_id')->nullable()->change();
+ $table->dropForeign('payment_methods_account_gateway_token_id_foreign');
+ });
+
+ Schema::table('payment_methods', function ($table) {
+ $table->foreign('account_gateway_token_id')->references('id')->on('account_gateway_tokens')->onDelete('cascade');
+ });
+
+ Schema::table('payments', function ($table) {
+ $table->dropForeign('payments_payment_method_id_foreign');
+ });
+
+ Schema::table('payments', function ($table) {
+ $table->foreign('payment_method_id')->references('id')->on('payment_methods')->onDelete('cascade');
+ });
+
+ Schema::table('expenses', function($table) {
+ $table->unsignedInteger('payment_type_id')->nullable();
+ $table->date('payment_date')->nullable();
+ $table->string('transaction_reference')->nullable();
+ $table->foreign('payment_type_id')->references('id')->on('payment_types');
+ $table->boolean('invoice_documents')->default(true);
+ });
+
+ // remove duplicate annual frequency
+ if (DB::table('frequencies')->count() == 9) {
+ DB::statement('update invoices set frequency_id = 8 where is_recurring = 1 and frequency_id = 9');
+ DB::statement('update accounts set reset_counter_frequency_id = 8 where reset_counter_frequency_id = 9');
+ DB::statement('update frequencies set name = "Annually" where id = 8');
+ DB::statement('delete from frequencies where id = 9');
+ }
+
+ Schema::create('db_servers', function ($table) {
+ $table->increments('id');
+ $table->string('name');
+ });
+
+ Schema::create('lookup_companies', function ($table) {
+ $table->increments('id');
+ $table->unsignedInteger('db_server_id');
+
+ $table->foreign('db_server_id')->references('id')->on('db_servers');
+ });
+
+ Schema::create('lookup_accounts', function ($table) {
+ $table->increments('id');
+ $table->unsignedInteger('lookup_company_id')->index();
+ $table->string('account_key');
+
+ $table->foreign('lookup_company_id')->references('id')->on('lookup_companies')->onDelete('cascade');
+ });
+
+ Schema::create('lookup_users', function ($table) {
+ $table->increments('id');
+ $table->unsignedInteger('lookup_account_id')->index();
+ $table->string('email');
+
+ $table->foreign('lookup_account_id')->references('id')->on('lookup_accounts')->onDelete('cascade');
+ });
+
+ Schema::create('lookup_contacts', function ($table) {
+ $table->increments('id');
+ $table->unsignedInteger('lookup_account_id')->index();
+ $table->string('contact_key');
+
+ $table->foreign('lookup_account_id')->references('id')->on('lookup_accounts')->onDelete('cascade');
+ });
+
+ Schema::create('lookup_invitations', function ($table) {
+ $table->increments('id');
+ $table->unsignedInteger('lookup_account_id')->index();
+ $table->string('invitation_key');
+ $table->string('message_id');
+
+ $table->foreign('lookup_account_id')->references('id')->on('lookup_accounts')->onDelete('cascade');
+ });
+
+ Schema::create('lookup_tokens', function ($table) {
+ $table->increments('id');
+ $table->unsignedInteger('lookup_account_id')->index();
+ $table->string('token');
+
+ $table->foreign('lookup_account_id')->references('id')->on('lookup_accounts')->onDelete('cascade');
+ });
+
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('accounts', function ($table) {
+ $table->dropColumn('custom_contact_label1');
+ $table->dropColumn('custom_contact_label2');
+ });
+
+ Schema::table('contacts', function ($table) {
+ $table->dropColumn('custom_value1');
+ $table->dropColumn('custom_value2');
+ });
+
+ Schema::table('expenses', function($table) {
+ $table->dropColumn('payment_type_id');
+ $table->dropColumn('payment_date');
+ $table->dropColumn('transaction_reference');
+ $table->dropColumn('invoice_documents');
+ });
+
+ Schema::dropIfExists('db_servers');
+ Schema::dropIfExists('lookup_companies');
+ Schema::dropIfExists('lookup_accounts');
+ Schema::dropIfExists('lookup_users');
+ Schema::dropIfExists('lookup_contacts');
+ Schema::dropIfExists('lookup_invitations');
+ Schema::dropIfExists('lookup_tokens');
+ }
+}
diff --git a/database/seeds/CurrenciesSeeder.php b/database/seeds/CurrenciesSeeder.php
index dec8b15f7e15..b6c87bdd3b52 100644
--- a/database/seeds/CurrenciesSeeder.php
+++ b/database/seeds/CurrenciesSeeder.php
@@ -72,6 +72,7 @@ class CurrenciesSeeder extends Seeder
['name' => 'Taiwan New Dollar', 'code' => 'TWD', 'symbol' => 'NT$', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'],
['name' => 'Dominican Peso', 'code' => 'DOP', 'symbol' => 'RD$', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'],
['name' => 'Chilean Peso', 'code' => 'CLP', 'symbol' => '$', 'precision' => '2', 'thousand_separator' => '.', 'decimal_separator' => ','],
+ ['name' => 'Icelandic Króna', 'code' => 'ISK', 'symbol' => 'kr', 'precision' => '2', 'thousand_separator' => '.', 'decimal_separator' => ',', 'swap_currency_symbol' => true],
];
foreach ($currencies as $currency) {
diff --git a/database/seeds/LanguageSeeder.php b/database/seeds/LanguageSeeder.php
index b597d070b0e4..641445aa314b 100644
--- a/database/seeds/LanguageSeeder.php
+++ b/database/seeds/LanguageSeeder.php
@@ -31,6 +31,7 @@ class LanguageSeeder extends Seeder
['name' => 'Croatian', 'locale' => 'hr'],
['name' => 'Albanian', 'locale' => 'sq'],
['name' => 'Greek', 'locale' => 'el'],
+ ['name' => 'English - United Kingdom', 'locale' => 'en_UK'],
];
foreach ($languages as $language) {
diff --git a/database/setup.sql b/database/setup.sql
index ebe86b7c7fc7..9f042032fd5a 100644
--- a/database/setup.sql
+++ b/database/setup.sql
@@ -1,8 +1,8 @@
--- MySQL dump 10.13 Distrib 5.7.17, for Linux (x86_64)
+-- MySQL dump 10.13 Distrib 5.7.18, for Linux (x86_64)
--
-- Host: localhost Database: ninja
-- ------------------------------------------------------
--- Server version 5.7.17-0ubuntu0.16.04.1
+-- Server version 5.7.18-0ubuntu0.16.04.1
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@@ -353,6 +353,8 @@ CREATE TABLE `accounts` (
`payment_type_id` smallint(6) DEFAULT NULL,
`gateway_fee_enabled` tinyint(1) NOT NULL DEFAULT '0',
`reset_counter_date` date DEFAULT NULL,
+ `custom_contact_label1` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `custom_contact_label2` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `accounts_account_key_unique` (`account_key`),
KEY `accounts_timezone_id_foreign` (`timezone_id`),
@@ -711,6 +713,8 @@ CREATE TABLE `contacts` (
`remember_token` tinyint(1) DEFAULT NULL,
`contact_key` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`bot_user_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `custom_value1` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `custom_value2` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `contacts_account_id_public_id_unique` (`account_id`,`public_id`),
UNIQUE KEY `contacts_contact_key_unique` (`contact_key`),
@@ -831,7 +835,7 @@ CREATE TABLE `currencies` (
`code` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`swap_currency_symbol` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=60 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+) ENGINE=InnoDB AUTO_INCREMENT=64 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -840,7 +844,7 @@ CREATE TABLE `currencies` (
LOCK TABLES `currencies` WRITE;
/*!40000 ALTER TABLE `currencies` DISABLE KEYS */;
-INSERT INTO `currencies` VALUES (1,'US Dollar','$','2',',','.','USD',0),(2,'British Pound','£','2',',','.','GBP',0),(3,'Euro','€','2','.',',','EUR',0),(4,'South African Rand','R','2','.',',','ZAR',0),(5,'Danish Krone','kr','2','.',',','DKK',1),(6,'Israeli Shekel','NIS ','2',',','.','ILS',0),(7,'Swedish Krona','kr','2','.',',','SEK',1),(8,'Kenyan Shilling','KSh ','2',',','.','KES',0),(9,'Canadian Dollar','C$','2',',','.','CAD',0),(10,'Philippine Peso','P ','2',',','.','PHP',0),(11,'Indian Rupee','Rs. ','2',',','.','INR',0),(12,'Australian Dollar','$','2',',','.','AUD',0),(13,'Singapore Dollar','','2',',','.','SGD',0),(14,'Norske Kroner','kr','2','.',',','NOK',1),(15,'New Zealand Dollar','$','2',',','.','NZD',0),(16,'Vietnamese Dong','','0','.',',','VND',0),(17,'Swiss Franc','','2','\'','.','CHF',0),(18,'Guatemalan Quetzal','Q','2',',','.','GTQ',0),(19,'Malaysian Ringgit','RM','2',',','.','MYR',0),(20,'Brazilian Real','R$','2','.',',','BRL',0),(21,'Thai Baht','','2',',','.','THB',0),(22,'Nigerian Naira','','2',',','.','NGN',0),(23,'Argentine Peso','$','2','.',',','ARS',0),(24,'Bangladeshi Taka','Tk','2',',','.','BDT',0),(25,'United Arab Emirates Dirham','DH ','2',',','.','AED',0),(26,'Hong Kong Dollar','','2',',','.','HKD',0),(27,'Indonesian Rupiah','Rp','2',',','.','IDR',0),(28,'Mexican Peso','$','2',',','.','MXN',0),(29,'Egyptian Pound','E£','2',',','.','EGP',0),(30,'Colombian Peso','$','2','.',',','COP',0),(31,'West African Franc','CFA ','2',',','.','XOF',0),(32,'Chinese Renminbi','RMB ','2',',','.','CNY',0),(33,'Rwandan Franc','RF ','2',',','.','RWF',0),(34,'Tanzanian Shilling','TSh ','2',',','.','TZS',0),(35,'Netherlands Antillean Guilder','','2','.',',','ANG',0),(36,'Trinidad and Tobago Dollar','TT$','2',',','.','TTD',0),(37,'East Caribbean Dollar','EC$','2',',','.','XCD',0),(38,'Ghanaian Cedi','','2',',','.','GHS',0),(39,'Bulgarian Lev','','2',' ','.','BGN',0),(40,'Aruban Florin','Afl. ','2',' ','.','AWG',0),(41,'Turkish Lira','TL ','2','.',',','TRY',0),(42,'Romanian New Leu','','2',',','.','RON',0),(43,'Croatian Kuna','kn','2','.',',','HRK',0),(44,'Saudi Riyal','','2',',','.','SAR',0),(45,'Japanese Yen','¥','0',',','.','JPY',0),(46,'Maldivian Rufiyaa','','2',',','.','MVR',0),(47,'Costa Rican Colón','','2',',','.','CRC',0),(48,'Pakistani Rupee','Rs ','0',',','.','PKR',0),(49,'Polish Zloty','zł','2',' ',',','PLN',1),(50,'Sri Lankan Rupee','LKR','2',',','.','LKR',1),(51,'Czech Koruna','Kč','2',' ',',','CZK',1),(52,'Uruguayan Peso','$','2','.',',','UYU',0),(53,'Namibian Dollar','$','2',',','.','NAD',0),(54,'Tunisian Dinar','','2',',','.','TND',0),(55,'Russian Ruble','','2',',','.','RUB',0),(56,'Mozambican Metical','MT','2','.',',','MZN',1),(57,'Omani Rial','','2',',','.','OMR',0),(58,'Ukrainian Hryvnia','','2',',','.','UAH',0),(59,'Macanese Pataca','MOP$','2',',','.','MOP',0);
+INSERT INTO `currencies` VALUES (1,'US Dollar','$','2',',','.','USD',0),(2,'British Pound','£','2',',','.','GBP',0),(3,'Euro','€','2','.',',','EUR',0),(4,'South African Rand','R','2','.',',','ZAR',0),(5,'Danish Krone','kr','2','.',',','DKK',1),(6,'Israeli Shekel','NIS ','2',',','.','ILS',0),(7,'Swedish Krona','kr','2','.',',','SEK',1),(8,'Kenyan Shilling','KSh ','2',',','.','KES',0),(9,'Canadian Dollar','C$','2',',','.','CAD',0),(10,'Philippine Peso','P ','2',',','.','PHP',0),(11,'Indian Rupee','Rs. ','2',',','.','INR',0),(12,'Australian Dollar','$','2',',','.','AUD',0),(13,'Singapore Dollar','','2',',','.','SGD',0),(14,'Norske Kroner','kr','2','.',',','NOK',1),(15,'New Zealand Dollar','$','2',',','.','NZD',0),(16,'Vietnamese Dong','','0','.',',','VND',0),(17,'Swiss Franc','','2','\'','.','CHF',0),(18,'Guatemalan Quetzal','Q','2',',','.','GTQ',0),(19,'Malaysian Ringgit','RM','2',',','.','MYR',0),(20,'Brazilian Real','R$','2','.',',','BRL',0),(21,'Thai Baht','','2',',','.','THB',0),(22,'Nigerian Naira','','2',',','.','NGN',0),(23,'Argentine Peso','$','2','.',',','ARS',0),(24,'Bangladeshi Taka','Tk','2',',','.','BDT',0),(25,'United Arab Emirates Dirham','DH ','2',',','.','AED',0),(26,'Hong Kong Dollar','','2',',','.','HKD',0),(27,'Indonesian Rupiah','Rp','2',',','.','IDR',0),(28,'Mexican Peso','$','2',',','.','MXN',0),(29,'Egyptian Pound','E£','2',',','.','EGP',0),(30,'Colombian Peso','$','2','.',',','COP',0),(31,'West African Franc','CFA ','2',',','.','XOF',0),(32,'Chinese Renminbi','RMB ','2',',','.','CNY',0),(33,'Rwandan Franc','RF ','2',',','.','RWF',0),(34,'Tanzanian Shilling','TSh ','2',',','.','TZS',0),(35,'Netherlands Antillean Guilder','','2','.',',','ANG',0),(36,'Trinidad and Tobago Dollar','TT$','2',',','.','TTD',0),(37,'East Caribbean Dollar','EC$','2',',','.','XCD',0),(38,'Ghanaian Cedi','','2',',','.','GHS',0),(39,'Bulgarian Lev','','2',' ','.','BGN',0),(40,'Aruban Florin','Afl. ','2',' ','.','AWG',0),(41,'Turkish Lira','TL ','2','.',',','TRY',0),(42,'Romanian New Leu','','2',',','.','RON',0),(43,'Croatian Kuna','kn','2','.',',','HRK',0),(44,'Saudi Riyal','','2',',','.','SAR',0),(45,'Japanese Yen','¥','0',',','.','JPY',0),(46,'Maldivian Rufiyaa','','2',',','.','MVR',0),(47,'Costa Rican Colón','','2',',','.','CRC',0),(48,'Pakistani Rupee','Rs ','0',',','.','PKR',0),(49,'Polish Zloty','zł','2',' ',',','PLN',1),(50,'Sri Lankan Rupee','LKR','2',',','.','LKR',1),(51,'Czech Koruna','Kč','2',' ',',','CZK',1),(52,'Uruguayan Peso','$','2','.',',','UYU',0),(53,'Namibian Dollar','$','2',',','.','NAD',0),(54,'Tunisian Dinar','','2',',','.','TND',0),(55,'Russian Ruble','','2',',','.','RUB',0),(56,'Mozambican Metical','MT','2','.',',','MZN',1),(57,'Omani Rial','','2',',','.','OMR',0),(58,'Ukrainian Hryvnia','','2',',','.','UAH',0),(59,'Macanese Pataca','MOP$','2',',','.','MOP',0),(60,'Taiwan New Dollar','NT$','2',',','.','TWD',0),(61,'Dominican Peso','RD$','2',',','.','DOP',0),(62,'Chilean Peso','$','2','.',',','CLP',0),(63,'Icelandic Króna','kr','2','.',',','ISK',1);
/*!40000 ALTER TABLE `currencies` ENABLE KEYS */;
UNLOCK TABLES;
@@ -895,6 +899,29 @@ INSERT INTO `datetime_formats` VALUES (1,'d/M/Y g:i a','DD/MMM/YYYY h:mm:ss a'),
/*!40000 ALTER TABLE `datetime_formats` ENABLE KEYS */;
UNLOCK TABLES;
+--
+-- Table structure for table `db_servers`
+--
+
+DROP TABLE IF EXISTS `db_servers`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `db_servers` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `db_servers`
+--
+
+LOCK TABLES `db_servers` WRITE;
+/*!40000 ALTER TABLE `db_servers` DISABLE KEYS */;
+/*!40000 ALTER TABLE `db_servers` ENABLE KEYS */;
+UNLOCK TABLES;
+
--
-- Table structure for table `documents`
--
@@ -1011,6 +1038,10 @@ CREATE TABLE `expenses` (
`tax_rate1` decimal(13,3) NOT NULL,
`tax_name2` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`tax_rate2` decimal(13,3) NOT NULL,
+ `payment_type_id` int(10) unsigned DEFAULT NULL,
+ `payment_date` date DEFAULT NULL,
+ `transaction_reference` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `invoice_documents` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
UNIQUE KEY `expenses_account_id_public_id_unique` (`account_id`,`public_id`),
KEY `expenses_user_id_foreign` (`user_id`),
@@ -1019,10 +1050,12 @@ CREATE TABLE `expenses` (
KEY `expenses_expense_currency_id_index` (`expense_currency_id`),
KEY `expenses_invoice_currency_id_foreign` (`invoice_currency_id`),
KEY `expenses_expense_category_id_index` (`expense_category_id`),
+ KEY `expenses_payment_type_id_foreign` (`payment_type_id`),
CONSTRAINT `expenses_account_id_foreign` FOREIGN KEY (`account_id`) REFERENCES `accounts` (`id`) ON DELETE CASCADE,
CONSTRAINT `expenses_expense_category_id_foreign` FOREIGN KEY (`expense_category_id`) REFERENCES `expense_categories` (`id`) ON DELETE CASCADE,
CONSTRAINT `expenses_expense_currency_id_foreign` FOREIGN KEY (`expense_currency_id`) REFERENCES `currencies` (`id`),
CONSTRAINT `expenses_invoice_currency_id_foreign` FOREIGN KEY (`invoice_currency_id`) REFERENCES `currencies` (`id`),
+ CONSTRAINT `expenses_payment_type_id_foreign` FOREIGN KEY (`payment_type_id`) REFERENCES `payment_types` (`id`),
CONSTRAINT `expenses_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -1176,7 +1209,7 @@ CREATE TABLE `gateways` (
LOCK TABLES `gateways` WRITE;
/*!40000 ALTER TABLE `gateways` DISABLE KEYS */;
-INSERT INTO `gateways` VALUES (1,'2017-04-06 10:56:18','2017-04-06 10:56:18','Authorize.Net AIM','AuthorizeNet_AIM',1,1,4,0,NULL,0,0),(2,'2017-04-06 10:56:18','2017-04-06 10:56:18','Authorize.Net SIM','AuthorizeNet_SIM',1,2,10000,0,NULL,0,0),(3,'2017-04-06 10:56:18','2017-04-06 10:56:18','CardSave','CardSave',1,1,10000,0,NULL,0,0),(4,'2017-04-06 10:56:18','2017-04-06 10:56:18','Eway Rapid','Eway_RapidShared',1,1,10000,0,NULL,1,0),(5,'2017-04-06 10:56:18','2017-04-06 10:56:18','FirstData Connect','FirstData_Connect',1,1,10000,0,NULL,0,0),(6,'2017-04-06 10:56:18','2017-04-06 10:56:18','GoCardless','GoCardless',1,1,10000,0,NULL,1,0),(7,'2017-04-06 10:56:18','2017-04-06 10:56:18','Migs ThreeParty','Migs_ThreeParty',1,1,10000,0,NULL,0,0),(8,'2017-04-06 10:56:18','2017-04-06 10:56:18','Migs TwoParty','Migs_TwoParty',1,1,10000,0,NULL,0,0),(9,'2017-04-06 10:56:18','2017-04-06 10:56:18','Mollie','Mollie',1,1,7,0,NULL,1,0),(10,'2017-04-06 10:56:18','2017-04-06 10:56:18','MultiSafepay','MultiSafepay',1,1,10000,0,NULL,0,0),(11,'2017-04-06 10:56:18','2017-04-06 10:56:18','Netaxept','Netaxept',1,1,10000,0,NULL,0,0),(12,'2017-04-06 10:56:18','2017-04-06 10:56:18','NetBanx','NetBanx',1,1,10000,0,NULL,0,0),(13,'2017-04-06 10:56:18','2017-04-06 10:56:18','PayFast','PayFast',1,1,10000,0,NULL,1,0),(14,'2017-04-06 10:56:18','2017-04-06 10:56:18','Payflow Pro','Payflow_Pro',1,1,10000,0,NULL,0,0),(15,'2017-04-06 10:56:18','2017-04-06 10:56:18','PaymentExpress PxPay','PaymentExpress_PxPay',1,1,10000,0,NULL,0,0),(16,'2017-04-06 10:56:18','2017-04-06 10:56:18','PaymentExpress PxPost','PaymentExpress_PxPost',1,1,10000,0,NULL,0,0),(17,'2017-04-06 10:56:18','2017-04-06 10:56:18','PayPal Express','PayPal_Express',1,1,3,0,NULL,1,0),(18,'2017-04-06 10:56:18','2017-04-06 10:56:18','PayPal Pro','PayPal_Pro',1,1,10000,0,NULL,0,0),(19,'2017-04-06 10:56:18','2017-04-06 10:56:18','Pin','Pin',1,1,10000,0,NULL,0,0),(20,'2017-04-06 10:56:18','2017-04-06 10:56:18','SagePay Direct','SagePay_Direct',1,1,10000,0,NULL,0,0),(21,'2017-04-06 10:56:18','2017-04-06 10:56:18','SagePay Server','SagePay_Server',1,1,10000,0,NULL,0,0),(22,'2017-04-06 10:56:18','2017-04-06 10:56:18','SecurePay DirectPost','SecurePay_DirectPost',1,1,10000,0,NULL,0,0),(23,'2017-04-06 10:56:18','2017-04-06 10:56:18','Stripe','Stripe',1,1,1,0,NULL,0,0),(24,'2017-04-06 10:56:18','2017-04-06 10:56:18','TargetPay Direct eBanking','TargetPay_Directebanking',1,1,10000,0,NULL,0,0),(25,'2017-04-06 10:56:18','2017-04-06 10:56:18','TargetPay Ideal','TargetPay_Ideal',1,1,10000,0,NULL,0,0),(26,'2017-04-06 10:56:19','2017-04-06 10:56:19','TargetPay Mr Cash','TargetPay_Mrcash',1,1,10000,0,NULL,0,0),(27,'2017-04-06 10:56:19','2017-04-06 10:56:19','TwoCheckout','TwoCheckout',1,1,10000,0,NULL,1,0),(28,'2017-04-06 10:56:19','2017-04-06 10:56:19','WorldPay','WorldPay',1,1,10000,0,NULL,0,0),(29,'2017-04-06 10:56:19','2017-04-06 10:56:19','BeanStream','BeanStream',1,2,10000,0,NULL,0,0),(30,'2017-04-06 10:56:19','2017-04-06 10:56:19','Psigate','Psigate',1,2,10000,0,NULL,0,0),(31,'2017-04-06 10:56:19','2017-04-06 10:56:19','moolah','AuthorizeNet_AIM',1,1,10000,0,NULL,0,0),(32,'2017-04-06 10:56:19','2017-04-06 10:56:19','Alipay','Alipay_Express',1,1,10000,0,NULL,0,0),(33,'2017-04-06 10:56:19','2017-04-06 10:56:19','Buckaroo','Buckaroo_CreditCard',1,1,10000,0,NULL,0,0),(34,'2017-04-06 10:56:19','2017-04-06 10:56:19','Coinbase','Coinbase',1,1,10000,0,NULL,0,0),(35,'2017-04-06 10:56:19','2017-04-06 10:56:19','DataCash','DataCash',1,1,10000,0,NULL,0,0),(36,'2017-04-06 10:56:19','2017-04-06 10:56:19','Neteller','Neteller',1,2,10000,0,NULL,0,0),(37,'2017-04-06 10:56:19','2017-04-06 10:56:19','Pacnet','Pacnet',1,1,10000,0,NULL,0,0),(38,'2017-04-06 10:56:19','2017-04-06 10:56:19','PaymentSense','PaymentSense',1,2,10000,0,NULL,0,0),(39,'2017-04-06 10:56:19','2017-04-06 10:56:19','Realex','Realex_Remote',1,1,10000,0,NULL,0,0),(40,'2017-04-06 10:56:19','2017-04-06 10:56:19','Sisow','Sisow',1,1,10000,0,NULL,0,0),(41,'2017-04-06 10:56:19','2017-04-06 10:56:19','Skrill','Skrill',1,1,10000,0,NULL,1,0),(42,'2017-04-06 10:56:19','2017-04-06 10:56:19','BitPay','BitPay',1,1,6,0,NULL,1,0),(43,'2017-04-06 10:56:19','2017-04-06 10:56:19','Dwolla','Dwolla',1,1,5,0,NULL,1,0),(44,'2017-04-06 10:56:19','2017-04-06 10:56:19','AGMS','Agms',1,1,10000,0,NULL,0,0),(45,'2017-04-06 10:56:19','2017-04-06 10:56:19','Barclays','BarclaysEpdq\\Essential',1,1,10000,0,NULL,0,0),(46,'2017-04-06 10:56:19','2017-04-06 10:56:19','Cardgate','Cardgate',1,1,10000,0,NULL,0,0),(47,'2017-04-06 10:56:19','2017-04-06 10:56:19','Checkout.com','CheckoutCom',1,1,10000,0,NULL,0,0),(48,'2017-04-06 10:56:19','2017-04-06 10:56:19','Creditcall','Creditcall',1,1,10000,0,NULL,0,0),(49,'2017-04-06 10:56:19','2017-04-06 10:56:19','Cybersource','Cybersource',1,1,10000,0,NULL,0,0),(50,'2017-04-06 10:56:19','2017-04-06 10:56:19','ecoPayz','Ecopayz',1,1,10000,0,NULL,0,0),(51,'2017-04-06 10:56:19','2017-04-06 10:56:19','Fasapay','Fasapay',1,1,10000,0,NULL,0,0),(52,'2017-04-06 10:56:19','2017-04-06 10:56:19','Komoju','Komoju',1,1,10000,0,NULL,0,0),(53,'2017-04-06 10:56:19','2017-04-06 10:56:19','Multicards','Multicards',1,1,10000,0,NULL,0,0),(54,'2017-04-06 10:56:19','2017-04-06 10:56:19','Pagar.Me','Pagarme',1,2,10000,0,NULL,0,0),(55,'2017-04-06 10:56:19','2017-04-06 10:56:19','Paysafecard','Paysafecard',1,1,10000,0,NULL,0,0),(56,'2017-04-06 10:56:19','2017-04-06 10:56:19','Paytrace','Paytrace_CreditCard',1,1,10000,0,NULL,0,0),(57,'2017-04-06 10:56:19','2017-04-06 10:56:19','Secure Trading','SecureTrading',1,1,10000,0,NULL,0,0),(58,'2017-04-06 10:56:19','2017-04-06 10:56:19','SecPay','SecPay',1,1,10000,0,NULL,0,0),(59,'2017-04-06 10:56:19','2017-04-06 10:56:19','WeChat Express','WeChat_Express',1,2,10000,0,NULL,0,0),(60,'2017-04-06 10:56:19','2017-04-06 10:56:19','WePay','WePay',1,1,10000,0,NULL,0,0),(61,'2017-04-06 10:56:19','2017-04-06 10:56:19','Braintree','Braintree',1,1,2,0,NULL,0,0),(62,'2017-04-06 10:56:19','2017-04-06 10:56:19','Custom','Custom',1,1,8,0,NULL,1,0);
+INSERT INTO `gateways` VALUES (1,'2017-04-30 10:36:46','2017-04-30 10:36:46','Authorize.Net AIM','AuthorizeNet_AIM',1,1,4,0,NULL,0,0),(2,'2017-04-30 10:36:46','2017-04-30 10:36:46','Authorize.Net SIM','AuthorizeNet_SIM',1,2,10000,0,NULL,0,0),(3,'2017-04-30 10:36:46','2017-04-30 10:36:46','CardSave','CardSave',1,1,10000,0,NULL,0,0),(4,'2017-04-30 10:36:46','2017-04-30 10:36:46','Eway Rapid','Eway_RapidShared',1,1,10000,0,NULL,1,0),(5,'2017-04-30 10:36:46','2017-04-30 10:36:46','FirstData Connect','FirstData_Connect',1,1,10000,0,NULL,0,0),(6,'2017-04-30 10:36:46','2017-04-30 10:36:46','GoCardless','GoCardless',1,1,10000,0,NULL,1,0),(7,'2017-04-30 10:36:46','2017-04-30 10:36:46','Migs ThreeParty','Migs_ThreeParty',1,1,10000,0,NULL,0,0),(8,'2017-04-30 10:36:46','2017-04-30 10:36:46','Migs TwoParty','Migs_TwoParty',1,1,10000,0,NULL,0,0),(9,'2017-04-30 10:36:46','2017-04-30 10:36:46','Mollie','Mollie',1,1,7,0,NULL,1,0),(10,'2017-04-30 10:36:46','2017-04-30 10:36:46','MultiSafepay','MultiSafepay',1,1,10000,0,NULL,0,0),(11,'2017-04-30 10:36:46','2017-04-30 10:36:46','Netaxept','Netaxept',1,1,10000,0,NULL,0,0),(12,'2017-04-30 10:36:46','2017-04-30 10:36:46','NetBanx','NetBanx',1,1,10000,0,NULL,0,0),(13,'2017-04-30 10:36:46','2017-04-30 10:36:46','PayFast','PayFast',1,1,10000,0,NULL,1,0),(14,'2017-04-30 10:36:46','2017-04-30 10:36:46','Payflow Pro','Payflow_Pro',1,1,10000,0,NULL,0,0),(15,'2017-04-30 10:36:46','2017-04-30 10:36:46','PaymentExpress PxPay','PaymentExpress_PxPay',1,1,10000,0,NULL,0,0),(16,'2017-04-30 10:36:46','2017-04-30 10:36:46','PaymentExpress PxPost','PaymentExpress_PxPost',1,1,10000,0,NULL,0,0),(17,'2017-04-30 10:36:46','2017-04-30 10:36:46','PayPal Express','PayPal_Express',1,1,3,0,NULL,1,0),(18,'2017-04-30 10:36:46','2017-04-30 10:36:46','PayPal Pro','PayPal_Pro',1,1,10000,0,NULL,0,0),(19,'2017-04-30 10:36:46','2017-04-30 10:36:46','Pin','Pin',1,1,10000,0,NULL,0,0),(20,'2017-04-30 10:36:46','2017-04-30 10:36:46','SagePay Direct','SagePay_Direct',1,1,10000,0,NULL,0,0),(21,'2017-04-30 10:36:46','2017-04-30 10:36:46','SagePay Server','SagePay_Server',1,1,10000,0,NULL,0,0),(22,'2017-04-30 10:36:46','2017-04-30 10:36:46','SecurePay DirectPost','SecurePay_DirectPost',1,1,10000,0,NULL,0,0),(23,'2017-04-30 10:36:47','2017-04-30 10:36:47','Stripe','Stripe',1,1,1,0,NULL,0,0),(24,'2017-04-30 10:36:47','2017-04-30 10:36:47','TargetPay Direct eBanking','TargetPay_Directebanking',1,1,10000,0,NULL,0,0),(25,'2017-04-30 10:36:47','2017-04-30 10:36:47','TargetPay Ideal','TargetPay_Ideal',1,1,10000,0,NULL,0,0),(26,'2017-04-30 10:36:47','2017-04-30 10:36:47','TargetPay Mr Cash','TargetPay_Mrcash',1,1,10000,0,NULL,0,0),(27,'2017-04-30 10:36:47','2017-04-30 10:36:47','TwoCheckout','TwoCheckout',1,1,10000,0,NULL,1,0),(28,'2017-04-30 10:36:47','2017-04-30 10:36:47','WorldPay','WorldPay',1,1,10000,0,NULL,0,0),(29,'2017-04-30 10:36:47','2017-04-30 10:36:47','BeanStream','BeanStream',1,2,10000,0,NULL,0,0),(30,'2017-04-30 10:36:47','2017-04-30 10:36:47','Psigate','Psigate',1,2,10000,0,NULL,0,0),(31,'2017-04-30 10:36:47','2017-04-30 10:36:47','moolah','AuthorizeNet_AIM',1,1,10000,0,NULL,0,0),(32,'2017-04-30 10:36:47','2017-04-30 10:36:47','Alipay','Alipay_Express',1,1,10000,0,NULL,0,0),(33,'2017-04-30 10:36:47','2017-04-30 10:36:47','Buckaroo','Buckaroo_CreditCard',1,1,10000,0,NULL,0,0),(34,'2017-04-30 10:36:47','2017-04-30 10:36:47','Coinbase','Coinbase',1,1,10000,0,NULL,0,0),(35,'2017-04-30 10:36:47','2017-04-30 10:36:47','DataCash','DataCash',1,1,10000,0,NULL,0,0),(36,'2017-04-30 10:36:47','2017-04-30 10:36:47','Neteller','Neteller',1,2,10000,0,NULL,0,0),(37,'2017-04-30 10:36:47','2017-04-30 10:36:47','Pacnet','Pacnet',1,1,10000,0,NULL,0,0),(38,'2017-04-30 10:36:47','2017-04-30 10:36:47','PaymentSense','PaymentSense',1,2,10000,0,NULL,0,0),(39,'2017-04-30 10:36:47','2017-04-30 10:36:47','Realex','Realex_Remote',1,1,10000,0,NULL,0,0),(40,'2017-04-30 10:36:47','2017-04-30 10:36:47','Sisow','Sisow',1,1,10000,0,NULL,0,0),(41,'2017-04-30 10:36:47','2017-04-30 10:36:47','Skrill','Skrill',1,1,10000,0,NULL,1,0),(42,'2017-04-30 10:36:47','2017-04-30 10:36:47','BitPay','BitPay',1,1,6,0,NULL,1,0),(43,'2017-04-30 10:36:47','2017-04-30 10:36:47','Dwolla','Dwolla',1,1,5,0,NULL,1,0),(44,'2017-04-30 10:36:47','2017-04-30 10:36:47','AGMS','Agms',1,1,10000,0,NULL,0,0),(45,'2017-04-30 10:36:47','2017-04-30 10:36:47','Barclays','BarclaysEpdq\\Essential',1,1,10000,0,NULL,0,0),(46,'2017-04-30 10:36:47','2017-04-30 10:36:47','Cardgate','Cardgate',1,1,10000,0,NULL,0,0),(47,'2017-04-30 10:36:47','2017-04-30 10:36:47','Checkout.com','CheckoutCom',1,1,10000,0,NULL,0,0),(48,'2017-04-30 10:36:47','2017-04-30 10:36:47','Creditcall','Creditcall',1,1,10000,0,NULL,0,0),(49,'2017-04-30 10:36:47','2017-04-30 10:36:47','Cybersource','Cybersource',1,1,10000,0,NULL,0,0),(50,'2017-04-30 10:36:47','2017-04-30 10:36:47','ecoPayz','Ecopayz',1,1,10000,0,NULL,0,0),(51,'2017-04-30 10:36:47','2017-04-30 10:36:47','Fasapay','Fasapay',1,1,10000,0,NULL,0,0),(52,'2017-04-30 10:36:47','2017-04-30 10:36:47','Komoju','Komoju',1,1,10000,0,NULL,0,0),(53,'2017-04-30 10:36:47','2017-04-30 10:36:47','Multicards','Multicards',1,1,10000,0,NULL,0,0),(54,'2017-04-30 10:36:47','2017-04-30 10:36:47','Pagar.Me','Pagarme',1,2,10000,0,NULL,0,0),(55,'2017-04-30 10:36:47','2017-04-30 10:36:47','Paysafecard','Paysafecard',1,1,10000,0,NULL,0,0),(56,'2017-04-30 10:36:47','2017-04-30 10:36:47','Paytrace','Paytrace_CreditCard',1,1,10000,0,NULL,0,0),(57,'2017-04-30 10:36:47','2017-04-30 10:36:47','Secure Trading','SecureTrading',1,1,10000,0,NULL,0,0),(58,'2017-04-30 10:36:47','2017-04-30 10:36:47','SecPay','SecPay',1,1,10000,0,NULL,0,0),(59,'2017-04-30 10:36:47','2017-04-30 10:36:47','WeChat Express','WeChat_Express',1,2,10000,0,NULL,0,0),(60,'2017-04-30 10:36:47','2017-04-30 10:36:47','WePay','WePay',1,1,10000,0,NULL,0,0),(61,'2017-04-30 10:36:47','2017-04-30 10:36:47','Braintree','Braintree',1,1,2,0,NULL,0,0),(62,'2017-04-30 10:36:47','2017-04-30 10:36:47','Custom','Custom',1,1,8,0,NULL,1,0);
/*!40000 ALTER TABLE `gateways` ENABLE KEYS */;
UNLOCK TABLES;
@@ -1475,7 +1508,7 @@ CREATE TABLE `languages` (
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`locale` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -1484,7 +1517,7 @@ CREATE TABLE `languages` (
LOCK TABLES `languages` WRITE;
/*!40000 ALTER TABLE `languages` DISABLE KEYS */;
-INSERT INTO `languages` VALUES (1,'English','en'),(2,'Italian','it'),(3,'German','de'),(4,'French','fr'),(5,'Brazilian Portuguese','pt_BR'),(6,'Dutch','nl'),(7,'Spanish','es'),(8,'Norwegian','nb_NO'),(9,'Danish','da'),(10,'Japanese','ja'),(11,'Swedish','sv'),(12,'Spanish - Spain','es_ES'),(13,'French - Canada','fr_CA'),(14,'Lithuanian','lt'),(15,'Polish','pl'),(16,'Czech','cs'),(17,'Croatian','hr'),(18,'Albanian','sq'),(19,'Greek','el');
+INSERT INTO `languages` VALUES (1,'English','en'),(2,'Italian','it'),(3,'German','de'),(4,'French','fr'),(5,'Brazilian Portuguese','pt_BR'),(6,'Dutch','nl'),(7,'Spanish','es'),(8,'Norwegian','nb_NO'),(9,'Danish','da'),(10,'Japanese','ja'),(11,'Swedish','sv'),(12,'Spanish - Spain','es_ES'),(13,'French - Canada','fr_CA'),(14,'Lithuanian','lt'),(15,'Polish','pl'),(16,'Czech','cs'),(17,'Croatian','hr'),(18,'Albanian','sq'),(19,'Greek','el'),(20,'English - United Kingdom','en_UK');
/*!40000 ALTER TABLE `languages` ENABLE KEYS */;
UNLOCK TABLES;
@@ -1524,6 +1557,162 @@ LOCK TABLES `licenses` WRITE;
/*!40000 ALTER TABLE `licenses` ENABLE KEYS */;
UNLOCK TABLES;
+--
+-- Table structure for table `lookup_accounts`
+--
+
+DROP TABLE IF EXISTS `lookup_accounts`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `lookup_accounts` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `lookup_company_id` int(10) unsigned NOT NULL,
+ `account_key` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lookup_accounts_lookup_company_id_index` (`lookup_company_id`),
+ CONSTRAINT `lookup_accounts_lookup_company_id_foreign` FOREIGN KEY (`lookup_company_id`) REFERENCES `lookup_companies` (`id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `lookup_accounts`
+--
+
+LOCK TABLES `lookup_accounts` WRITE;
+/*!40000 ALTER TABLE `lookup_accounts` DISABLE KEYS */;
+/*!40000 ALTER TABLE `lookup_accounts` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `lookup_companies`
+--
+
+DROP TABLE IF EXISTS `lookup_companies`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `lookup_companies` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `db_server_id` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lookup_companies_db_server_id_foreign` (`db_server_id`),
+ CONSTRAINT `lookup_companies_db_server_id_foreign` FOREIGN KEY (`db_server_id`) REFERENCES `db_servers` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `lookup_companies`
+--
+
+LOCK TABLES `lookup_companies` WRITE;
+/*!40000 ALTER TABLE `lookup_companies` DISABLE KEYS */;
+/*!40000 ALTER TABLE `lookup_companies` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `lookup_contacts`
+--
+
+DROP TABLE IF EXISTS `lookup_contacts`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `lookup_contacts` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `lookup_account_id` int(10) unsigned NOT NULL,
+ `contact_key` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lookup_contacts_lookup_account_id_index` (`lookup_account_id`),
+ CONSTRAINT `lookup_contacts_lookup_account_id_foreign` FOREIGN KEY (`lookup_account_id`) REFERENCES `lookup_accounts` (`id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `lookup_contacts`
+--
+
+LOCK TABLES `lookup_contacts` WRITE;
+/*!40000 ALTER TABLE `lookup_contacts` DISABLE KEYS */;
+/*!40000 ALTER TABLE `lookup_contacts` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `lookup_invitations`
+--
+
+DROP TABLE IF EXISTS `lookup_invitations`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `lookup_invitations` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `lookup_account_id` int(10) unsigned NOT NULL,
+ `invitation_key` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `message_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lookup_invitations_lookup_account_id_index` (`lookup_account_id`),
+ CONSTRAINT `lookup_invitations_lookup_account_id_foreign` FOREIGN KEY (`lookup_account_id`) REFERENCES `lookup_accounts` (`id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `lookup_invitations`
+--
+
+LOCK TABLES `lookup_invitations` WRITE;
+/*!40000 ALTER TABLE `lookup_invitations` DISABLE KEYS */;
+/*!40000 ALTER TABLE `lookup_invitations` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `lookup_tokens`
+--
+
+DROP TABLE IF EXISTS `lookup_tokens`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `lookup_tokens` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `lookup_account_id` int(10) unsigned NOT NULL,
+ `token` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lookup_tokens_lookup_account_id_index` (`lookup_account_id`),
+ CONSTRAINT `lookup_tokens_lookup_account_id_foreign` FOREIGN KEY (`lookup_account_id`) REFERENCES `lookup_accounts` (`id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `lookup_tokens`
+--
+
+LOCK TABLES `lookup_tokens` WRITE;
+/*!40000 ALTER TABLE `lookup_tokens` DISABLE KEYS */;
+/*!40000 ALTER TABLE `lookup_tokens` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `lookup_users`
+--
+
+DROP TABLE IF EXISTS `lookup_users`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `lookup_users` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `lookup_account_id` int(10) unsigned NOT NULL,
+ `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lookup_users_lookup_account_id_index` (`lookup_account_id`),
+ CONSTRAINT `lookup_users_lookup_account_id_foreign` FOREIGN KEY (`lookup_account_id`) REFERENCES `lookup_accounts` (`id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `lookup_users`
+--
+
+LOCK TABLES `lookup_users` WRITE;
+/*!40000 ALTER TABLE `lookup_users` DISABLE KEYS */;
+/*!40000 ALTER TABLE `lookup_users` ENABLE KEYS */;
+UNLOCK TABLES;
+
--
-- Table structure for table `migrations`
--
@@ -1543,7 +1732,7 @@ CREATE TABLE `migrations` (
LOCK TABLES `migrations` WRITE;
/*!40000 ALTER TABLE `migrations` DISABLE KEYS */;
-INSERT INTO `migrations` VALUES ('2013_11_05_180133_confide_setup_users_table',1),('2013_11_28_195703_setup_countries_table',1),('2014_02_13_151500_add_cascase_drops',1),('2014_02_19_151817_add_support_for_invoice_designs',1),('2014_03_03_155556_add_phone_to_account',1),('2014_03_19_201454_add_language_support',1),('2014_03_20_200300_create_payment_libraries',1),('2014_03_23_051736_enable_forcing_jspdf',1),('2014_03_25_102200_add_sort_and_recommended_to_gateways',1),('2014_04_03_191105_add_pro_plan',1),('2014_04_17_100523_add_remember_token',1),('2014_04_17_145108_add_custom_fields',1),('2014_04_23_170909_add_products_settings',1),('2014_04_29_174315_add_advanced_settings',1),('2014_05_17_175626_add_quotes',1),('2014_06_17_131940_add_accepted_credit_cards_to_account_gateways',1),('2014_07_13_142654_one_click_install',1),('2014_07_17_205900_support_hiding_quantity',1),('2014_07_24_171214_add_zapier_support',1),('2014_10_01_141248_add_company_vat_number',1),('2014_10_05_141856_track_last_seen_message',1),('2014_10_06_103529_add_timesheets',1),('2014_10_06_195330_add_invoice_design_table',1),('2014_10_13_054100_add_invoice_number_settings',1),('2014_10_14_225227_add_danish_translation',1),('2014_10_22_174452_add_affiliate_price',1),('2014_10_30_184126_add_company_id_number',1),('2014_11_04_200406_allow_null_client_currency',1),('2014_12_03_154119_add_discount_type',1),('2015_02_12_102940_add_email_templates',1),('2015_02_17_131714_support_token_billing',1),('2015_02_27_081836_add_invoice_footer',1),('2015_03_03_140259_add_tokens',1),('2015_03_09_151011_add_ip_to_activity',1),('2015_03_15_174122_add_pdf_email_attachment_option',1),('2015_03_30_100000_create_password_resets_table',1),('2015_04_12_093447_add_sv_language',1),('2015_04_13_100333_add_notify_approved',1),('2015_04_16_122647_add_partial_amount_to_invoices',1),('2015_05_21_184104_add_font_size',1),('2015_05_27_121828_add_tasks',1),('2015_05_27_170808_add_custom_invoice_labels',1),('2015_06_09_134208_add_has_tasks_to_invoices',1),('2015_06_14_093410_enable_resuming_tasks',1),('2015_06_14_173025_multi_company_support',1),('2015_07_07_160257_support_locking_account',1),('2015_07_08_114333_simplify_tasks',1),('2015_07_19_081332_add_custom_design',1),('2015_07_27_183830_add_pdfmake_support',1),('2015_08_13_084041_add_formats_to_datetime_formats_table',1),('2015_09_04_080604_add_swap_postal_code',1),('2015_09_07_135935_add_account_domain',1),('2015_09_10_185135_add_reminder_emails',1),('2015_10_07_135651_add_social_login',1),('2015_10_21_075058_add_default_tax_rates',1),('2015_10_21_185724_add_invoice_number_pattern',1),('2015_10_27_180214_add_is_system_to_activities',1),('2015_10_29_133747_add_default_quote_terms',1),('2015_11_01_080417_encrypt_tokens',1),('2015_11_03_181318_improve_currency_localization',1),('2015_11_30_133206_add_email_designs',1),('2015_12_27_154513_add_reminder_settings',1),('2015_12_30_042035_add_client_view_css',1),('2016_01_04_175228_create_vendors_table',1),('2016_01_06_153144_add_invoice_font_support',1),('2016_01_17_155725_add_quote_to_invoice_option',1),('2016_01_18_195351_add_bank_accounts',1),('2016_01_24_112646_add_bank_subaccounts',1),('2016_01_27_173015_add_header_footer_option',1),('2016_02_01_135956_add_source_currency_to_expenses',1),('2016_02_25_152948_add_client_password',1),('2016_02_28_081424_add_custom_invoice_fields',1),('2016_03_14_066181_add_user_permissions',1),('2016_03_14_214710_add_support_three_decimal_taxes',1),('2016_03_22_168362_add_documents',1),('2016_03_23_215049_support_multiple_tax_rates',1),('2016_04_16_103943_enterprise_plan',1),('2016_04_18_174135_add_page_size',1),('2016_04_23_182223_payments_changes',1),('2016_05_16_102925_add_swap_currency_symbol_to_currency',1),('2016_05_18_085739_add_invoice_type_support',1),('2016_05_24_164847_wepay_ach',1),('2016_07_08_083802_support_new_pricing',1),('2016_07_13_083821_add_buy_now_buttons',1),('2016_08_10_184027_add_support_for_bots',1),('2016_09_05_150625_create_gateway_types',1),('2016_10_20_191150_add_expense_to_activities',1),('2016_11_03_113316_add_invoice_signature',1),('2016_11_03_161149_add_bluevine_fields',1),('2016_11_28_092904_add_task_projects',1),('2016_12_13_113955_add_pro_plan_discount',1),('2017_01_01_214241_add_inclusive_taxes',1),('2017_02_23_095934_add_custom_product_fields',1),('2017_03_16_085702_add_gateway_fee_location',1);
+INSERT INTO `migrations` VALUES ('2013_11_05_180133_confide_setup_users_table',1),('2013_11_28_195703_setup_countries_table',1),('2014_02_13_151500_add_cascase_drops',1),('2014_02_19_151817_add_support_for_invoice_designs',1),('2014_03_03_155556_add_phone_to_account',1),('2014_03_19_201454_add_language_support',1),('2014_03_20_200300_create_payment_libraries',1),('2014_03_23_051736_enable_forcing_jspdf',1),('2014_03_25_102200_add_sort_and_recommended_to_gateways',1),('2014_04_03_191105_add_pro_plan',1),('2014_04_17_100523_add_remember_token',1),('2014_04_17_145108_add_custom_fields',1),('2014_04_23_170909_add_products_settings',1),('2014_04_29_174315_add_advanced_settings',1),('2014_05_17_175626_add_quotes',1),('2014_06_17_131940_add_accepted_credit_cards_to_account_gateways',1),('2014_07_13_142654_one_click_install',1),('2014_07_17_205900_support_hiding_quantity',1),('2014_07_24_171214_add_zapier_support',1),('2014_10_01_141248_add_company_vat_number',1),('2014_10_05_141856_track_last_seen_message',1),('2014_10_06_103529_add_timesheets',1),('2014_10_06_195330_add_invoice_design_table',1),('2014_10_13_054100_add_invoice_number_settings',1),('2014_10_14_225227_add_danish_translation',1),('2014_10_22_174452_add_affiliate_price',1),('2014_10_30_184126_add_company_id_number',1),('2014_11_04_200406_allow_null_client_currency',1),('2014_12_03_154119_add_discount_type',1),('2015_02_12_102940_add_email_templates',1),('2015_02_17_131714_support_token_billing',1),('2015_02_27_081836_add_invoice_footer',1),('2015_03_03_140259_add_tokens',1),('2015_03_09_151011_add_ip_to_activity',1),('2015_03_15_174122_add_pdf_email_attachment_option',1),('2015_03_30_100000_create_password_resets_table',1),('2015_04_12_093447_add_sv_language',1),('2015_04_13_100333_add_notify_approved',1),('2015_04_16_122647_add_partial_amount_to_invoices',1),('2015_05_21_184104_add_font_size',1),('2015_05_27_121828_add_tasks',1),('2015_05_27_170808_add_custom_invoice_labels',1),('2015_06_09_134208_add_has_tasks_to_invoices',1),('2015_06_14_093410_enable_resuming_tasks',1),('2015_06_14_173025_multi_company_support',1),('2015_07_07_160257_support_locking_account',1),('2015_07_08_114333_simplify_tasks',1),('2015_07_19_081332_add_custom_design',1),('2015_07_27_183830_add_pdfmake_support',1),('2015_08_13_084041_add_formats_to_datetime_formats_table',1),('2015_09_04_080604_add_swap_postal_code',1),('2015_09_07_135935_add_account_domain',1),('2015_09_10_185135_add_reminder_emails',1),('2015_10_07_135651_add_social_login',1),('2015_10_21_075058_add_default_tax_rates',1),('2015_10_21_185724_add_invoice_number_pattern',1),('2015_10_27_180214_add_is_system_to_activities',1),('2015_10_29_133747_add_default_quote_terms',1),('2015_11_01_080417_encrypt_tokens',1),('2015_11_03_181318_improve_currency_localization',1),('2015_11_30_133206_add_email_designs',1),('2015_12_27_154513_add_reminder_settings',1),('2015_12_30_042035_add_client_view_css',1),('2016_01_04_175228_create_vendors_table',1),('2016_01_06_153144_add_invoice_font_support',1),('2016_01_17_155725_add_quote_to_invoice_option',1),('2016_01_18_195351_add_bank_accounts',1),('2016_01_24_112646_add_bank_subaccounts',1),('2016_01_27_173015_add_header_footer_option',1),('2016_02_01_135956_add_source_currency_to_expenses',1),('2016_02_25_152948_add_client_password',1),('2016_02_28_081424_add_custom_invoice_fields',1),('2016_03_14_066181_add_user_permissions',1),('2016_03_14_214710_add_support_three_decimal_taxes',1),('2016_03_22_168362_add_documents',1),('2016_03_23_215049_support_multiple_tax_rates',1),('2016_04_16_103943_enterprise_plan',1),('2016_04_18_174135_add_page_size',1),('2016_04_23_182223_payments_changes',1),('2016_05_16_102925_add_swap_currency_symbol_to_currency',1),('2016_05_18_085739_add_invoice_type_support',1),('2016_05_24_164847_wepay_ach',1),('2016_07_08_083802_support_new_pricing',1),('2016_07_13_083821_add_buy_now_buttons',1),('2016_08_10_184027_add_support_for_bots',1),('2016_09_05_150625_create_gateway_types',1),('2016_10_20_191150_add_expense_to_activities',1),('2016_11_03_113316_add_invoice_signature',1),('2016_11_03_161149_add_bluevine_fields',1),('2016_11_28_092904_add_task_projects',1),('2016_12_13_113955_add_pro_plan_discount',1),('2017_01_01_214241_add_inclusive_taxes',1),('2017_02_23_095934_add_custom_product_fields',1),('2017_03_16_085702_add_gateway_fee_location',1),('2017_04_16_101744_add_custom_contact_fields',1);
/*!40000 ALTER TABLE `migrations` ENABLE KEYS */;
UNLOCK TABLES;
@@ -1594,7 +1783,7 @@ CREATE TABLE `payment_libraries` (
LOCK TABLES `payment_libraries` WRITE;
/*!40000 ALTER TABLE `payment_libraries` DISABLE KEYS */;
-INSERT INTO `payment_libraries` VALUES (1,'2017-04-06 10:56:17','2017-04-06 10:56:17','Omnipay',1),(2,'2017-04-06 10:56:17','2017-04-06 10:56:17','PHP-Payments [Deprecated]',1);
+INSERT INTO `payment_libraries` VALUES (1,'2017-04-30 10:36:45','2017-04-30 10:36:45','Omnipay',1),(2,'2017-04-30 10:36:45','2017-04-30 10:36:45','PHP-Payments [Deprecated]',1);
/*!40000 ALTER TABLE `payment_libraries` ENABLE KEYS */;
UNLOCK TABLES;
@@ -1704,7 +1893,7 @@ CREATE TABLE `payment_terms` (
LOCK TABLES `payment_terms` WRITE;
/*!40000 ALTER TABLE `payment_terms` DISABLE KEYS */;
-INSERT INTO `payment_terms` VALUES (1,7,'Net 7','2017-04-06 10:56:17','2017-04-06 10:56:17',NULL,0,0,1),(2,10,'Net 10','2017-04-06 10:56:17','2017-04-06 10:56:17',NULL,0,0,2),(3,14,'Net 14','2017-04-06 10:56:17','2017-04-06 10:56:17',NULL,0,0,3),(4,15,'Net 15','2017-04-06 10:56:17','2017-04-06 10:56:17',NULL,0,0,4),(5,30,'Net 30','2017-04-06 10:56:17','2017-04-06 10:56:17',NULL,0,0,5),(6,60,'Net 60','2017-04-06 10:56:17','2017-04-06 10:56:17',NULL,0,0,6),(7,90,'Net 90','2017-04-06 10:56:17','2017-04-06 10:56:17',NULL,0,0,7),(8,-1,'Net 0','2017-04-06 10:56:22','2017-04-06 10:56:22',NULL,0,0,0);
+INSERT INTO `payment_terms` VALUES (1,7,'Net 7','2017-04-30 10:36:45','2017-04-30 10:36:45',NULL,0,0,1),(2,10,'Net 10','2017-04-30 10:36:45','2017-04-30 10:36:45',NULL,0,0,2),(3,14,'Net 14','2017-04-30 10:36:45','2017-04-30 10:36:45',NULL,0,0,3),(4,15,'Net 15','2017-04-30 10:36:45','2017-04-30 10:36:45',NULL,0,0,4),(5,30,'Net 30','2017-04-30 10:36:45','2017-04-30 10:36:45',NULL,0,0,5),(6,60,'Net 60','2017-04-30 10:36:45','2017-04-30 10:36:45',NULL,0,0,6),(7,90,'Net 90','2017-04-30 10:36:45','2017-04-30 10:36:45',NULL,0,0,7),(8,-1,'Net 0','2017-04-30 10:36:48','2017-04-30 10:36:48',NULL,0,0,0);
/*!40000 ALTER TABLE `payment_terms` ENABLE KEYS */;
UNLOCK TABLES;
@@ -2299,4 +2488,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2017-04-06 16:56:22
+-- Dump completed on 2017-04-30 16:36:49
diff --git a/docs/api.rst b/docs/api.rst
index ea6b34b62d86..b4db0cb0e891 100644
--- a/docs/api.rst
+++ b/docs/api.rst
@@ -6,7 +6,9 @@ Invoice Ninja provides a REST based API, `click here p,v=i.minHeight&&i.minHeight>f;i.grid=c,b&&(p+=l),v&&(f+=u),m&&(p-=l),g&&(f-=u),/^(se|s|e)$/.test(r)?(n.size.width=p,n.size.height=f):/^(ne)$/.test(r)?(n.size.width=p,n.size.height=f,n.position.top=s.top-d):/^(sw)$/.test(r)?(n.size.width=p,n.size.height=f,n.position.left=s.left-h):((f-u<=0||p-l<=0)&&(e=n._getPaddingPlusBorderDimensions(this)),f-u>0?(n.size.height=f,n.position.top=s.top-d):(f=u-e.height,n.size.height=f,n.position.top=s.top+a.height-f),p-l>0?(n.size.width=p,n.position.left=s.left-h):(p=u-e.height,n.size.width=p,n.position.left=s.left+a.width-p))}});t.ui.resizable,t.widget("ui.dialog",{version:"1.11.2",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"Close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var n=t(this).css(e).offset().top;n<0&&t(this).css("top",e.top-n)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var n,i=this;if(this._isOpen&&this._trigger("beforeClose",e)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(":focusable").focus().length)try{n=this.document[0].activeElement,n&&"body"!==n.nodeName.toLowerCase()&&t(n).blur()}catch(o){}this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,n){var i=!1,o=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),a=Math.max.apply(null,o);return a>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",a+1),i=!0),i&&!n&&this._trigger("focus",e),i},open:function(){var e=this;return this._isOpen?void(this._moveToTop()&&this._focusTabbable()):(this._isOpen=!0,this.opener=t(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),void this._trigger("open"))},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).focus()},_keepFocus:function(e){function n(){var e=this.document[0].activeElement,n=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);n||this._focusTabbable()}e.preventDefault(),n.call(this),this._delay(n)},_createWrapper:function(){this.uiDialog=t(" 1&&M.splice.apply(M,[1,0].concat(M.splice(y,f+1))),s.dequeue()},t.effects.effect.clip=function(e,n){var i,o,a,s=t(this),r=["position","top","bottom","left","right","height","width"],c=t.effects.setMode(s,e.mode||"hide"),l="show"===c,u=e.direction||"vertical",h="vertical"===u,d=h?"height":"width",p=h?"top":"left",f={};t.effects.save(s,r),s.show(),i=t.effects.createWrapper(s).css({overflow:"hidden"}),o="IMG"===s[0].tagName?i:s,a=o[d](),l&&(o.css(d,0),o.css(p,a/2)),f[d]=l?a:0,f[p]=l?0:a/2,o.animate(f,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){l||s.hide(),t.effects.restore(s,r),t.effects.removeWrapper(s),n()}})},t.effects.effect.drop=function(e,n){var i,o=t(this),a=["position","top","bottom","left","right","opacity","height","width"],s=t.effects.setMode(o,e.mode||"hide"),r="show"===s,c=e.direction||"left",l="up"===c||"down"===c?"top":"left",u="up"===c||"left"===c?"pos":"neg",h={opacity:r?1:0};t.effects.save(o,a),o.show(),t.effects.createWrapper(o),i=e.distance||o["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&o.css("opacity",0).css(l,"pos"===u?-i:i),h[l]=(r?"pos"===u?"+=":"-=":"pos"===u?"-=":"+=")+i,o.animate(h,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===s&&o.hide(),t.effects.restore(o,a),t.effects.removeWrapper(o),n()}})},t.effects.effect.explode=function(e,n){function i(){M.push(this),M.length===h*d&&o()}function o(){p.css({visibility:"visible"}),t(M).remove(),m||p.hide(),n()}var a,s,r,c,l,u,h=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=h,p=t(this),f=t.effects.setMode(p,e.mode||"hide"),m="show"===f,g=p.show().css("visibility","hidden").offset(),b=Math.ceil(p.outerWidth()/d),v=Math.ceil(p.outerHeight()/h),M=[];for(a=0;a t<"F"ip>'),C.renderer?i.isPlainObject(C.renderer)&&!C.renderer.header&&(C.renderer.header="jqueryui"):C.renderer="jqueryui"):i.extend(N,Yt.ext.classes,m.oClasses),i(this).addClass(N.sTable),""===C.oScroll.sX&&""===C.oScroll.sY||(C.oScroll.iBarWidth=wt()),C.oScroll.sX===!0&&(C.oScroll.sX="100%"),C.iInitDisplayStart===n&&(C.iInitDisplayStart=m.iDisplayStart,C._iDisplayStart=m.iDisplayStart),null!==m.iDeferLoading){C.bDeferLoading=!0;var O=i.isArray(m.iDeferLoading);C._iRecordsDisplay=O?m.iDeferLoading[0]:m.iDeferLoading,C._iRecordsTotal=O?m.iDeferLoading[1]:m.iDeferLoading}var S=C.oLanguage;i.extend(!0,S,m.oLanguage),""!==S.sUrl&&(i.ajax({dataType:"json",url:S.sUrl,success:function(t){s(t),a(z.oLanguage,t),i.extend(!0,S,t),rt(C)},error:function(){rt(C)}}),v=!0),null===m.asStripeClasses&&(C.asStripeClasses=[N.sStripeOdd,N.sStripeEven]);var x=C.asStripeClasses,L=i("tbody tr:eq(0)",this);i.inArray(!0,i.map(x,function(t,e){return L.hasClass(t)}))!==-1&&(i("tbody tr",this).removeClass(x.join(" ")),C.asDestroyStripes=x.slice());var D,q=[],W=this.getElementsByTagName("thead");if(0!==W.length&&(R(C.aoHeader,W[0]),q=F(C)),null===m.aoColumns)for(D=[],g=0,p=q.length;g ").appendTo(this)),C.nTHead=P[0];var H=i(this).children("tbody");0===H.length&&(H=i("z.cacheLength&&delete t[e.shift()],t[n+" "]=i}var e=[];return t}function i(t){return t[X]=!0,t}function o(t){var e=D.createElement("div");try{return!!t(e)}catch(n){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),
-e=null}}function a(t,e){for(var n=t.split("|"),i=t.length;i--;)z.attrHandle[n[i]]=e}function s(t,e){var n=e&&t,i=n&&1===t.nodeType&&1===e.nodeType&&(~e.sourceIndex||V)-(~t.sourceIndex||V);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function r(t){return function(e){var n=e.nodeName.toLowerCase();return"input"===n&&e.type===t}}function c(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function l(t){return i(function(e){return e=+e,i(function(n,i){for(var o,a=t([],n.length,e),s=a.length;s--;)n[o=a[s]]&&(n[o]=!(i[o]=n[o]))})})}function u(t){return t&&"undefined"!=typeof t.getElementsByTagName&&t}function h(){}function d(t){for(var e=0,n=t.length,i="";e0||(At.resolveWith(ft,[ot]),ot.fn.triggerHandler&&(ot(ft).triggerHandler("ready"),ot(ft).off("ready")))}}}),ot.ready.promise=function(e){if(!At)if(At=ot.Deferred(),"complete"===ft.readyState)setTimeout(ot.ready);else if(ft.addEventListener)ft.addEventListener("DOMContentLoaded",r,!1),t.addEventListener("load",r,!1);else{ft.attachEvent("onreadystatechange",r),t.attachEvent("onload",r);var n=!1;try{n=null==t.frameElement&&ft.documentElement}catch(i){}n&&n.doScroll&&!function o(){if(!ot.isReady){try{n.doScroll("left")}catch(t){return setTimeout(o,50)}s(),ot.ready()}}()}return At.promise(e)};var zt,_t="undefined";for(zt in ot(nt))break;nt.ownLast="0"!==zt,nt.inlineBlockNeedsLayout=!1,ot(function(){var t,e,n,i;n=ft.getElementsByTagName("body")[0],n&&n.style&&(e=ft.createElement("div"),i=ft.createElement("div"),i.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(i).appendChild(e),typeof e.style.zoom!==_t&&(e.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",nt.inlineBlockNeedsLayout=t=3===e.offsetWidth,t&&(n.style.zoom=1)),n.removeChild(i))}),function(){var t=ft.createElement("div");if(null==nt.deleteExpando){nt.deleteExpando=!0;try{delete t.test}catch(e){nt.deleteExpando=!1}}t=null}(),ot.acceptData=function(t){var e=ot.noData[(t.nodeName+" ").toLowerCase()],n=+t.nodeType||1;return(1===n||9===n)&&(!e||e!==!0&&t.getAttribute("classid")===e)};var Tt=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,wt=/([A-Z])/g;ot.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(t){return t=t.nodeType?ot.cache[t[ot.expando]]:t[ot.expando],!!t&&!l(t)},data:function(t,e,n){return u(t,e,n)},removeData:function(t,e){return h(t,e)},_data:function(t,e,n){return u(t,e,n,!0)},_removeData:function(t,e){return h(t,e,!0)}}),ot.fn.extend({data:function(t,e){var n,i,o,a=this[0],s=a&&a.attributes;if(void 0===t){if(this.length&&(o=ot.data(a),1===a.nodeType&&!ot._data(a,"parsedAttrs"))){for(n=s.length;n--;)s[n]&&(i=s[n].name,0===i.indexOf("data-")&&(i=ot.camelCase(i.slice(5)),c(a,i,o[i])));ot._data(a,"parsedAttrs",!0)}return o}return"object"==typeof t?this.each(function(){ot.data(this,t)}):arguments.length>1?this.each(function(){ot.data(this,t,e)}):a?c(a,t,ot.data(a,t)):void 0},removeData:function(t){return this.each(function(){ot.removeData(this,t)})}}),ot.extend({queue:function(t,e,n){var i;if(t)return e=(e||"fx")+"queue",i=ot._data(t,e),n&&(!i||ot.isArray(n)?i=ot._data(t,e,ot.makeArray(n)):i.push(n)),i||[]},dequeue:function(t,e){e=e||"fx";var n=ot.queue(t,e),i=n.length,o=n.shift(),a=ot._queueHooks(t,e),s=function(){ot.dequeue(t,e)};"inprogress"===o&&(o=n.shift(),i--),o&&("fx"===e&&n.unshift("inprogress"),delete a.stop,o.call(t,s,a)),!i&&a&&a.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return ot._data(t,n)||ot._data(t,n,{empty:ot.Callbacks("once memory").add(function(){ot._removeData(t,e+"queue"),ot._removeData(t,n)})})}}),ot.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.lengtha",nt.leadingWhitespace=3===e.firstChild.nodeType,nt.tbody=!e.getElementsByTagName("tbody").length,nt.htmlSerialize=!!e.getElementsByTagName("link").length,nt.html5Clone="<:nav>"!==ft.createElement("nav").cloneNode(!0).outerHTML,t.type="checkbox",t.checked=!0,n.appendChild(t),nt.appendChecked=t.checked,e.innerHTML="",nt.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,n.appendChild(e),e.innerHTML="",nt.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,nt.noCloneEvent=!0,e.attachEvent&&(e.attachEvent("onclick",function(){nt.noCloneEvent=!1}),e.cloneNode(!0).click()),null==nt.deleteExpando){nt.deleteExpando=!0;try{delete e.test}catch(i){nt.deleteExpando=!1}}}(),function(){var e,n,i=ft.createElement("div");for(e in{submit:!0,change:!0,focusin:!0})n="on"+e,(nt[e+"Bubbles"]=n in t)||(i.setAttribute(n,"t"),nt[e+"Bubbles"]=i.attributes[n].expando===!1);i=null}();var Lt=/^(?:input|select|textarea)$/i,Dt=/^key/,kt=/^(?:mouse|pointer|contextmenu)|click/,qt=/^(?:focusinfocus|focusoutblur)$/,Wt=/^([^.]*)(?:\.(.+)|)$/;ot.event={global:{},add:function(t,e,n,i,o){var a,s,r,c,l,u,h,d,p,f,m,g=ot._data(t);if(g){for(n.handler&&(c=n,n=c.handler,o=c.selector),n.guid||(n.guid=ot.guid++),(s=g.events)||(s=g.events={}),(u=g.handle)||(u=g.handle=function(t){return typeof ot===_t||t&&ot.event.triggered===t.type?void 0:ot.event.dispatch.apply(u.elem,arguments)},u.elem=t),e=(e||"").match(Mt)||[""],r=e.length;r--;)a=Wt.exec(e[r])||[],p=m=a[1],f=(a[2]||"").split(".").sort(),p&&(l=ot.event.special[p]||{},p=(o?l.delegateType:l.bindType)||p,l=ot.event.special[p]||{},h=ot.extend({type:p,origType:m,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&ot.expr.match.needsContext.test(o),namespace:f.join(".")},c),(d=s[p])||(d=s[p]=[],d.delegateCount=0,l.setup&&l.setup.call(t,i,f,u)!==!1||(t.addEventListener?t.addEventListener(p,u,!1):t.attachEvent&&t.attachEvent("on"+p,u))),l.add&&(l.add.call(t,h),h.handler.guid||(h.handler.guid=n.guid)),o?d.splice(d.delegateCount++,0,h):d.push(h),ot.event.global[p]=!0);t=null}},remove:function(t,e,n,i,o){var a,s,r,c,l,u,h,d,p,f,m,g=ot.hasData(t)&&ot._data(t);if(g&&(u=g.events)){for(e=(e||"").match(Mt)||[""],l=e.length;l--;)if(r=Wt.exec(e[l])||[],p=m=r[1],f=(r[2]||"").split(".").sort(),p){for(h=ot.event.special[p]||{},p=(i?h.delegateType:h.bindType)||p,d=u[p]||[],r=r[2]&&new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),c=a=d.length;a--;)s=d[a],!o&&m!==s.origType||n&&n.guid!==s.guid||r&&!r.test(s.namespace)||i&&i!==s.selector&&("**"!==i||!s.selector)||(d.splice(a,1),s.selector&&d.delegateCount--,h.remove&&h.remove.call(t,s));c&&!d.length&&(h.teardown&&h.teardown.call(t,f,g.handle)!==!1||ot.removeEvent(t,p,g.handle),delete u[p])}else for(p in u)ot.event.remove(t,p+e[l],n,i,!0);ot.isEmptyObject(u)&&(delete g.handle,ot._removeData(t,"events"))}},trigger:function(e,n,i,o){var a,s,r,c,l,u,h,d=[i||ft],p=et.call(e,"type")?e.type:e,f=et.call(e,"namespace")?e.namespace.split("."):[];if(r=u=i=i||ft,3!==i.nodeType&&8!==i.nodeType&&!qt.test(p+ot.event.triggered)&&(p.indexOf(".")>=0&&(f=p.split("."),p=f.shift(),f.sort()),s=p.indexOf(":")<0&&"on"+p,e=e[ot.expando]?e:new ot.Event(p,"object"==typeof e&&e),e.isTrigger=o?2:3,e.namespace=f.join("."),e.namespace_re=e.namespace?new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=i),n=null==n?[e]:ot.makeArray(n,[e]),l=ot.event.special[p]||{},o||!l.trigger||l.trigger.apply(i,n)!==!1)){if(!o&&!l.noBubble&&!ot.isWindow(i)){for(c=l.delegateType||p,qt.test(c+p)||(r=r.parentNode);r;r=r.parentNode)d.push(r),u=r;u===(i.ownerDocument||ft)&&d.push(u.defaultView||u.parentWindow||t);
-}for(h=0;(r=d[h++])&&!e.isPropagationStopped();)e.type=h>1?c:l.bindType||p,a=(ot._data(r,"events")||{})[e.type]&&ot._data(r,"handle"),a&&a.apply(r,n),a=s&&r[s],a&&a.apply&&ot.acceptData(r)&&(e.result=a.apply(r,n),e.result===!1&&e.preventDefault());if(e.type=p,!o&&!e.isDefaultPrevented()&&(!l._default||l._default.apply(d.pop(),n)===!1)&&ot.acceptData(i)&&s&&i[p]&&!ot.isWindow(i)){u=i[s],u&&(i[s]=null),ot.event.triggered=p;try{i[p]()}catch(m){}ot.event.triggered=void 0,u&&(i[s]=u)}return e.result}},dispatch:function(t){t=ot.event.fix(t);var e,n,i,o,a,s=[],r=J.call(arguments),c=(ot._data(this,"events")||{})[t.type]||[],l=ot.event.special[t.type]||{};if(r[0]=t,t.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,t)!==!1){for(s=ot.event.handlers.call(this,t,c),e=0;(o=s[e++])&&!t.isPropagationStopped();)for(t.currentTarget=o.elem,a=0;(i=o.handlers[a++])&&!t.isImmediatePropagationStopped();)t.namespace_re&&!t.namespace_re.test(i.namespace)||(t.handleObj=i,t.data=i.data,n=((ot.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,r),void 0!==n&&(t.result=n)===!1&&(t.preventDefault(),t.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,t),t.result}},handlers:function(t,e){var n,i,o,a,s=[],r=e.delegateCount,c=t.target;if(r&&c.nodeType&&(!t.button||"click"!==t.type))for(;c!=this;c=c.parentNode||this)if(1===c.nodeType&&(c.disabled!==!0||"click"!==t.type)){for(o=[],a=0;a
","
"],tr:[2,"","
"],col:[2,"
"],td:[3,"
"],_default:nt.htmlSerialize?[0,"",""]:[1,"X"," "!==u[1]||Ft.test(a)?0:r:r.firstChild,o=a&&a.childNodes.length;o--;)ot.nodeName(l=a.childNodes[o],"tbody")&&!l.childNodes.length&&a.removeChild(l);for(ot.merge(p,r.childNodes),r.textContent="";r.firstChild;)r.removeChild(r.firstChild);r=d.lastChild}else p.push(e.createTextNode(a));for(r&&d.removeChild(r),nt.appendChecked||ot.grep(g(p,"input"),b),f=0;a=p[f++];)if((!i||ot.inArray(a,i)===-1)&&(s=ot.contains(a.ownerDocument,a),r=g(d.appendChild(a),"script"),s&&A(r),n))for(o=0;a=r[o++];)$t.test(a.type||"")&&n.push(a);return r=null,d},cleanData:function(t,e){for(var n,i,o,a,s=0,r=ot.expando,c=ot.cache,l=nt.deleteExpando,u=ot.event.special;null!=(n=t[s]);s++)if((e||ot.acceptData(n))&&(o=n[r],a=o&&c[o])){if(a.events)for(i in a.events)u[i]?ot.event.remove(n,i):ot.removeEvent(n,i,a.handle);c[o]&&(delete c[o],l?delete n[r]:typeof n.removeAttribute!==_t?n.removeAttribute(r):n[r]=null,Y.push(o))}}}),ot.fn.extend({text:function(t){return St(this,function(t){return void 0===t?ot.text(this):this.empty().append((this[0]&&this[0].ownerDocument||ft).createTextNode(t))},null,t,arguments.length)},append:function(){return this.domManip(arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=v(this,t);e.appendChild(t)}})},prepend:function(){return this.domManip(arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=v(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return this.domManip(arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return this.domManip(arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},remove:function(t,e){for(var n,i=t?ot.filter(t,this):this,o=0;null!=(n=i[o]);o++)e||1!==n.nodeType||ot.cleanData(g(n)),n.parentNode&&(e&&ot.contains(n.ownerDocument,n)&&A(g(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var t,e=0;null!=(t=this[e]);e++){for(1===t.nodeType&&ot.cleanData(g(t,!1));t.firstChild;)t.removeChild(t.firstChild);t.options&&ot.nodeName(t,"select")&&(t.options.length=0)}return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return ot.clone(this,t,e)})},html:function(t){return St(this,function(t){var e=this[0]||{},n=0,i=this.length;if(void 0===t)return 1===e.nodeType?e.innerHTML.replace(Bt,""):void 0;if("string"==typeof t&&!jt.test(t)&&(nt.htmlSerialize||!It.test(t))&&(nt.leadingWhitespace||!Xt.test(t))&&!Jt[(Rt.exec(t)||["",""])[1].toLowerCase()]){t=t.replace(Pt,"<$1>$2>");try{for(;n1&&"string"==typeof d&&!nt.checkClone&&Ut.test(d))return this.each(function(n){var i=u.eq(n);p&&(t[0]=d.call(this,n,i.html())),i.domManip(t,e)});if(l&&(r=ot.buildFragment(t,this[0].ownerDocument,!1,this),n=r.firstChild,1===r.childNodes.length&&(r=n),n)){for(a=ot.map(g(r,"script"),M),o=a.length;c
",o=e.getElementsByTagName("td"),o[0].style.cssText="margin:0;border:0;padding:0;display:none",r=0===o[0].offsetHeight,r&&(o[0].style.display="",o[1].style.display="none",r=0===o[0].offsetHeight),n.removeChild(i))}var n,i,o,a,s,r,c;n=ft.createElement("div"),n.innerHTML=" t a",o=n.getElementsByTagName("a")[0],i=o&&o.style,i&&(i.cssText="float:left;opacity:.5",nt.opacity="0.5"===i.opacity,nt.cssFloat=!!i.cssFloat,n.style.backgroundClip="content-box",n.cloneNode(!0).style.backgroundClip="",nt.clearCloneStyle="content-box"===n.style.backgroundClip,nt.boxSizing=""===i.boxSizing||""===i.MozBoxSizing||""===i.WebkitBoxSizing,ot.extend(nt,{reliableHiddenOffsets:function(){return null==r&&e(),r},boxSizingReliable:function(){return null==s&&e(),s},pixelPosition:function(){return null==a&&e(),a},reliableMarginRight:function(){return null==c&&e(),c}}))}(),ot.swap=function(t,e,n,i){var o,a,s={};for(a in e)s[a]=t.style[a],t.style[a]=e[a];o=n.apply(t,i||[]);for(a in e)t.style[a]=s[a];return o};var ae=/alpha\([^)]*\)/i,se=/opacity\s*=\s*([^)]*)/,re=/^(none|table(?!-c[ea]).+)/,ce=new RegExp("^("+Ct+")(.*)$","i"),le=new RegExp("^([+-])=("+Ct+")","i"),ue={position:"absolute",visibility:"hidden",display:"block"},he={letterSpacing:"0",fontWeight:"400"},de=["Webkit","O","Moz","ms"];ot.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=ee(t,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":nt.cssFloat?"cssFloat":"styleFloat"},style:function(t,e,n,i){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var o,a,s,r=ot.camelCase(e),c=t.style;if(e=ot.cssProps[r]||(ot.cssProps[r]=N(c,r)),s=ot.cssHooks[e]||ot.cssHooks[r],void 0===n)return s&&"get"in s&&void 0!==(o=s.get(t,!1,i))?o:c[e];if(a=typeof n,"string"===a&&(o=le.exec(n))&&(n=(o[1]+1)*o[2]+parseFloat(ot.css(t,e)),a="number"),null!=n&&n===n&&("number"!==a||ot.cssNumber[r]||(n+="px"),nt.clearCloneStyle||""!==n||0!==e.indexOf("background")||(c[e]="inherit"),!(s&&"set"in s&&void 0===(n=s.set(t,n,i)))))try{c[e]=n}catch(l){}}},css:function(t,e,n,i){var o,a,s,r=ot.camelCase(e);return e=ot.cssProps[r]||(ot.cssProps[r]=N(t.style,r)),s=ot.cssHooks[e]||ot.cssHooks[r],s&&"get"in s&&(a=s.get(t,!0,n)),void 0===a&&(a=ee(t,e,i)),"normal"===a&&e in he&&(a=he[e]),""===n||n?(o=parseFloat(a),n===!0||ot.isNumeric(o)?o||0:a):a}}),ot.each(["height","width"],function(t,e){ot.cssHooks[e]={get:function(t,n,i){if(n)return re.test(ot.css(t,"display"))&&0===t.offsetWidth?ot.swap(t,ue,function(){return L(t,e,i)}):L(t,e,i)},set:function(t,n,i){var o=i&&te(t);return S(t,n,i?x(t,e,i,nt.boxSizing&&"border-box"===ot.css(t,"boxSizing",!1,o),o):0)}}}),nt.opacity||(ot.cssHooks.opacity={get:function(t,e){return se.test((e&&t.currentStyle?t.currentStyle.filter:t.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":e?"1":""},set:function(t,e){var n=t.style,i=t.currentStyle,o=ot.isNumeric(e)?"alpha(opacity="+100*e+")":"",a=i&&i.filter||n.filter||"";n.zoom=1,(e>=1||""===e)&&""===ot.trim(a.replace(ae,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===e||i&&!i.filter)||(n.filter=ae.test(a)?a.replace(ae,o):a+" "+o)}}),ot.cssHooks.marginRight=C(nt.reliableMarginRight,function(t,e){if(e)return ot.swap(t,{display:"inline-block"},ee,[t,"marginRight"])}),ot.each({margin:"",padding:"",border:"Width"},function(t,e){ot.cssHooks[t+e]={expand:function(n){for(var i=0,o={},a="string"==typeof n?n.split(" "):[n];i<4;i++)o[t+Nt[i]+e]=a[i]||a[i-2]||a[0];return o}},ne.test(t)||(ot.cssHooks[t+e].set=S)}),ot.fn.extend({css:function(t,e){return St(this,function(t,e,n){var i,o,a={},s=0;if(ot.isArray(e)){for(i=te(t),o=e.length;s
a",i=e.getElementsByTagName("a")[0],n=ft.createElement("select"),o=n.appendChild(ft.createElement("option")),t=e.getElementsByTagName("input")[0],i.style.cssText="top:1px",nt.getSetAttribute="t"!==e.className,nt.style=/top/.test(i.getAttribute("style")),nt.hrefNormalized="/a"===i.getAttribute("href"),nt.checkOn=!!t.value,nt.optSelected=o.selected,nt.enctype=!!ft.createElement("form").enctype,n.disabled=!0,nt.optDisabled=!o.disabled,t=ft.createElement("input"),t.setAttribute("value",""),nt.input=""===t.getAttribute("value"),t.value="t",t.setAttribute("type","radio"),nt.radioValue="t"===t.value}();var ye=/\r/g;ot.fn.extend({val:function(t){var e,n,i,o=this[0];{if(arguments.length)return i=ot.isFunction(t),this.each(function(n){var o;1===this.nodeType&&(o=i?t.call(this,n,ot(this).val()):t,null==o?o="":"number"==typeof o?o+="":ot.isArray(o)&&(o=ot.map(o,function(t){return null==t?"":t+""})),e=ot.valHooks[this.type]||ot.valHooks[this.nodeName.toLowerCase()],e&&"set"in e&&void 0!==e.set(this,o,"value")||(this.value=o))});if(o)return e=ot.valHooks[o.type]||ot.valHooks[o.nodeName.toLowerCase()],e&&"get"in e&&void 0!==(n=e.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(ye,""):null==n?"":n)}}}),ot.extend({valHooks:{option:{get:function(t){var e=ot.find.attr(t,"value");return null!=e?e:ot.trim(ot.text(t))}},select:{get:function(t){for(var e,n,i=t.options,o=t.selectedIndex,a="select-one"===t.type||o<0,s=a?null:[],r=a?o+1:i.length,c=o<0?r:a?o:0;c
").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var n=this.menu.element[0];t(e.target).closest(".ui-menu-item").length||this._delay(function(){var e=this;this.document.one("mousedown",function(i){i.target===e.element[0]||i.target===n||t.contains(n,i.target)||e.close()})})},menufocus:function(e,n){var i,o;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),void this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)})):(o=n.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:o})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(o.value),i=n.item.attr("aria-label")||o.value,void(i&&t.trim(i).length&&(this.liveRegion.children().hide(),t("
a&&n.right",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("
t[this.floating?"width":"height"]?p:a ",e.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(o)}):"img"===i&&o.attr("src",e.currentItem.attr("src")),n||o.css("visibility","hidden"),o},update:function(t,o){n&&!i.forcePlaceholderSize||(o.height()||o.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),o.width()||o.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(i.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),i.placeholder.update(e,e.placeholder)},_contactContainers:function(e){var n,i,o,a,s,r,c,l,u,h,d=null,p=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(d&&t.contains(this.containers[n].element[0],d.element[0]))continue;d=this.containers[n],p=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",e,this._uiHash(this)),this.containers[n].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(o=1e4,a=null,u=d.floating||this._isFloating(this.currentItem),s=u?"left":"top",r=u?"width":"height",h=u?"clientX":"clientY",i=this.items.length-1;i>=0;i--)t.contains(this.containers[p].element[0],this.items[i].item[0])&&this.items[i].item[0]!==this.currentItem[0]&&(c=this.items[i].item.offset()[s],l=!1,e[h]-c>this.items[i][r]/2&&(l=!0),Math.abs(e[h]-c)").appendTo(r)),e=0,n=h.length;e=t.fnRecordsDisplay()?0:l,t.iInitDisplayStart=-1);var d=t._iDisplayStart,p=t.fnDisplayEnd();if(t.bDeferLoading)t.bDeferLoading=!1,t.iDraw++,ft(t,!1);else if(u){if(!t.bDestroying&&!j(t))return}else t.iDraw++;if(0!==h.length)for(var f=u?0:d,m=u?t.aoData.length:p,b=f;b",{valign:"top",colSpan:g(t),"class":t.oClasses.sRowEmpty}).html(z))[0]}Rt(t,"aoHeaderCallback","header",[i(t.nTHead).children("tr")[0],S(t),d,p,h]),Rt(t,"aoFooterCallback","footer",[i(t.nTFoot).children("tr")[0],S(t),d,p,h]);var _=i(t.nTBody);_.children().detach(),_.append(i(o)),Rt(t,"aoDrawCallback","draw",[t]),t.bSorted=!1,t.bFiltered=!1,t.bDrawing=!1}function X(t,e){var n=t.oFeatures,i=n.bSort,o=n.bFilter;i&&Nt(t),o?J(t,t.oPreviousSearch):t.aiDisplay=t.aiDisplayMaster.slice(),e!==!0&&(t._iDisplayStart=0),t._drawHold=e,I(t),t._drawHold=!1}function P(t){var e=t.oClasses,n=i(t.nTable),o=i("").insertBefore(n),a=t.oFeatures,s=i("",{id:t.sTableId+"_wrapper","class":e.sWrapper+(t.nTFoot?"":" "+e.sNoFooter)});t.nHolding=o[0],t.nTableWrapper=s[0],t.nTableReinsertBefore=t.nTable.nextSibling;for(var r,c,l,u,h,d,p=t.sDom.split(""),f=0;f ").html(T(t,n,e,"display"))[0]}function _t(t,e){for(var n,i=-1,o=-1,a=0,s=t.aoData.length;a i&&(i=n.length,o=a);return o}function Tt(t){return null===t?"0px":"number"==typeof t?t<0?"0px":t+"px":t.match(/\d$/)?t+"px":t}function wt(){if(!Yt.__scrollbarWidth){var t=i("").css({width:"100%",height:200,padding:0})[0],e=i("").css({position:"absolute",top:0,left:0,width:200,height:150,padding:0,overflow:"hidden",visibility:"hidden"}).append(t).appendTo("body"),n=t.offsetWidth;e.css("overflow","scroll");var o=t.offsetWidth;n===o&&(o=e[0].clientWidth),e.remove(),Yt.__scrollbarWidth=n-o}return Yt.__scrollbarWidth}function Ct(t){var e,o,a,s,r,c,l,u=[],h=t.aoColumns,d=t.aaSortingFixed,p=i.isPlainObject(d),f=[],m=function(t){t.length&&!i.isArray(t[0])?f.push(t):f.push.apply(f,t)};for(i.isArray(d)&&m(d),p&&d.pre&&m(d.pre),m(t.aaSorting),
-p&&d.post&&m(d.post),e=0;e")[0],ze=Ae.textContent!==n,_e=/<.*?>/g;Yt=function(t){this.$=function(t,e){return this.api(!0).$(t,e)},this._=function(t,e){return this.api(!0).rows(t,e).data()},this.api=function(t){return new Kt(t?Wt(this[Jt.iApiIndex]):this)},this.fnAddData=function(t,e){var o=this.api(!0),a=i.isArray(t)&&(i.isArray(t[0])||i.isPlainObject(t[0]))?o.rows.add(t):o.row.add(t);return(e===n||e)&&o.draw(),a.flatten().toArray()},this.fnAdjustColumnSizing=function(t){var e=this.api(!0).columns.adjust(),i=e.settings()[0],o=i.oScroll;t===n||t?e.draw(!1):""===o.sX&&""===o.sY||gt(i)},this.fnClearTable=function(t){var e=this.api(!0).clear();(t===n||t)&&e.draw()},this.fnClose=function(t){this.api(!0).row(t).child.hide()},this.fnDeleteRow=function(t,e,i){var o=this.api(!0),a=o.rows(t),s=a.settings()[0],r=s.aoData[a[0][0]];return a.remove(),e&&e.call(this,s,r),(i===n||i)&&o.draw(),r},this.fnDestroy=function(t){this.api(!0).destroy(t)},this.fnDraw=function(t){this.api(!0).draw(!t)},this.fnFilter=function(t,e,i,o,a,s){var r=this.api(!0);null===e||e===n?r.search(t,i,o,s):r.column(e).search(t,i,o,s),r.draw()},this.fnGetData=function(t,e){var i=this.api(!0);if(t!==n){var o=t.nodeName?t.nodeName.toLowerCase():"";return e!==n||"td"==o||"th"==o?i.cell(t,e).data():i.row(t).data()||null}return i.data().toArray()},this.fnGetNodes=function(t){var e=this.api(!0);return t!==n?e.row(t).node():e.rows().nodes().flatten().toArray()},this.fnGetPosition=function(t){var e=this.api(!0),n=t.nodeName.toUpperCase();if("TR"==n)return e.row(t).index();if("TD"==n||"TH"==n){var i=e.cell(t).index();return[i.row,i.columnVisible,i.column]}return null},this.fnIsOpen=function(t){return this.api(!0).row(t).child.isShown()},this.fnOpen=function(t,e,n){return this.api(!0).row(t).child(e,n).show().child()[0]},this.fnPageChange=function(t,e){var i=this.api(!0).page(t);(e===n||e)&&i.draw(!1)},this.fnSetColumnVis=function(t,e,i){var o=this.api(!0).column(t).visible(e);(i===n||i)&&o.columns.adjust().draw()},this.fnSettings=function(){return Wt(this[Jt.iApiIndex])},this.fnSort=function(t){this.api(!0).order(t).draw()},this.fnSortListener=function(t,e,n){this.api(!0).order.listener(t,e,n)},this.fnUpdate=function(t,e,i,o,a){var s=this.api(!0);return i===n||null===i?s.row(e).data(t):s.cell(e,i).data(t),(a===n||a)&&s.columns.adjust(),(o===n||o)&&s.draw(),0},this.fnVersionCheck=Jt.fnVersionCheck;var e=this,o=t===n,u=this.length;o&&(t={}),this.oApi=this.internal=Jt.internal;for(var p in Yt.ext.internal)p&&(this[p]=Vt(p));return this.each(function(){var p,f={},m=u>1?It(f,t,!0):t,g=0,b=this.getAttribute("id"),v=!1,z=Yt.defaults;if("table"!=this.nodeName.toLowerCase())return void Et(null,0,"Non-table node initialisation ("+this.nodeName+")",2);r(z),c(z.column),a(z,z,!0),a(z.column,z.column,!0),a(z,m);var _=Yt.settings;for(g=0,p=_.length;g").addClass(n);i("td",o).addClass(n).html(e)[0].colSpan=g(t),a.push(o[0])}};if(i.isArray(n)||n instanceof i)for(var r=0,c=n.length;r ",o[0];);return 4",""]||(!a.indexOf(" "," "]||[0,"",""],t="ignored";if(this.o.calendarWeeks){this.picker.find(".datepicker-days thead tr:first-child .datepicker-switch").attr("colspan",function(t,e){return parseInt(e)+1});var n=' ",this.picker.find(".datepicker-days thead").append(e)},fillMonths:function(){for(var t="",e=0;e<12;)t+=''+m[this.o.language].monthsShort[e++]+"";this.picker.find(".datepicker-months td").html(t)},setRange:function(e){e&&e.length?this.range=t.map(e,function(t){return t.valueOf()}):delete this.range,this.fill()},getClassNames:function(e){var n=[],i=this.viewDate.getUTCFullYear(),a=this.viewDate.getUTCMonth(),s=new Date;return e.getUTCFullYear()i||e.getUTCFullYear()===i&&e.getUTCMonth()>a)&&n.push("new"),this.focusDate&&e.valueOf()===this.focusDate.valueOf()&&n.push("focused"),this.o.todayHighlight&&e.getUTCFullYear()===s.getFullYear()&&e.getUTCMonth()===s.getMonth()&&e.getUTCDate()===s.getDate()&&n.push("today"),this.dates.contains(e)!==-1&&n.push("active"),(e.valueOf() ';e+=n}for(;t'+_+" ")}if(v=this.getClassNames(p),v.push("day"),this.o.beforeShowDay!==t.noop){var T=this.o.beforeShowDay(this._utc_to_local(p));T===e?T={}:"boolean"==typeof T?T={enabled:T}:"string"==typeof T&&(T={classes:T}),T.enabled===!1&&v.push("disabled"),T.classes&&(v=v.concat(T.classes.split(/\s+/))),T.tooltip&&(i=T.tooltip)}v=t.unique(v),M.push('"+p.getUTCDate()+" "),i=null,p.getUTCDay()===this.o.weekEnd&&M.push(""),p.setUTCDate(p.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").empty().append(M.join(""));var w=this.picker.find(".datepicker-months").find("th:eq(1)").text(a).end().find("span").removeClass("active");if(t.each(this.dates,function(t,e){e.getUTCFullYear()===a&&w.eq(e.getUTCMonth()).addClass("active")}),(a ',contTemplate:'« » ',footTemplate:' '};g.template=''+g.headTemplate+""+g.footTemplate+'
'+g.headTemplate+g.contTemplate+g.footTemplate+'
'+g.headTemplate+g.contTemplate+g.footTemplate+"