diff --git a/app/Http/Controllers/Account/AcceptanceController.php b/app/Http/Controllers/Account/AcceptanceController.php index 278d7e2081..b20f7d97e8 100644 --- a/app/Http/Controllers/Account/AcceptanceController.php +++ b/app/Http/Controllers/Account/AcceptanceController.php @@ -208,9 +208,12 @@ class AcceptanceController extends Controller */ $branding_settings = SettingsController::getPDFBranding(); - if (is_null($branding_settings->logo)){ - $path_logo = ""; - } else { + $path_logo = ""; + + // Check for the PDF logo path and use that, otherwise use the regular logo path + if (!is_null($branding_settings->acceptance_pdf_logo)) { + $path_logo = public_path() . '/uploads/' . $branding_settings->acceptance_pdf_logo; + } elseif (!is_null($branding_settings->logo)) { $path_logo = public_path() . '/uploads/' . $branding_settings->logo; } diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index ecb21e2ab2..2300f2f682 100644 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -428,6 +428,13 @@ class SettingsController extends Controller $setting->label_logo = null; } + // Acceptance PDF upload + $setting = $request->handleImages($setting, 600, 'acceptance_pdf_logo', '', 'acceptance_pdf_logo'); + if ('1' == $request->input('clear_acceptance_pdf_logo')) { + $setting = $request->deleteExistingImage($setting, '', 'acceptance_pdf_logo'); + $setting->acceptance_pdf_logo = null; + } + // Favicon upload $setting = $request->handleImages($setting, 100, 'favicon', '', 'favicon'); if ('1' == $request->input('clear_favicon')) { @@ -435,6 +442,7 @@ class SettingsController extends Controller $setting->favicon = null; } + // Default avatar upload $setting = $request->handleImages($setting, 500, 'default_avatar', 'avatars', 'default_avatar'); if ($request->input('clear_default_avatar') == '1') { diff --git a/database/migrations/2025_04_02_113438_add_acceptance_pdf_logo_to_settings.php b/database/migrations/2025_04_02_113438_add_acceptance_pdf_logo_to_settings.php new file mode 100644 index 0000000000..26ce894e58 --- /dev/null +++ b/database/migrations/2025_04_02_113438_add_acceptance_pdf_logo_to_settings.php @@ -0,0 +1,28 @@ +char('acceptance_pdf_logo')->after('label_logo')->nullable()->default(null); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('settings', function (Blueprint $table) { + $table->dropColumn('acceptance_pdf_logo'); + }); + } +}; diff --git a/resources/lang/en-US/admin/settings/general.php b/resources/lang/en-US/admin/settings/general.php index ce19ed47f6..ed148cf81f 100644 --- a/resources/lang/en-US/admin/settings/general.php +++ b/resources/lang/en-US/admin/settings/general.php @@ -58,10 +58,8 @@ return [ 'display_eol' => 'Display EOL in table view', 'display_qr' => 'Display 2D barcode', 'display_alt_barcode' => 'Display 1D barcode', - 'email_logo' => 'Email Logo', 'barcode_type' => '2D Barcode Type', 'alt_barcode_type' => '1D barcode type', - 'email_logo_size' => 'Square logos in email look best. ', 'enabled' => 'Enabled', 'eula_settings' => 'EULA Settings', 'eula_markdown' => 'This EULA allows Github flavored markdown.', @@ -77,7 +75,6 @@ return [ 'google_workspaces' => 'Google Workspaces', 'header_color' => 'Header Color', 'info' => 'These settings let you customize certain aspects of your installation.', - 'label_logo' => 'Label Logo', 'label_logo_size' => 'Square logos look best - will be displayed in the top right of each asset label. ', 'laravel' => 'Laravel Version', 'ldap' => 'LDAP', @@ -389,7 +386,7 @@ return [ 'test_mail' => 'Test Mail', 'profile_edit' => 'Edit Profile', 'profile_edit_help' => 'Allow users to edit their own profiles.', - 'default_avatar' => 'Upload custom default avatar', + 'default_avatar' => 'Custom Default Avatar', 'default_avatar_help' => 'This image will be displayed as a profile if a user does not have a profile photo.', 'restore_default_avatar' => 'Restore original system default avatar', 'restore_default_avatar_help' => '', @@ -398,6 +395,17 @@ return [ 'no_groups' => 'No groups have been created yet. Visit Admin Settings > Permission Groups to add one.', 'text' => 'Text', + 'logo_labels' => [ + 'acceptance_pdf_logo' => 'PDF Logo', + 'email_logo' => 'Email Logo', + 'label_logo' => 'Label Logo', + 'logo' => 'Site Logo', + 'favicon' => 'Favicon', + ], + + 'logo_help' => [ + 'email_logo_size' => 'Square logos in email look best. ', + ], 'logo_option_types' => [ 'text' => 'Text', diff --git a/resources/views/partials/forms/edit/uploadLogo.blade.php b/resources/views/partials/forms/edit/uploadLogo.blade.php index 695829dbda..9eba6497bb 100644 --- a/resources/views/partials/forms/edit/uploadLogo.blade.php +++ b/resources/views/partials/forms/edit/uploadLogo.blade.php @@ -3,7 +3,7 @@
@@ -48,7 +48,7 @@
@endif diff --git a/resources/views/settings/branding.blade.php b/resources/views/settings/branding.blade.php index dcebbec48c..346c27c33f 100644 --- a/resources/views/settings/branding.blade.php +++ b/resources/views/settings/branding.blade.php @@ -98,7 +98,7 @@ @include('partials/forms/edit/uploadLogo', [ "logoVariable" => "logo", "logoId" => "uploadLogo", - "logoLabel" => trans('admin/settings/general.logo'), + "logoLabel" => trans('admin/settings/general.logo_labels.logo'), "logoClearVariable" => "clear_logo", "helpBlock" => trans('general.logo_size') . trans('general.image_filetypes_help', ['size' => Helper::file_upload_max_size_readable()]), ]) @@ -107,25 +107,34 @@ @include('partials/forms/edit/uploadLogo', [ "logoVariable" => "email_logo", "logoId" => "uploadEmailLogo", - "logoLabel" => trans('admin/settings/general.email_logo'), + "logoLabel" => trans('admin/settings/general.logo_labels.email_logo'), "logoClearVariable" => "clear_email_logo", - "helpBlock" => trans('admin/settings/general.email_logo_size') . trans('general.image_filetypes_help', ['size' => Helper::file_upload_max_size_readable()]), + "helpBlock" => trans('general.image_filetypes_help', ['size' => Helper::file_upload_max_size_readable()]), ]) @include('partials/forms/edit/uploadLogo', [ "logoVariable" => "label_logo", "logoId" => "uploadLabelLogo", - "logoLabel" => trans('admin/settings/general.label_logo'), + "logoLabel" => trans('admin/settings/general.logo_labels.label_logo'), "logoClearVariable" => "clear_label_logo", - "helpBlock" => trans('admin/settings/general.label_logo_size') . trans('general.image_filetypes_help', ['size' => Helper::file_upload_max_size_readable()]), + "helpBlock" => trans('general.image_filetypes_help', ['size' => Helper::file_upload_max_size_readable()]), + ]) + + + @include('partials/forms/edit/uploadLogo', [ + "logoVariable" => "acceptance_pdf_logo", + "logoId" => "acceptancePdfEmailLogo", + "logoLabel" => trans('admin/settings/general.logo_labels.acceptance_pdf_logo'), + "logoClearVariable" => "clear_acceptance_pdf_logo", + "helpBlock" => trans('general.image_filetypes_help', ['size' => Helper::file_upload_max_size_readable()]), ]) @include('partials/forms/edit/uploadLogo', [ "logoVariable" => "favicon", "logoId" => "uploadFavicon", - "logoLabel" => trans('admin/settings/general.favicon'), + "logoLabel" => trans('admin/settings/general.logo_labels.favicon'), "logoClearVariable" => "clear_favicon", "helpBlock" => trans('admin/settings/general.favicon_size') .' '. trans('admin/settings/general.favicon_format'), "allowedTypes" => "image/x-icon,image/gif,image/jpeg,image/png,image/svg,image/svg+xml,image/vnd.microsoft.icon",