def test_recent_users(self):
     """
     recent_users should return users sorted by most recent task activity
     """
     task = TaskFactory.create()
     user1 = UserProfileFactory.create().user
     user2 = UserProfileFactory.create().user
     user3 = UserProfileFactory.create().user
     user4 = UserFactory.create()
     TaskAttemptFactory.create(user=user4,
                               state=TaskAttempt.STARTED,
                               task=task)
     TaskAttemptFactory.create(user=user3,
                               state=TaskAttempt.STARTED,
                               task=task)
     TaskAttemptFactory.create(user=user2,
                               state=TaskAttempt.STARTED,
                               task=task)
     TaskAttemptFactory.create(user=user2,
                               state=TaskAttempt.FINISHED,
                               task=task)
     TaskAttemptFactory.create(user=user1,
                               state=TaskAttempt.STARTED,
                               task=task)
     TaskAttemptFactory.create(user=user3,
                               state=TaskAttempt.ABANDONED,
                               task=task)
     eq_(user1.taskattempt_set.all().count(), 1)
     eq_(user2.taskattempt_set.all().count(), 2)
     eq_(user3.taskattempt_set.all().count(), 2)
     eq_(user4.taskattempt_set.all().count(), 1)
     qs = User.recent_users()
     eq_(len(qs), 3)
     eq_(qs[0], user1)
     eq_(qs[1], user2)
     eq_(qs[2], user3)
Esempio n. 2
0
 def get_context_data(self, *args, **kwargs):
     ctx = super(HomeView, self).get_context_data(*args, **kwargs)
     ctx['task_list_heading'] = _('Suggested First Tasks')
     ctx['teams'] = TaskTeam.objects.all()
     ctx['recent_users'] = User.recent_users()[0:4]
     return ctx
Esempio n. 3
0
 def get_context_data(self, *args, **kwargs):
     ctx = super(HomeView, self).get_context_data(*args, **kwargs)
     ctx['task_list_heading'] = _('Suggested First Tasks')
     ctx['teams'] = TaskTeam.objects.all()
     ctx['recent_users'] = User.recent_users()[0:4]
     return ctx