diff --git a/src/main/java/com/commafeed/backend/dao/FeedEntryService.java b/src/main/java/com/commafeed/backend/dao/FeedEntryService.java index d4c30708..3560cd2c 100644 --- a/src/main/java/com/commafeed/backend/dao/FeedEntryService.java +++ b/src/main/java/com/commafeed/backend/dao/FeedEntryService.java @@ -46,12 +46,11 @@ public class FeedEntryService extends GenericDAO { return typedQuery.getResultList(); } - public List getAllEntries(Feed feed, User user) { + public List getAllEntries(Feed feed) { String query = "select e from FeedEntry e where e.feed=:feed"; TypedQuery typedQuery = em.createQuery(query, FeedEntry.class); typedQuery.setParameter("feed", feed); - typedQuery.setParameter("user", user); return typedQuery.getResultList(); } diff --git a/src/main/java/com/commafeed/frontend/rest/resources/EntriesREST.java b/src/main/java/com/commafeed/frontend/rest/resources/EntriesREST.java index 052f8649..9cb153b6 100644 --- a/src/main/java/com/commafeed/frontend/rest/resources/EntriesREST.java +++ b/src/main/java/com/commafeed/frontend/rest/resources/EntriesREST.java @@ -30,11 +30,13 @@ public class EntriesREST extends AbstractREST { @PathParam("id") String id, @PathParam("readType") String readType) { Entries entries = new Entries(); + boolean unreadOnly = "unread".equals(readType); + if ("feed".equals(type)) { FeedSubscription subscription = feedSubscriptionService .findById(Long.valueOf(id)); entries.setName(subscription.getTitle()); - entries.getEntries().addAll(buildEntries(subscription)); + entries.getEntries().addAll(buildEntries(subscription, unreadOnly)); } else { FeedCategory feedCategory = "all".equals(id) ? null @@ -45,7 +47,8 @@ public class EntriesREST extends AbstractREST { entries.setName("all".equals(id) ? "All" : feedCategory.getName()); for (FeedSubscription subscription : subscriptions) { - entries.getEntries().addAll(buildEntries(subscription)); + entries.getEntries().addAll( + buildEntries(subscription, unreadOnly)); } } @@ -59,9 +62,17 @@ public class EntriesREST extends AbstractREST { return entries; } - private List buildEntries(FeedSubscription subscription) { - List feedEntries = feedEntryService.getUnreadEntries( - subscription.getFeed(), getUser()); + private List buildEntries(FeedSubscription subscription, + boolean unreadOnly) { + List feedEntries = null; + + if (unreadOnly) { + feedEntries = feedEntryService.getUnreadEntries( + subscription.getFeed(), getUser()); + } else { + feedEntries = feedEntryService.getAllEntries( + subscription.getFeed()); + } List entries = Lists.newArrayList(); for (FeedEntry feedEntry : feedEntries) { diff --git a/src/main/webapp/js/controllers.js b/src/main/webapp/js/controllers.js index af0446f4..c1bf9454 100644 --- a/src/main/webapp/js/controllers.js +++ b/src/main/webapp/js/controllers.js @@ -86,12 +86,18 @@ module.controller('FeedListCtrl', function($scope, $routeParams, $http, $scope.selectedType = $routeParams._type; $scope.selectedId = $routeParams._id; - $scope.entryList = EntryService.get({ - _type : $scope.selectedType, - _id : $scope.selectedId, - _readtype : 'unread' - }) + $scope.readType = 'all'; + $scope.refreshList = function() { + $scope.entryList = EntryService.get({ + _type : $scope.selectedType, + _id : $scope.selectedId, + _readtype : $scope.readType + }); + }; + + $scope.refreshList(); + $scope.mark = function(entry, read) { if (entry.read != read) { entry.read = read; diff --git a/src/main/webapp/templates/feeds.html b/src/main/webapp/templates/feeds.html index cf24929a..a3291e15 100644 --- a/src/main/webapp/templates/feeds.html +++ b/src/main/webapp/templates/feeds.html @@ -1,4 +1,14 @@
+ + +
+
+ + +
+
+ + {{entryList.name}} »