def my_funfic_page(request): c = get_common_context(request) c['title'] = u'Мои фанфики' funfics = Work.get_by_author(request.user) c['funfics_during'] = funfics.filter(status='during') c['funfics_frozen'] = funfics.filter(status='frozen') c['funfics_done'] = funfics.filter(status='done') return render_to_response('cabinet/my_funfic.html', c, context_instance=RequestContext(request))
def my_page_page(request): c = get_common_context(request) c['title'] = u'Личная страница' c['fun_count'] = Work.objects.filter(author=request.user).count() c['collab_count'] = request.user.collaborator.all().count() c['comm_count'] = Comment.objects.filter(user=request.user).count() funfics = Work.get_by_author(request.user) c['funfics_by_date'] = funfics.order_by('-last_editing_time')[:FUNCICS_COUNT_ON_PAGE] c['funfics_by_vizits'] = funfics.order_by('-vizits')[:FUNCICS_COUNT_ON_PAGE] c['funfics_by_comments'] = funfics.order_by('-commetns')[:FUNCICS_COUNT_ON_PAGE] c['funfics_by_rating'] = funfics.order_by('-mark')[:FUNCICS_COUNT_ON_PAGE] return render_to_response('cabinet/my_page.html', c, context_instance=RequestContext(request))
def user_page(request, user_id): c = get_common_context(request) c['u'] = User.objects.get(id=user_id) c['u_profile'] = c['u'].get_profile if request.user.is_authenticated(): c['subscribed'] = Subscribe.has_subsribe(request.user, c['u']) c['is_me'] = (request.user == c['u']) c['fun_count'] = Work.objects.filter(author=request.user).count() c['collab_count'] = request.user.collaborator.all().count() c['comm_count'] = Comment.objects.filter(user=request.user).count() funfics = Work.get_by_author(c['u']) c['funfics_by_date'] = funfics.order_by('-last_editing_time')[:FUNCICS_COUNT_ON_PAGE] c['funfics_by_vizits'] = funfics.order_by('-vizits')[:FUNCICS_COUNT_ON_PAGE] c['funfics_by_comments'] = funfics.order_by('-commetns')[:FUNCICS_COUNT_ON_PAGE] c['funfics_by_rating'] = funfics.order_by('-mark')[:FUNCICS_COUNT_ON_PAGE] c['title'] = u'Автор - %s' % c['u'].get_profile().nick c['num_loop'] = ['#']+[i for i in range(10)] c['eng_loop'] = [chr(i) for i in xrange(ord('A'), ord('Z'))] c['rus_loop'] = [unichr(i) for i in xrange(ord(u'А'), ord(u'Я'))] return render_to_response('new_user.html', c, context_instance=RequestContext(request))
def statistics_page(request): import datetime c = get_common_context(request) c['title'] = u'Статистика аккаунта' if request.method == 'POST': try: date_from = datetime.datetime.strptime(request.POST.get('date_from', ''),'%d.%m.%Y') date_to = datetime.datetime.strptime(request.POST.get('date_to', ''),'%d.%m.%Y') except: messages.error(request, u'Необходимо выбрать даты') return HttpResponseRedirect('/cabinet/statistics/') if date_from > date_to: dd = date_from date_from = date_to date_to = dd funfics = Work.get_by_author(request.user) c['date_from'] = date_from.strftime('%d.%m.%Y') c['date_to'] = date_to.strftime('%d.%m.%Y') td = datetime.timedelta(days=1) result = [] curr = date_from while curr <= date_to: stat = [] for f in funfics: print curr, f.id, Review.get_count_by_work_date_range(f, curr, curr+td) curr_stat = { 'funfic': f, 'reviews': Review.get_count_by_work_date_range(f, curr, curr+td), 'comments': Comment.get_count_by_work_date_range(f, curr, curr+td), 'bookmarks': Bookmark.get_count_by_work_date_range(f, curr, curr+td), } curr_stat.update(Rating.get_count_by_work_date_range(f, curr, curr+td)) stat.append(curr_stat) result.append((curr.date(), stat)) curr = curr + td c['statistics'] = result return render_to_response('cabinet/statistics.html', c, context_instance=RequestContext(request))
def history_page(request): c = get_common_context(request) c['title'] = u'История изменений' c['my_works'] = Work.get_by_author(request.user) c['collab_works'] = request.user.collaborator.all() return render_to_response('cabinet/history.html', c, context_instance=RequestContext(request))