show on shared boards unassigned cards to all users

Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
This commit is contained in:
Jakob Röhrl
2021-05-17 14:30:36 +02:00
parent d3d4797ab9
commit eaf061c4b7
3 changed files with 8 additions and 6 deletions

View File

@@ -236,10 +236,12 @@ class CardMapper extends QBMapper implements IPermissionMapper {
->from('deck_cards', 'c')
->innerJoin('c', 'deck_stacks', 's', 's.id = c.stack_id')
->innerJoin('s', 'deck_boards', 'b', 'b.id = s.board_id')
->innerJoin('c', 'deck_assigned_users', 'u', 'c.id = u.card_id')
->leftJoin('c', 'deck_assigned_users', 'u', 'c.id = u.card_id')
->where($qb->expr()->eq('s.board_id', $qb->createNamedParameter($boardId, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('u.participant', $qb->createNamedParameter($username, IQueryBuilder::PARAM_STR)))
->andWhere($qb->expr()->eq('u.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_USER, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->orX(
$qb->expr()->eq('u.participant', $qb->createNamedParameter($username, IQueryBuilder::PARAM_STR)),
$qb->expr()->isNull('u.participant'))
)
// Filter out archived/deleted cards and board
->andWhere($qb->expr()->eq('c.archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
->andWhere($qb->expr()->eq('c.deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)))

View File

@@ -114,7 +114,7 @@ class OverviewService {
$service = $this;
if (count($userBoard->getAcl()) === 0) {
// get cards with due date
// private board: get cards with due date
$findCards[] = array_map(static function ($card) use ($service, $userBoard, $userId) {
$service->enrich($card, $userId);
$cardData = $card->jsonSerialize();
@@ -122,7 +122,7 @@ class OverviewService {
return $cardData;
}, $this->cardMapper->findAllWithDue($userBoard->getId()));
} else {
// get assigned cards
// shared board: get all my assigned or unassigned cards
$findCards[] = array_map(static function ($card) use ($service, $userBoard, $userId) {
$service->enrich($card, $userId);
$cardData = $card->jsonSerialize();

View File

@@ -68,7 +68,7 @@ export default {
if (this.card.commentsUnread > 0) {
return t('deck', '{count} comments, {unread} unread', {
count: this.card.commentsCount,
unread: this.card.commentsUnread
unread: this.card.commentsUnread,
})
}
return null