def report_context(self): site_map = self.selected_site_map or self.site_map facilities = IHForCHFField.get_selected_facilities(site_map) return dict(ihf_data=self._get_data(facilities['ihf']), chf_data=self._get_data(facilities['chf']))
def rows(self): db = get_db() site_map = self.selected_site_map or self.site_map # hack facilities = IHForCHFField.get_selected_facilities( site_map, domain=self.domain) facilities = facilities['ihf'] + facilities['chf'] rows = [] for user in self.users: for site_id in facilities: key = [self.domain, user.get('user_id'), site_id] data = db.view('hsph/facility_registrations', startkey=key + [self.datespan.startdate_param_utc], endkey=key + [self.datespan.enddate_param_utc], reduce=True, wrapper=lambda r: r['value'] ).first() if data: rows.append([ self.facility_name_map[site_id], self.table_cell(user.get('raw_username'), user.get('username_in_report')), numeric_cell(data.get('facilityVisits', 0)), numeric_cell(data.get('birthRegistrations', 0)), numeric_cell(data.get('noPhoneDetails', 0)), numeric_cell(data.get('noAddress', 0)), numeric_cell(data.get('noContactInfo', 0)), ]) return rows
def report_context(self): site_map = self.selected_site_map or self.site_map facilities = IHForCHFField.get_selected_facilities( site_map, domain=self.domain) return dict( ihf_data=self._get_data(facilities['ihf']), chf_data=self._get_data(facilities['chf']) )
def report_context(self): site_map = self.selected_site_map or self.site_map facilities = IHForCHFField.get_selected_facilities(site_map, self.domain) startdate = self.datespan.startdate_param_utc[:10] enddate = self.datespan.enddate_param_utc[:10] user_ids = self.user_ids return { 'ihf': self.get_values( self.domain, (startdate, enddate), site_ids=facilities['ihf'], user_ids=user_ids), 'chf': self.get_values( self.domain, (startdate, enddate), site_ids=facilities['chf'], user_ids=user_ids) }
def rows(self): user_data = DCTLToFIDAFilter.get_user_data( self.request_params, domain=self.domain) self.override_user_ids = user_data['leaf_user_ids'] db = get_db() site_map = self.selected_site_map or self.site_map # hack facilities = IHForCHFField.get_selected_facilities( site_map, domain=self.domain) facilities = facilities['ihf'] + facilities['chf'] rows = [] for user in self.users: for site_id in facilities: key = [self.domain, user.user_id, site_id] data = db.view('hsph/facility_registrations', startkey=key + [self.datespan.startdate_param_utc], endkey=key + [self.datespan.enddate_param_utc], reduce=True, wrapper=lambda r: r['value'] ).first() if data: dctl = user_data['user_parent_map'][user['user_id']] rows.append([ self.facility_name_map[site_id], self.table_cell( user.raw_username, user.username_in_report), self.table_cell( dctl.raw_username, dctl.username_in_report), numeric_cell(data.get('facilityVisits', 0)), numeric_cell(data.get('birthRegistrations', 0)), numeric_cell(data.get('noPhoneDetails', 0)), numeric_cell(data.get('noAddress', 0)), numeric_cell(data.get('noContactInfo', 0)), ]) return rows
def rows(self): user_data = DCTLToFIDAFilter.get_user_data( self.request_params, domain=self.domain) self.override_user_ids = user_data['leaf_user_ids'] db = get_db() site_map = self.selected_site_map or self.site_map # hack facilities = IHForCHFField.get_selected_facilities( site_map, domain=self.domain) facilities = facilities['ihf'] + facilities['chf'] rows = [] for user in self.users: for site_id in facilities: key = [self.domain, user.get('user_id'), site_id] data = db.view('hsph/facility_registrations', startkey=key + [self.datespan.startdate_param_utc], endkey=key + [self.datespan.enddate_param_utc], reduce=True, wrapper=lambda r: r['value'] ).first() if data: dctl = user_data['user_parent_map'][user['user_id']] rows.append([ self.facility_name_map[site_id], self.table_cell( user.get('raw_username'), user.get('username_in_report')), self.table_cell( dctl.raw_username, dctl.username_in_report), numeric_cell(data.get('facilityVisits', 0)), numeric_cell(data.get('birthRegistrations', 0)), numeric_cell(data.get('noPhoneDetails', 0)), numeric_cell(data.get('noAddress', 0)), numeric_cell(data.get('noContactInfo', 0)), ]) return rows