Merge pull request #13473 from snipe/fixes/check_for_company_on_labels

Check that there is a company before trying to get name property
This commit is contained in:
snipe 2023-08-16 01:27:48 +01:00 committed by GitHub
commit eacbde37e2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 19 deletions

View file

@ -49,8 +49,12 @@ class Label implements View
->with('count', $this->data->get('count')); ->with('count', $this->data->get('count'));
} }
if (empty($template)) $template = LabelModel::find($settings->label2_template); // If a specific template was set, use it, otherwise fall back to default
elseif (is_string($template)) $template = LabelModel::find($template); if (empty($template)) {
$template = LabelModel::find($settings->label2_template);
} elseif (is_string($template)) {
$template = LabelModel::find($template);
}
$template->validate(); $template->validate();
@ -87,25 +91,36 @@ class Label implements View
$assetData->put('tag', $asset->asset_tag); $assetData->put('tag', $asset->asset_tag);
if ($template->getSupportTitle()) { if ($template->getSupportTitle()) {
$title = !empty($settings->label2_title) ?
str_ireplace('{COMPANY}', $asset->company->name, $settings->label2_title) : if ($asset->company && !empty($settings->label2_title)) {
$title = str_replace('{COMPANY}', $asset->company->name, $settings->label2_title);
$settings->qr_text; $settings->qr_text;
if (!empty($title)) $assetData->put('title', $title); $assetData->put('title', $title);
}
} }
if ($template->getSupportLogo()) { if ($template->getSupportLogo()) {
$logo = $settings->label2_asset_logo ?
( $logo = null;
!empty($asset->company->image) ?
Storage::disk('public')->path('companies/'.e($asset->company->image)) : // Should we be trying to use a logo at all?
null if ($settings->label2_asset_logo='1') {
) :
( // If we don't have a company image, fall back to the general site label image
!empty($settings->label_logo) ? if (!empty($settings->label_logo)) {
Storage::disk('public')->path(''.e($settings->label_logo)) : $logo = Storage::disk('public')->path('/'.e($settings->label_logo));
null }
);
if (!empty($logo)) $assetData->put('logo', $logo); // If we have a company logo, use that first
if (($asset->company) && ($asset->company->image!='')) {
$logo = Storage::disk('public')->path('companies/'.e($asset->company->image));
}
}
if (!empty($logo)) {
$assetData->put('logo', $logo);
}
} }
if ($template->getSupport1DBarcode()) { if ($template->getSupport1DBarcode()) {

View file

@ -128,7 +128,7 @@
<label class="form-control"> <label class="form-control">
<input type="checkbox" value="1" name="label2_asset_logo"{{ ((old('label2_asset_logo') == '1') || ($setting->label2_asset_logo) == '1') ? ' checked="checked"' : '' }} aria-label="label2_asset_logo"> <input type="checkbox" value="1" name="label2_asset_logo"{{ ((old('label2_asset_logo') == '1') || ($setting->label2_asset_logo) == '1') ? ' checked="checked"' : '' }} aria-label="label2_asset_logo">
{{ trans('general.yes') }} {{ Form::label('label2_asset_logo', trans('admin/settings/general.label2_asset_logo')) }}
</label> </label>
<p class="help-block"> <p class="help-block">
{!! trans('admin/settings/general.label2_asset_logo_help', ['setting_name' => trans('admin/settings/general.brand').' &gt; '.trans('admin/settings/general.label_logo')]) !!} {!! trans('admin/settings/general.label2_asset_logo_help', ['setting_name' => trans('admin/settings/general.brand').' &gt; '.trans('admin/settings/general.label_logo')]) !!}