From 0f8ee220534b89fe5ef3b7a8f652ce306d3c0752 Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Tue, 24 Jan 2023 09:25:05 -0800 Subject: [PATCH 01/11] Creates Slack Setting Form --- app/Http/Livewire/SlackSettingsForm.php | 21 +++++++++++++++++++ .../livewire/slack-settings-form.blade.php | 3 +++ 2 files changed, 24 insertions(+) create mode 100644 app/Http/Livewire/SlackSettingsForm.php create mode 100644 resources/views/livewire/slack-settings-form.blade.php diff --git a/app/Http/Livewire/SlackSettingsForm.php b/app/Http/Livewire/SlackSettingsForm.php new file mode 100644 index 000000000..c796ee53c --- /dev/null +++ b/app/Http/Livewire/SlackSettingsForm.php @@ -0,0 +1,21 @@ + + {{-- In work, do what you enjoy. --}} + From 2e22eeade548c18228a9852e63a0472051bad29e Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Wed, 25 Jan 2023 14:29:20 -0800 Subject: [PATCH 02/11] adds one input --- app/Http/Livewire/SlackSettingsForm.php | 5 +++++ .../livewire/slack-settings-form.blade.php | 19 ++++++++++++++++++- resources/views/settings/slack.blade.php | 17 +---------------- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/app/Http/Livewire/SlackSettingsForm.php b/app/Http/Livewire/SlackSettingsForm.php index c796ee53c..0193aa7da 100644 --- a/app/Http/Livewire/SlackSettingsForm.php +++ b/app/Http/Livewire/SlackSettingsForm.php @@ -11,6 +11,11 @@ class SlackSettingsForm extends Component { public Setting $setting; + protected $rules = [ + 'setting.slack_endpoint' => 'url|required_with:slack_channel|starts_with:https://hooks.slack.com/|nullable', + 'setting.slack_channel' => 'required_with:slack_endpoint|starts_with:#|nullable', + 'setting.slack_botname' => 'string|nullable', + ]; public function render() diff --git a/resources/views/livewire/slack-settings-form.blade.php b/resources/views/livewire/slack-settings-form.blade.php index cdda2ce1f..4846aa95f 100644 --- a/resources/views/livewire/slack-settings-form.blade.php +++ b/resources/views/livewire/slack-settings-form.blade.php @@ -1,3 +1,20 @@
- {{-- In work, do what you enjoy. --}} +
+
+
+ {{ Form::label('slack_endpoint', trans('admin/settings/general.slack_endpoint')) }} +
+
+ @if (config('app.lock_passwords')===true) + {{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}} +

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

+ slack_endpoint)}} > + @else + slack_endpoint)}} > + {{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}} + @endif + {!! $errors->first('slack_endpoint', '') !!} +
+
+
diff --git a/resources/views/settings/slack.blade.php b/resources/views/settings/slack.blade.php index 705510ab8..f5f21c5aa 100644 --- a/resources/views/settings/slack.blade.php +++ b/resources/views/settings/slack.blade.php @@ -50,22 +50,7 @@
- -
-
- {{ Form::label('slack_endpoint', trans('admin/settings/general.slack_endpoint')) }} -
-
- @if (config('app.lock_passwords')===true) - {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }} -

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

- - @else - {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }} - @endif - {!! $errors->first('slack_endpoint', '') !!} -
-
+ @livewire('slack-settings-form', ['setting' => $setting])
From a69cb6204a603edf4d861dffed532f5e8784b62f Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Wed, 25 Jan 2023 16:22:34 -0800 Subject: [PATCH 03/11] adds rest of inputs, and corrects Data binding --- app/Http/Livewire/SlackSettingsForm.php | 29 ++++++++++++-- .../livewire/slack-settings-form.blade.php | 40 ++++++++++++++++++- resources/views/settings/slack.blade.php | 34 +--------------- 3 files changed, 65 insertions(+), 38 deletions(-) diff --git a/app/Http/Livewire/SlackSettingsForm.php b/app/Http/Livewire/SlackSettingsForm.php index 0193aa7da..42d5a7082 100644 --- a/app/Http/Livewire/SlackSettingsForm.php +++ b/app/Http/Livewire/SlackSettingsForm.php @@ -4,23 +4,46 @@ namespace App\Http\Livewire; use Livewire\Component; use App\Models\Setting; +use App\Http\Requests\Request; class SlackSettingsForm extends Component { + public $slack_endpoint; + public $slack_channel; + public $slack_botname; + public Setting $setting; protected $rules = [ - 'setting.slack_endpoint' => 'url|required_with:slack_channel|starts_with:https://hooks.slack.com/|nullable', - 'setting.slack_channel' => 'required_with:slack_endpoint|starts_with:#|nullable', - 'setting.slack_botname' => 'string|nullable', + 'slack_endpoint' => 'url|required_with:slack_channel|starts_with:https://hooks.slack.com/|nullable', + 'slack_channel' => 'required_with:slack_endpoint|starts_with:#|nullable', + 'slack_botname' => 'string|nullable', ]; + public function mount(){ + + $this->setting= Setting::getSettings(); + $this->slack_endpoint = $this->setting->slack_endpoint; + $this->slack_channel = $this->setting->slack_channel; + $this->slack_botname = $this->setting->slack_botname; + + } public function render() { return view('livewire.slack-settings-form'); } + public function submit() + { + + $this->validate(); + + $this->setting->slack_endpoint = $this->slack_endpoint; + $this->setting->slack_channel = $this->slack_channel; + $this->setting->slack_botname = $this->slack_botname; + + } } diff --git a/resources/views/livewire/slack-settings-form.blade.php b/resources/views/livewire/slack-settings-form.blade.php index 4846aa95f..cd7978f08 100644 --- a/resources/views/livewire/slack-settings-form.blade.php +++ b/resources/views/livewire/slack-settings-form.blade.php @@ -8,13 +8,49 @@ @if (config('app.lock_passwords')===true) {{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}}

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

- slack_endpoint)}} > + @else - slack_endpoint)}} > + {{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}} @endif {!! $errors->first('slack_endpoint', '') !!}
+ + +
+
+ {{ Form::label('slack_channel', trans('admin/settings/general.slack_channel')) }} +
+
+ @if (config('app.lock_passwords')===true) + +

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

+ + @else + + @endif + {!! $errors->first('slack_channel', '') !!} +
+
+ + +
+
+ {{ Form::label('slack_botname', trans('admin/settings/general.slack_botname')) }} +
+
+ @if (config('app.lock_passwords')===true) + {{ Form::text('slack_botname', old('slack_botname', $setting->slack_botname), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'Snipe-Bot')) }} + + +

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

+ + @else + + @endif + {!! $errors->first('slack_botname', '') !!} +
+
diff --git a/resources/views/settings/slack.blade.php b/resources/views/settings/slack.blade.php index f5f21c5aa..6bbd32166 100644 --- a/resources/views/settings/slack.blade.php +++ b/resources/views/settings/slack.blade.php @@ -50,41 +50,9 @@
- @livewire('slack-settings-form', ['setting' => $setting]) + @livewire('slack-settings-form') - -
-
- {{ Form::label('slack_channel', trans('admin/settings/general.slack_channel')) }} -
-
- @if (config('app.lock_passwords')===true) - {{ Form::text('slack_channel', old('slack_channel', $setting->slack_channel), array('class' => 'form-control','disabled'=>'disabled','placeholder' => '#IT-Ops')) }} -

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

- @else - {{ Form::text('slack_channel', old('slack_channel', $setting->slack_channel), array('class' => 'form-control','placeholder' => '#IT-Ops')) }} - @endif - {!! $errors->first('slack_channel', '') !!} -
-
- - -
-
- {{ Form::label('slack_botname', trans('admin/settings/general.slack_botname')) }} -
-
- @if (config('app.lock_passwords')===true) - {{ Form::text('slack_botname', old('slack_botname', $setting->slack_botname), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'Snipe-Bot')) }} -

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

- - @else - {{ Form::text('slack_botname', old('slack_botname', $setting->slack_botname), array('class' => 'form-control','placeholder' => 'Snipe-Bot')) }} - @endif - {!! $errors->first('slack_botname', '') !!} -
-
- @@ -88,129 +80,129 @@ @stop -@push('js') - +{{-- --}} -@endpush +{{--@endpush--}} From fc044528b89249efc4852fb8ec992bfa702b7f1c Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Mon, 30 Jan 2023 16:10:02 -0800 Subject: [PATCH 06/11] validation is working, success message appears, database is not updating --- app/Http/Livewire/SlackSettingsForm.php | 11 +- app/Models/Setting.php | 3 + .../livewire/slack-settings-form.blade.php | 138 ++++++++------ resources/views/settings/slack.blade.php | 175 +----------------- 4 files changed, 95 insertions(+), 232 deletions(-) diff --git a/app/Http/Livewire/SlackSettingsForm.php b/app/Http/Livewire/SlackSettingsForm.php index 63b9383a9..ddc38f36b 100644 --- a/app/Http/Livewire/SlackSettingsForm.php +++ b/app/Http/Livewire/SlackSettingsForm.php @@ -10,6 +10,7 @@ class SlackSettingsForm extends Component public $slack_endpoint; public $slack_channel; public $slack_botname; + public $successMessage; public Setting $setting; @@ -41,13 +42,17 @@ class SlackSettingsForm extends Component public function submit() { - dd("we here now"); - - $this->validate(); + $this->validate([ + 'slack_endpoint' => 'url|required_with:slack_channel|starts_with:https://hooks.slack.com/|nullable', + 'slack_channel' => 'required_with:slack_endpoint|starts_with:#|nullable', + 'slack_botname' => 'string|nullable', + ]); $this->setting->slack_endpoint = $this->slack_endpoint; $this->setting->slack_channel = $this->slack_channel; $this->setting->slack_botname = $this->slack_botname; + $this->successMessage= trans('admin/settings/message.update.success'); + } } diff --git a/app/Models/Setting.php b/app/Models/Setting.php index f2a418417..828926064 100755 --- a/app/Models/Setting.php +++ b/app/Models/Setting.php @@ -83,6 +83,9 @@ class Setting extends Model 'email_domain', 'email_format', 'username_format', + 'slack_endpoint', + 'slack_channel', + 'slack_botname', ]; /** diff --git a/resources/views/livewire/slack-settings-form.blade.php b/resources/views/livewire/slack-settings-form.blade.php index a42a99fd7..5d41ff2a6 100644 --- a/resources/views/livewire/slack-settings-form.blade.php +++ b/resources/views/livewire/slack-settings-form.blade.php @@ -1,65 +1,85 @@
-
-
-
- {{ Form::label('slack_endpoint', trans('admin/settings/general.slack_endpoint')) }} -
-
- @if (config('app.lock_passwords')===true) - {{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}} -

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

- - @else - - {{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}} - @endif - {!! $errors->first('slack_endpoint', '') !!} -
-
+
+
+
+
+

+ {{ trans('admin/settings/general.slack') }} +

+
+
+
+ {{$successMessage}} + + {{csrf_field()}} +
+
+ {{ Form::label('slack_endpoint', trans('admin/settings/general.slack_endpoint')) }} +
+
+ @if (config('app.lock_passwords')===true) + {{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}} +

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

+ + @else + + {{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}} + @endif + {!! $errors->first('slack_endpoint', '') !!} +
+
- -
-
- {{ Form::label('slack_channel', trans('admin/settings/general.slack_channel')) }} -
-
- @if (config('app.lock_passwords')===true) - -

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

+ +
+
+ {{ Form::label('slack_channel', trans('admin/settings/general.slack_channel')) }} +
+
+ @if (config('app.lock_passwords')===true) + +

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

- @else - - @endif - {!! $errors->first('slack_channel', '') !!} -
-
- - -
-
- {{ Form::label('slack_botname', trans('admin/settings/general.slack_botname')) }} -
-
- @if (config('app.lock_passwords')===true) - {{ Form::text('slack_botname', old('slack_botname', $setting->slack_botname), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'Snipe-Bot')) }} - - -

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

- - @else - - @endif - {!! $errors->first('slack_botname', '') !!} -
-
- -
- + +
+
+ {{ Form::label('slack_botname', trans('admin/settings/general.slack_botname')) }} +
+
+ @if (config('app.lock_passwords')===true) + {{ Form::text('slack_botname', old('slack_botname', $setting->slack_botname), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'Snipe-Bot')) }} + +

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

+ + @else + + @endif + {!! $errors->first('slack_botname', '') !!} +
+
+ + + +
+
+ +
+
+
+
diff --git a/resources/views/settings/slack.blade.php b/resources/views/settings/slack.blade.php index 67a355053..9e0286c61 100644 --- a/resources/views/settings/slack.blade.php +++ b/resources/views/settings/slack.blade.php @@ -20,189 +20,24 @@ } - - {{ Form::open(['method' => 'POST', 'files' => false, 'autocomplete' => 'off', 'class' => 'form-horizontal', 'role' => 'form' ]) }} - {{csrf_field()}} - -
-
-
-
-

- {{ trans('admin/settings/general.slack') }} -

-
-
+

{!! trans('admin/settings/general.slack_integration_help',array('slack_link' => 'https://my.slack.com/services/new/incoming-webhook')) !!} - @if (($setting->slack_channel=='') && ($setting->slack_endpoint=='')) - {{ trans('admin/settings/general.slack_integration_help_button') }} - @endif -

+{{-- @if (($setting->slack_channel=='') && ($setting->slack_endpoint==''))--}} +{{-- {{ trans('admin/settings/general.slack_integration_help_button') }}--}} +{{-- @endif--}} +{{--

--}} -
@livewire('slack-settings-form') - -
-
- -
-
-
- - {{Form::close()}} - -@stop - -{{--@push('js')--}} -{{-- --}} - -{{--@endpush--}} From 1e0c58c3cf77beb07c2e9e6624bf233dcd0466ab Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Tue, 31 Jan 2023 11:32:05 -0800 Subject: [PATCH 07/11] saves data correctly now --- app/Http/Livewire/SlackSettingsForm.php | 5 +- .../livewire/slack-settings-form.blade.php | 141 ++++++++---------- resources/views/settings/slack.blade.php | 28 +++- 3 files changed, 90 insertions(+), 84 deletions(-) diff --git a/app/Http/Livewire/SlackSettingsForm.php b/app/Http/Livewire/SlackSettingsForm.php index ddc38f36b..2cb153734 100644 --- a/app/Http/Livewire/SlackSettingsForm.php +++ b/app/Http/Livewire/SlackSettingsForm.php @@ -52,7 +52,10 @@ class SlackSettingsForm extends Component $this->setting->slack_channel = $this->slack_channel; $this->setting->slack_botname = $this->slack_botname; - $this->successMessage= trans('admin/settings/message.update.success'); + $this->setting->save(); + + session()->flash('message',trans('admin/settings/message.update.success')); + } } diff --git a/resources/views/livewire/slack-settings-form.blade.php b/resources/views/livewire/slack-settings-form.blade.php index 5d41ff2a6..b01ffa867 100644 --- a/resources/views/livewire/slack-settings-form.blade.php +++ b/resources/views/livewire/slack-settings-form.blade.php @@ -1,85 +1,76 @@ -
-
-
-
-
-

- {{ trans('admin/settings/general.slack') }} -

-
-
-
- {{$successMessage}} -
- {{csrf_field()}} -
-
- {{ Form::label('slack_endpoint', trans('admin/settings/general.slack_endpoint')) }} -
-
- @if (config('app.lock_passwords')===true) - {{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}} -

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

- - @else - - {{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}} - @endif - {!! $errors->first('slack_endpoint', '') !!} -
-
- -
-
- {{ Form::label('slack_channel', trans('admin/settings/general.slack_channel')) }} -
-
- @if (config('app.lock_passwords')===true) - -

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

- @else - - @endif - {!! $errors->first('slack_channel', '') !!} -
+
+ @if (session()->has('message')) +
+ {{session('message')}} +
+ @endif + + {{csrf_field()}} + +
+
+ {{ Form::label('slack_endpoint', trans('admin/settings/general.slack_endpoint')) }}
- - -
-
- {{ Form::label('slack_botname', trans('admin/settings/general.slack_botname')) }} -
-
- @if (config('app.lock_passwords')===true) - {{ Form::text('slack_botname', old('slack_botname', $setting->slack_botname), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'Snipe-Bot')) }} - -

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

- - @else - - @endif - {!! $errors->first('slack_botname', '') !!} -
+
+ @if (config('app.lock_passwords')===true) +{{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}} +

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

+
+ @else +
+{{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}} + @endif + {!! $errors->first('slack_endpoint', '') !!}
- +
+ + +
+
+ {{ Form::label('slack_botname', trans('admin/settings/general.slack_botname')) }} +
+
+ @if (config('app.lock_passwords')===true) +{{-- {{ Form::text('slack_botname', old('slack_botname', $setting->slack_botname), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'Snipe-Bot')) }}--}} +
+

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

+ + @else +
+ @endif + {!! $errors->first('slack_botname', '') !!} +
+
+ + -
-
+
-
-
-
-
diff --git a/resources/views/settings/slack.blade.php b/resources/views/settings/slack.blade.php index 9e0286c61..25480a1c1 100644 --- a/resources/views/settings/slack.blade.php +++ b/resources/views/settings/slack.blade.php @@ -19,25 +19,37 @@ padding-right: 40px; } + {{csrf_field()}} - - +
+
+
+
+

+ {{ trans('admin/settings/general.slack') }} +

+
+

{!! trans('admin/settings/general.slack_integration_help',array('slack_link' => 'https://my.slack.com/services/new/incoming-webhook')) !!} +

-{{-- @if (($setting->slack_channel=='') && ($setting->slack_endpoint==''))--}} -{{-- {{ trans('admin/settings/general.slack_integration_help_button') }}--}} -{{-- @endif--}} -{{--

--}} + @livewire('slack-settings-form') + + + +
+
+ + +@stop - @livewire('slack-settings-form') - From f95a904d90f0523ff70ebb8076fc492152c5f64f Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Wed, 1 Feb 2023 12:08:13 -0800 Subject: [PATCH 08/11] adds integration button, working on its functionality --- .../Controllers/Api/SettingsController.php | 22 +++-------- app/Http/Controllers/SettingsController.php | 8 ++-- app/Http/Livewire/SlackSettingsForm.php | 19 +++------- app/Http/Requests/SlackSettingsRequest.php | 1 - .../livewire/slack-settings-form.blade.php | 37 ++++++++++++++++--- resources/views/settings/slack.blade.php | 5 --- 6 files changed, 47 insertions(+), 45 deletions(-) diff --git a/app/Http/Controllers/Api/SettingsController.php b/app/Http/Controllers/Api/SettingsController.php index 62380b221..26d380353 100644 --- a/app/Http/Controllers/Api/SettingsController.php +++ b/app/Http/Controllers/Api/SettingsController.php @@ -143,21 +143,11 @@ class SettingsController extends Controller } - public function slacktest(SlackSettingsRequest $request) + public function slacktest($slack_endpoint,$slack_channel,$slack_botname) { - - $validator = Validator::make($request->all(), [ - 'slack_endpoint' => 'url|required_with:slack_channel|starts_with:https://hooks.slack.com/|nullable', - 'slack_channel' => 'required_with:slack_endpoint|starts_with:#|nullable', - ]); - - if ($validator->fails()) { - return response()->json(['message' => 'Validation failed', 'errors' => $validator->errors()], 422); - } - // If validation passes, continue to the curl request $slack = new Client([ - 'base_url' => e($request->input('slack_endpoint')), + 'base_url' => e($slack_endpoint), 'defaults' => [ 'exceptions' => false, ], @@ -165,18 +155,18 @@ class SettingsController extends Controller $payload = json_encode( [ - 'channel' => e($request->input('slack_channel')), + 'channel' => e($slack_channel), 'text' => trans('general.slack_test_msg'), - 'username' => e($request->input('slack_botname')), + 'username' => e($slack_botname), 'icon_emoji' => ':heart:', ]); try { - $slack->post($request->input('slack_endpoint'), ['body' => $payload]); + $slack->post($slack_endpoint, ['body' => $payload]); return response()->json(['message' => 'Success'], 200); } catch (\Exception $e) { - return response()->json(['message' => 'Please check the channel name and webhook endpoint URL ('.e($request->input('slack_endpoint')).'). Slack responded with: '.$e->getMessage()], 400); + return response()->json(['message' => 'Please check the channel name and webhook endpoint URL ('.e($slack_endpoint).'). Slack responded with: '.$e->getMessage()], 400); } //} diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index 9a7c2cc7d..6daaabdc9 100755 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -688,15 +688,15 @@ class SettingsController extends Controller * * @return View */ - public function postSlack(SlackSettingsRequest $request) + public function postSlack($slack_endpoint,$slack_channel,$slack_botname) { if (is_null($setting = Setting::getSettings())) { return redirect()->to('admin')->with('error', trans('admin/settings/message.update.error')); } - $setting->slack_endpoint = $request->input('slack_endpoint'); - $setting->slack_channel = $request->input('slack_channel'); - $setting->slack_botname = $request->input('slack_botname'); + $setting->slack_endpoint = $slack_endpoint; + $setting->slack_channel = $slack_channel; + $setting->slack_botname = $slack_botname; if ($setting->save()) { return redirect()->route('settings.index') diff --git a/app/Http/Livewire/SlackSettingsForm.php b/app/Http/Livewire/SlackSettingsForm.php index 2cb153734..fbc54a051 100644 --- a/app/Http/Livewire/SlackSettingsForm.php +++ b/app/Http/Livewire/SlackSettingsForm.php @@ -4,28 +4,16 @@ namespace App\Http\Livewire; use Livewire\Component; use App\Models\Setting; +use App\Http\Controllers\Api\SettingsController; class SlackSettingsForm extends Component { public $slack_endpoint; public $slack_channel; public $slack_botname; - public $successMessage; public Setting $setting; - protected $rules = [ - 'slack_endpoint' => 'url|required_with:slack_channel|starts_with:https://hooks.slack.com/|nullable', - 'slack_channel' => 'required_with:slack_endpoint|starts_with:#|nullable', - 'slack_botname' => 'string|nullable', - ]; - protected $messages = [ - 'slack_endpoint.required_with' => 'Slack endpoint is required', - 'slack_endpoint.starts_with' => 'Slack endpoint must start with https://hooks.slack.com', - - - ]; - public function mount(){ $this->setting = Setting::getSettings(); @@ -40,6 +28,11 @@ class SlackSettingsForm extends Component return view('livewire.slack-settings-form'); } + public function testSlack($slack_endpoint, $slack_channel, $slack_botname){ + SettingsController::testSlack($slack_endpoint,$slack_channel,$slack_botname); + + + } public function submit() { $this->validate([ diff --git a/app/Http/Requests/SlackSettingsRequest.php b/app/Http/Requests/SlackSettingsRequest.php index 1f4421519..e8f7d2f0e 100644 --- a/app/Http/Requests/SlackSettingsRequest.php +++ b/app/Http/Requests/SlackSettingsRequest.php @@ -25,7 +25,6 @@ class SlackSettingsRequest extends Request 'slack_endpoint' => 'url|required_with:slack_channel|starts_with:"https://hooks.slack.com"|nullable', 'slack_channel' => 'required_with:slack_endpoint|starts_with:#|nullable', 'slack_botname' => 'string|nullable', - ]; } diff --git a/resources/views/livewire/slack-settings-form.blade.php b/resources/views/livewire/slack-settings-form.blade.php index b01ffa867..6562f41b3 100644 --- a/resources/views/livewire/slack-settings-form.blade.php +++ b/resources/views/livewire/slack-settings-form.blade.php @@ -8,6 +8,7 @@ @endif
{{csrf_field()}} +
@@ -17,9 +18,9 @@ @if (config('app.lock_passwords')===true) {{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}}

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

-
+
@else -
+
{{-- {{ Form::text('slack_endpoint', old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX', 'id' => 'slack_endpoint')) }}--}} @endif {!! $errors->first('slack_endpoint', '') !!} @@ -33,11 +34,11 @@
@if (config('app.lock_passwords')===true) -
+

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

@else -
+
@endif {!! $errors->first('slack_channel', '') !!}
@@ -51,16 +52,40 @@
@if (config('app.lock_passwords')===true) {{-- {{ Form::text('slack_botname', old('slack_botname', $setting->slack_botname), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'Snipe-Bot')) }}--}} -
+

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

@else -
+
@endif {!! $errors->first('slack_botname', '') !!}
+ + @if($slack_endpoint != null && $slack_channel != null && $slack_botname != null) +
+
+ {{ Form::label('test_slack', 'Test Slack') }} +
+
+ +
+ @if($response == 'success') + message here + @endif + @if($response == 'error') + message here + @endif +
+
+ @endif +{{--
--}} +{{-- --}} +{{-- --}} +{{-- --}} +{{--
--}} +