def _is_web_user(owner_id): from corehq.apps.users.models import WebUser try: document = WebUser.get_db().get(owner_id) except ResourceNotFound: document = {'doc_type': 'unknown'} return document.get('doc_type', None) == 'WebUser'
def _is_web_user(owner_id): from corehq.apps.users.models import WebUser try: document = WebUser.get_db().get(owner_id) except ResourceNotFound: document = {'doc_type': 'unknown'} return document.get('doc_type', None) == 'WebUser'
def _is_web_user(owner_id): from corehq.apps.users.models import WebUser try: document = WebUser.get_db().get(owner_id) except ResourceNotFound: document = {"doc_type": "unknown"} return document.get("doc_type", None) == "WebUser"
def rendered_content(self): from corehq.apps.users.views.mobile.users import EditCommCareUserView users = get_users_by_location_id(self.config['domain'], self.config['location_id']) in_charges = FacilityInCharge.objects.filter( location=self.location ).values_list('user_id', flat=True) if self.location.parent.location_type.name == 'district': children = self.location.parent.get_descendants() availaible_in_charges = list(chain.from_iterable([ filter( lambda u: 'In Charge' in u.user_data.get('role', []), get_users_by_location_id(self.config['domain'], child.location_id) ) for child in children ])) else: availaible_in_charges = filter( lambda u: 'In Charge' in u.user_data.get('role', []), get_users_by_location_id(self.domain, self.location_id) ) user_to_dict = lambda sms_user: { 'id': sms_user.get_id, 'full_name': sms_user.full_name, 'phone_numbers': sms_user.phone_numbers, 'in_charge': sms_user.get_id in in_charges, 'location_name': sms_user.location.sql_location.name, 'url': reverse(EditCommCareUserView.urlname, args=[self.config['domain'], sms_user.get_id]) } web_users_from_extension = list(iter_docs( WebUser.get_db(), EWSExtension.objects.filter(domain=self.domain, location_id=self.location_id).values_list('user_id', flat=True) )) WebUserInfo = collections.namedtuple('WebUserInfo', 'id first_name last_name email') web_users = { WebUserInfo( id=web_user['_id'], first_name=web_user['first_name'], last_name=web_user['last_name'], email=web_user['email'] ) for web_user in (UserES().web_users().domain(self.config['domain']).term( "domain_memberships.location_id", self.location_id ).run().hits + web_users_from_extension) } return render_to_string('ewsghana/partials/users_tables.html', { 'users': [user_to_dict(user) for user in users], 'domain': self.domain, 'location_id': self.location_id, 'web_users': web_users, 'district_in_charges': [user_to_dict(user) for user in availaible_in_charges] })
def setUpClass(cls): super(TestUserLoad, cls).setUpClass() delete_all_docs_by_doc_type(WebUser.get_db(), ['CommCareUser', 'WebUser']) cls.user = CommCareUser.create( 'test_domain', 'commcare-user', '***', date_joined=datetime.utcnow(), email='*****@*****.**', is_active=True, is_staff=True, is_superuser=False, )
def rendered_content(self): from corehq.apps.users.views.mobile.users import EditCommCareUserView users = get_users_by_location_id(self.config['domain'], self.config['location_id']) in_charges = FacilityInCharge.objects.filter( location=self.location).values_list('user_id', flat=True) if self.location.parent.location_type.name == 'district': children = self.location.parent.get_descendants() availaible_in_charges = list( chain.from_iterable([ filter( lambda u: 'In Charge' in u.user_data.get('role', []), get_users_by_location_id(self.config['domain'], child.location_id)) for child in children ])) else: availaible_in_charges = filter( lambda u: 'In Charge' in u.user_data.get('role', []), get_users_by_location_id(self.domain, self.location_id)) user_to_dict = lambda sms_user: { 'id': sms_user.get_id, 'full_name': sms_user.full_name, 'phone_numbers': sms_user.phone_numbers, 'in_charge': sms_user.get_id in in_charges, 'location_name': sms_user.location.sql_location.name, 'url': reverse(EditCommCareUserView.urlname, args=[self.config['domain'], sms_user.get_id]) } web_users_from_extension = list( iter_docs( WebUser.get_db(), EWSExtension.objects.filter( domain=self.domain, location_id=self.location_id).values_list('user_id', flat=True))) WebUserInfo = collections.namedtuple('WebUserInfo', 'id first_name last_name email') web_users = { WebUserInfo(id=web_user['_id'], first_name=web_user['first_name'], last_name=web_user['last_name'], email=web_user['email']) for web_user in (UserES().web_users().domain( self.config['domain']).term("domain_memberships.location_id", self.location_id).run().hits + web_users_from_extension) } return render_to_string( 'ewsghana/partials/users_tables.html', { 'users': [user_to_dict(user) for user in users], 'domain': self.domain, 'location_id': self.location_id, 'web_users': web_users, 'district_in_charges': [user_to_dict(user) for user in availaible_in_charges] })
def get_all_web_users_by_domain(domain): """Returns all WebUsers by domain""" from corehq.apps.users.models import WebUser ids = get_all_user_ids_by_domain(domain, include_mobile_users=False) return map(WebUser.wrap, iter_docs(WebUser.get_db(), ids))
def setUpClass(cls): delete_all_docs_by_doc_type(WebUser.get_db(), ['CommCareUser', 'WebUser']) super(TestUserStagingTable, cls).setUpClass()
def fix_users(apps, schema_editor): user_ids = with_progress_bar(_get_admins_with_roles()) iter_update(WebUser.get_db(), _remove_role, user_ids, verbose=True)
def setUpClass(cls): delete_all_docs_by_doc_type(WebUser.get_db(), ['CommCareUser', 'WebUser']) super(TestUserStagingTable, cls).setUpClass()