Просмотр исходного кода

Little improvement on board index

Ralfp 12 лет назад
Родитель
Сommit
4bae4b8d23
4 измененных файлов с 20 добавлено и 3 удалено
  1. 9 2
      misago/views.py
  2. 2 1
      static/sora/css/sora.css
  3. 7 0
      static/sora/css/sora/index.less
  4. 2 0
      templates/sora/index.html

+ 9 - 2
misago/views.py

@@ -27,7 +27,7 @@ def home(request):
         cache.set('thread_ranking_%s' % request.user.make_acl_key(), popular_threads, 60 * request.settings['thread_ranking_refresh'])
 
     # Ranks online
-    ranks_list = cache.get('users_online', 'nada')
+    ranks_list = cache.get('ranks_online', 'nada')
     if ranks_list == 'nada':
         ranks_dict = {}
         ranks_list = []
@@ -43,7 +43,13 @@ def home(request):
                     users_list.append(session.user_id)
             del ranks_dict
             del users_list
-        cache.set('ranks_list', ranks_list, 300)
+        cache.set('ranks_online', ranks_list, 300)
+
+    # Users online
+    users_online = cache.get('users_online', 'nada')
+    if users_online == 'nada':
+        users_online = Session.objects.filter(matched=True).filter(crawler__isnull=True).filter(last__gte=timezone.now() - timedelta(seconds=300)).count()
+        cache.set('users_online', users_online, 300)
 
     # Load reads tracker and build forums list
     reads_tracker = ForumsTracker(request.user)
@@ -57,6 +63,7 @@ def home(request):
                                             {
                                              'forums_list': forums_list,
                                              'ranks_online': ranks_list,
+                                             'users_online': users_online,
                                              'popular_threads': popular_threads,
                                              },
                                             context_instance=RequestContext(request));

+ 2 - 1
static/sora/css/sora.css

@@ -967,7 +967,8 @@ td.lead-cell{color:#555555;font-weight:bold;}
 .team-online img{float:left;margin-right:12px;width:48px;height:48px;}
 .thread-ranking{margin-bottom:8px;}.thread-ranking li{padding:8px 0px;}
 .thread-ranking a{color:#999999;}.thread-ranking a.lead{display:block;margin:0px;margin-bottom:-4px;padding:0px;color:#333333;font-size:120%;font-weight:bold;}
-.forum-stats{color:#b3b3b3;}.forum-stats strong{padding-left:8px;color:#555555;font-size:170%;}
+.forum-stats{color:#b3b3b3;font-weight:bold;}.forum-stats strong{padding-left:8px;color:#555555;font-size:170%;}
+.forum-stats .sub{padding-left:8px;font-weight:normal;}
 .forums-list{padding-top:4px;}.forums-list .category h2{color:#666666;font-size:110%;margin-bottom:0px;}.forums-list .category h2 small{color:#a6a6a6;font-size:100%;}
 .forums-list .category h2 .form-inline{float:right;margin:0px;padding:0px;}.forums-list .category h2 .form-inline .btn-link{opacity:0.25;filter:alpha(opacity=25);}.forums-list .category h2 .form-inline .btn-link:hover,.forums-list .category h2 .form-inline .btn-link:active{background-color:#dc4e44;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;opacity:1;filter:alpha(opacity=100);color:#ffffff;}.forums-list .category h2 .form-inline .btn-link:hover i,.forums-list .category h2 .form-inline .btn-link:active i{background-image:url("../img/glyphicons-halflings-white.png");}
 .forums-list .category-important .well-forum{border:1px solid #0099e6;-webkit-box-shadow:0px 0px 0px 3px #66ccff;-moz-box-shadow:0px 0px 0px 3px #66ccff;box-shadow:0px 0px 0px 3px #66ccff;}

+ 7 - 0
static/sora/css/sora/index.less

@@ -109,6 +109,7 @@
 
 .forum-stats {  
   color: lighten(@grayLight, 10%);
+  font-weight: bold;
   
   strong {
     padding-left: 8px;
@@ -116,6 +117,12 @@
     color: @gray;
     font-size: 170%;
   }
+  
+  .sub {
+    padding-left: 8px;
+    
+    font-weight: normal;
+  }
 }
 
 .cookie-message {}

+ 2 - 0
templates/sora/index.html

@@ -66,10 +66,12 @@
       <div class="span2">
         <strong>{{ monitor.posts|int|intcomma }}</strong>
         {% trans %}Posts{% endtrans %}
+        <div class="sub">{% trans count=monitor.threads, threads=monitor.threads|int|intcomma %}{{ threads }} thread{% pluralize %}{{ threads }} threads{% endtrans %}</div>
       </div>
       <div class="span2">
         <strong>{{ monitor.users|int|intcomma }}</strong>
         {% trans %}Members{% endtrans %}
+        <div class="sub">{% trans count=users_online, online=users_online|int|intcomma %}{{ online }} user online{% pluralize %}{{ online }} users online{% endtrans %}</div>
       </div>
     </div>
   </div>