mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-11 05:32:39 +01:00
Merge branch 'v5-develop' into v5-stable
This commit is contained in:
commit
014945bcda
@ -25,7 +25,7 @@ DEMO_MODE=false
|
|||||||
BROADCAST_DRIVER=log
|
BROADCAST_DRIVER=log
|
||||||
LOG_CHANNEL=stack
|
LOG_CHANNEL=stack
|
||||||
CACHE_DRIVER=file
|
CACHE_DRIVER=file
|
||||||
QUEUE_CONNECTION=database
|
QUEUE_CONNECTION=sync
|
||||||
SESSION_DRIVER=file
|
SESSION_DRIVER=file
|
||||||
SESSION_LIFETIME=120
|
SESSION_LIFETIME=120
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ TRUSTED_PROXIES=
|
|||||||
|
|
||||||
NINJA_ENVIRONMENT=selfhost
|
NINJA_ENVIRONMENT=selfhost
|
||||||
|
|
||||||
PHANTOMJS_PDF_GENERATION=false
|
PHANTOMJS_PDF_GENERATION=true
|
||||||
PHANTOMJS_KEY='a-demo-key-with-low-quota-per-ip-address'
|
PHANTOMJS_KEY='a-demo-key-with-low-quota-per-ip-address'
|
||||||
PHANTOMJS_SECRET=secret
|
PHANTOMJS_SECRET=secret
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
5.1.19
|
5.1.20
|
@ -123,7 +123,7 @@ class EmailTemplateDefaults
|
|||||||
|
|
||||||
public static function emailInvoiceTemplate()
|
public static function emailInvoiceTemplate()
|
||||||
{
|
{
|
||||||
$invoice_message = '<p>'.self::transformText('invoice_message').'</p><p>$view_link</p>';
|
$invoice_message = '<p>'.self::transformText('invoice_message').'</p><div class="center">$view_link</div>';
|
||||||
|
|
||||||
return $invoice_message;
|
return $invoice_message;
|
||||||
}
|
}
|
||||||
@ -135,7 +135,7 @@ class EmailTemplateDefaults
|
|||||||
|
|
||||||
public static function emailQuoteTemplate()
|
public static function emailQuoteTemplate()
|
||||||
{
|
{
|
||||||
$quote_message = '<p>'.self::transformText('quote_message').'</p><p>$view_link</p>';
|
$quote_message = '<p>'.self::transformText('quote_message').'</p><div class="center">$view_link</div>';
|
||||||
|
|
||||||
return $quote_message;
|
return $quote_message;
|
||||||
}
|
}
|
||||||
@ -147,21 +147,21 @@ class EmailTemplateDefaults
|
|||||||
|
|
||||||
public static function emailPaymentTemplate()
|
public static function emailPaymentTemplate()
|
||||||
{
|
{
|
||||||
$payment_message = '<p>'.self::transformText('payment_message').'</p><p>$view_link</p>';
|
$payment_message = '<p>'.self::transformText('payment_message').'</p><div class="center">$view_link</div>';
|
||||||
|
|
||||||
return $payment_message;
|
return $payment_message;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function emailCreditTemplate()
|
public static function emailCreditTemplate()
|
||||||
{
|
{
|
||||||
$credit_message = '<p>'.self::transformText('credit_message').'</p><p>$view_link</p>';
|
$credit_message = '<p>'.self::transformText('credit_message').'</p><div class="center">$view_link</div>';
|
||||||
|
|
||||||
return $credit_message;
|
return $credit_message;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function emailPaymentPartialTemplate()
|
public static function emailPaymentPartialTemplate()
|
||||||
{
|
{
|
||||||
$payment_message = '<p>'.self::transformText('payment_message').'</p><p>$view_link</p>';
|
$payment_message = '<p>'.self::transformText('payment_message').'</p><div class="center">$view_link</div>';
|
||||||
|
|
||||||
return $payment_message;
|
return $payment_message;
|
||||||
}
|
}
|
||||||
|
@ -157,21 +157,21 @@ class InvoiceSum
|
|||||||
{
|
{
|
||||||
$this->total += $this->total_taxes;
|
$this->total += $this->total_taxes;
|
||||||
|
|
||||||
if (is_numeric($this->invoice->custom_value1)) {
|
// if (is_numeric($this->invoice->custom_value1)) {
|
||||||
$this->total += $this->invoice->custom_value1;
|
// $this->total += $this->invoice->custom_value1;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (is_numeric($this->invoice->custom_value2)) {
|
// if (is_numeric($this->invoice->custom_value2)) {
|
||||||
$this->total += $this->invoice->custom_value2;
|
// $this->total += $this->invoice->custom_value2;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (is_numeric($this->invoice->custom_value3)) {
|
// if (is_numeric($this->invoice->custom_value3)) {
|
||||||
$this->total += $this->invoice->custom_value3;
|
// $this->total += $this->invoice->custom_value3;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (is_numeric($this->invoice->custom_value4)) {
|
// if (is_numeric($this->invoice->custom_value4)) {
|
||||||
$this->total += $this->invoice->custom_value4;
|
// $this->total += $this->invoice->custom_value4;
|
||||||
}
|
// }
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
@ -166,21 +166,21 @@ class InvoiceSumInclusive
|
|||||||
{
|
{
|
||||||
//$this->total += $this->total_taxes;
|
//$this->total += $this->total_taxes;
|
||||||
|
|
||||||
if (is_numeric($this->invoice->custom_value1)) {
|
// if (is_numeric($this->invoice->custom_value1)) {
|
||||||
$this->total += $this->invoice->custom_value1;
|
// $this->total += $this->invoice->custom_value1;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (is_numeric($this->invoice->custom_value2)) {
|
// if (is_numeric($this->invoice->custom_value2)) {
|
||||||
$this->total += $this->invoice->custom_value2;
|
// $this->total += $this->invoice->custom_value2;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (is_numeric($this->invoice->custom_value3)) {
|
// if (is_numeric($this->invoice->custom_value3)) {
|
||||||
$this->total += $this->invoice->custom_value3;
|
// $this->total += $this->invoice->custom_value3;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (is_numeric($this->invoice->custom_value4)) {
|
// if (is_numeric($this->invoice->custom_value4)) {
|
||||||
$this->total += $this->invoice->custom_value4;
|
// $this->total += $this->invoice->custom_value4;
|
||||||
}
|
// }
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
@ -134,10 +134,9 @@ class ConnectedAccountController extends BaseController
|
|||||||
auth()->user()->save();
|
auth()->user()->save();
|
||||||
|
|
||||||
//$ct = CompanyUser::whereUserId(auth()->user()->id);
|
//$ct = CompanyUser::whereUserId(auth()->user()->id);
|
||||||
$ct = CompanyUser::whereUserId(auth()->user()->id);
|
//return $this->listResponse($ct);
|
||||||
|
|
||||||
return $this->listResponse($ct);
|
return $this->listResponse(auth()->user());
|
||||||
// return $this->listResponse(auth()->user());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()
|
return response()
|
||||||
|
@ -13,7 +13,7 @@ return [
|
|||||||
'require_https' => env('REQUIRE_HTTPS', true),
|
'require_https' => env('REQUIRE_HTTPS', true),
|
||||||
'app_url' => rtrim(env('APP_URL', ''), '/'),
|
'app_url' => rtrim(env('APP_URL', ''), '/'),
|
||||||
'app_domain' => env('APP_DOMAIN', ''),
|
'app_domain' => env('APP_DOMAIN', ''),
|
||||||
'app_version' => '5.1.19',
|
'app_version' => '5.1.20',
|
||||||
'minimum_client_version' => '5.0.16',
|
'minimum_client_version' => '5.0.16',
|
||||||
'terms_version' => '1.0.1',
|
'terms_version' => '1.0.1',
|
||||||
'api_secret' => env('API_SECRET', false),
|
'api_secret' => env('API_SECRET', false),
|
||||||
|
2
public/flutter_service_worker.js
vendored
2
public/flutter_service_worker.js
vendored
@ -30,7 +30,7 @@ const RESOURCES = {
|
|||||||
"assets/packages/material_design_icons_flutter/lib/fonts/materialdesignicons-webfont.ttf": "3e722fd57a6db80ee119f0e2c230ccff",
|
"assets/packages/material_design_icons_flutter/lib/fonts/materialdesignicons-webfont.ttf": "3e722fd57a6db80ee119f0e2c230ccff",
|
||||||
"assets/FontManifest.json": "cf3c681641169319e61b61bd0277378f",
|
"assets/FontManifest.json": "cf3c681641169319e61b61bd0277378f",
|
||||||
"/": "23224b5e03519aaa87594403d54412cf",
|
"/": "23224b5e03519aaa87594403d54412cf",
|
||||||
"main.dart.js": "4f262274e979ed7c414d394fc5f0baea",
|
"main.dart.js": "e8bf48c946bec2ef549453166318a7be",
|
||||||
"version.json": "b7c8971e1ab5b627fd2a4317c52b843e",
|
"version.json": "b7c8971e1ab5b627fd2a4317c52b843e",
|
||||||
"favicon.png": "dca91c54388f52eded692718d5a98b8b"
|
"favicon.png": "dca91c54388f52eded692718d5a98b8b"
|
||||||
};
|
};
|
||||||
|
66580
public/main.dart.js
vendored
66580
public/main.dart.js
vendored
File diff suppressed because one or more lines are too long
@ -1976,7 +1976,7 @@ $LANG = array(
|
|||||||
'require_invoice_signature_help' => 'Require client to provide their signature.',
|
'require_invoice_signature_help' => 'Require client to provide their signature.',
|
||||||
'require_quote_signature' => 'Quote Signature',
|
'require_quote_signature' => 'Quote Signature',
|
||||||
'require_quote_signature_help' => 'Require client to provide their signature.',
|
'require_quote_signature_help' => 'Require client to provide their signature.',
|
||||||
'i_agree' => 'I Agree To The Terms',
|
'i_agree' => 'I Agree To',
|
||||||
'sign_here' => 'Please sign here:',
|
'sign_here' => 'Please sign here:',
|
||||||
'authorization' => 'Authorization',
|
'authorization' => 'Authorization',
|
||||||
'signed' => 'Signed',
|
'signed' => 'Signed',
|
||||||
|
@ -11,9 +11,10 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
|
<title></title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<style>
|
<style type="text/css">
|
||||||
:root {
|
:root {
|
||||||
--primary-color: {{ isset($settings) ? $settings->primary_color : '#4caf50' }};
|
--primary-color: {{ isset($settings) ? $settings->primary_color : '#4caf50' }};
|
||||||
}
|
}
|
||||||
@ -46,6 +47,18 @@
|
|||||||
#email-content a, .link {
|
#email-content a, .link {
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#email-content .button {
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
padding-bottom: 5px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<body style="margin: 0; padding: 0; background-color: {{ $design == 'light' ? '#F9FAFB' : '#111827' }};">
|
<body style="margin: 0; padding: 0; background-color: {{ $design == 'light' ? '#F9FAFB' : '#111827' }};">
|
||||||
@ -63,7 +76,7 @@
|
|||||||
<td bgcolor="{{ $design == 'light' ? '#ffffff' : '#1F2937'}}" style="padding: 40px 30px 40px 30px;">
|
<td bgcolor="{{ $design == 'light' ? '#ffffff' : '#1F2937'}}" style="padding: 40px 30px 40px 30px;">
|
||||||
<table cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
|
<table cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center" id="email-content">
|
<td id="email-content">
|
||||||
@yield('greeting')
|
@yield('greeting')
|
||||||
|
|
||||||
{{ $slot }}
|
{{ $slot }}
|
||||||
|
@ -58,13 +58,13 @@
|
|||||||
<div class="mt-4 text-sm">
|
<div class="mt-4 text-sm">
|
||||||
<input type="checkbox" class="form-checkbox mr-2" name="terms_of_service" required>
|
<input type="checkbox" class="form-checkbox mr-2" name="terms_of_service" required>
|
||||||
<span>{{ ctrans('texts.i_agree') }}
|
<span>{{ ctrans('texts.i_agree') }}
|
||||||
<a class="button-link" href="https://www.invoiceninja.com/self-hosting-terms-service/">{{ ctrans('texts.terms_of_service') }}</a>
|
<a class="button-link text-blue-600" target="_blank" href="https://www.invoiceninja.com/self-hosting-terms-service/">{{ ctrans('texts.terms_of_service') }}</a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-2 text-sm">
|
<div class="mt-2 text-sm">
|
||||||
<input type="checkbox" class="form-checkbox mr-2" name="privacy_policy" required>
|
<input type="checkbox" class="form-checkbox mr-2" name="privacy_policy" required>
|
||||||
<span>{{ ctrans('texts.i_agree') }}
|
<span>{{ ctrans('texts.i_agree') }}
|
||||||
<a class="button-link" href="https://www.invoiceninja.com/self-hosting-privacy-data-control/">{{ ctrans('texts.privacy_policy') }}</a>
|
<a class="button-link text-blue-600" target="_blank" href="https://www.invoiceninja.com/self-hosting-privacy-data-control/">{{ ctrans('texts.privacy_policy') }}</a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ class BillingSubscriptionApiTest extends TestCase
|
|||||||
Model::reguard();
|
Model::reguard();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testExpenseGet()
|
public function testBillingSubscriptionsGet()
|
||||||
{
|
{
|
||||||
$product = Product::factory()->create([
|
$product = Product::factory()->create([
|
||||||
'company_id' => $this->company->id,
|
'company_id' => $this->company->id,
|
||||||
|
Loading…
Reference in New Issue
Block a user