From 658252125e0d9730d97c3ede32e07b3010d2539c Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 21 Mar 2023 18:57:27 -0700 Subject: [PATCH 01/11] =?UTF-8?q?Added=20new=20partial=20for=20the=20form?= =?UTF-8?q?=20inline=20=E2=80=9Cdemo=20mode=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: snipe --- resources/views/partials/forms/demo-mode.blade.php | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 resources/views/partials/forms/demo-mode.blade.php diff --git a/resources/views/partials/forms/demo-mode.blade.php b/resources/views/partials/forms/demo-mode.blade.php new file mode 100644 index 0000000000..4a942204e4 --- /dev/null +++ b/resources/views/partials/forms/demo-mode.blade.php @@ -0,0 +1,5 @@ +
+
+ {!! Helper::showDemoModeFieldWarning() !!} +
+
\ No newline at end of file From d8830848307e66d4902a2d0d7b8bf35c375ed372 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 21 Mar 2023 18:58:26 -0700 Subject: [PATCH 02/11] Fixed some funky HTML tags Signed-off-by: snipe --- .../livewire/slack-settings-form.blade.php | 238 ++++++++---------- 1 file changed, 110 insertions(+), 128 deletions(-) diff --git a/resources/views/livewire/slack-settings-form.blade.php b/resources/views/livewire/slack-settings-form.blade.php index b94d273176..8fc6ac2c87 100644 --- a/resources/views/livewire/slack-settings-form.blade.php +++ b/resources/views/livewire/slack-settings-form.blade.php @@ -12,33 +12,33 @@ {{-- Page content --}} @section('content') -
+
{{csrf_field()}} +
+
-
-
-

- {{ trans('admin/settings/general.webhook', ['app' => $webhook_name] ) }} -

-
-
-
- @if($webhook_selected != 'general') -

- {!! trans('admin/settings/general.webhook_integration_help',array('webhook_link' => $webhook_link, 'app' => $webhook_name)) !!} -

- @endif -
-
+ +
+ +
+

+ {{ trans('admin/settings/general.webhook', ['app' => $webhook_name] ) }} +

+
+ +
+ @if($webhook_selected != 'general') +
+

+ {!! trans('admin/settings/general.webhook_integration_help',array('webhook_link' => $webhook_link, 'app' => $webhook_name)) !!} +

+
+
+ @endif
- @if (session()->has('save')) -
- {{session('save')}} -
- @endif @if(session()->has('success'))
@@ -50,130 +50,112 @@ {{session('error')}}
@endif - @if(session()->has('message')) -
- {{session('message')}} -
- @endif - -
-
+
+
- -
-
-


-
- - {{csrf_field()}} - -
-
- {{ Form::label('webhook_endpoint', trans('admin/settings/general.webhook_endpoint',['app' => $webhook_name ])) }} -
-
- @if (config('app.lock_passwords')===true) -

{{ trans('general.feature_disabled') }}

- - @else - - @endif - {!! $errors->first('webhook_endpoint', '') !!} -
+ @if (app('demo_mode')) + @include('partials.forms.demo-mode') + @endif + + +
+
+ {{ Form::label('webhook_endpoint', trans('admin/settings/general.webhook_endpoint',['app' => $webhook_name ])) }}
- - -
-
- {{ Form::label('webhook_channel', trans('admin/settings/general.webhook_channel',['app' => $webhook_name ])) }} -
-
- @if (config('app.lock_passwords')===true) - -

{{ trans('general.feature_disabled') }}

- @else - - @endif - {!! $errors->first('webhook_channel', '') !!} -
+
+ + {!! $errors->first('webhook_endpoint', '') !!}
+
- -
-
- {{ Form::label('webhook_botname', trans('admin/settings/general.webhook_botname',['app' => $webhook_name ])) }} -
-
- @if (config('app.lock_passwords')===true) - -

- {{ trans('general.feature_disabled') }} -

- @else - - @endif - {!! $errors->first('webhook_botname', '') !!} -
+ @if (app('demo_mode')) + @include('partials.forms.demo-mode') + @endif + + + +
+
+ {{ Form::label('webhook_channel', trans('admin/settings/general.webhook_channel',['app' => $webhook_name ])) }}
+
+ - - @if($webhook_selected == 'slack') - @if($webhook_endpoint != null && $webhook_channel != null) -
-
- - - {!! trans('admin/settings/general.webhook_test',['app' => ucwords($webhook_selected) ]) !!} - -
- - - -
+ {!! $errors->first('webhook_channel', '') !!} +
+
+ + @if (!app('demo_mode')) + @include('partials.forms.demo-mode') + @endif + + +
+
+ {{ Form::label('webhook_botname', trans('admin/settings/general.webhook_botname',['app' => $webhook_name ])) }} +
+
+ + {!! $errors->first('webhook_botname', '') !!} +
+
+ + @if (app('demo_mode')) + @include('partials.forms.demo-mode') + @endif + + + @if($webhook_selected == 'slack') + @if($webhook_endpoint != null && $webhook_channel != null) +
+ - @endif - @endif - - + @endif + @endif +
+
+ + + +
+
+
+ +
+ -
-
-
-
-
- -
From f29e81333292e5625372ad9111f30b4cf756177d Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 21 Mar 2023 18:58:35 -0700 Subject: [PATCH 03/11] =?UTF-8?q?Translated=20=E2=80=9CClear=20&=20Save?= =?UTF-8?q?=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: snipe --- resources/lang/en/general.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/en/general.php b/resources/lang/en/general.php index 8b6063f421..48e61d540e 100644 --- a/resources/lang/en/general.php +++ b/resources/lang/en/general.php @@ -417,6 +417,6 @@ return [ 'merged' => 'merged', 'merged_log_this_user_into' => 'Merged this user (ID :to_id - :to_username) into user ID :from_id (:from_username) ', 'merged_log_this_user_from' => 'Merged user ID :from_id (:from_username) into this user (ID :to_id - :to_username)', - + 'clear_and_save' => 'Clear & Save', ]; \ No newline at end of file From d55ae44638841fe1d4a7360453ee24222ba19214 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 21 Mar 2023 18:59:03 -0700 Subject: [PATCH 04/11] Helper method to make it easier (shorter) to determine if the app is in demo mode Signed-off-by: snipe --- app/Providers/SettingsServiceProvider.php | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/app/Providers/SettingsServiceProvider.php b/app/Providers/SettingsServiceProvider.php index 8ab77c6631..f525cd1b09 100644 --- a/app/Providers/SettingsServiceProvider.php +++ b/app/Providers/SettingsServiceProvider.php @@ -150,6 +150,32 @@ class SettingsServiceProvider extends ServiceProvider // Set the monetary locale to the configured locale to make helper::parseFloat work. setlocale(LC_MONETARY, config('app.locale')); setlocale(LC_NUMERIC, config('app.locale')); + + + /* + * This is a shorter way to see if the app is in demo mode. + * + * This makes it cleanly available in blades and in controllers, e.g. + * + * Blade: + * {{ app('demo_mode') ? ' disabled' : ''}} for form blades where we need to disable a form + * + * Controller: + * if (app('demo_mode')) { + * // don't allow the thing + * } + * @todo - use this everywhere else in the app where we have very long if/else config('app.lock_passwords') stuff + */ + \App::singleton('demo_mode', function () { + if (config('app.lock_passwords') === true) { + return true; + } + return false; + }); + + + + } /** From b28a25f54402b42b2fd2f3a8546ca298380290d5 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 21 Mar 2023 18:59:18 -0700 Subject: [PATCH 05/11] Normalize the flash session to the way we do it elsewhere Signed-off-by: snipe --- app/Http/Livewire/SlackSettingsForm.php | 31 ++++++++++++++----------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/app/Http/Livewire/SlackSettingsForm.php b/app/Http/Livewire/SlackSettingsForm.php index 6ba3b5b1a9..97750cd198 100644 --- a/app/Http/Livewire/SlackSettingsForm.php +++ b/app/Http/Livewire/SlackSettingsForm.php @@ -126,7 +126,7 @@ class SlackSettingsForm extends Component } //} - return session()->flash('message' , trans('admin/settings/message.webhook.error_misc')); + return session()->flash('error' , trans('admin/settings/message.webhook.error_misc')); } @@ -140,23 +140,28 @@ class SlackSettingsForm extends Component $this->setting->save(); - session()->flash('save',trans('admin/settings/message.update.success')); + session()->flash('success',trans('admin/settings/message.update.success')); } public function submit() { - if($this->webhook_selected != 'general') { - $this->validate($this->rules); + if (app('demo_mode')) { + session()->flash('error',trans('general.feature_disabled')); + } else { + if ($this->webhook_selected != 'general') { + $this->validate($this->rules); + } + + $this->setting->webhook_selected = $this->webhook_selected; + $this->setting->webhook_endpoint = $this->webhook_endpoint; + $this->setting->webhook_channel = $this->webhook_channel; + $this->setting->webhook_botname = $this->webhook_botname; + + $this->setting->save(); + + session()->flash('success',trans('admin/settings/message.update.success')); + } - $this->setting->webhook_selected = $this->webhook_selected; - $this->setting->webhook_endpoint = $this->webhook_endpoint; - $this->setting->webhook_channel = $this->webhook_channel; - $this->setting->webhook_botname = $this->webhook_botname; - - $this->setting->save(); - - session()->flash('save',trans('admin/settings/message.update.success')); - } } From 5217141dfb60a33a49e28aff932276c0403d9a5e Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 21 Mar 2023 18:59:34 -0700 Subject: [PATCH 06/11] Yuck, but added helper function to return the demo mode form warning Signed-off-by: snipe --- app/Helpers/Helper.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index 1913c86286..095add6af4 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -1147,4 +1147,14 @@ class Helper return $age; } + + /* + * I know it's gauche to return a shitty HTML string, but this is just a helper and since it will be the same every single time, + * it seemed pretty safe to do here. Don't you judge me. + */ + public function showDemoModeFieldWarning() { + if (app('demo_mode')) { + return "

" . trans('general.feature_disabled') . "

"; + } + } } From a14d1b981d733a403c6ed2052ea2b4d0bead50b5 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 21 Mar 2023 19:22:18 -0700 Subject: [PATCH 07/11] Switched singleton to static helper method Signed-off-by: snipe --- app/Helpers/Helper.php | 27 ++++++++++++++++++- app/Providers/SettingsServiceProvider.php | 24 ----------------- .../livewire/slack-settings-form.blade.php | 20 +++++++------- 3 files changed, 36 insertions(+), 35 deletions(-) diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index 095add6af4..276aa4db33 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -1148,12 +1148,37 @@ class Helper } + + /* + * This is a shorter way to see if the app is in demo mode. + * + * This makes it cleanly available in blades and in controllers, e.g. + * + * Blade: + * {{ app('demo_mode') ? ' disabled' : ''}} for form blades where we need to disable a form + * + * Controller: + * if (app('demo_mode')) { + * // don't allow the thing + * } + * @todo - use this everywhere else in the app where we have very long if/else config('app.lock_passwords') stuff + */ + public function isDemoMode() { + if (config('app.lock_passwords') === true) { + return true; + \Log::debug('app locked!'); + } + + return false; + } + + /* * I know it's gauche to return a shitty HTML string, but this is just a helper and since it will be the same every single time, * it seemed pretty safe to do here. Don't you judge me. */ public function showDemoModeFieldWarning() { - if (app('demo_mode')) { + if (Helper::isDemoMode()) { return "

" . trans('general.feature_disabled') . "

"; } } diff --git a/app/Providers/SettingsServiceProvider.php b/app/Providers/SettingsServiceProvider.php index f525cd1b09..dc52ae1e3f 100644 --- a/app/Providers/SettingsServiceProvider.php +++ b/app/Providers/SettingsServiceProvider.php @@ -152,30 +152,6 @@ class SettingsServiceProvider extends ServiceProvider setlocale(LC_NUMERIC, config('app.locale')); - /* - * This is a shorter way to see if the app is in demo mode. - * - * This makes it cleanly available in blades and in controllers, e.g. - * - * Blade: - * {{ app('demo_mode') ? ' disabled' : ''}} for form blades where we need to disable a form - * - * Controller: - * if (app('demo_mode')) { - * // don't allow the thing - * } - * @todo - use this everywhere else in the app where we have very long if/else config('app.lock_passwords') stuff - */ - \App::singleton('demo_mode', function () { - if (config('app.lock_passwords') === true) { - return true; - } - return false; - }); - - - - } /** diff --git a/resources/views/livewire/slack-settings-form.blade.php b/resources/views/livewire/slack-settings-form.blade.php index 8fc6ac2c87..5634dfa1dd 100644 --- a/resources/views/livewire/slack-settings-form.blade.php +++ b/resources/views/livewire/slack-settings-form.blade.php @@ -58,14 +58,14 @@
-
- @if (app('demo_mode')) + @if (Helper::isDemoMode()) @include('partials.forms.demo-mode') @endif @@ -75,12 +75,12 @@ {{ Form::label('webhook_endpoint', trans('admin/settings/general.webhook_endpoint',['app' => $webhook_name ])) }}
- + {!! $errors->first('webhook_endpoint', '') !!}
- @if (app('demo_mode')) + @if (Helper::isDemoMode()) @include('partials.forms.demo-mode') @endif @@ -91,13 +91,13 @@ {{ Form::label('webhook_channel', trans('admin/settings/general.webhook_channel',['app' => $webhook_name ])) }}
- + {!! $errors->first('webhook_channel', '') !!}
- @if (!app('demo_mode')) + @if (Helper::isDemoMode()) @include('partials.forms.demo-mode') @endif @@ -107,12 +107,12 @@ {{ Form::label('webhook_botname', trans('admin/settings/general.webhook_botname',['app' => $webhook_name ])) }}
- + {!! $errors->first('webhook_botname', '') !!}
- @if (app('demo_mode')) + @if (!Helper::isDemoMode()) @include('partials.forms.demo-mode') @endif @@ -140,13 +140,13 @@