mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 02:36:28 +00:00 
			
		
		
		
	Expand UI for notifications.
This commit is contained in:
		| @@ -67,22 +67,24 @@ class HomeController extends Controller | ||||
| 
 | ||||
|         // admin notification settings:
 | ||||
|         $notifications = []; | ||||
|         foreach (config('firefly.admin_notifications') as $item) { | ||||
|             $notifications[$item] = app('fireflyconfig')->get(sprintf('notification_%s', $item), true)->data; | ||||
|         foreach (config('notifications.notifications.owner') as $key => $info) { | ||||
|             if($info['enabled']) { | ||||
|                 $notifications[$key] = app('fireflyconfig')->get(sprintf('notification_%s', $key), true)->data; | ||||
|             } | ||||
|         } | ||||
|         $slackUrl      = app('fireflyconfig')->get('slack_webhook_url', '')->data; | ||||
|         //
 | ||||
| 
 | ||||
|         return view('admin.index', compact('title', 'mainTitleIcon', 'email', 'notifications', 'slackUrl')); | ||||
|         return view('admin.index', compact('title', 'mainTitleIcon', 'email', 'notifications')); | ||||
|     } | ||||
| 
 | ||||
|     public function notifications(Request $request): RedirectResponse | ||||
|     { | ||||
|         foreach (config('firefly.admin_notifications') as $item) { | ||||
|         foreach (config('notifications.notifications.owner') as $key => $info) { | ||||
|             $value = false; | ||||
|             if ($request->has(sprintf('notification_%s', $item))) { | ||||
|             if ($request->has(sprintf('notification_%s', $key))) { | ||||
|                 $value = true; | ||||
|             } | ||||
|             app('fireflyconfig')->set(sprintf('notification_%s', $item), $value); | ||||
|             app('fireflyconfig')->set(sprintf('notification_%s', $key), $value); | ||||
|         } | ||||
|         $url = (string)$request->get('slackUrl'); | ||||
|         if ('' === $url) { | ||||
|   | ||||
							
								
								
									
										44
									
								
								app/Http/Controllers/Admin/NotificationController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								app/Http/Controllers/Admin/NotificationController.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| <?php | ||||
| /* | ||||
|  * NotificationController.php | ||||
|  * Copyright (c) 2024 james@firefly-iii.org. | ||||
|  * | ||||
|  * This file is part of Firefly III (https://github.com/firefly-iii). | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Affero General Public License as | ||||
|  * published by the Free Software Foundation, either version 3 of the | ||||
|  * License, or (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Affero General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Affero General Public License | ||||
|  * along with this program.  If not, see https://www.gnu.org/licenses/. | ||||
|  */ | ||||
| 
 | ||||
| declare(strict_types=1); | ||||
| 
 | ||||
| namespace FireflyIII\Http\Controllers\Admin; | ||||
| 
 | ||||
| use FireflyIII\Http\Controllers\Controller; | ||||
| use Illuminate\Support\Facades\Log; | ||||
| 
 | ||||
| class NotificationController extends Controller | ||||
| { | ||||
|     public function index() | ||||
|     { | ||||
|         Log::channel('audit')->info('User visits notifications index.'); | ||||
|         $title         = (string) trans('firefly.administration'); | ||||
|         $mainTitleIcon = 'fa-hand-spock-o'; | ||||
|         $subTitle      = (string) trans('firefly.title_owner_notifications'); | ||||
|         $subTitleIcon  = 'envelope-o'; | ||||
|         $slackUrl      = app('fireflyconfig')->get('slack_webhook_url', '')->data; | ||||
|         $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')); | ||||
|     } | ||||
| } | ||||
| @@ -111,6 +111,7 @@ class PreferencesController extends Controller | ||||
| 
 | ||||
|         // notification preferences (single value for each):
 | ||||
|         $notifications         = []; | ||||
|         die('fix the reference to the available notifications.'); | ||||
|         foreach (config('firefly.available_notifications') as $notification) { | ||||
|             $notifications[$notification] = app('preferences')->get(sprintf('notification_%s', $notification), true)->data; | ||||
|         } | ||||
| @@ -165,6 +166,7 @@ class PreferencesController extends Controller | ||||
| 
 | ||||
|         // extract notifications:
 | ||||
|         $all               = $request->all(); | ||||
|         die('fix the reference to the available notifications.'); | ||||
|         foreach (config('firefly.available_notifications') as $option) { | ||||
|             $key = sprintf('notification_%s', $option); | ||||
|             if (array_key_exists($key, $all)) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user