fix: makes ical url publicly accessible if user has option enabled
This commit is contained in:
@@ -6,8 +6,10 @@ namespace App\User\Framework\Controller\Web;
|
||||
|
||||
use App\Base\Service\Broadcaster;
|
||||
use App\User\Action\Command\SaveUserMediaPreferencesCommand;
|
||||
use App\User\Action\Handler\SaveUserCalendarPreferencesHandler;
|
||||
use App\User\Action\Handler\SaveUserDownloadPreferencesHandler;
|
||||
use App\User\Action\Handler\SaveUserMediaPreferencesHandler;
|
||||
use App\User\Action\Input\SaveUserCalendarPreferencesInput;
|
||||
use App\User\Action\Input\SaveUserDownloadPreferencesInput;
|
||||
use App\User\Action\Input\SaveUserMediaPreferencesInput;
|
||||
use App\User\Database\CountryLanguages;
|
||||
@@ -33,15 +35,15 @@ class PreferencesController extends AbstractController
|
||||
public function mediaPreferences(): Response
|
||||
{
|
||||
$downloadPreferences = $this->getUser()->getDownloadPreferences();
|
||||
$calendarPreferences = $this->getUser()->getCalendarPreferences();
|
||||
$formData = (array) UserPreferencesFactory::createFromUser($this->getUser());
|
||||
$form = $this->createForm(UserMediaPreferencesForm::class, $formData);
|
||||
|
||||
// dd($form);
|
||||
|
||||
return $this->render(
|
||||
'user/preferences.html.twig',
|
||||
[
|
||||
'downloadPreferences' => $downloadPreferences,
|
||||
'calendarPreferences' => $calendarPreferences,
|
||||
'preferences_form' => $form,
|
||||
]
|
||||
);
|
||||
@@ -54,8 +56,8 @@ class PreferencesController extends AbstractController
|
||||
): Response
|
||||
{
|
||||
$downloadPreferences = $this->getUser()->getDownloadPreferences();
|
||||
$calendarPreferences = $this->getUser()->getCalendarPreferences();
|
||||
$form = $this->createForm(UserMediaPreferencesForm::class);
|
||||
|
||||
$form->handleRequest($request);
|
||||
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
@@ -69,6 +71,7 @@ class PreferencesController extends AbstractController
|
||||
'user/preferences.html.twig',
|
||||
[
|
||||
'downloadPreferences' => $downloadPreferences,
|
||||
'calendarPreferences' => $calendarPreferences,
|
||||
'preferences_form' => $form,
|
||||
]
|
||||
);
|
||||
@@ -81,6 +84,7 @@ class PreferencesController extends AbstractController
|
||||
): Response
|
||||
{
|
||||
$downloadPreferences = $this->getUser()->getDownloadPreferences();
|
||||
$calendarPreferences = $this->getUser()->getCalendarPreferences();
|
||||
$formData = (array) UserPreferencesFactory::createFromUser($this->getUser());
|
||||
$form = $this->createForm(UserMediaPreferencesForm::class, $formData);
|
||||
|
||||
@@ -95,6 +99,34 @@ class PreferencesController extends AbstractController
|
||||
'user/preferences.html.twig',
|
||||
[
|
||||
'downloadPreferences' => $downloadPreferences,
|
||||
'calendarPreferences' => $calendarPreferences,
|
||||
'preferences_form' => $form,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
#[Route('/user/preferences/calendar', 'app.save.calendar-preferences', methods: ['POST'])]
|
||||
public function saveCalendarPreferences(
|
||||
SaveUserCalendarPreferencesInput $input,
|
||||
SaveUserCalendarPreferencesHandler $handler,
|
||||
): Response
|
||||
{
|
||||
$calendarPreferences = $this->getUser()->getCalendarPreferences();
|
||||
$formData = (array) UserPreferencesFactory::createFromUser($this->getUser());
|
||||
$form = $this->createForm(UserMediaPreferencesForm::class, $formData);
|
||||
|
||||
$handler->handle($input->toCommand());
|
||||
|
||||
$this->broadcaster->alert(
|
||||
title: 'Success',
|
||||
message: 'Your calendar preferences have been saved.'
|
||||
);
|
||||
|
||||
return $this->render(
|
||||
'user/preferences.html.twig',
|
||||
[
|
||||
'downloadPreferences' => $this->getUser()->getDownloadPreferences(),
|
||||
'calendarPreferences' => $calendarPreferences,
|
||||
'preferences_form' => $form,
|
||||
]
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user