diff --git a/users/templates/users/home.html b/users/templates/users/home.html
index 0fe12af8..0f5e9eb2 100644
--- a/users/templates/users/home.html
+++ b/users/templates/users/home.html
@@ -122,6 +122,35 @@
+
+
+ {% trans '评论过的书籍' %}
+
+
+ {{ book_reviews_count }}
+
+ {% if book_reviews_more %}
+
{% trans '更多' %}
+ {% endif %}
+
+
+
+
{% trans '想看的电影/剧集' %}
@@ -209,6 +238,35 @@
+
+
+ {% trans '评论过的电影/剧集' %}
+
+
+ {{ movie_reviews_count }}
+
+ {% if movie_reviews_more %}
+
{% trans '更多' %}
+ {% endif %}
+
+
+
+
{% trans '想听的音乐' %}
@@ -324,6 +382,43 @@
+
+
+ {% trans '评论过的音乐' %}
+
+
+ {{ music_reviews_count }}
+
+ {% if music_reviews_more %}
+
{% trans '更多' %}
+ {% endif %}
+
+
+
+
{% trans '想玩的游戏' %}
@@ -407,6 +502,35 @@
+
+
+ {% trans '评论过的游戏' %}
+
+
+ {{ game_reviews_count }}
+
+ {% if game_reviews_more %}
+
{% trans '更多' %}
+ {% endif %}
+
+
+
+
{% if user == request.user %}
diff --git a/users/views.py b/users/views.py
index 5c9ea909..5475bf06 100644
--- a/users/views.py
+++ b/users/views.py
@@ -249,6 +249,11 @@ def home(request, id):
album_marks = request.user.user_albummarks.all()
song_marks = request.user.user_songmarks.all()
game_marks = request.user.user_gamemarks.all()
+ book_reviews = request.user.user_bookreviews.all()
+ movie_reviews = request.user.user_moviereviews.all()
+ album_reviews = request.user.user_albumreviews.all()
+ song_reviews = request.user.user_songreviews.all()
+ game_reviews = request.user.user_gamereviews.all()
latest_task = user.user_synctasks.order_by("-id").first()
@@ -279,6 +284,11 @@ def home(request, id):
song_marks = SongMark.get_available_by_user(user, relation['following'])
album_marks = AlbumMark.get_available_by_user(user, relation['following'])
game_marks = GameMark.get_available_by_user(user, relation['following'])
+ book_reviews = BookMark.get_available_by_user(user, relation['following'])
+ movie_reviews = MovieMark.get_available_by_user(user, relation['following'])
+ song_reviews = SongMark.get_available_by_user(user, relation['following'])
+ album_reviews = AlbumMark.get_available_by_user(user, relation['following'])
+ game_reviews = GameMark.get_available_by_user(user, relation['following'])
# book marks
@@ -297,7 +307,6 @@ def home(request, id):
filtered_music_marks = filter_marks([song_marks, album_marks], MUSIC_PER_SET, 'music')
music_marks_count = count_marks([song_marks, album_marks], "music")
-
for mark in filtered_music_marks["do_music_marks"] +\
filtered_music_marks["wish_music_marks"] +\
filtered_music_marks["collect_music_marks"]:
@@ -307,6 +316,10 @@ def home(request, id):
else:
mark.type = "song"
+ music_reviews = list(album_reviews.order_by("-edited_time")) + list(song_reviews.order_by("-edited_time"))
+ for review in music_reviews:
+ review.type = 'album' if review.__class__ == AlbumReview else 'song'
+
try:
layout = user.preference.get_serialized_home_layout()
except ObjectDoesNotExist:
@@ -326,6 +339,20 @@ def home(request, id):
**movie_marks_count,
**music_marks_count,
**game_marks_count,
+
+ 'book_reviews': book_reviews.order_by("-edited_time")[:BOOKS_PER_SET],
+ 'movie_reviews': movie_reviews.order_by("-edited_time")[:MOVIES_PER_SET],
+ 'music_reviews': music_reviews[:MUSIC_PER_SET],
+ 'game_reviews': game_reviews[:GAMES_PER_SET],
+ 'book_reviews_more': book_reviews.count() > BOOKS_PER_SET,
+ 'movie_reviews_more': movie_reviews.count() > MOVIES_PER_SET,
+ 'music_reviews_more': len(music_reviews) > MUSIC_PER_SET,
+ 'game_reviews_more': game_reviews.count() > GAMES_PER_SET,
+ 'book_reviews_count': book_reviews.count(),
+ 'movie_reviews_count': movie_reviews.count(),
+ 'music_reviews_count': len(music_reviews),
+ 'game_reviews_count': game_reviews.count(),
+
'layout': layout,
'reports': reports,
'unread_announcements': unread_announcements,