From 7e183d6e99a4d4a1d9cb7a8e7bab23800c4b398c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Mon, 24 Aug 2020 18:13:18 +0200 Subject: [PATCH] Properly filter archived view and deleted cards MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/Db/CardMapper.php | 4 ++-- src/components/board/Stack.vue | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/Db/CardMapper.php b/lib/Db/CardMapper.php index 52abdc89d..1b3e73f46 100644 --- a/lib/Db/CardMapper.php +++ b/lib/Db/CardMapper.php @@ -159,8 +159,7 @@ class CardMapper extends QBMapper implements IPermissionMapper { public function findDeleted($boardId, $limit = null, $offset = null) { $qb = $this->queryCardsByBoard($boardId); - $qb->andWhere($qb->expr()->neq('c.archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL))) - ->andWhere($qb->expr()->neq('c.deleted_at', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL))) + $qb->andWhere($qb->expr()->neq('c.deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT))) ->setMaxResults($limit) ->setFirstResult($offset) ->orderBy('order') @@ -186,6 +185,7 @@ class CardMapper extends QBMapper implements IPermissionMapper { $qb->select('*') ->from('deck_cards') ->where($qb->expr()->eq('stack_id', $qb->createNamedParameter($stackId, IQueryBuilder::PARAM_INT))) + ->andWhere($qb->expr()->eq('archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL))) ->setMaxResults($limit) ->setFirstResult($offset) ->orderBy('order') diff --git a/src/components/board/Stack.vue b/src/components/board/Stack.vue index 82b11f197..de79bb857 100644 --- a/src/components/board/Stack.vue +++ b/src/components/board/Stack.vue @@ -162,7 +162,12 @@ export default { showArchived: state => state.showArchived, }), cardsByStack() { - return this.$store.getters.cardsByStack(this.stack.id) + return this.$store.getters.cardsByStack(this.stack.id).filter((card) => { + if (this.showArchived) { + return card.archived + } + return !card.archived + }) }, dragHandleSelector() { return this.canEdit ? null : '.no-drag'