fix(references): Mute NoPermissionException as it is expected to happen for references
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
@@ -23,6 +23,7 @@
|
|||||||
namespace OCA\Deck\Reference;
|
namespace OCA\Deck\Reference;
|
||||||
|
|
||||||
use OCA\Deck\AppInfo\Application;
|
use OCA\Deck\AppInfo\Application;
|
||||||
|
use OCA\Deck\NoPermissionException;
|
||||||
use OCA\Deck\Service\BoardService;
|
use OCA\Deck\Service\BoardService;
|
||||||
use OCP\Collaboration\Reference\IReference;
|
use OCP\Collaboration\Reference\IReference;
|
||||||
use OCP\Collaboration\Reference\IReferenceProvider;
|
use OCP\Collaboration\Reference\IReferenceProvider;
|
||||||
@@ -67,7 +68,12 @@ class BoardReferenceProvider implements IReferenceProvider {
|
|||||||
if ($this->matchReference($referenceText)) {
|
if ($this->matchReference($referenceText)) {
|
||||||
$boardId = $this->getBoardId($referenceText);
|
$boardId = $this->getBoardId($referenceText);
|
||||||
if ($boardId !== null) {
|
if ($boardId !== null) {
|
||||||
|
try {
|
||||||
$board = $this->boardService->find($boardId)->jsonSerialize();
|
$board = $this->boardService->find($boardId)->jsonSerialize();
|
||||||
|
} catch (NoPermissionException $e) {
|
||||||
|
// Skip throwing if user has no permissions
|
||||||
|
return null;
|
||||||
|
}
|
||||||
$board = $this->sanitizeSerializedBoard($board);
|
$board = $this->sanitizeSerializedBoard($board);
|
||||||
/** @var IReference $reference */
|
/** @var IReference $reference */
|
||||||
$reference = new Reference($referenceText);
|
$reference = new Reference($referenceText);
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ use OCA\Deck\Db\Assignment;
|
|||||||
use OCA\Deck\Db\Attachment;
|
use OCA\Deck\Db\Attachment;
|
||||||
use OCA\Deck\Db\Label;
|
use OCA\Deck\Db\Label;
|
||||||
use OCA\Deck\Model\CardDetails;
|
use OCA\Deck\Model\CardDetails;
|
||||||
|
use OCA\Deck\NoPermissionException;
|
||||||
use OCA\Deck\Service\BoardService;
|
use OCA\Deck\Service\BoardService;
|
||||||
use OCA\Deck\Service\CardService;
|
use OCA\Deck\Service\CardService;
|
||||||
use OCA\Deck\Service\StackService;
|
use OCA\Deck\Service\StackService;
|
||||||
@@ -121,9 +122,15 @@ class CardReferenceProvider extends ADiscoverableReferenceProvider implements IS
|
|||||||
$ids = $this->getBoardCardId($referenceText);
|
$ids = $this->getBoardCardId($referenceText);
|
||||||
if ($ids !== null) {
|
if ($ids !== null) {
|
||||||
[$boardId, $cardId] = $ids;
|
[$boardId, $cardId] = $ids;
|
||||||
|
try {
|
||||||
$card = $this->cardService->find((int) $cardId)->jsonSerialize();
|
$card = $this->cardService->find((int) $cardId)->jsonSerialize();
|
||||||
$board = $this->boardService->find((int) $boardId)->jsonSerialize();
|
$board = $this->boardService->find((int) $boardId)->jsonSerialize();
|
||||||
$stack = $this->stackService->find((int) $card['stackId'])->jsonSerialize();
|
$stack = $this->stackService->find((int) $card['stackId'])->jsonSerialize();
|
||||||
|
} catch (NoPermissionException $e) {
|
||||||
|
// Skip throwing if user has no permissions
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$card = $this->sanitizeSerializedCard($card);
|
$card = $this->sanitizeSerializedCard($card);
|
||||||
$board = $this->sanitizeSerializedBoard($board);
|
$board = $this->sanitizeSerializedBoard($board);
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ use OCA\Deck\Db\Assignment;
|
|||||||
use OCA\Deck\Db\Attachment;
|
use OCA\Deck\Db\Attachment;
|
||||||
use OCA\Deck\Db\Label;
|
use OCA\Deck\Db\Label;
|
||||||
use OCA\Deck\Model\CardDetails;
|
use OCA\Deck\Model\CardDetails;
|
||||||
|
use OCA\Deck\NoPermissionException;
|
||||||
use OCA\Deck\Service\BoardService;
|
use OCA\Deck\Service\BoardService;
|
||||||
use OCA\Deck\Service\CardService;
|
use OCA\Deck\Service\CardService;
|
||||||
use OCA\Deck\Service\CommentService;
|
use OCA\Deck\Service\CommentService;
|
||||||
@@ -85,9 +86,14 @@ class CommentReferenceProvider implements IReferenceProvider {
|
|||||||
if ($ids !== null) {
|
if ($ids !== null) {
|
||||||
[$boardId, $cardId, $commentId] = $ids;
|
[$boardId, $cardId, $commentId] = $ids;
|
||||||
|
|
||||||
|
try {
|
||||||
$card = $this->cardService->find($cardId)->jsonSerialize();
|
$card = $this->cardService->find($cardId)->jsonSerialize();
|
||||||
$board = $this->boardService->find($boardId)->jsonSerialize();
|
$board = $this->boardService->find($boardId)->jsonSerialize();
|
||||||
$stack = $this->stackService->find((int) $card['stackId'])->jsonSerialize();
|
$stack = $this->stackService->find((int) $card['stackId'])->jsonSerialize();
|
||||||
|
} catch (NoPermissionException $e) {
|
||||||
|
// Skip throwing if user has no permissions
|
||||||
|
return null;
|
||||||
|
}
|
||||||
$card = $this->sanitizeSerializedCard($card);
|
$card = $this->sanitizeSerializedCard($card);
|
||||||
$board = $this->sanitizeSerializedBoard($board);
|
$board = $this->sanitizeSerializedBoard($board);
|
||||||
$stack = $this->sanitizeSerializedStack($stack);
|
$stack = $this->sanitizeSerializedStack($stack);
|
||||||
|
|||||||
Reference in New Issue
Block a user