From 3c218af576ee39f3079d41e6e334ab3697f4e9dd Mon Sep 17 00:00:00 2001 From: Curtis Adam Date: Mon, 15 Jul 2019 13:53:29 +0200 Subject: [PATCH] Display the create transcript button for the my bonus statistics view --- imports/api/transcriptBonus.js | 12 ++++++++++++ imports/startup/client/registerhelper.js | 2 +- imports/startup/client/routes.js | 2 +- .../index/transcript/statistics/statistics.html | 5 +++++ imports/ui/filter/index/index.html | 9 ++++++--- imports/ui/filter/index/index.js | 3 --- .../navigation/top/item/transcripts/item/bonus.js | 8 ++++++++ 7 files changed, 33 insertions(+), 8 deletions(-) diff --git a/imports/api/transcriptBonus.js b/imports/api/transcriptBonus.js index 34756821..129d17f2 100644 --- a/imports/api/transcriptBonus.js +++ b/imports/api/transcriptBonus.js @@ -178,6 +178,18 @@ if (Meteor.isServer) { this.ready(); } }); + Meteor.publish("cardsetTranscriptMyBonus", function (card_id) { + if (this.userId) { + let card = TranscriptBonus.findOne({card_id: card_id}, {fields: {cardset_id: 1, _id: 1, owner: 1}}); + if (UserPermissions.isAdmin() || UserPermissions.isOwner(card.owner)) { + return Cardsets.find({_id: card.cardset_id}); + } else { + this.ready(); + } + } else { + this.ready(); + } + }); Meteor.publish("cardsetTranscriptBonusReview", function (cardset_id) { if (this.userId) { let cardset = Cardsets.findOne({_id: cardset_id}, {fields: {_id: 1, owner: 1}}); diff --git a/imports/startup/client/registerhelper.js b/imports/startup/client/registerhelper.js index a53be864..fbe879f2 100644 --- a/imports/startup/client/registerhelper.js +++ b/imports/startup/client/registerhelper.js @@ -256,7 +256,7 @@ Template.registerHelper('isMyBonusTranscriptsRoute', function () { Template.registerHelper('isBonusTranscriptsRoute', function () { - return Route.isMyBonusTranscripts() || Route.isTranscriptBonus() || Route.isPresentationTranscriptBonusCardset() || Route.isPresentationTranscriptReview(); + return Route.isMyBonusTranscripts() || Route.isTranscriptBonus() || Route.isPresentationTranscriptBonusCardset() || Route.isPresentationTranscriptBonus() || Route.isPresentationTranscriptReview(); }); Template.registerHelper('isPersonalTranscriptsRoute', function () { diff --git a/imports/startup/client/routes.js b/imports/startup/client/routes.js index fc3ec853..a098ae7f 100644 --- a/imports/startup/client/routes.js +++ b/imports/startup/client/routes.js @@ -764,7 +764,7 @@ Router.route('/presentation/transcripts/bonus/:card_id', { name: 'presentationTranscriptBonus', template: 'presentation', subscriptions: function () { - return [Meteor.subscribe('transcriptCard', this.params.card_id), Meteor.subscribe('myTranscriptBonus'), Meteor.subscribe('cardsetTranscriptBonus', this.params._id)]; + return [Meteor.subscribe('transcriptCard', this.params.card_id), Meteor.subscribe('myTranscriptBonus'), Meteor.subscribe('cardsetTranscriptMyBonus', this.params.card_id)]; }, data: function () { if (ServerStyle.gotTranscriptsEnabled()) { diff --git a/imports/ui/cardset/index/transcript/statistics/statistics.html b/imports/ui/cardset/index/transcript/statistics/statistics.html index ae7ba17b..6910005d 100644 --- a/imports/ui/cardset/index/transcript/statistics/statistics.html +++ b/imports/ui/cardset/index/transcript/statistics/statistics.html @@ -5,4 +5,9 @@ {{#each transcriptBonus}} {{> cardsetIndexTranscriptStatisticsItemInfo}} {{/each}} + {{#if isMyBonusTranscriptsRoute}} + {{#unless transcriptBonus}} + {{> noResults}} + {{/unless}} + {{/if}} diff --git a/imports/ui/filter/index/index.html b/imports/ui/filter/index/index.html index 0c9ad8c2..5364338d 100644 --- a/imports/ui/filter/index/index.html +++ b/imports/ui/filter/index/index.html @@ -35,8 +35,9 @@ {{#if isActiveRoute regex='transcriptsBonus'}} {{> cardsetIndexTranscriptNavigation}} {{#if isViewActive 1}} -
-
+
+ {{> filterItemCreateTranscriptButton}} +
{{> cardsetIndexTranscriptStatistics}} {{else}} {{> filterIndexTranscripts}} @@ -77,7 +78,9 @@ {{> deleteTranscriptForm}} {{#if isTranscriptRoute}} - {{> filterItemCreateTranscriptButton}} +
+ {{> filterItemCreateTranscriptButton}} +
{{/if}} {{#if isCardsetTranscriptBonusRoute}} {{> cardsetIndexTranscriptSubmissionsItemReviewButton}} diff --git a/imports/ui/filter/index/index.js b/imports/ui/filter/index/index.js index 0c19dbfc..26087e66 100644 --- a/imports/ui/filter/index/index.js +++ b/imports/ui/filter/index/index.js @@ -115,9 +115,6 @@ Template.filterIndex.helpers({ } }); -Template.filterIndex.onCreated(function () { - Session.set('transcriptViewingMode', 2); -}); /* * ############################################################################ diff --git a/imports/ui/main/navigation/top/item/transcripts/item/bonus.js b/imports/ui/main/navigation/top/item/transcripts/item/bonus.js index 510fdf08..d6d30989 100644 --- a/imports/ui/main/navigation/top/item/transcripts/item/bonus.js +++ b/imports/ui/main/navigation/top/item/transcripts/item/bonus.js @@ -2,6 +2,7 @@ import {Template} from "meteor/templating"; import {Meteor} from "meteor/meteor"; import {NavigatorCheck} from "../../../../../../../api/navigatorCheck"; import "./bonus.html"; +import {Session} from "meteor/session"; /* * ############################################################################ @@ -9,6 +10,13 @@ import "./bonus.html"; * ############################################################################ */ + +Template.filterIndexPool.events({ + 'click #navbar-transcripts-bonus': function () { + Session.set('transcriptViewingMode', 1); + } +}); + Template.mainNavigationTopItemTranscriptsItemBonus.helpers({ isSmartPhoneAndOwnsNoCards: function () { if (NavigatorCheck.isSmartphone()) { -- 2.23.0.rc1