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

Be more picky about keeping user stats in sync

Ralfp 12 лет назад
Родитель
Сommit
4f73e061ce
2 измененных файлов с 4 добавлено и 7 удалено
  1. 2 5
      misago/register/views.py
  2. 2 2
      misago/users/models.py

+ 2 - 5
misago/register/views.py

@@ -43,11 +43,6 @@ def form(request):
                                                 )
                         
             if need_activation == User.ACTIVATION_NONE:
-                # No need for activation, update monitor with fresh data
-                request.monitor['users'] = int(request.monitor['users']) + 1
-                request.monitor['last_user'] = new_user.pk
-                request.monitor['last_user_name'] = new_user.username
-                request.monitor['last_user_slug'] = new_user.username_slug
                 # Sign in user
                 sign_user_in(request, new_user)
                 request.messages.set_flash(Message(_("Welcome aboard, %(username)s! Your account has been registered successfully.") % {'username': new_user.username}), 'success')
@@ -70,6 +65,8 @@ def form(request):
                                     _("Welcome aboard, %(username)s!") % {'username': new_user.username},
                                     {'password': form.cleaned_data['password']}
                                     )
+            
+            User.objects.resync_monitor(request.monitor)
             return redirect(reverse('index'))
         else:
             message = Message(form.non_field_errors()[0], 'error')

+ 2 - 2
misago/users/models.py

@@ -33,9 +33,9 @@ class UserManager(models.Manager):
         return blank_user
 
     def resync_monitor(self, monitor):
-        monitor['users'] = self.count()
+        monitor['users'] = self.filter(activation=0).count()
         monitor['users_inactive'] = self.filter(activation__gt=0).count()
-        last_user = self.latest('id')
+        last_user = self.filter(activation=0).latest('id')
         monitor['last_user'] = last_user.pk
         monitor['last_user_name'] = last_user.username
         monitor['last_user_slug'] = last_user.username_slug