Merge branch 'v5-develop' of https://github.com/turbo124/invoiceninja into v5-develop

This commit is contained in:
= 2021-09-16 08:33:21 +10:00
commit 698bf5dde3
17 changed files with 30404 additions and 30524 deletions

View File

@ -1 +1 @@
5.3.10 5.3.12

View File

@ -654,7 +654,6 @@ class CompanySettings extends BaseSettings
'$product.discount', '$product.discount',
'$product.tax', '$product.tax',
'$product.line_total', '$product.line_total',
'$product.gross_line_total',
], ],
'task_columns' =>[ 'task_columns' =>[
'$task.service', '$task.service',
@ -664,11 +663,9 @@ class CompanySettings extends BaseSettings
'$task.discount', '$task.discount',
'$task.tax', '$task.tax',
'$task.line_total', '$task.line_total',
'$task.gross_line_total',
], ],
'total_columns' => [ 'total_columns' => [
'$net_subtotal', '$net_subtotal',
'$gross_subtotal',
'$subtotal', '$subtotal',
'$discount', '$discount',
'$custom_surcharge1', '$custom_surcharge1',

View File

@ -512,6 +512,9 @@ class ClientController extends BaseController
$ids = request()->input('ids'); $ids = request()->input('ids');
$clients = Client::withTrashed()->whereIn('id', $this->transformKeys($ids))->cursor(); $clients = Client::withTrashed()->whereIn('id', $this->transformKeys($ids))->cursor();
if(!in_array($action, ['restore','archive','delete']))
return response()->json(['message' => 'That action is not available.'], 400);
$clients->each(function ($client, $key) use ($action) { $clients->each(function ($client, $key) use ($action) {
if (auth()->user()->can('edit', $client)) { if (auth()->user()->can('edit', $client)) {
$this->client_repo->{$action}($client); $this->client_repo->{$action}($client);

View File

@ -75,7 +75,6 @@ class Client extends BaseModel implements HasLocalePreference
'shipping_postal_code', 'shipping_postal_code',
'shipping_country_id', 'shipping_country_id',
'settings', 'settings',
'payment_terms',
'vat_number', 'vat_number',
'id_number', 'id_number',
'group_settings_id', 'group_settings_id',

View File

@ -42,6 +42,7 @@ class SOFORT
$data['return_url'] = $this->buildReturnUrl(); $data['return_url'] = $this->buildReturnUrl();
$data['stripe_amount'] = $this->stripe->convertToStripeAmount($data['total']['amount_with_fee'], $this->stripe->client->currency()->precision, $this->stripe->client->currency()); $data['stripe_amount'] = $this->stripe->convertToStripeAmount($data['total']['amount_with_fee'], $this->stripe->client->currency()->precision, $this->stripe->client->currency());
$data['client'] = $this->stripe->client; $data['client'] = $this->stripe->client;
$data['customer'] = $this->stripe->findOrCreateCustomer()->id;
$data['country'] = $this->stripe->client->country->iso_3166_2; $data['country'] = $this->stripe->client->country->iso_3166_2;
$this->stripe->payment_hash->data = array_merge((array) $this->stripe->payment_hash->data, ['stripe_amount' => $data['stripe_amount']]); $this->stripe->payment_hash->data = array_merge((array) $this->stripe->payment_hash->data, ['stripe_amount' => $data['stripe_amount']]);

View File

@ -3,12 +3,12 @@ const MANIFEST = 'flutter-app-manifest';
const TEMP = 'flutter-temp-cache'; const TEMP = 'flutter-temp-cache';
const CACHE_NAME = 'flutter-app-cache'; const CACHE_NAME = 'flutter-app-cache';
const RESOURCES = { const RESOURCES = {
"main.dart.js": "17e5b654f448781d79f55e1b223eda44", "main.dart.js": "2a47be5c506c25d08395cc9ecceb9e8c",
"version.json": "9ec5e3813adc4bfd8713556c5059e97d", "version.json": "9ec5e3813adc4bfd8713556c5059e97d",
"manifest.json": "ef43d90e57aa7682d7e2cfba2f484a40", "manifest.json": "ef43d90e57aa7682d7e2cfba2f484a40",
"icons/Icon-512.png": "0f9aff01367f0a0c69773d25ca16ef35", "icons/Icon-512.png": "0f9aff01367f0a0c69773d25ca16ef35",
"icons/Icon-192.png": "bb1cf5f6982006952211c7c8404ffbed", "icons/Icon-192.png": "bb1cf5f6982006952211c7c8404ffbed",
"/": "11547dbccd61ee164f3e727ec78c2fd4", "/": "2ba95ec0c24b1de988f7422bb26ea91f",
"assets/NOTICES": "9eb7e2eb2888ea5bae5f536720db37cd", "assets/NOTICES": "9eb7e2eb2888ea5bae5f536720db37cd",
"assets/fonts/MaterialIcons-Regular.otf": "4e6447691c9509f7acdbf8a931a85ca1", "assets/fonts/MaterialIcons-Regular.otf": "4e6447691c9509f7acdbf8a931a85ca1",
"assets/AssetManifest.json": "38d9aea341601f3a5c6fa7b5a1216ea5", "assets/AssetManifest.json": "38d9aea341601f3a5c6fa7b5a1216ea5",

13611
public/main.dart.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

13495
public/main.foss.dart.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

10096
public/main.last.dart.js vendored

File diff suppressed because it is too large Load Diff

10451
public/main.next.dart.js vendored

File diff suppressed because it is too large Load Diff

View File

@ -310161,13 +310161,9 @@
client = J.$index$asx(this.clientMap._map$_map, t1); client = J.$index$asx(this.clientMap._map$_map, t1);
if (client == null) if (client == null)
client = T.ClientEntity_ClientEntity(t1, null, null); client = T.ClientEntity_ClientEntity(t1, null, null);
t1 = invoice.archivedAt; if (!(invoice.get$isArchived() || invoice.isDeleted)) {
if (t1 === 0) {
t1 = invoice.statusId; t1 = invoice.statusId;
if (!(t1 === "5" || t1 === "6")) t1 = t1 === "5" || t1 === "6" || client.get$isArchived() || client.isDeleted;
t1 = client.archivedAt !== 0;
else
t1 = true;
} else } else
t1 = true; t1 = true;
if (!t1) if (!t1)
@ -310194,13 +310190,9 @@
client = J.$index$asx(this.clientMap._map$_map, t1); client = J.$index$asx(this.clientMap._map$_map, t1);
if (client == null) if (client == null)
client = T.ClientEntity_ClientEntity(t1, null, null); client = T.ClientEntity_ClientEntity(t1, null, null);
t1 = invoice.archivedAt; if (!(invoice.get$isArchived() || invoice.isDeleted)) {
if (t1 === 0) {
t1 = invoice.statusId; t1 = invoice.statusId;
if (!(t1 === "5" || t1 === "6")) t1 = t1 === "5" || t1 === "6" || client.get$isArchived() || client.isDeleted;
t1 = client.archivedAt !== 0;
else
t1 = true;
} else } else
t1 = true; t1 = true;
if (!t1) if (!t1)
@ -310223,19 +310215,15 @@
}; };
A._recentPayments_closure.prototype = { A._recentPayments_closure.prototype = {
call$2: function(index, payment) { call$2: function(index, payment) {
var t2, var t1 = payment.clientId,
t1 = payment.clientId,
client = J.$index$asx(this.clientMap._map$_map, t1); client = J.$index$asx(this.clientMap._map$_map, t1);
if (client == null) if (client == null)
client = T.ClientEntity_ClientEntity(t1, null, null); client = T.ClientEntity_ClientEntity(t1, null, null);
t1 = payment.archivedAt === 0; if (!(payment.get$isArchived() || payment.isDeleted || client.get$isArchived() || client.isDeleted)) {
if (t1) t1 = payment.archivedAt;
t2 = client.archivedAt !== 0; if (t1 === 0 && payment.createdAt > this.threeMonthsAgo)
else
t2 = true;
if (!t2)
if (t1 && payment.createdAt > this.threeMonthsAgo)
this.payments.push(payment); this.payments.push(payment);
}
}, },
$signature: 187 $signature: 187
}; };
@ -310262,12 +310250,7 @@
client = J.$index$asx(this.clientMap._map$_map, t1); client = J.$index$asx(this.clientMap._map$_map, t1);
if (client == null) if (client == null)
client = T.ClientEntity_ClientEntity(t1, null, null); client = T.ClientEntity_ClientEntity(t1, null, null);
t1 = quote.archivedAt; if (!(quote.get$isArchived() || quote.isDeleted || client.get$isArchived() || client.isDeleted))
if (t1 === 0)
t1 = client.archivedAt !== 0;
else
t1 = true;
if (!t1)
if (quote.get$isUpcoming()) if (quote.get$isUpcoming())
this.quotes.push(quote); this.quotes.push(quote);
}, },
@ -310291,12 +310274,7 @@
client = J.$index$asx(this.clientMap._map$_map, t1); client = J.$index$asx(this.clientMap._map$_map, t1);
if (client == null) if (client == null)
client = T.ClientEntity_ClientEntity(t1, null, null); client = T.ClientEntity_ClientEntity(t1, null, null);
t1 = quote.archivedAt; if (!(quote.get$isArchived() || quote.isDeleted || client.get$isArchived() || client.isDeleted))
if (t1 === 0)
t1 = client.archivedAt !== 0;
else
t1 = true;
if (!t1)
if (quote.get$isPastDue()) if (quote.get$isPastDue())
this.quotes.push(quote); this.quotes.push(quote);
}, },
@ -310320,12 +310298,7 @@
client = J.$index$asx(this.clientMap._map$_map, t1); client = J.$index$asx(this.clientMap._map$_map, t1);
if (client == null) if (client == null)
client = T.ClientEntity_ClientEntity(t1, null, null); client = T.ClientEntity_ClientEntity(t1, null, null);
t1 = task.archivedAt; if (!(task.get$isArchived() || task.isDeleted || client.get$isArchived() || client.isDeleted))
if (t1 === 0)
t1 = client.archivedAt !== 0;
else
t1 = true;
if (!t1)
if (task.get$isRunning()) if (task.get$isRunning())
this.tasks.push(task); this.tasks.push(task);
}, },
@ -310354,12 +310327,7 @@
client = J.$index$asx(this.clientMap._map$_map, t1); client = J.$index$asx(this.clientMap._map$_map, t1);
if (client == null) if (client == null)
client = T.ClientEntity_ClientEntity(t1, null, null); client = T.ClientEntity_ClientEntity(t1, null, null);
t1 = task.archivedAt; if (!(task.get$isArchived() || task.isDeleted || client.get$isArchived() || client.isDeleted))
if (t1 === 0)
t1 = client.archivedAt !== 0;
else
t1 = true;
if (!t1)
if (!task.get$isRunning()) if (!task.get$isRunning())
this.tasks.push(task); this.tasks.push(task);
}, },
@ -310388,12 +310356,7 @@
client = J.$index$asx(this.clientMap._map$_map, t1); client = J.$index$asx(this.clientMap._map$_map, t1);
if (client == null) if (client == null)
client = T.ClientEntity_ClientEntity(t1, null, null); client = T.ClientEntity_ClientEntity(t1, null, null);
t1 = expense.archivedAt; if (!(expense.get$isArchived() || expense.isDeleted || client.get$isArchived() || client.isDeleted))
if (t1 === 0)
t1 = client.archivedAt !== 0;
else
t1 = true;
if (!t1)
this.expenses.push(expense); this.expenses.push(expense);
}, },
$signature: 98 $signature: 98

13171
public/main.wasm.dart.js vendored

File diff suppressed because it is too large Load Diff

View File

@ -27,6 +27,7 @@ class ProcessSOFORT {
handle = () => { handle = () => {
let data = { let data = {
type: 'sofort', type: 'sofort',
customer: document.querySelector('meta[name="customer"]').content,
amount: document.querySelector('meta[name="amount"]').content, amount: document.querySelector('meta[name="amount"]').content,
currency: 'eur', currency: 'eur',
redirect: { redirect: {

View File

@ -1,12 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<html data-report-errors="{{ $report_errors }}" data-rc="{{ $rc }}" data-build="{{ $build }}"> <html data-report-errors="{{ $report_errors }}" data-rc="{{ $rc }}" data-build="{{ $build }}" user-agent="{{ $user_agent }}">
<head> <head>
<!-- Source: https://github.com/invoiceninja/invoiceninja --> <!-- Source: https://github.com/invoiceninja/invoiceninja -->
<!-- Version: {{ config('ninja.app_version') }} --> <!-- Version: {{ config('ninja.app_version') }} -->
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Invoice Ninja</title> <title>Invoice Ninja</title>
<meta name="google-signin-client_id" content="{{ config('services.google.client_id') }}"> <meta name="google-signin-client_id" content="{{ config('services.google.client_id') }}">
<meta name="user-agent" content="{{ $user_agent }}">
<link rel="manifest" href="manifest.json?v={{ config('ninja.app_version') }}"> <link rel="manifest" href="manifest.json?v={{ config('ninja.app_version') }}">
<script src="{{ asset('js/pdf.min.js') }}"></script> <script src="{{ asset('js/pdf.min.js') }}"></script>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -6,6 +6,7 @@
<meta name="return-url" content="{{ $return_url }}"> <meta name="return-url" content="{{ $return_url }}">
<meta name="amount" content="{{ $stripe_amount }}"> <meta name="amount" content="{{ $stripe_amount }}">
<meta name="country" content="{{ $country }}"> <meta name="country" content="{{ $country }}">
<meta name="customer" content="{{ $customer }}">
@endsection @endsection
@section('gateway_content') @section('gateway_content')