From a96ef1bfab220e152a23c1823272fe0e66c71d44 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Fri, 6 Oct 2023 10:30:32 +0200 Subject: [PATCH 1/4] use instance settigns by default --- config/sentry.php | 2 +- config/version.php | 2 +- ...use_instance_email_settings_by_default.php | 28 +++++++++++++++++++ versions.json | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 database/migrations/2023_09_23_111817_use_instance_email_settings_by_default.php diff --git a/config/sentry.php b/config/sentry.php index 39f09d436..25eda3bcb 100644 --- a/config/sentry.php +++ b/config/sentry.php @@ -7,7 +7,7 @@ return [ // The release version of your application // Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD')) - 'release' => '4.0.0-beta.67', + 'release' => '4.0.0-beta.68', // When left empty or `null` the Laravel environment will be used 'environment' => config('app.env'), diff --git a/config/version.php b/config/version.php index d39ecf0c6..9877f77ef 100644 --- a/config/version.php +++ b/config/version.php @@ -1,3 +1,3 @@ boolean('use_instance_email_settings')->default(true)->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('teams', function (Blueprint $table) { + $table->boolean('use_instance_email_settings')->default(false)->change(); + }); + } +}; diff --git a/versions.json b/versions.json index d3590f35c..e8c451510 100644 --- a/versions.json +++ b/versions.json @@ -4,7 +4,7 @@ "version": "3.12.36" }, "v4": { - "version": "4.0.0-beta.67" + "version": "4.0.0-beta.68" } } } From d32e43ef37c18ab774d1cdbf6eba87de75bbcf29 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Fri, 6 Oct 2023 10:42:32 +0200 Subject: [PATCH 2/4] fix: test emails only available for user owned smtp/resend --- bootstrap/helpers/shared.php | 4 ++++ .../views/livewire/notifications/email-settings.blade.php | 3 ++- resources/views/livewire/settings/email.blade.php | 4 +++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php index ee1e4fe2b..181e26348 100644 --- a/bootstrap/helpers/shared.php +++ b/bootstrap/helpers/shared.php @@ -343,6 +343,10 @@ function send_user_an_email(MailMessage $mail, string $email, ?string $cc = null ); } } +function isTestEmailEnabled($notifiable) +{ + return data_get($notifiable, 'smtp_enabled') || data_get($notifiable, 'resend_enabled'); +} function isEmailEnabled($notifiable) { return data_get($notifiable, 'smtp_enabled') || data_get($notifiable, 'resend_enabled') || data_get($notifiable, 'use_instance_email_settings'); diff --git a/resources/views/livewire/notifications/email-settings.blade.php b/resources/views/livewire/notifications/email-settings.blade.php index 8734b3c60..61c81dfa3 100644 --- a/resources/views/livewire/notifications/email-settings.blade.php +++ b/resources/views/livewire/notifications/email-settings.blade.php @@ -22,7 +22,8 @@ @endif @if (isEmailEnabled($team) && - auth()->user()->isAdminFromSession()) + auth()->user()->isAdminFromSession() && + isTestEmailEnabled($team)) Send Test Email diff --git a/resources/views/livewire/settings/email.blade.php b/resources/views/livewire/settings/email.blade.php index 09fa6097c..3758ca373 100644 --- a/resources/views/livewire/settings/email.blade.php +++ b/resources/views/livewire/settings/email.blade.php @@ -22,7 +22,9 @@ Save - @if (isEmailEnabled($settings)) + @if (isEmailEnabled($settings) && + auth()->user()->isAdminFromSession() && + isTestEmailEnabled($settings)) Send Test Email From 575338609b1db0485bc89fc09555af3d949530f0 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Fri, 6 Oct 2023 10:47:48 +0200 Subject: [PATCH 3/4] fix --- bootstrap/helpers/shared.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php index 181e26348..a12d6b02d 100644 --- a/bootstrap/helpers/shared.php +++ b/bootstrap/helpers/shared.php @@ -345,7 +345,12 @@ function send_user_an_email(MailMessage $mail, string $email, ?string $cc = null } function isTestEmailEnabled($notifiable) { - return data_get($notifiable, 'smtp_enabled') || data_get($notifiable, 'resend_enabled'); + if (data_get($notifiable, 'use_instance_email_settings') && isInstanceAdmin()) { + return true; + } else if (data_get($notifiable, 'smtp_enabled') || data_get($notifiable, 'resend_enabled') && auth()->user()->isAdminFromSession()) { + return true; + } + return false; } function isEmailEnabled($notifiable) { From d85af3fefce695573e266736a6b58c143be08402 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Fri, 6 Oct 2023 10:57:35 +0200 Subject: [PATCH 4/4] fix: ui for self-hosted email settings --- .../notifications/email-settings.blade.php | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/resources/views/livewire/notifications/email-settings.blade.php b/resources/views/livewire/notifications/email-settings.blade.php index 61c81dfa3..fb38247b4 100644 --- a/resources/views/livewire/notifications/email-settings.blade.php +++ b/resources/views/livewire/notifications/email-settings.blade.php @@ -32,15 +32,22 @@ - @if ($this->sharedEmailEnabled) -
- -
+ @if (isCloud()) + @if ($this->sharedEmailEnabled) +
+ +
+ @else +
+ +
+ @endif @else
- +
@endif @if (!$team->use_instance_email_settings)