Пример #1
0
def gauge_pending_user_confirmations():
    metric_name = 'commcare.pending_user_confirmations'
    from corehq.apps.users.models import Invitation
    for stats in (Invitation.objects.filter(is_accepted=False).all()
                  .values('domain').annotate(Count('domain'))):
        metrics_gauge(
            metric_name, stats['domain__count'], tags={
                'domain': stats['domain'],
                'user_type': 'web',
            },
            multiprocess_mode=MPM_MAX
        )

    from corehq.apps.users.analytics import get_inactive_commcare_users_in_domain
    for doc in Domain.get_all(include_docs=False):
        domain_name = doc['key']
        users = get_inactive_commcare_users_in_domain(domain_name)
        num_unconfirmed = sum(1 for u in users if not u.is_account_confirmed)
        if num_unconfirmed:
            metrics_gauge(
                metric_name, num_unconfirmed, tags={
                    'domain': domain_name,
                    'user_type': 'mobile',
                },
                multiprocess_mode=MPM_MAX
            )
Пример #2
0
 def __getitem__(self, item):
     if isinstance(item, slice):
         limit = item.stop - item.start
         if self.show_archived:
             return get_inactive_commcare_users_in_domain(self.domain, start_at=item.start, limit=limit)
         else:
             return get_active_commcare_users_in_domain(self.domain, start_at=item.start, limit=limit)
     raise ValueError('Invalid type of argument. Item should be an instance of slice class.')
Пример #3
0
 def __getitem__(self, item):
     if isinstance(item, slice):
         limit = item.stop - item.start
         if self.show_archived:
             return get_inactive_commcare_users_in_domain(self.domain, start_at=item.start, limit=limit)
         else:
             return get_active_commcare_users_in_domain(self.domain, start_at=item.start, limit=limit)
     raise ValueError(
         'Invalid type of argument. Item should be an instance of slice class.')
Пример #4
0
 def test_get_inactive_commcare_users_in_domain_no_results(self):
     self.assertEqual(0,
                      len(get_inactive_commcare_users_in_domain('missing')))
Пример #5
0
 def test_get_inactive_commcare_users_in_domain(self):
     users = get_inactive_commcare_users_in_domain('test')
     self.assertEqual(1, len(users))
     self.assertEqual('inactive', users[0].username)
Пример #6
0
 def test_get_inactive_commcare_users_in_domain_no_results(self):
     self.assertEqual(0, len(get_inactive_commcare_users_in_domain('missing')))
Пример #7
0
 def test_get_inactive_commcare_users_in_domain(self):
     users = get_inactive_commcare_users_in_domain('test')
     self.assertEqual(1, len(users))
     self.assertEqual('inactive', users[0].username)