def _get_users(self): items = [] hidden_terms = [] # users for user in ogds_service().all_users(): if not user.active: hidden_terms.append(user.userid) items.append((user.userid, user.label())) # inboxes for unit in ogds_service().all_org_units(): items.append(( unit.inbox().id(), Actor.inbox(unit.inbox().id(), unit).get_label())) return (items, hidden_terms)
def key_value_provider(self): # Reset hidden_terms every time cache key changed self.hidden_terms = [] for unit in ogds_service().all_org_units(): for user in unit.assigned_users(): yield (u'{}:{}'.format(unit.id(), user.userid), unit.prefix_label(user.label())) # add the inactive users to the vocabulary # and mark them as hidden terms for user in ogds_service().inactive_users(): if user.userid not in self.hidden_terms: self.hidden_terms.append(user.userid) yield (user.userid, user.label()) # client inbox inbox_actor = Actor.inbox(unit.inbox().id(), unit) yield (u'{}:{}'.format(unit.id(), unit.inbox().id()), inbox_actor.get_label())
def key_value_provider(self): # Reset hidden_terms every time cache key changed self.hidden_terms = [] client_id = self.get_client() or '' unit = ogds_service().fetch_org_unit(client_id) if unit: for user in unit.assigned_users(): yield (user.userid, user.label()) # client inbox yield (unit.inbox().id(), Actor.inbox(unit.inbox().id(), unit).get_label()) # add the inactive users to the vocabulary # and mark them as hidden terms for user in ogds_service().inactive_users(): if user.userid not in self.hidden_terms: self.hidden_terms.append(user.userid) yield (user.userid, user.label())
def key_value_provider(self): # Reset hidden_terms every time cache key changed self.hidden_terms = [] selected_unit = ogds_service().fetch_org_unit(self.get_client()) if selected_unit: # check if it the current client is selected then add all users if selected_unit.id() == get_current_org_unit().id(): for user in selected_unit.assigned_users(): if not user.active: self.hidden_terms.append(user.userid) yield (user.userid, user.label()) # add all inactive users to the hidden terms for user in ogds_service().inactive_users(): if user.userid not in self.hidden_terms: self.hidden_terms.append(user.userid) # client inbox inbox_actor = Actor.inbox(selected_unit.inbox().id(), org_unit=selected_unit) yield (selected_unit.inbox().id(), inbox_actor.get_label())