diff --git a/app/Http/Controllers/Admin/HomeController.php b/app/Http/Controllers/Admin/HomeController.php index eabcb1ec30..4788f21eda 100644 --- a/app/Http/Controllers/Admin/HomeController.php +++ b/app/Http/Controllers/Admin/HomeController.php @@ -65,38 +65,7 @@ class HomeController extends Controller $email = $pref->data; } - // admin notification settings: - $notifications = []; - foreach (config('notifications.notifications.owner') as $key => $info) { - if($info['enabled']) { - $notifications[$key] = app('fireflyconfig')->get(sprintf('notification_%s', $key), true)->data; - } - } - // - - return view('admin.index', compact('title', 'mainTitleIcon', 'email', 'notifications')); - } - - public function notifications(Request $request): RedirectResponse - { - foreach (config('notifications.notifications.owner') as $key => $info) { - $value = false; - if ($request->has(sprintf('notification_%s', $key))) { - $value = true; - } - app('fireflyconfig')->set(sprintf('notification_%s', $key), $value); - } - $url = (string)$request->get('slackUrl'); - if ('' === $url) { - app('fireflyconfig')->delete('slack_webhook_url'); - } - if (UrlValidator::isValidWebhookURL($url)) { - app('fireflyconfig')->set('slack_webhook_url', $url); - } - - session()->flash('success', (string)trans('firefly.notification_settings_saved')); - - return redirect(route('admin.index')); + return view('admin.index', compact('title', 'mainTitleIcon', 'email')); } /** @@ -106,6 +75,7 @@ class HomeController extends Controller */ public function testMessage() { + die('disabled.'); Log::channel('audit')->info('User sends test message.'); /** @var User $user */ diff --git a/app/Http/Controllers/Admin/NotificationController.php b/app/Http/Controllers/Admin/NotificationController.php index a19e849b62..75dc522d91 100644 --- a/app/Http/Controllers/Admin/NotificationController.php +++ b/app/Http/Controllers/Admin/NotificationController.php @@ -24,6 +24,8 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Admin; use FireflyIII\Http\Controllers\Controller; +use FireflyIII\Http\Requests\NotificationRequest; +use Illuminate\Http\RedirectResponse; use Illuminate\Support\Facades\Log; class NotificationController extends Controller @@ -39,6 +41,27 @@ class NotificationController extends Controller $discordUrl = app('fireflyconfig')->get('discord_webhook_url', '')->data; $channels = config('notifications.channels'); - return view('admin.notifications.index', compact('title', 'subTitle', 'mainTitleIcon', 'subTitleIcon', 'channels', 'slackUrl','discordUrl')); + + // admin notification settings: + $notifications = []; + foreach (config('notifications.notifications.owner') as $key => $info) { + if($info['enabled']) { + $notifications[$key] = app('fireflyconfig')->get(sprintf('notification_%s', $key), true)->data; + } + } + + + return view('admin.notifications.index', compact('title', 'subTitle', 'mainTitleIcon', 'subTitleIcon', 'channels', 'slackUrl','discordUrl','notifications')); + } + + public function postIndex(NotificationRequest $request): RedirectResponse { + + var_dump($request->getAll()); + exit; + // app('fireflyconfig')->set(sprintf('notification_%s', $key), $value);; + + session()->flash('success', (string)trans('firefly.notification_settings_saved')); + + return redirect(route('admin.index')); } } diff --git a/app/Http/Requests/NotificationRequest.php b/app/Http/Requests/NotificationRequest.php new file mode 100644 index 0000000000..2f94e047bf --- /dev/null +++ b/app/Http/Requests/NotificationRequest.php @@ -0,0 +1,70 @@ + $info) { + $value = false; + if ($this->has(sprintf('notification_%s', $key))) { + $value = true; + } + $return[$key] = $value; + } + $return['discord_url'] = $this->convertString('discordUrl'); + $return['slack_url'] = $this->convertString('slackUrl'); + return $return; +// if (UrlValidator::isValidWebhookURL($url)) { +// app('fireflyconfig')->set('slack_webhook_url', $url); +// } +// } +// +// +// var_dump($this->all()); +// exit; +// return []; + } + + /** + * Rules for this request. + */ + public function rules(): array + { + // fixed + return [ + //'password' => 'required', + ]; + } + +} diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index 1b3b7f9d6e..5ce9ee368b 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -2481,7 +2481,8 @@ return [ 'admin_maintanance_expl' => 'Some nifty buttons for Firefly III maintenance', 'admin_maintenance_clear_cache' => 'Clear cache', 'owner_notifications' => 'Admin notifications', - 'owner_notifications_expl' => 'The following notifications can be enabled or disabled by the administrator. It will be sent over ALL configured channels. Some channels are configured in your environment variables, others can be set in your notifications settings.', + 'owner_notifications_expl' => 'The following notifications can be enabled or disabled by the administrator. It will be sent over ALL configured channels. Some channels are configured in your environment variables, others can be set here.', + 'channel_settings' => 'Settings for notification channels', 'settings_notifications' => 'Settings for notifications', 'title_owner_notifications' => 'Owner notifications', 'owner_notification_check_user_new_reg' => 'User gets post-registration welcome message', diff --git a/resources/views/admin/index.twig b/resources/views/admin/index.twig index 8ae31a35ac..c418c0f273 100644 --- a/resources/views/admin/index.twig +++ b/resources/views/admin/index.twig @@ -17,7 +17,7 @@
  • {{ 'journal_link_configuration'|_ }}
  • {{ 'update_check_title'|_ }}
  • -
  • {{ 'settings_notifications'|_ }}
  • +
  • {{ 'settings_notifications'|_ }}
  • @@ -31,32 +31,6 @@ -
    - -
    -
    -

    {{ 'owner_notifications'|_ }}

    -
    -
    -

    - {{ 'owner_notifications_expl'|_ }} -

    - {% for notification, value in notifications %} -
    - -
    - {% endfor %} - {# {{ ExpandedForm.text('slackUrl', slackUrl, {'label' : 'slack_url_label'|_}) }} #} -
    - -
    -
    diff --git a/resources/views/admin/notifications/index.twig b/resources/views/admin/notifications/index.twig index 76f0ebcac1..52e5085eb1 100644 --- a/resources/views/admin/notifications/index.twig +++ b/resources/views/admin/notifications/index.twig @@ -4,7 +4,7 @@ {{ Breadcrumbs.render }} {% endblock %} {% block content %} -
    +
    @@ -13,6 +13,17 @@

    {{ 'notification_settings'|_ }}

    +

    + {{ trans('firefly.owner_notifications_expl') }} +

    + {% for notification, value in notifications %} +
    + +
    + {% endfor %} +

    {{ 'channel_settings'|_ }}

    {{ ExpandedForm.text('slackUrl', slackUrl, {'label' : 'slack_url_label'|_}) }} {{ ExpandedForm.text('discordUrl', discordUrl, {'label' : 'discord_url_label'|_}) }}