def create_group(self, name, contacts=(), query=None, org=None): assert not (contacts and query), "can't provide contact list for a dynamic group" if query: return ContactGroup.create_dynamic(org or self.org, self.user, name, query=query) else: group = ContactGroup.create_static(org or self.org, self.user, name) if contacts: group.contacts.add(*contacts) return group
def create_group(self, name, contacts=(), query=None): if contacts and query: raise ValueError("Can't provide contact list for a dynamic group") if query: return ContactGroup.create_dynamic(self.org, self.user, name, query=query) else: group = ContactGroup.create_static(self.org, self.user, name) if contacts: group.contacts.add(*contacts) return group
def create_groups(self, spec, org, user): self._log(f"Creating {len(spec['groups'])} groups... ") for g in spec["groups"]: if g.get("query"): group = ContactGroup.create_dynamic(org, user, g["name"], g["query"], evaluate=False) else: group = ContactGroup.create_static(org, user, g["name"]) group.uuid = g["uuid"] group.save(update_fields=["uuid"]) self._log(self.style.SUCCESS("OK") + "\n")
def get_whatsappable_group(org): user = org.administrators.first() whatsapp_groups = ContactGroup.user_groups.filter(org=org, name=WHATSAPPABLE_GROUP) if whatsapp_groups.exists(): return ContactGroup.get_or_create(org, user=user, name=WHATSAPPABLE_GROUP) return ContactGroup.create_dynamic(org, user=user, name=WHATSAPPABLE_GROUP, query='%s="%s"' % (HAS_WHATSAPP_KEY, YES))
def create_groups(self, orgs): self._log("Creating %d groups... " % (len(orgs) * len(GROUPS))) for org in orgs: user = org.cache['users'][0] for g in GROUPS: if g['query']: group = ContactGroup.create_dynamic(org, user, g['name'], g['query']) else: group = ContactGroup.user_groups.create(org=org, name=g['name'], created_by=user, modified_by=user) group.member = g['member'] org.cache['groups'].append(group) self._log(self.style.SUCCESS("OK") + '\n')
def create_groups(self, orgs): """ Creates the contact groups for each org """ self._log("Creating %d groups... " % (len(orgs) * len(GROUPS))) for org in orgs: user = org.cache["users"][0] for g in GROUPS: if g["query"]: group = ContactGroup.create_dynamic(org, user, g["name"], g["query"], evaluate=False) else: group = ContactGroup.create_static(org, user, g["name"]) group.member = g["member"] group.count = 0 org.cache["groups"].append(group) self._log(self.style.SUCCESS("OK") + "\n")