fix: Event creation could still throw uncaught exceptions
This commit is contained in:
1 parent
d485640f57
commit
9abacef435
4 files changed
+31
-4
No files matched your search
+2
-1
@@ -29,7 +29,8 @@
|
|||||||
"Organizer contains invalid characters.": "Der Organisator enthält ungültige Zeichen.",
|
"Organizer contains invalid characters.": "Der Organisator enthält ungültige Zeichen.",
|
||||||
"Invalid organizer email address.": "Ungültige E-Mail-Adresse des Organisators.",
|
"Invalid organizer email address.": "Ungültige E-Mail-Adresse des Organisators.",
|
||||||
"No writable calendar was found in your account. Create one in the Nextcloud Calendar app, then try again.": "In deinem Konto wurde kein beschreibbarer Kalender gefunden. Erstelle einen in der Nextcloud-Kalender-App und versuche es erneut.",
|
"No writable calendar was found in your account. Create one in the Nextcloud Calendar app, then try again.": "In deinem Konto wurde kein beschreibbarer Kalender gefunden. Erstelle einen in der Nextcloud-Kalender-App und versuche es erneut.",
|
||||||
"The selected calendar is no longer writable. Pick another one and try again.": "Der ausgewählte Kalender ist nicht mehr beschreibbar. Wähle einen anderen aus und versuche es erneut."
|
"The selected calendar is no longer writable. Pick another one and try again.": "Der ausgewählte Kalender ist nicht mehr beschreibbar. Wähle einen anderen aus und versuche es erneut.",
|
||||||
|
"The event could not be created. Please try again.": "Das Meeting konnte nicht erstellt werden. Bitte versuche es erneut."
|
||||||
},
|
},
|
||||||
"pluralForms": "nplurals=2; plural=(n != 1);"
|
"pluralForms": "nplurals=2; plural=(n != 1);"
|
||||||
}
|
}
|
||||||
+2
-1
@@ -29,7 +29,8 @@
|
|||||||
"Organizer contains invalid characters.": "Der Organisator enthält ungültige Zeichen.",
|
"Organizer contains invalid characters.": "Der Organisator enthält ungültige Zeichen.",
|
||||||
"Invalid organizer email address.": "Ungültige E-Mail-Adresse des Organisators.",
|
"Invalid organizer email address.": "Ungültige E-Mail-Adresse des Organisators.",
|
||||||
"No writable calendar was found in your account. Create one in the Nextcloud Calendar app, then try again.": "In Ihrem Konto wurde kein beschreibbarer Kalender gefunden. Erstellen Sie einen in der Nextcloud-Kalender-App und versuchen Sie es erneut.",
|
"No writable calendar was found in your account. Create one in the Nextcloud Calendar app, then try again.": "In Ihrem Konto wurde kein beschreibbarer Kalender gefunden. Erstellen Sie einen in der Nextcloud-Kalender-App und versuchen Sie es erneut.",
|
||||||
"The selected calendar is no longer writable. Pick another one and try again.": "Der ausgewählte Kalender ist nicht mehr beschreibbar. Wählen Sie einen anderen aus und versuchen Sie es erneut."
|
"The selected calendar is no longer writable. Pick another one and try again.": "Der ausgewählte Kalender ist nicht mehr beschreibbar. Wählen Sie einen anderen aus und versuchen Sie es erneut.",
|
||||||
|
"The event could not be created. Please try again.": "Das Meeting konnte nicht erstellt werden. Bitte versuchen Sie es erneut."
|
||||||
},
|
},
|
||||||
"pluralForms": "nplurals=2; plural=(n != 1);"
|
"pluralForms": "nplurals=2; plural=(n != 1);"
|
||||||
}
|
}
|
||||||
+2
-1
@@ -29,7 +29,8 @@
|
|||||||
"Organizer contains invalid characters.": "Organizer contains invalid characters.",
|
"Organizer contains invalid characters.": "Organizer contains invalid characters.",
|
||||||
"Invalid organizer email address.": "Invalid organizer email address.",
|
"Invalid organizer email address.": "Invalid organizer email address.",
|
||||||
"No writable calendar was found in your account. Create one in the Nextcloud Calendar app, then try again.": "No writable calendar was found in your account. Create one in the Nextcloud Calendar app, then try again.",
|
"No writable calendar was found in your account. Create one in the Nextcloud Calendar app, then try again.": "No writable calendar was found in your account. Create one in the Nextcloud Calendar app, then try again.",
|
||||||
"The selected calendar is no longer writable. Pick another one and try again.": "The selected calendar is no longer writable. Pick another one and try again."
|
"The selected calendar is no longer writable. Pick another one and try again.": "The selected calendar is no longer writable. Pick another one and try again.",
|
||||||
|
"The event could not be created. Please try again.": "The event could not be created. Please try again."
|
||||||
},
|
},
|
||||||
"pluralForms": "nplurals=2; plural=(n != 1);"
|
"pluralForms": "nplurals=2; plural=(n != 1);"
|
||||||
}
|
}
|
||||||
@@ -20,6 +20,7 @@ use OCP\IURLGenerator;
|
|||||||
use OCP\IUserSession;
|
use OCP\IUserSession;
|
||||||
use OCP\IDateTimeZone;
|
use OCP\IDateTimeZone;
|
||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
use Sabre\VObject\Reader;
|
use Sabre\VObject\Reader;
|
||||||
|
|
||||||
class CalendarController extends Controller
|
class CalendarController extends Controller
|
||||||
@@ -67,6 +68,7 @@ class CalendarController extends Controller
|
|||||||
private IURLGenerator $urlGenerator;
|
private IURLGenerator $urlGenerator;
|
||||||
private IDateTimeZone $dateTimeZone;
|
private IDateTimeZone $dateTimeZone;
|
||||||
private IL10N $l10n;
|
private IL10N $l10n;
|
||||||
|
private LoggerInterface $logger;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
string $appName,
|
string $appName,
|
||||||
@@ -76,7 +78,8 @@ class CalendarController extends Controller
|
|||||||
IUserSession $userSession,
|
IUserSession $userSession,
|
||||||
IURLGenerator $urlGenerator,
|
IURLGenerator $urlGenerator,
|
||||||
IDateTimeZone $dateTimeZone,
|
IDateTimeZone $dateTimeZone,
|
||||||
IL10N $l10n
|
IL10N $l10n,
|
||||||
|
LoggerInterface $logger
|
||||||
) {
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
|
|
||||||
@@ -86,6 +89,7 @@ class CalendarController extends Controller
|
|||||||
$this->urlGenerator = $urlGenerator;
|
$this->urlGenerator = $urlGenerator;
|
||||||
$this->dateTimeZone = $dateTimeZone;
|
$this->dateTimeZone = $dateTimeZone;
|
||||||
$this->l10n = $l10n;
|
$this->l10n = $l10n;
|
||||||
|
$this->logger = $logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -202,7 +206,27 @@ class CalendarController extends Controller
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Backend failures, e.g. CalendarException, must not end
|
||||||
|
* in a generic 500 page. Log the cause, re-render the form.
|
||||||
|
*/
|
||||||
|
try {
|
||||||
$this->createEvent($calendar, $data);
|
$this->createEvent($calendar, $data);
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
$this->logger->error(
|
||||||
|
'Failed to create calendar event: ' . $e->getMessage(),
|
||||||
|
['exception' => $e]
|
||||||
|
);
|
||||||
|
|
||||||
|
return $this->renderConfirm(
|
||||||
|
$data,
|
||||||
|
$calendars,
|
||||||
|
$calendarId,
|
||||||
|
$this->l10n->t(
|
||||||
|
'The event could not be created. Please try again.'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Open the Nextcloud Calendar application if enabled,
|
* Open the Nextcloud Calendar application if enabled,
|
||||||
|
|||||||
Reference in new issue
Block a user