def user_main(request, username): target_user = Profile.find(username) if not target_user: return HttpResponse(status=404) logger.info("Generating profile page for %s", target_user) class Stats: pass stats = Stats() stats.join_date = target_user.join_date all_reviews = Review.objects.filter(user=target_user).filter(deleted=False) stats.num_reviewed = len(all_reviews) watched_list = UserList.objects.filter(user=target_user, list_name='Watched') watched = UserListItem.objects.filter(user_list=watched_list) stats.num_watched = len(watched) all_ratings = Rating.objects.filter(user=target_user) stats.num_rated = len(all_ratings) sorted_objs = sorted(list(all_reviews), key=lambda x: x.date_created) # Only reviews posted in the last month are displayed past_month = lambda x: date.today() - x.date_created.date() < timedelta(30) stats.recent_reviews = filter(past_month, sorted_objs) logger.info("Displayed %d of %d reviews", len(stats.recent_reviews), len(sorted_objs)) return render(request, 'profile/main.html', { 'current_user': target_user.user.username, 'review_list': get_review_approvals(request, stats.recent_reviews), 'display_title': True, # To display titles of movie next to Review 'user_stats': stats, })
def main(request): user = Profile.get(request.user) if not user: return HttpResponseForbidden() user_reviews = Review.objects.filter(user=user) return render(request, 'profile/main.html', { 'review_list': get_review_approvals(request, user_reviews), 'display_title': True, # To display titles of movie next to Review })
def admin_page(request): if not request.user.is_superuser: logger.info('Unauthorized attempt to access admin page by user %s', request.user.username) return HttpResponseForbidden() unapproved_reviews = Review.objects.filter(Q(approved=None) | Q(approved=False)).filter(deleted=False) return render(request, 'profile/admin_page.html', { 'all_users': Profile.objects.all(), 'unapproved_reviews': get_review_approvals(request, unapproved_reviews) })
def admin_page(request): if not request.user.is_superuser: logger.info("Unauthorized attempt to access admin page by user %s", request.user.username) return HttpResponseForbidden() unapproved_reviews = Review.objects.filter(Q(approved=None) | Q(approved=False)).filter(deleted=False) return render( request, "profile/admin_page.html", {"all_users": Profile.objects.all(), "unapproved_reviews": get_review_approvals(request, unapproved_reviews)}, )
def main(request): user = Profile.get(request.user) if not user: return HttpResponseForbidden() user_reviews = Review.objects.filter(user=user) return render( request, "profile/main.html", { "review_list": get_review_approvals(request, user_reviews), "display_title": True, # To display titles of movie next to Review }, )
def user_main(request, username): target_user = Profile.find(username) if not target_user: return HttpResponse(status=404) logger.info("Generating profile page for %s", target_user) class Stats: pass stats = Stats() stats.join_date = target_user.join_date all_reviews = Review.objects.filter(user=target_user).filter(deleted=False) stats.num_reviewed = len(all_reviews) watched_list = UserList.objects.filter(user=target_user, list_name="Watched") watched = UserListItem.objects.filter(user_list=watched_list) stats.num_watched = len(watched) all_ratings = Rating.objects.filter(user=target_user) stats.num_rated = len(all_ratings) sorted_objs = sorted(list(all_reviews), key=lambda x: x.date_created) # Only reviews posted in the last month are displayed past_month = lambda x: date.today() - x.date_created.date() < timedelta(30) stats.recent_reviews = filter(past_month, sorted_objs) logger.info("Displayed %d of %d reviews", len(stats.recent_reviews), len(sorted_objs)) return render( request, "profile/main.html", { "current_user": target_user.user.username, "review_list": get_review_approvals(request, stats.recent_reviews), "display_title": True, # To display titles of movie next to Review "user_stats": stats, }, )