diff --git a/dbrepo-ui/components/ResourceStatus.vue b/dbrepo-ui/components/ResourceStatus.vue index 017908b3af3b34b0ea5b99405081eb49133495e5..22718ff5833263faa09c1bfd741747f785a6c885 100644 --- a/dbrepo-ui/components/ResourceStatus.vue +++ b/dbrepo-ui/components/ResourceStatus.vue @@ -16,6 +16,8 @@ </template> <script> +import { useCacheStore } from '~/stores/cache.js'; + export default { props: { resource: { @@ -34,6 +36,11 @@ export default { } } }, + data () { + return { + cacheStore: useCacheStore() + } + }, computed: { mode () { if (!this.resource) { @@ -54,8 +61,17 @@ export default { } return this.$t(`pages.database.status.${this.mode}`) }, + cacheUser () { + return this.cacheStore.getUser + }, hasIdentifier () { - return this.resource.identifiers?.length > 0 + if (!this.resource.identifiers) { + return false + } + if (!this.cacheUser) { + return this.resource.identifiers.filter(i => i.status === 'published').length + } + return this.resource.identifiers.filter(i => i.status === 'published' || i.owner.id === this.cacheUser.uid) }, color () { if (this.hasIdentifier) { diff --git a/dbrepo-ui/pages/database/[database_id]/info.vue b/dbrepo-ui/pages/database/[database_id]/info.vue index 89583c5f4f450d6462a6f4aaa5343fee3d184b82..0af35a5d3bee8dc572488c39f6ac22d9b5c4a6f9 100644 --- a/dbrepo-ui/pages/database/[database_id]/info.vue +++ b/dbrepo-ui/pages/database/[database_id]/info.vue @@ -272,7 +272,7 @@ export default { if (!this.database || !this.database.identifiers) { return [] } - return this.database.identifiers.filter(i => i.query_id === this.$route.params.subset_id) + return this.database.identifiers.filter(i => i.database_id === this.$route.params.database_id) }, pid () { return this.$route.query.pid diff --git a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/Identifier.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/Identifier.java index 04471509c6cd711b745f1a9060227d869f2dcb33..ac0559fa96fea27761b1b95f86db7da77563aef4 100644 --- a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/Identifier.java +++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/Identifier.java @@ -33,6 +33,7 @@ import java.util.UUID; @NamedQuery(name = "Identifier.findSubsetIdentifier", query = "select i from Identifier i where i.database.id = ?1 and i.queryId = ?2 and i.type = 'SUBSET' ORDER BY i.id DESC"), @NamedQuery(name = "Identifier.findViewIdentifier", query = "select i from Identifier i where i.database.id = ?1 and i.viewId = ?2 and i.type = 'VIEW' ORDER BY i.id DESC"), @NamedQuery(name = "Identifier.findEarliest", query = "select i from Identifier i ORDER BY i.created ASC limit 1"), + @NamedQuery(name = "Identifier.findAll", query = "select i from Identifier i ORDER BY i.created DESC"), }) public class Identifier implements Serializable {