mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-08-11 15:34:21 -04:00
commit
dc436cebc2
@ -1 +1 @@
|
|||||||
5.4.6
|
5.4.7
|
@ -18,7 +18,7 @@ class ShowRecurringInvoiceRequest extends Request
|
|||||||
{
|
{
|
||||||
public function authorize() : bool
|
public function authorize() : bool
|
||||||
{
|
{
|
||||||
return auth()->guard('contact')->user()->client->id === $this->recurring_invoice->client_id
|
return auth()->guard('contact')->user()->client->id == $this->recurring_invoice->client_id
|
||||||
&& auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_RECURRING_INVOICES;
|
&& auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_RECURRING_INVOICES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -334,8 +334,8 @@ class NinjaMailerJob implements ShouldQueue
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
/* On the hosted platform we actively scan all outbound emails to ensure outbound email quality remains high */
|
/* On the hosted platform we actively scan all outbound emails to ensure outbound email quality remains high */
|
||||||
// if(Ninja::isHosted())
|
if(class_exists(\Modules\Admin\Jobs\Account\EmailQuality::class))
|
||||||
// return (new \Modules\Admin\Jobs\Account\EmailQuality($this->nmo, $this->company))->run();
|
return (new \Modules\Admin\Jobs\Account\EmailQuality($this->nmo, $this->company))->run();
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -923,6 +923,9 @@ class Import implements ShouldQueue
|
|||||||
$modified['company_id'] = $this->company->id;
|
$modified['company_id'] = $this->company->id;
|
||||||
$modified['line_items'] = $this->cleanItems($modified['line_items']);
|
$modified['line_items'] = $this->cleanItems($modified['line_items']);
|
||||||
|
|
||||||
|
if(array_key_exists('next_send_date', $resource))
|
||||||
|
$modified['next_send_date_client'] = $resource['next_send_date'];
|
||||||
|
|
||||||
if(array_key_exists('created_at', $modified))
|
if(array_key_exists('created_at', $modified))
|
||||||
$modified['created_at'] = Carbon::parse($modified['created_at']);
|
$modified['created_at'] = Carbon::parse($modified['created_at']);
|
||||||
|
|
||||||
|
@ -332,7 +332,10 @@ class Design extends BaseDesign
|
|||||||
$_variable = explode('.', $variable)[1];
|
$_variable = explode('.', $variable)[1];
|
||||||
$_customs = ['custom1', 'custom2', 'custom3', 'custom4'];
|
$_customs = ['custom1', 'custom2', 'custom3', 'custom4'];
|
||||||
|
|
||||||
if (in_array($_variable, $_customs)) {
|
/* 2/7/2022 don't show custom values if they are empty */
|
||||||
|
$var = str_replace("custom", "custom_value", $_variable);
|
||||||
|
|
||||||
|
if (in_array($_variable, $_customs) && !empty($this->entity->{$var})) {
|
||||||
$elements[] = ['element' => 'tr', 'elements' => [
|
$elements[] = ['element' => 'tr', 'elements' => [
|
||||||
['element' => 'th', 'content' => $variable . '_label', 'properties' => ['data-ref' => 'entity_details-' . substr($variable, 1) . '_label']],
|
['element' => 'th', 'content' => $variable . '_label', 'properties' => ['data-ref' => 'entity_details-' . substr($variable, 1) . '_label']],
|
||||||
['element' => 'th', 'content' => $variable, 'properties' => ['data-ref' => 'entity_details-' . substr($variable, 1)]],
|
['element' => 'th', 'content' => $variable, 'properties' => ['data-ref' => 'entity_details-' . substr($variable, 1)]],
|
||||||
|
@ -41,7 +41,20 @@ class ApplyNumber extends AbstractService
|
|||||||
return $this->purchase_order;
|
return $this->purchase_order;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->trySaving();
|
switch ($this->vendor->company->getSetting('counter_number_applied')) {
|
||||||
|
case 'when_saved':
|
||||||
|
$this->trySaving();
|
||||||
|
break;
|
||||||
|
case 'when_sent':
|
||||||
|
if ($this->invoice->status_id == PurchaseOrder::STATUS_SENT) {
|
||||||
|
$this->trySaving();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return $this->purchase_order;
|
return $this->purchase_order;
|
||||||
}
|
}
|
||||||
|
@ -14,8 +14,8 @@ 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', 'invoicing.co'),
|
'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
|
||||||
'app_version' => '5.4.6',
|
'app_version' => '5.4.7',
|
||||||
'app_tag' => '5.4.6',
|
'app_tag' => '5.4.7',
|
||||||
'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', ''),
|
'api_secret' => env('API_SECRET', ''),
|
||||||
|
4
public/flutter_service_worker.js
vendored
4
public/flutter_service_worker.js
vendored
@ -8,7 +8,7 @@ const RESOURCES = {
|
|||||||
"canvaskit/profiling/canvaskit.js": "ae2949af4efc61d28a4a80fffa1db900",
|
"canvaskit/profiling/canvaskit.js": "ae2949af4efc61d28a4a80fffa1db900",
|
||||||
"canvaskit/profiling/canvaskit.wasm": "95e736ab31147d1b2c7b25f11d4c32cd",
|
"canvaskit/profiling/canvaskit.wasm": "95e736ab31147d1b2c7b25f11d4c32cd",
|
||||||
"canvaskit/canvaskit.wasm": "4b83d89d9fecbea8ca46f2f760c5a9ba",
|
"canvaskit/canvaskit.wasm": "4b83d89d9fecbea8ca46f2f760c5a9ba",
|
||||||
"/": "46443d15dbe8e491c73190330d91d4e2",
|
"/": "0ba127947d7857ad97e39c264e308461",
|
||||||
"flutter.js": "0816e65a103ba8ba51b174eeeeb2cb67",
|
"flutter.js": "0816e65a103ba8ba51b174eeeeb2cb67",
|
||||||
"icons/Icon-512.png": "0f9aff01367f0a0c69773d25ca16ef35",
|
"icons/Icon-512.png": "0f9aff01367f0a0c69773d25ca16ef35",
|
||||||
"icons/Icon-192.png": "bb1cf5f6982006952211c7c8404ffbed",
|
"icons/Icon-192.png": "bb1cf5f6982006952211c7c8404ffbed",
|
||||||
@ -39,7 +39,7 @@ const RESOURCES = {
|
|||||||
"assets/assets/images/payment_types/other.png": "d936e11fa3884b8c9f1bd5c914be8629",
|
"assets/assets/images/payment_types/other.png": "d936e11fa3884b8c9f1bd5c914be8629",
|
||||||
"assets/packages/material_design_icons_flutter/lib/fonts/materialdesignicons-webfont.ttf": "b62641afc9ab487008e996a5c5865e56",
|
"assets/packages/material_design_icons_flutter/lib/fonts/materialdesignicons-webfont.ttf": "b62641afc9ab487008e996a5c5865e56",
|
||||||
"assets/NOTICES": "9b6b63256d3a6491659b71127ee9f3b6",
|
"assets/NOTICES": "9b6b63256d3a6491659b71127ee9f3b6",
|
||||||
"main.dart.js": "0f10062693740735811a5a29bc063592"
|
"main.dart.js": "739fb98bd5601a93da8be6b4358508d2"
|
||||||
};
|
};
|
||||||
|
|
||||||
// The application shell files that are downloaded before a service worker can
|
// The application shell files that are downloaded before a service worker can
|
||||||
|
733
public/main.dart.js
vendored
733
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
733
public/main.foss.dart.js
vendored
733
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
12
public/main.profile.dart.js
vendored
12
public/main.profile.dart.js
vendored
@ -301981,12 +301981,11 @@
|
|||||||
return this.rebuild$1(new A.CompanyEntity_coreCompany_closure());
|
return this.rebuild$1(new A.CompanyEntity_coreCompany_closure());
|
||||||
},
|
},
|
||||||
isModuleEnabled$1(entityType) {
|
isModuleEnabled$1(entityType) {
|
||||||
var t1, store, _this = this;
|
var t1, _this = this;
|
||||||
if (entityType === B.EntityType_purchaseOrder) {
|
if (entityType === B.EntityType_purchaseOrder) {
|
||||||
t1 = $.$get$navigatorKey();
|
t1 = $.$get$navigatorKey();
|
||||||
t1.toString;
|
t1.toString;
|
||||||
store = A.StoreProvider_of($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1), type$.legacy_AppState);
|
if (A.cleanApiUrl(A._lateReadCheck(A.StoreProvider_of($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1), type$.legacy_AppState).__Store__state, "_state").authState.url) !== "https://staging.invoicing.co")
|
||||||
if (A._lateReadCheck(store.__Store__state, "_state").get$isHosted() && A.cleanApiUrl(A._lateReadCheck(store.__Store__state, "_state").authState.url) !== "https://staging.invoicing.co")
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ((entityType === B.EntityType_invoice || entityType === B.EntityType_payment) && (_this.enabledModules & 4096) === 0)
|
if ((entityType === B.EntityType_invoice || entityType === B.EntityType_payment) && (_this.enabledModules & 4096) === 0)
|
||||||
@ -343029,10 +343028,13 @@
|
|||||||
return (t1 == null ? 0 : t1) > 0;
|
return (t1 == null ? 0 : t1) > 0;
|
||||||
},
|
},
|
||||||
get$createdAtLimit() {
|
get$createdAtLimit() {
|
||||||
var numberYearsActive,
|
var t2, numberYearsActive,
|
||||||
t1 = this.uiState.selectedCompanyIndex;
|
t1 = this.uiState.selectedCompanyIndex;
|
||||||
t1 = this.userCompanyStates._list[t1].userCompany;
|
t1 = this.userCompanyStates._list[t1].userCompany;
|
||||||
numberYearsActive = t1.settings.numberYearsActive;
|
t2 = t1.settings;
|
||||||
|
numberYearsActive = t2 == null ? null : t2.numberYearsActive;
|
||||||
|
if (numberYearsActive == null)
|
||||||
|
numberYearsActive = 0;
|
||||||
if (!t1.company.isLarge || numberYearsActive === 0)
|
if (!t1.company.isLarge || numberYearsActive === 0)
|
||||||
return 0;
|
return 0;
|
||||||
return B.JSNumber_methods.round$0(Date.now() / 1000) - numberYearsActive * 31536000;
|
return B.JSNumber_methods.round$0(Date.now() / 1000) - numberYearsActive * 31536000;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user