show on shared boards unassigned cards to all users
Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
This commit is contained in:
@@ -236,10 +236,12 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
|||||||
->from('deck_cards', 'c')
|
->from('deck_cards', 'c')
|
||||||
->innerJoin('c', 'deck_stacks', 's', 's.id = c.stack_id')
|
->innerJoin('c', 'deck_stacks', 's', 's.id = c.stack_id')
|
||||||
->innerJoin('s', 'deck_boards', 'b', 'b.id = s.board_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)))
|
->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()->orX(
|
||||||
->andWhere($qb->expr()->eq('u.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_USER, IQueryBuilder::PARAM_INT)))
|
$qb->expr()->eq('u.participant', $qb->createNamedParameter($username, IQueryBuilder::PARAM_STR)),
|
||||||
|
$qb->expr()->isNull('u.participant'))
|
||||||
|
)
|
||||||
// Filter out archived/deleted cards and board
|
// Filter out archived/deleted cards and board
|
||||||
->andWhere($qb->expr()->eq('c.archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
|
->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)))
|
->andWhere($qb->expr()->eq('c.deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)))
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ class OverviewService {
|
|||||||
$service = $this;
|
$service = $this;
|
||||||
|
|
||||||
if (count($userBoard->getAcl()) === 0) {
|
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) {
|
$findCards[] = array_map(static function ($card) use ($service, $userBoard, $userId) {
|
||||||
$service->enrich($card, $userId);
|
$service->enrich($card, $userId);
|
||||||
$cardData = $card->jsonSerialize();
|
$cardData = $card->jsonSerialize();
|
||||||
@@ -122,7 +122,7 @@ class OverviewService {
|
|||||||
return $cardData;
|
return $cardData;
|
||||||
}, $this->cardMapper->findAllWithDue($userBoard->getId()));
|
}, $this->cardMapper->findAllWithDue($userBoard->getId()));
|
||||||
} else {
|
} else {
|
||||||
// get assigned cards
|
// shared board: get all my assigned or unassigned cards
|
||||||
$findCards[] = array_map(static function ($card) use ($service, $userBoard, $userId) {
|
$findCards[] = array_map(static function ($card) use ($service, $userBoard, $userId) {
|
||||||
$service->enrich($card, $userId);
|
$service->enrich($card, $userId);
|
||||||
$cardData = $card->jsonSerialize();
|
$cardData = $card->jsonSerialize();
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ export default {
|
|||||||
if (this.card.commentsUnread > 0) {
|
if (this.card.commentsUnread > 0) {
|
||||||
return t('deck', '{count} comments, {unread} unread', {
|
return t('deck', '{count} comments, {unread} unread', {
|
||||||
count: this.card.commentsCount,
|
count: this.card.commentsCount,
|
||||||
unread: this.card.commentsUnread
|
unread: this.card.commentsUnread,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
|
|||||||
Reference in New Issue
Block a user